// coverage:ignore-file
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint
// ignore_for_file: invalid_annotation_target
part of open_a_i_schema;

// ==========================================
// CLASS: ChatCompletionStreamMessageFunctionCall
// ==========================================

/// The name and arguments of a function that should be called, as generated by the model.
@freezed
class ChatCompletionStreamMessageFunctionCall
    with _$ChatCompletionStreamMessageFunctionCall {
  const ChatCompletionStreamMessageFunctionCall._();

  /// Factory constructor for ChatCompletionStreamMessageFunctionCall
  const factory ChatCompletionStreamMessageFunctionCall({
    /// The name of the function to call.
    @JsonKey(includeIfNull: false) String? name,

    /// The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function.
    @JsonKey(includeIfNull: false) String? arguments,
  }) = _ChatCompletionStreamMessageFunctionCall;

  /// Object construction from a JSON representation
  factory ChatCompletionStreamMessageFunctionCall.fromJson(
          Map<String, dynamic> json) =>
      _$ChatCompletionStreamMessageFunctionCallFromJson(json);

  /// List of all property names of schema
  static const List<String> propertyNames = ['name', 'arguments'];

  /// Perform validations on the schema property values
  String? validateSchema() {
    return null;
  }

  /// Map representation of object (not serialized)
  Map<String, dynamic> toMap() {
    return {
      'name': name,
      'arguments': arguments,
    };
  }
}
