copyWith method

ResourceTemplate copyWith({
  1. Annotations? annotations,
  2. String? description,
  3. String? mimeType,
  4. String? name,
  5. String? uriTemplate,
  6. Map<String, Object?>? meta,
  7. String? title,
  8. List<McpIcon>? icons,
})

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

Implementation

ResourceTemplate copyWith({
  Annotations? annotations,
  String? description,
  String? mimeType,
  String? name,
  String? uriTemplate,
  Map<String, Object?>? meta,
  String? title,
  List<McpIcon>? icons,
}) =>
    ResourceTemplate.fromJson({
      ...toJson(),
      if (annotations != null) 'annotations': $encode(annotations),
      if (description != null) 'description': $encode(description),
      if (mimeType != null) 'mimeType': $encode(mimeType),
      if (name != null) 'name': $encode(name),
      if (uriTemplate != null) 'uriTemplate': $encode(uriTemplate),
      if (meta != null) '_meta': $encode(meta),
      if (title != null) 'title': $encode(title),
      if (icons != null) 'icons': $encode(icons),
    });