Serializer constructor

Serializer({
  1. Iterable<SerializationAdapter> adapters = const [],
})

Creates a serializer with built-in and custom adapters.

Implementation

Serializer({Iterable<SerializationAdapter<dynamic>> adapters = const []})
  : _adapters = <SerializationAdapter<dynamic>>[
      ..._builtInAdapters,
      ...adapters,
    ] {
  for (final adapter in _adapters) {
    if (adapter.tag == 'Map') {
      throw ArgumentError('Serialization adapter tag "Map" is reserved.');
    }
    if (_byTag.containsKey(adapter.tag)) {
      throw ArgumentError('Duplicate serialization adapter: ${adapter.tag}');
    }
    _byTag[adapter.tag] = adapter;
  }
}