EdgeGenAIToolSchema.object constructor

EdgeGenAIToolSchema.object({
  1. required Map<String, EdgeGenAIToolSchema> properties,
  2. String? description,
  3. List<String> optionalProperties = const [],
})

A nested object with named properties.

Every property is required unless its name is listed in optionalProperties.

Implementation

factory EdgeGenAIToolSchema.object({
  required Map<String, EdgeGenAIToolSchema> properties,
  String? description,
  List<String> optionalProperties = const [],
}) {
  return EdgeGenAIToolSchema._({
    'type': 'object',
    'description': ?description,
    'properties': {
      for (final entry in properties.entries) entry.key: entry.value._json,
    },
    'required': [
      for (final name in properties.keys)
        if (!optionalProperties.contains(name)) name,
    ],
  });
}