build method

  1. @override
Map<String, Object?> build()
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,
  };
}