JsonRpcMessage.fromJson constructor
JsonRpcMessage.fromJson(
- Map<String, dynamic> json
)
Implementation
factory JsonRpcMessage.fromJson(Map<String, dynamic> json) {
// Ensure params is properly typed as Map<String, dynamic>
Map<String, dynamic>? params;
if (json['params'] != null) {
if (json['params'] is Map) {
params =
(json['params'] as Map<dynamic, dynamic>).cast<String, dynamic>();
} else {
throw FormatException(
'Invalid params: expected a Map, got ${json['params'].runtimeType}',
);
}
}
// Ensure error is properly typed as Map<String, dynamic>
Map<String, dynamic>? error;
if (json['error'] != null) {
if (json['error'] is Map) {
error =
(json['error'] as Map<dynamic, dynamic>).cast<String, dynamic>();
} else {
throw FormatException(
'Invalid error: expected a Map, got ${json['error'].runtimeType}',
);
}
}
return JsonRpcMessage(
jsonrpc: json['jsonrpc'] as String,
id: json['id'],
method: json['method'] as String?,
params: params,
result: json['result'],
error: error,
);
}