merge method
Merges this builder definition with an override.
Creates a new builder definition that incorporates the overridden
values from the provided override
object. Non-null values in the
override take precedence over values in this definition.
@param override The builder override to apply @return A new builder definition with merged values
Implementation
BuilderDefinitionEntry merge(BuilderOverride override) {
final Map<String, dynamic> mergedOptions = options ?? <String, dynamic>{};
if (override.options != null) {
mergedOptions.addAll(override.options!);
}
return BuilderDefinitionEntry(
key: key,
import: import,
generatorName: generatorName,
generateToCache: generateToCache,
options: mergedOptions.isEmpty ? null : mergedOptions,
generateFor: override.generateFor ?? generateFor,
runsBefore: override.runsBefore ?? runsBefore,
builderType: builderType,
expectsOptions: expectsOptions,
registeredTypes: registeredTypes,
);
}