SetOptions constructor
Creates a SetOptions instance.
Implementation
SetOptions({
// ignore: avoid_init_to_null
this.merge = null,
// ignore: avoid_init_to_null
List<dynamic>? mergeFields = null,
}) {
// ignore: prefer_asserts_in_initializer_lists
assert(!(merge == null && mergeFields == null),
"options must provide 'merge' or 'mergeFields'");
// ignore: prefer_asserts_in_initializer_lists
assert(!(mergeFields != null && merge != null),
"options cannot have both 'merge' & 'mergeFields'");
if (mergeFields != null) {
assert(
mergeFields
.where((value) => value is String || value is FieldPath)
.length ==
mergeFields.length,
'[mergeFields] must be a [String] or [FieldPath]');
this.mergeFields = mergeFields.map((field) {
if (field is String) return FieldPath.fromString(field);
return field as FieldPath;
}).toList(growable: false);
}
}