$encode function
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');
}