build method
override
Implementation
@override
Map<String, Object?> build() {
final builtData = switch (data) {
final Builder<dynamic> builder => builder.build(),
final List<Builder<dynamic>> builders => builders.map((e) => e.build()).toList(),
Map<String, Object?>() || List<Object?>() || String() || int() || double() || bool() || null => data,
_ => throw ArgumentError.value(data, 'data', 'must be a Builder, a List<Builder> or a JSON value')
};
return {
'type': type.value,
'data': builtData,
};
}