copyWith method

ServerCapabilities copyWith({
  1. Map<String, Map<String, Object?>>? experimental,
  2. Map<String, Object?>? logging,
  3. ServerCapabilitiesPrompts? prompts,
  4. ServerCapabilitiesResources? resources,
  5. ServerCapabilitiesTools? tools,
  6. Map<String, Object?>? completions,
  7. ServerCapabilitiesTasks? tasks,
  8. Map<String, Map<String, Object?>>? extensions,
})

A copy with the given properties replaced; everything else, unknown keys included, is kept.

Implementation

ServerCapabilities copyWith({
  Map<String, Map<String, Object?>>? experimental,
  Map<String, Object?>? logging,
  ServerCapabilitiesPrompts? prompts,
  ServerCapabilitiesResources? resources,
  ServerCapabilitiesTools? tools,
  Map<String, Object?>? completions,
  ServerCapabilitiesTasks? tasks,
  Map<String, Map<String, Object?>>? extensions,
}) =>
    ServerCapabilities.fromJson({
      ...toJson(),
      if (experimental != null) 'experimental': $encode(experimental),
      if (logging != null) 'logging': $encode(logging),
      if (prompts != null) 'prompts': $encode(prompts),
      if (resources != null) 'resources': $encode(resources),
      if (tools != null) 'tools': $encode(tools),
      if (completions != null) 'completions': $encode(completions),
      if (tasks != null) 'tasks': $encode(tasks),
      if (extensions != null) 'extensions': $encode(extensions),
    });