drawObjectsFromJSON function

List<DrawObject> drawObjectsFromJSON(
  1. List encoded,
  2. List<DrawObjectAdapter<DrawObject>> adapters
)

Implementation

List<DrawObject> drawObjectsFromJSON(
    List encoded, List<DrawObjectAdapter> adapters) {
  final adaptersMap = Map<String, DrawObjectAdapter>.fromIterable(
    adapters,
    key: (a) => a.typeId,
  );
  return encoded
      .map((e) {
        final typeId = e['t'] as String;
        final adapter = adaptersMap[typeId];
        return adapter?.fromJSON(e['d'] as Map);
      })
      .where((o) => o != null)
      .cast<DrawObject>()
      .toList();
}