$encode function

Object? $encode(
  1. Object? v
)

Encodes a typed value back to JSON.

Implementation

Object? $encode(Object? v) {
  if (v == null || v is String || v is num || v is bool) return v;
  if (v is McpJson) return v.toJson();
  if (v is List) return [for (final e in v) $encode(e)];
  if (v is Map) {
    return <String, Object?>{
      for (final e in v.entries) e.key as String: $encode(e.value),
    };
  }
  throw ArgumentError.value(v, 'value', 'not JSON-encodable');
}