deserialize method

  1. @override
TraitMap deserialize(
  1. Serializers serializers,
  2. Iterable<Object?> serialized, {
  3. FullType specifiedType = FullType.unspecified,
})
override

Deserializes serialized.

serialized is an Iterable that may contain booleans, integers, doubles, Strings and/or Iterables.

Use serializers as needed for nested deserialization. Information about the type being deserialized is provided in specifiedType.

Implementation

@override
TraitMap deserialize(
  Serializers serializers,
  Iterable<Object?> serialized, {
  FullType specifiedType = FullType.unspecified,
}) {
  final traitMap = TraitMap({});
  final iterator = serialized.iterator;
  while (iterator.moveNext()) {
    final shapeId = serializers.deserializeWith(
      ShapeId.serializer,
      iterator.current as String,
    ) as ShapeId;
    iterator.moveNext();
    final value = iterator.current;
    traitMap[shapeId] = Trait.fromJson(shapeId, value);
  }
  return traitMap;
}