add method

void add(
  1. UsageDetails other
)

Adds the usage details from other into this instance.

Implementation

void add(UsageDetails other) {
  inputTokenCount = _addNullable(inputTokenCount, other.inputTokenCount);
  outputTokenCount = _addNullable(outputTokenCount, other.outputTokenCount);
  totalTokenCount = _addNullable(totalTokenCount, other.totalTokenCount);
  cachedInputTokenCount =
      _addNullable(cachedInputTokenCount, other.cachedInputTokenCount);
  reasoningTokenCount =
      _addNullable(reasoningTokenCount, other.reasoningTokenCount);
  inputAudioTokenCount =
      _addNullable(inputAudioTokenCount, other.inputAudioTokenCount);
  inputTextTokenCount =
      _addNullable(inputTextTokenCount, other.inputTextTokenCount);
  outputAudioTokenCount =
      _addNullable(outputAudioTokenCount, other.outputAudioTokenCount);
  outputTextTokenCount =
      _addNullable(outputTextTokenCount, other.outputTextTokenCount);

  if (other.additionalCounts != null) {
    additionalCounts ??= {};
    for (final entry in other.additionalCounts!.entries) {
      additionalCounts![entry.key] =
          (additionalCounts![entry.key] ?? 0) + entry.value;
    }
  }
}