fromJson method

  1. @override
List fromJson (dynamic data, { Symbol typeArgumentSymbol, Type type })
override

Implementation

@override
List fromJson(dynamic data, {Symbol typeArgumentSymbol, Type type}) {
  if (data is List) {
    var typeMirror = reflectType(type);
    var mirror = (reflectType(type) as ClassMirror).newInstance(Symbol(''), []);
    var argumentType = typeMirror.typeArguments.isNotEmpty ? typeMirror.typeArguments.first : null;

    data.forEach((obj) {
      var parser = GlobalJsonParserInstance.getParser(argumentType.simpleName);
      mirror.reflectee.add(parser.fromJson(
        obj,
        typeArgumentSymbol: argumentType.simpleName,
        type: argumentType.reflectedType,
      ));
    });
    return mirror.reflectee;
  }
  return null;
}