generateTypeAdapters method

String generateTypeAdapters(
  1. Iterable<Field> fields
)

Implementation

String generateTypeAdapters(Iterable<Field> fields) {
  final result = StringBuffer();
  final typeAdapterFields = fields.whereType<TypeAdapterField>();

  for (final field in typeAdapterFields) {
    result.writeln();
    result.writeln(
      '  static ${field.type.displayName} _\$createTypeAdapter\$${field.name}(Map<String, dynamic> json) {',
    );

    result.writeln(
      '    final object = ' + _jsonGetter(field.jsonContentType, field.jsonName, 'json') + ';',
    );

    if (field.type.isOptional) {
      result.writeln(
        '    return object == null ? null : const ' +
            field.adapterType.displayName +
            '().fromJson(object);',
      );
    } else {
      result.writeln(
        '    return const ' + field.adapterType.displayName + '().fromJson(object);',
      );
    }

    result.writeln('  }');
  }

  return result.toString();
}