merge method
SchemaMap
merge(
- Map<
String, SchemaValue> properties, { - bool? additionalProperties,
- bool? isOptional,
Implementation
SchemaMap merge(
Map<String, SchemaValue> properties, {
bool? additionalProperties,
bool? isOptional,
}) {
// if property SchemaValue is of SchemaMap, we need to merge them
final mergedProperties = {...this.properties};
for (final entry in properties.entries) {
final key = entry.key;
final prop = entry.value;
final existingProp = mergedProperties[key];
if (existingProp is SchemaMap && prop is SchemaMap) {
mergedProperties[key] = existingProp.merge(prop.properties);
} else {
mergedProperties[key] = prop;
}
}
return copyWith(
properties: mergedProperties,
isOptional: isOptional,
additionalProperties: additionalProperties,
);
}