ClientCapabilities.fromJson constructor

ClientCapabilities.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory ClientCapabilities.fromJson(Map<String, dynamic> json) {
  final rootsConfig = json['roots'] as Map<String, dynamic>?;
  final samplingConfig = json['sampling'] as Map<String, dynamic>?;
  final elicitationConfig = json['elicitation'] as Map<String, dynamic>?;
  final extensionsConfig = json['extensions'] as Map?;

  return ClientCapabilities(
    roots: rootsConfig != null,
    rootsListChanged: rootsConfig?['listChanged'] as bool? ?? false,
    sampling: samplingConfig != null,
    elicitation: elicitationConfig != null,
    extensions: extensionsConfig?.map(
      (k, v) => MapEntry(k as String, Map<String, dynamic>.from(v as Map)),
    ),
  );
}