copyWith method

SamplingMessage copyWith({
  1. List<SamplingMessageContentBlock>? content,
  2. Role? role,
  3. Map<String, Object?>? meta,
})

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

Implementation

SamplingMessage copyWith({
  List<SamplingMessageContentBlock>? content,
  Role? role,
  Map<String, Object?>? meta,
}) =>
    SamplingMessage.fromJson({
      ...toJson(),
      if (content != null) 'content': (content.length == 1 ? $encode(content.single) : $encode(content)),
      if (role != null) 'role': $encode(role),
      if (meta != null) '_meta': $encode(meta),
    });