read method

  1. @override
Future read(
  1. EntityEventSource src,
  2. dynamic value
)
override

Deserialise this field into the given entity

Implementation

@override
Future<dynamic> read(EntityEventSource src, value) {
  if (value == null) {
    return Future.value(null);
  } else {
    if (value is List) {
      return Future.wait(value.map((val) {
        return src.ensureResolved(val).then((resolved) {
          return src.read(() => creator(resolved), resolved).then((read) {
            if (read != null) onEntry(read);
          });
        }).catchError((e) => throw e);
      }));
    } else {
      throw UnsupportedError(
        'Attempted to de-serialise list from non-list value for field $name',
      );
    }
  }
}