From e5d9a0851e5c32242ade98e38b20922944f1c775 Mon Sep 17 00:00:00 2001 From: Tobe O Date: Tue, 30 Apr 2019 11:44:01 -0400 Subject: [PATCH] gen@2.4.4 --- angel_serialize/lib/angel_serialize.dart | 3 +- angel_serialize_generator/CHANGELOG.md | 3 + .../analysis_options.yaml | 7 +- angel_serialize_generator/example/main.g.dart | 6 +- .../lib/angel_serialize_generator.dart | 18 ++-- .../lib/build_context.dart | 39 +++++---- angel_serialize_generator/lib/context.dart | 6 +- angel_serialize_generator/lib/model.dart | 70 ++++++++-------- angel_serialize_generator/lib/serialize.dart | 82 +++++++++---------- angel_serialize_generator/lib/typescript.dart | 24 +++--- angel_serialize_generator/pubspec.yaml | 3 +- angel_serialize_generator/test/book_test.dart | 12 +-- angel_serialize_generator/test/enum_test.dart | 18 ++-- .../test/models/book.g.dart | 58 ++++++------- .../test/models/game_pad_button.g.dart | 26 +++--- .../test/models/goat.g.dart | 9 +- .../test/models/has_map.g.dart | 14 ++-- .../test/models/with_enum.g.dart | 14 ++-- 18 files changed, 206 insertions(+), 206 deletions(-) diff --git a/angel_serialize/lib/angel_serialize.dart b/angel_serialize/lib/angel_serialize.dart index 56fef3d6..91dd9c9c 100644 --- a/angel_serialize/lib/angel_serialize.dart +++ b/angel_serialize/lib/angel_serialize.dart @@ -84,7 +84,8 @@ class Serializable { const Serializable( {this.serializers: const [Serializers.map, Serializers.json], this.autoSnakeCaseNames: true, - @deprecated this.autoIdAndDateFields: true, + // ignore: deprecated_member_use_from_same_package + @deprecated this.autoIdAndDateFields = true, this.includeAnnotations: const []}); /// A list of enabled serialization modes. diff --git a/angel_serialize_generator/CHANGELOG.md b/angel_serialize_generator/CHANGELOG.md index 9e8077d5..59db6de3 100644 --- a/angel_serialize_generator/CHANGELOG.md +++ b/angel_serialize_generator/CHANGELOG.md @@ -1,3 +1,6 @@ +# 2.4.4 +* Remove unnecessary `new` and `const`. + # 2.4.3 * Generate `Codec` and `Converter` classes. * Generate `toString` methods. diff --git a/angel_serialize_generator/analysis_options.yaml b/angel_serialize_generator/analysis_options.yaml index eae1e42a..dd372bfa 100644 --- a/angel_serialize_generator/analysis_options.yaml +++ b/angel_serialize_generator/analysis_options.yaml @@ -1,3 +1,8 @@ +include: package:pedantic/analysis_options.yaml analyzer: strong-mode: - implicit-casts: false \ No newline at end of file + implicit-casts: false +linter: + rules: + - unnecessary_new + - unnecessary_const \ No newline at end of file diff --git a/angel_serialize_generator/example/main.g.dart b/angel_serialize_generator/example/main.g.dart index 25b200df..376c807c 100644 --- a/angel_serialize_generator/example/main.g.dart +++ b/angel_serialize_generator/example/main.g.dart @@ -17,7 +17,7 @@ class Todo extends _Todo { final bool completed; Todo copyWith({String text, bool completed}) { - return new Todo( + return Todo( text: text ?? this.text, completed: completed ?? this.completed); } @@ -44,7 +44,7 @@ class Todo extends _Todo { // SerializerGenerator // ************************************************************************** -const TodoSerializer todoSerializer = const TodoSerializer(); +const TodoSerializer todoSerializer = TodoSerializer(); class TodoEncoder extends Converter { const TodoEncoder(); @@ -68,7 +68,7 @@ class TodoSerializer extends Codec { @override get decoder => const TodoDecoder(); static Todo fromMap(Map map) { - return new Todo( + return Todo( text: map['text'] as String, completed: map['completed'] as bool); } diff --git a/angel_serialize_generator/lib/angel_serialize_generator.dart b/angel_serialize_generator/lib/angel_serialize_generator.dart index 4b1cc755..664c9dd7 100644 --- a/angel_serialize_generator/lib/angel_serialize_generator.dart +++ b/angel_serialize_generator/lib/angel_serialize_generator.dart @@ -11,7 +11,6 @@ import 'package:angel_serialize/angel_serialize.dart'; import 'package:build/build.dart'; import 'package:code_buffer/code_buffer.dart'; import 'package:code_builder/code_builder.dart'; -import 'package:dart_style/dart_style.dart'; import 'package:path/path.dart' as p; import 'package:recase/recase.dart'; import 'package:source_gen/source_gen.dart' hide LibraryBuilder; @@ -26,22 +25,21 @@ part 'serialize.dart'; part 'typescript.dart'; Builder jsonModelBuilder(_) { - return new SharedPartBuilder( - const [const JsonModelGenerator()], 'angel_serialize'); + return SharedPartBuilder(const [JsonModelGenerator()], 'angel_serialize'); } Builder serializerBuilder(_) { - return new SharedPartBuilder( - const [const SerializerGenerator()], 'angel_serialize_serializer'); + return SharedPartBuilder( + const [SerializerGenerator()], 'angel_serialize_serializer'); } Builder typescriptDefinitionBuilder(_) { - return const TypeScriptDefinitionBuilder(); + return TypeScriptDefinitionBuilder(); } /// Converts a [DartType] to a [TypeReference]. TypeReference convertTypeReference(DartType t) { - return new TypeReference((b) { + return TypeReference((b) { b..symbol = t.name; if (t is InterfaceType) { @@ -94,9 +92,7 @@ String dartObjectToString(DartObject v) { '}'; } if (v.toStringValue() != null) { - return literalString(v.toStringValue()) - .accept(new DartEmitter()) - .toString(); + return literalString(v.toStringValue()).accept(DartEmitter()).toString(); } if (type is InterfaceType && type.element.isEnum) { // Find the index of the enum, then find the member. @@ -110,7 +106,7 @@ String dartObjectToString(DartObject v) { } } - throw new ArgumentError(v.toString()); + throw ArgumentError(v.toString()); } /// Determines if a type supports `package:angel_serialize`. diff --git a/angel_serialize_generator/lib/build_context.dart b/angel_serialize_generator/lib/build_context.dart index 62f7cde0..35e97d4e 100644 --- a/angel_serialize_generator/lib/build_context.dart +++ b/angel_serialize_generator/lib/build_context.dart @@ -13,28 +13,28 @@ import 'package:source_gen/source_gen.dart'; import 'context.dart'; // ignore: deprecated_member_use -const TypeChecker aliasTypeChecker = const TypeChecker.fromRuntime(Alias); +const TypeChecker aliasTypeChecker = TypeChecker.fromRuntime(Alias); -const TypeChecker dateTimeTypeChecker = const TypeChecker.fromRuntime(DateTime); +const TypeChecker dateTimeTypeChecker = TypeChecker.fromRuntime(DateTime); // ignore: deprecated_member_use -const TypeChecker excludeTypeChecker = const TypeChecker.fromRuntime(Exclude); +const TypeChecker excludeTypeChecker = TypeChecker.fromRuntime(Exclude); const TypeChecker serializableFieldTypeChecker = - const TypeChecker.fromRuntime(SerializableField); + TypeChecker.fromRuntime(SerializableField); const TypeChecker serializableTypeChecker = - const TypeChecker.fromRuntime(Serializable); + TypeChecker.fromRuntime(Serializable); const TypeChecker generatedSerializableTypeChecker = - const TypeChecker.fromRuntime(GeneratedSerializable); + TypeChecker.fromRuntime(GeneratedSerializable); final Map _cache = {}; /// Create a [BuildContext]. Future buildContext(ClassElement clazz, ConstantReader annotation, BuildStep buildStep, Resolver resolver, bool autoSnakeCaseNames, - {bool heedExclude: true}) async { + {bool heedExclude = true}) async { var id = clazz.location.components.join('-'); if (_cache.containsKey(id)) { return _cache[id]; @@ -44,7 +44,7 @@ Future buildContext(ClassElement clazz, ConstantReader annotation, autoSnakeCaseNames = annotation.peek('autoSnakeCaseNames')?.boolValue ?? autoSnakeCaseNames; - var ctx = new BuildContext( + var ctx = BuildContext( annotation, clazz, originalClassName: clazz.name, @@ -80,7 +80,7 @@ Future buildContext(ClassElement clazz, ConstantReader annotation, if (sField.alias != null) { ctx.aliases[field.name] = sField.alias; } else if (autoSnakeCaseNames != false) { - ctx.aliases[field.name] = new ReCase(field.name).snakeCase; + ctx.aliases[field.name] = ReCase(field.name).snakeCase; } if (sField.isNullable == false) { @@ -91,7 +91,7 @@ Future buildContext(ClassElement clazz, ConstantReader annotation, if (sField.exclude) { // ignore: deprecated_member_use - ctx.excluded[field.name] = new Exclude( + ctx.excluded[field.name] = Exclude( canSerialize: sField.canSerialize, canDeserialize: sField.canDeserialize, ); @@ -123,11 +123,11 @@ Future buildContext(ClassElement clazz, ConstantReader annotation, var excludeAnnotation = excludeTypeChecker.firstAnnotationOf(el); if (excludeAnnotation != null) { - var cr = new ConstantReader(excludeAnnotation); + var cr = ConstantReader(excludeAnnotation); foundNone = false; // ignore: deprecated_member_use - ctx.excluded[field.name] = new Exclude( + ctx.excluded[field.name] = Exclude( canSerialize: cr.read('canSerialize').boolValue, canDeserialize: cr.read('canDeserialize').boolValue, ); @@ -138,7 +138,7 @@ Future buildContext(ClassElement clazz, ConstantReader annotation, // ignore: deprecated_member_use const TypeChecker.fromRuntime(DefaultValue).firstAnnotationOf(el); if (defAnn != null) { - var rev = new ConstantReader(defAnn).revive().positionalArguments[0]; + var rev = ConstantReader(defAnn).revive().positionalArguments[0]; ctx.defaults[field.name] = rev; foundNone = false; } @@ -150,14 +150,14 @@ Future buildContext(ClassElement clazz, ConstantReader annotation, if (aliasAnn != null) { // ignore: deprecated_member_use - alias = new Alias(aliasAnn.getField('name').toStringValue()); + alias = Alias(aliasAnn.getField('name').toStringValue()); foundNone = false; } if (alias?.name?.isNotEmpty == true) { ctx.aliases[field.name] = alias.name; } else if (autoSnakeCaseNames != false) { - ctx.aliases[field.name] = new ReCase(field.name).snakeCase; + ctx.aliases[field.name] = ReCase(field.name).snakeCase; } // Check for @required @@ -167,7 +167,7 @@ Future buildContext(ClassElement clazz, ConstantReader annotation, if (required != null) { log.warning( 'Using @required on fields (like ${clazz.name}.${field.name}) is now deprecated; use @SerializableField(isNullable: false) instead.'); - var cr = new ConstantReader(required); + var cr = ConstantReader(required); var reason = cr.peek('reason')?.stringValue ?? "Missing required field '${ctx.resolveFieldName(field.name)}' on ${ctx.modelClassName}."; ctx.requiredFields[field.name] = reason; @@ -198,8 +198,7 @@ Future buildContext(ClassElement clazz, ConstantReader annotation, if (const TypeChecker.fromRuntime(Model).isAssignableFromType(clazz.type)) { if (!fieldNames.contains('id')) { - var idField = - new ShimFieldImpl('id', lib.context.typeProvider.stringType); + var idField = ShimFieldImpl('id', lib.context.typeProvider.stringType); ctx.fields.insert(0, idField); ctx.shimmed['id'] = true; } @@ -214,8 +213,8 @@ Future buildContext(ClassElement clazz, ConstantReader annotation, dateTime = dt.type; } - var field = new ShimFieldImpl(key, dateTime); - ctx.aliases[key] = new ReCase(key).snakeCase; + var field = ShimFieldImpl(key, dateTime); + ctx.aliases[key] = ReCase(key).snakeCase; ctx.fields.add(field); ctx.shimmed[key] = true; } diff --git a/angel_serialize_generator/lib/context.dart b/angel_serialize_generator/lib/context.dart index ad9d763b..02446ea0 100644 --- a/angel_serialize_generator/lib/context.dart +++ b/angel_serialize_generator/lib/context.dart @@ -54,7 +54,7 @@ class BuildContext { this.sourceFilename, this.autoSnakeCaseNames, this.autoIdAndDateFields, - this.includeAnnotations: const []}); + this.includeAnnotations = const []}); /// The name of the generated class. String get modelClassName => originalClassName.startsWith('_') @@ -63,10 +63,10 @@ class BuildContext { /// A [ReCase] instance reflecting on the [modelClassName]. ReCase get modelClassNameRecase => - _modelClassNameRecase ??= new ReCase(modelClassName); + _modelClassNameRecase ??= ReCase(modelClassName); TypeReference get modelClassType => - _modelClassType ??= new TypeReference((b) => b.symbol = modelClassName); + _modelClassType ??= TypeReference((b) => b.symbol = modelClassName); /// The [FieldElement] pointing to the primary key. FieldElement get primaryKeyField => diff --git a/angel_serialize_generator/lib/model.dart b/angel_serialize_generator/lib/model.dart index 93b9dec7..6c08f2e0 100644 --- a/angel_serialize_generator/lib/model.dart +++ b/angel_serialize_generator/lib/model.dart @@ -12,18 +12,18 @@ class JsonModelGenerator extends GeneratorForAnnotation { var ctx = await buildContext(element as ClassElement, annotation, buildStep, await buildStep.resolver, true); - var lib = new Library((b) { + var lib = Library((b) { generateClass(ctx, b, annotation); }); - var buf = lib.accept(new DartEmitter()); + var buf = lib.accept(DartEmitter()); return buf.toString(); } /// Generate an extended model class. void generateClass( BuildContext ctx, LibraryBuilder file, ConstantReader annotation) { - file.body.add(new Class((clazz) { + file.body.add(Class((clazz) { clazz ..name = ctx.modelClassNameRecase.pascalCase ..annotations.add(refer('generatedSerializable')); @@ -33,20 +33,20 @@ class JsonModelGenerator extends GeneratorForAnnotation { } if (shouldBeConstant(ctx)) { - clazz.implements.add(new Reference(ctx.originalClassName)); + clazz.implements.add(Reference(ctx.originalClassName)); } else { - clazz.extend = new Reference(ctx.originalClassName); + clazz.extend = Reference(ctx.originalClassName); } //if (ctx.importsPackageMeta) - // clazz.annotations.add(new CodeExpression(new Code('immutable'))); + // clazz.annotations.add(CodeExpression(Code('immutable'))); for (var field in ctx.fields) { - clazz.fields.add(new Field((b) { + clazz.fields.add(Field((b) { b ..name = field.name ..modifier = FieldModifier.final$ - ..annotations.add(new CodeExpression(new Code('override'))) + ..annotations.add(CodeExpression(Code('override'))) ..type = convertTypeReference(field.type); for (var el in [field.getter, field]) { @@ -67,11 +67,11 @@ class JsonModelGenerator extends GeneratorForAnnotation { var serializers = annotation.peek('serializers')?.listValue ?? []; if (serializers.any((o) => o.toIntValue() == Serializers.json)) { - clazz.methods.add(new Method((method) { + clazz.methods.add(Method((method) { method ..name = 'toJson' - ..returns = new Reference('Map') - ..body = new Code('return ${clazz.name}Serializer.toMap(this);'); + ..returns = Reference('Map') + ..body = Code('return ${clazz.name}Serializer.toMap(this);'); })); } })); @@ -87,13 +87,13 @@ class JsonModelGenerator extends GeneratorForAnnotation { /// Generate a constructor with named parameters. void generateConstructor( BuildContext ctx, ClassBuilder clazz, LibraryBuilder file) { - clazz.constructors.add(new Constructor((constructor) { + clazz.constructors.add(Constructor((constructor) { // Add all `super` params constructor.constant = ctx.clazz.unnamedConstructor?.isConst == true || shouldBeConstant(ctx); for (var param in ctx.constructorParameters) { - constructor.requiredParameters.add(new Parameter((b) => b + constructor.requiredParameters.add(Parameter((b) => b ..name = param.name ..type = convertTypeReference(param.type))); } @@ -111,14 +111,14 @@ class JsonModelGenerator extends GeneratorForAnnotation { defaultValue = dartObjectToString(existingDefault); } - constructor.initializers.add(new Code(''' + constructor.initializers.add(Code(''' this.${field.name} = - new $typeName.unmodifiable(${field.name} ?? $defaultValue)''')); + $typeName.unmodifiable(${field.name} ?? $defaultValue)''')); } } for (var field in ctx.fields) { - constructor.optionalParameters.add(new Parameter((b) { + constructor.optionalParameters.add(Parameter((b) { b ..toThis = shouldBeConstant(ctx) ..name = field.name @@ -127,7 +127,7 @@ class JsonModelGenerator extends GeneratorForAnnotation { var existingDefault = ctx.defaults[field.name]; if (existingDefault != null) { - b.defaultTo = new Code(dartObjectToString(existingDefault)); + b.defaultTo = Code(dartObjectToString(existingDefault)); } if (!isListOrMapType(field.type)) @@ -138,7 +138,7 @@ class JsonModelGenerator extends GeneratorForAnnotation { if (ctx.requiredFields.containsKey(field.name) && b.defaultTo == null) { - b.annotations.add(new CodeExpression(new Code('required'))); + b.annotations.add(CodeExpression(Code('required'))); } })); } @@ -146,7 +146,7 @@ class JsonModelGenerator extends GeneratorForAnnotation { if (ctx.constructorParameters.isNotEmpty) { if (!shouldBeConstant(ctx) || ctx.clazz.unnamedConstructor?.isConst == true) - constructor.initializers.add(new Code( + constructor.initializers.add(Code( 'super(${ctx.constructorParameters.map((p) => p.name).join(',')})')); } })); @@ -155,7 +155,7 @@ class JsonModelGenerator extends GeneratorForAnnotation { /// Generate a `copyWith` method. void generateCopyWithMethod( BuildContext ctx, ClassBuilder clazz, LibraryBuilder file) { - clazz.methods.add(new Method((method) { + clazz.methods.add(Method((method) { method ..name = 'copyWith' ..returns = ctx.modelClassType; @@ -163,13 +163,13 @@ class JsonModelGenerator extends GeneratorForAnnotation { // Add all `super` params if (ctx.constructorParameters.isNotEmpty) { for (var param in ctx.constructorParameters) { - method.requiredParameters.add(new Parameter((b) => b + method.requiredParameters.add(Parameter((b) => b ..name = param.name ..type = convertTypeReference(param.type))); } } - var buf = new StringBuffer('return new ${ctx.modelClassName}('); + var buf = StringBuffer('return ${ctx.modelClassName}('); int i = 0; for (var param in ctx.constructorParameters) { @@ -179,7 +179,7 @@ class JsonModelGenerator extends GeneratorForAnnotation { // Add named parameters for (var field in ctx.fields) { - method.optionalParameters.add(new Parameter((b) { + method.optionalParameters.add(Parameter((b) { b ..name = field.name ..named = true @@ -191,7 +191,7 @@ class JsonModelGenerator extends GeneratorForAnnotation { } buf.write(');'); - method.body = new Code(buf.toString()); + method.body = Code(buf.toString()); })); } @@ -200,22 +200,22 @@ class JsonModelGenerator extends GeneratorForAnnotation { if (const TypeChecker.fromRuntime(List).isAssignableFromType(type)) { if (type.typeParameters.length == 1) { var eq = generateEquality(type.typeArguments[0]); - return 'const ListEquality<${type.typeArguments[0].name}>($eq)'; + return 'ListEquality<${type.typeArguments[0].name}>($eq)'; } else - return 'const ListEquality()'; + return 'ListEquality()'; } else if (const TypeChecker.fromRuntime(Map) .isAssignableFromType(type)) { if (type.typeParameters.length == 2) { var keq = generateEquality(type.typeArguments[0]), veq = generateEquality(type.typeArguments[1]); - return 'const MapEquality<${type.typeArguments[0].name}, ${type.typeArguments[1].name}>(keys: $keq, values: $veq)'; + return 'MapEquality<${type.typeArguments[0].name}, ${type.typeArguments[1].name}>(keys: $keq, values: $veq)'; } else - return 'const MapEquality()'; + return 'MapEquality()'; } - return nullable ? null : 'const DefaultEquality<${type.name}>()'; + return nullable ? null : 'DefaultEquality<${type.name}>()'; } else { - return 'const DefaultEquality()'; + return 'DefaultEquality()'; } } @@ -229,7 +229,7 @@ class JsonModelGenerator extends GeneratorForAnnotation { void generateHashCode(BuildContext ctx, ClassBuilder clazz) { clazz - ..methods.add(new Method((method) { + ..methods.add(Method((method) { method ..name = 'hashCode' ..type = MethodType.getter @@ -263,11 +263,11 @@ class JsonModelGenerator extends GeneratorForAnnotation { void generateEqualsOperator( BuildContext ctx, ClassBuilder clazz, LibraryBuilder file) { - clazz.methods.add(new Method((method) { + clazz.methods.add(Method((method) { method ..name = 'operator ==' - ..returns = new Reference('bool') - ..requiredParameters.add(new Parameter((b) => b.name = 'other')); + ..returns = Reference('bool') + ..requiredParameters.add(Parameter((b) => b.name = 'other')); var buf = ['other is ${ctx.originalClassName}']; @@ -275,7 +275,7 @@ class JsonModelGenerator extends GeneratorForAnnotation { return generateComparator(f.type)('other.${f.name}', f.name); })); - method.body = new Code('return ${buf.join('&&')};'); + method.body = Code('return ${buf.join('&&')};'); })); } } diff --git a/angel_serialize_generator/lib/serialize.dart b/angel_serialize_generator/lib/serialize.dart index 2cc45d00..07451d6e 100644 --- a/angel_serialize_generator/lib/serialize.dart +++ b/angel_serialize_generator/lib/serialize.dart @@ -3,7 +3,7 @@ part of angel_serialize_generator; class SerializerGenerator extends GeneratorForAnnotation { final bool autoSnakeCaseNames; - const SerializerGenerator({this.autoSnakeCaseNames: true}); + const SerializerGenerator({this.autoSnakeCaseNames = true}); @override Future generateForAnnotatedElement( @@ -23,12 +23,12 @@ class SerializerGenerator extends GeneratorForAnnotation { return null; } - var lib = new Library((b) { + var lib = Library((b) { generateClass(serializers.map((s) => s.toIntValue()).toList(), ctx, b); generateFieldsClass(ctx, b); }); - var buf = lib.accept(new DartEmitter()); + var buf = lib.accept(DartEmitter()); return buf.toString(); } @@ -40,8 +40,8 @@ class SerializerGenerator extends GeneratorForAnnotation { camel = ctx.modelClassNameRecase.camelCase; if (ctx.constructorParameters.isEmpty) { - file.body.add(new Code(''' -const ${pascal}Serializer ${camel}Serializer = const ${pascal}Serializer(); + file.body.add(Code(''' +const ${pascal}Serializer ${camel}Serializer = ${pascal}Serializer(); class ${pascal}Encoder extends Converter<${pascal}, Map> { const ${pascal}Encoder(); @@ -59,7 +59,7 @@ class ${pascal}Decoder extends Converter { ''')); } - file.body.add(new Class((clazz) { + file.body.add(Class((clazz) { clazz..name = '${pascal}Serializer'; if (ctx.constructorParameters.isEmpty) { clazz @@ -96,24 +96,24 @@ class ${pascal}Decoder extends Converter { void generateToMapMethod( ClassBuilder clazz, BuildContext ctx, LibraryBuilder file) { - clazz.methods.add(new Method((method) { + clazz.methods.add(Method((method) { method ..static = true ..name = 'toMap' - ..returns = new Reference('Map') - ..requiredParameters.add(new Parameter((b) { + ..returns = Reference('Map') + ..requiredParameters.add(Parameter((b) { b ..name = 'model' ..type = refer(ctx.originalClassName); })); - var buf = new StringBuffer(); + var buf = StringBuffer(); ctx.requiredFields.forEach((key, msg) { if (ctx.excluded[key]?.canSerialize == false) return; buf.writeln(''' if (model.$key == null) { - throw new FormatException("$msg"); + throw FormatException("$msg"); } '''); }); @@ -152,21 +152,21 @@ class ${pascal}Decoder extends Converter { // Serialize model classes via `XSerializer.toMap` else if (isModelClass(type)) { - var rc = new ReCase(type.name); + var rc = ReCase(type.name); serializedRepresentation = '${serializerToMap(rc, 'model.${field.name}')}'; } else if (type is InterfaceType) { if (isListOfModelType(type)) { var name = type.typeArguments[0].name; if (name.startsWith('_')) name = name.substring(1); - var rc = new ReCase(name); + var rc = ReCase(name); var m = serializerToMap(rc, 'm'); serializedRepresentation = ''' model.${field.name} ?.map((m) => $m) ?.toList()'''; } else if (isMapToModelType(type)) { - var rc = new ReCase(type.typeArguments[1].name); + var rc = ReCase(type.typeArguments[1].name); serializedRepresentation = '''model.${field.name}.keys?.fold({}, (map, key) { return map..[key] = @@ -192,48 +192,48 @@ class ${pascal}Decoder extends Converter { } buf.write('};'); - method.body = new Block.of([ - new Code('if (model == null) { return null; }'), - new Code(buf.toString()), + method.body = Block.of([ + Code('if (model == null) { return null; }'), + Code(buf.toString()), ]); })); } void generateFromMapMethod( ClassBuilder clazz, BuildContext ctx, LibraryBuilder file) { - clazz.methods.add(new Method((method) { + clazz.methods.add(Method((method) { method ..static = true ..name = 'fromMap' ..returns = ctx.modelClassType ..requiredParameters.add( - new Parameter((b) => b + Parameter((b) => b ..name = 'map' - ..type = new Reference('Map')), + ..type = Reference('Map')), ); // Add all `super` params if (ctx.constructorParameters.isNotEmpty) { for (var param in ctx.constructorParameters) { - method.requiredParameters.add(new Parameter((b) => b + method.requiredParameters.add(Parameter((b) => b ..name = param.name ..type = convertTypeReference(param.type))); } } - var buf = new StringBuffer(); + var buf = StringBuffer(); ctx.requiredFields.forEach((key, msg) { if (ctx.excluded[key]?.canDeserialize == false) return; var name = ctx.resolveFieldName(key); buf.writeln(''' if (map['$name'] == null) { - throw new FormatException("$msg"); + throw FormatException("$msg"); } '''); }); - buf.writeln('return new ${ctx.modelClassName}('); + buf.writeln('return ${ctx.modelClassName}('); int i = 0; for (var param in ctx.constructorParameters) { @@ -273,24 +273,24 @@ class ${pascal}Decoder extends Converter { // Serialize model classes via `XSerializer.toMap` else if (isModelClass(type)) { - var rc = new ReCase(type.name); + var rc = ReCase(type.name); deserializedRepresentation = "map['$alias'] != null" " ? ${rc.pascalCase}Serializer.fromMap(map['$alias'] as Map)" " : $defaultValue"; } else if (type is InterfaceType) { if (isListOfModelType(type)) { - var rc = new ReCase(type.typeArguments[0].name); + var rc = ReCase(type.typeArguments[0].name); deserializedRepresentation = "map['$alias'] is Iterable" - " ? new List.unmodifiable(((map['$alias'] as Iterable)" + " ? List.unmodifiable(((map['$alias'] as Iterable)" ".where((x) => x is Map))" ".cast()" ".map(${rc.pascalCase}Serializer.fromMap))" " : $defaultValue"; } else if (isMapToModelType(type)) { - var rc = new ReCase(type.typeArguments[1].name); + var rc = ReCase(type.typeArguments[1].name); deserializedRepresentation = ''' map['$alias'] is Map - ? new Map.unmodifiable((map['$alias'] as Map).keys.fold({}, (out, key) { + ? Map.unmodifiable((map['$alias'] as Map).keys.fold({}, (out, key) { return out..[key] = ${rc.pascalCase}Serializer .fromMap(((map['$alias'] as Map)[key]) as Map); })) @@ -311,7 +311,7 @@ class ${pascal}Decoder extends Converter { .isAssignableFromType(type) && type.typeArguments.length == 1) { var arg = convertTypeReference(type.typeArguments[0]) - .accept(new DartEmitter()); + .accept(DartEmitter()); deserializedRepresentation = ''' map['$alias'] is Iterable ? (map['$alias'] as Iterable).cast<$arg>().toList() @@ -321,9 +321,9 @@ class ${pascal}Decoder extends Converter { .isAssignableFromType(type) && type.typeArguments.length == 2) { var key = convertTypeReference(type.typeArguments[0]) - .accept(new DartEmitter()); + .accept(DartEmitter()); var value = convertTypeReference(type.typeArguments[1]) - .accept(new DartEmitter()); + .accept(DartEmitter()); deserializedRepresentation = ''' map['$alias'] is Map ? (map['$alias'] as Map).cast<$key, $value>() @@ -337,11 +337,11 @@ class ${pascal}Decoder extends Converter { : ( map['$alias'] is Iterable - ? new Uint8List.fromList((map['$alias'] as Iterable).toList()) + ? Uint8List.fromList((map['$alias'] as Iterable).toList()) : ( map['$alias'] is String - ? new Uint8List.fromList(base64.decode(map['$alias'] as String)) + ? Uint8List.fromList(base64.decode(map['$alias'] as String)) : $defaultValue ) ) @@ -353,21 +353,21 @@ class ${pascal}Decoder extends Converter { } buf.write(');'); - method.body = new Code(buf.toString()); + method.body = Code(buf.toString()); })); } void generateFieldsClass(BuildContext ctx, LibraryBuilder file) { - file.body.add(new Class((clazz) { + file.body.add(Class((clazz) { clazz ..abstract = true ..name = '${ctx.modelClassNameRecase.pascalCase}Fields'; - clazz.fields.add(new Field((b) { + clazz.fields.add(Field((b) { b ..static = true ..modifier = FieldModifier.constant - ..type = new TypeReference((b) => b + ..type = TypeReference((b) => b ..symbol = 'List' ..types.add(refer('String'))) ..name = 'allFields' @@ -378,13 +378,13 @@ class ${pascal}Decoder extends Converter { })); for (var field in ctx.fields) { - clazz.fields.add(new Field((b) { + clazz.fields.add(Field((b) { b ..static = true ..modifier = FieldModifier.constant - ..type = new Reference('String') + ..type = Reference('String') ..name = field.name - ..assignment = new Code("'${ctx.resolveFieldName(field.name)}'"); + ..assignment = Code("'${ctx.resolveFieldName(field.name)}'"); })); } })); diff --git a/angel_serialize_generator/lib/typescript.dart b/angel_serialize_generator/lib/typescript.dart index 19687c72..08f61c3f 100644 --- a/angel_serialize_generator/lib/typescript.dart +++ b/angel_serialize_generator/lib/typescript.dart @@ -3,7 +3,7 @@ part of angel_serialize_generator; class TypeScriptDefinitionBuilder implements Builder { final bool autoSnakeCaseNames; - const TypeScriptDefinitionBuilder({this.autoSnakeCaseNames: true}); + const TypeScriptDefinitionBuilder({this.autoSnakeCaseNames = true}); @override Map> get buildExtensions { @@ -29,7 +29,7 @@ class TypeScriptDefinitionBuilder implements Builder { }; types.forEach((t, tsType) { - if (new TypeChecker.fromRuntime(t).isAssignableFromType(type)) + if (TypeChecker.fromRuntime(t).isAssignableFromType(type)) typeScriptType = tsType; }); @@ -48,7 +48,7 @@ class TypeScriptDefinitionBuilder implements Builder { //var modelType = type.typeArguments[1]; /*var innerCtx = await buildContext( modelType.element, - new ConstantReader( + ConstantReader( serializableTypeChecker.firstAnnotationOf(modelType.element)), buildStep, buildStep.resolver, @@ -56,10 +56,10 @@ class TypeScriptDefinitionBuilder implements Builder { true, );*/ - typeScriptType = ctx.modelClassNameRecase.pascalCase + - new ReCase(fieldName).pascalCase; + typeScriptType = + ctx.modelClassNameRecase.pascalCase + ReCase(fieldName).pascalCase; - ext.add(new CodeBuffer() + ext.add(CodeBuffer() ..writeln('interface $typeScriptType {') ..indent() ..writeln('[key: $key]: $value;') @@ -67,7 +67,7 @@ class TypeScriptDefinitionBuilder implements Builder { ..writeln('}')); } else if (const TypeChecker.fromRuntime(List) .isAssignableFromType(type)) { - if (type.typeArguments.length == 0) + if (type.typeArguments.isEmpty) typeScriptType = 'any[]'; else { var arg = await compileToTypeScriptType( @@ -104,7 +104,7 @@ class TypeScriptDefinitionBuilder implements Builder { var ctx = await buildContext( type.element, - new ConstantReader( + ConstantReader( serializableTypeChecker.firstAnnotationOf(type.element)), buildStep, buildStep.resolver, @@ -123,7 +123,7 @@ class TypeScriptDefinitionBuilder implements Builder { LibraryReader lib; try { - lib = new LibraryReader(await buildStep.inputLibrary); + lib = LibraryReader(await buildStep.inputLibrary); } catch (_) { return; } @@ -164,7 +164,7 @@ class TypeScriptDefinitionBuilder implements Builder { if (contexts.isEmpty) return; var refs = []; - var buf = new CodeBuffer( + var buf = CodeBuffer( trailingNewline: true, sourceUrl: buildStep.inputId.uri, ); @@ -209,11 +209,11 @@ class TypeScriptDefinitionBuilder implements Builder { buf ..outdent() ..writeln('}'); - var finalBuf = new CodeBuffer(); + var finalBuf = CodeBuffer(); refs.forEach(finalBuf.writeln); buf.copyInto(finalBuf); - buildStep.writeAsString( + await buildStep.writeAsString( buildStep.inputId.changeExtension('.d.ts'), finalBuf.toString(), ); diff --git a/angel_serialize_generator/pubspec.yaml b/angel_serialize_generator/pubspec.yaml index 8f868f56..3d1610c4 100644 --- a/angel_serialize_generator/pubspec.yaml +++ b/angel_serialize_generator/pubspec.yaml @@ -1,5 +1,5 @@ name: angel_serialize_generator -version: 2.4.3 +version: 2.4.4 description: Model serialization generators, designed for use with Angel. Combine with angel_serialize for flexible modeling. author: Tobe O homepage: https://github.com/angel-dart/serialize @@ -21,6 +21,7 @@ dependencies: dev_dependencies: build_runner: ^1.0.0 collection: ^1.0.0 + pedantic: ^1.0.0 test: ^1.0.0 # dependency_overrides: # angel_serialize: diff --git a/angel_serialize_generator/test/book_test.dart b/angel_serialize_generator/test/book_test.dart index d4304e4d..bb23e659 100644 --- a/angel_serialize_generator/test/book_test.dart +++ b/angel_serialize_generator/test/book_test.dart @@ -4,18 +4,18 @@ import 'models/book.dart'; const String deathlyHallowsIsbn = '0-545-01022-5'; main() { - var deathlyHallows = new Book( + var deathlyHallows = Book( id: '0', author: 'J.K. Rowling', title: 'Harry Potter and the Deathly Hallows', description: 'The 7th book.', pageCount: 759, notModels: [1.0, 3.0], - updatedAt: new DateTime.now()); + updatedAt: DateTime.now()); var serializedDeathlyHallows = deathlyHallows.toJson(); print('Deathly Hallows: $deathlyHallows'); - var jkRowling = new Author( + var jkRowling = Author( id: '1', name: 'J.K. Rowling', age: 51, @@ -25,7 +25,7 @@ main() { var deathlyHallowsMap = bookSerializer.encode(deathlyHallows); print('J.K. Rowling: $jkRowling'); - var library = new Library(collection: {deathlyHallowsIsbn: deathlyHallows}); + var library = Library(collection: {deathlyHallowsIsbn: deathlyHallows}); var serializedLibrary = LibrarySerializer.toMap(library); print('Library: $library'); @@ -55,7 +55,7 @@ main() { }); test('heeds canDeserialize', () { - var map = new Map.from(serializedJkRowling)..['obscured'] = 'foo'; + var map = Map.from(serializedJkRowling)..['obscured'] = 'foo'; var author = authorSerializer.decode(map); expect(author.obscured, 'foo'); }); @@ -99,7 +99,7 @@ main() { }); test('required fields toMap', () { - var author = new Author(name: null, age: 24); + var author = Author(name: null, age: 24); expect(() => author.toJson(), throwsFormatException); }); diff --git a/angel_serialize_generator/test/enum_test.dart b/angel_serialize_generator/test/enum_test.dart index 3a96b366..e3b2b5c3 100644 --- a/angel_serialize_generator/test/enum_test.dart +++ b/angel_serialize_generator/test/enum_test.dart @@ -3,17 +3,17 @@ import 'dart:typed_data'; import 'package:test/test.dart'; import 'models/with_enum.dart'; -const WithEnum aWithEnum = const WithEnum(type: WithEnumType.a); -const WithEnum aWithEnum2 = const WithEnum(type: WithEnumType.a); +const WithEnum aWithEnum = WithEnum(type: WithEnumType.a); +const WithEnum aWithEnum2 = WithEnum(type: WithEnumType.a); void main() { test('enum serializes to int', () { - var w = new WithEnum(type: WithEnumType.b).toJson(); + var w = WithEnum(type: WithEnumType.b).toJson(); expect(w[WithEnumFields.type], WithEnumType.values.indexOf(WithEnumType.b)); }); test('enum serializes null if null', () { - var w = new WithEnum(type: null).toJson(); + var w = WithEnum(type: null).toJson(); expect(w[WithEnumFields.type], null); }); @@ -38,10 +38,9 @@ void main() { }); test('equality', () { + expect(WithEnum(type: WithEnumType.a), WithEnum(type: WithEnumType.a)); expect( - new WithEnum(type: WithEnumType.a), new WithEnum(type: WithEnumType.a)); - expect(new WithEnum(type: WithEnumType.a), - isNot(new WithEnum(type: WithEnumType.b))); + WithEnum(type: WithEnumType.a), isNot(WithEnum(type: WithEnumType.b))); }); test('const', () { @@ -49,9 +48,8 @@ void main() { }); test('uint8list', () { - var ee = new WithEnum( - imageBytes: - new Uint8List.fromList(new List.generate(1000, (i) => i))); + var ee = WithEnum( + imageBytes: Uint8List.fromList(List.generate(1000, (i) => i))); var eeMap = ee.toJson(); print(ee); var ef = WithEnumSerializer.fromMap(eeMap); diff --git a/angel_serialize_generator/test/models/book.g.dart b/angel_serialize_generator/test/models/book.g.dart index 40222169..eeb587a8 100644 --- a/angel_serialize_generator/test/models/book.g.dart +++ b/angel_serialize_generator/test/models/book.g.dart @@ -20,7 +20,7 @@ class Book extends _Book { this.camelCaseString, this.createdAt, this.updatedAt}) - : this.notModels = new List.unmodifiable(notModels ?? []); + : this.notModels = List.unmodifiable(notModels ?? []); @override final String id; @@ -60,7 +60,7 @@ class Book extends _Book { String camelCaseString, DateTime createdAt, DateTime updatedAt}) { - return new Book( + return Book( id: id ?? this.id, author: author ?? this.author, title: title ?? this.title, @@ -79,7 +79,7 @@ class Book extends _Book { other.title == title && other.description == description && other.pageCount == pageCount && - const ListEquality(const DefaultEquality()) + ListEquality(DefaultEquality()) .equals(other.notModels, notModels) && other.camelCaseString == camelCaseString && other.createdAt == createdAt && @@ -123,7 +123,7 @@ class Author extends _Author { this.obscured, this.createdAt, this.updatedAt}) - : this.books = new List.unmodifiable(books ?? []); + : this.books = List.unmodifiable(books ?? []); @override final String id; @@ -163,7 +163,7 @@ class Author extends _Author { String obscured, DateTime createdAt, DateTime updatedAt}) { - return new Author( + return Author( id: id ?? this.id, name: name ?? this.name, age: age ?? this.age, @@ -180,7 +180,7 @@ class Author extends _Author { other.id == id && other.name == name && other.age == age && - const ListEquality<_Book>(const DefaultEquality<_Book>()) + ListEquality<_Book>(DefaultEquality<_Book>()) .equals(other.books, books) && other.newestBook == newestBook && other.secret == secret && @@ -218,7 +218,7 @@ class Author extends _Author { class Library extends _Library { Library( {this.id, Map collection, this.createdAt, this.updatedAt}) - : this.collection = new Map.unmodifiable(collection ?? {}); + : this.collection = Map.unmodifiable(collection ?? {}); @override final String id; @@ -237,7 +237,7 @@ class Library extends _Library { Map collection, DateTime createdAt, DateTime updatedAt}) { - return new Library( + return Library( id: id ?? this.id, collection: collection ?? this.collection, createdAt: createdAt ?? this.createdAt, @@ -247,9 +247,9 @@ class Library extends _Library { bool operator ==(other) { return other is _Library && other.id == id && - const MapEquality( - keys: const DefaultEquality(), - values: const DefaultEquality<_Book>()) + MapEquality( + keys: DefaultEquality(), + values: DefaultEquality<_Book>()) .equals(other.collection, collection) && other.createdAt == createdAt && other.updatedAt == updatedAt; @@ -279,7 +279,7 @@ class Bookmark extends _Bookmark { this.comment, this.createdAt, this.updatedAt}) - : this.history = new List.unmodifiable(history ?? []), + : this.history = List.unmodifiable(history ?? []), super(book); @override @@ -307,7 +307,7 @@ class Bookmark extends _Bookmark { String comment, DateTime createdAt, DateTime updatedAt}) { - return new Bookmark(book, + return Bookmark(book, id: id ?? this.id, history: history ?? this.history, page: page ?? this.page, @@ -319,7 +319,7 @@ class Bookmark extends _Bookmark { bool operator ==(other) { return other is _Bookmark && other.id == id && - const ListEquality(const DefaultEquality()) + ListEquality(DefaultEquality()) .equals(other.history, history) && other.page == page && other.comment == comment && @@ -346,7 +346,7 @@ class Bookmark extends _Bookmark { // SerializerGenerator // ************************************************************************** -const BookSerializer bookSerializer = const BookSerializer(); +const BookSerializer bookSerializer = BookSerializer(); class BookEncoder extends Converter { const BookEncoder(); @@ -370,7 +370,7 @@ class BookSerializer extends Codec { @override get decoder => const BookDecoder(); static Book fromMap(Map map) { - return new Book( + return Book( id: map['id'] as String, author: map['author'] as String, title: map['title'] as String, @@ -442,7 +442,7 @@ abstract class BookFields { static const String updatedAt = 'updated_at'; } -const AuthorSerializer authorSerializer = const AuthorSerializer(); +const AuthorSerializer authorSerializer = AuthorSerializer(); class AuthorEncoder extends Converter { const AuthorEncoder(); @@ -467,19 +467,19 @@ class AuthorSerializer extends Codec { get decoder => const AuthorDecoder(); static Author fromMap(Map map) { if (map['name'] == null) { - throw new FormatException("Missing required field 'name' on Author."); + throw FormatException("Missing required field 'name' on Author."); } if (map['age'] == null) { - throw new FormatException("Custom message for missing `age`"); + throw FormatException("Custom message for missing `age`"); } - return new Author( + return Author( id: map['id'] as String, name: map['name'] as String, age: map['age'] as int, books: map['books'] is Iterable - ? new List.unmodifiable( + ? List.unmodifiable( ((map['books'] as Iterable).where((x) => x is Map)) .cast() .map(BookSerializer.fromMap)) @@ -505,11 +505,11 @@ class AuthorSerializer extends Codec { return null; } if (model.name == null) { - throw new FormatException("Missing required field 'name' on Author."); + throw FormatException("Missing required field 'name' on Author."); } if (model.age == null) { - throw new FormatException("Custom message for missing `age`"); + throw FormatException("Custom message for missing `age`"); } return { @@ -556,7 +556,7 @@ abstract class AuthorFields { static const String updatedAt = 'updated_at'; } -const LibrarySerializer librarySerializer = const LibrarySerializer(); +const LibrarySerializer librarySerializer = LibrarySerializer(); class LibraryEncoder extends Converter { const LibraryEncoder(); @@ -580,10 +580,10 @@ class LibrarySerializer extends Codec { @override get decoder => const LibraryDecoder(); static Library fromMap(Map map) { - return new Library( + return Library( id: map['id'] as String, collection: map['collection'] is Map - ? new Map.unmodifiable( + ? Map.unmodifiable( (map['collection'] as Map).keys.fold({}, (out, key) { return out ..[key] = BookSerializer.fromMap( @@ -637,10 +637,10 @@ abstract class LibraryFields { abstract class BookmarkSerializer { static Bookmark fromMap(Map map, _Book book) { if (map['page'] == null) { - throw new FormatException("Missing required field 'page' on Bookmark."); + throw FormatException("Missing required field 'page' on Bookmark."); } - return new Bookmark(book, + return Bookmark(book, id: map['id'] as String, history: map['history'] is Iterable ? (map['history'] as Iterable).cast().toList() @@ -664,7 +664,7 @@ abstract class BookmarkSerializer { return null; } if (model.page == null) { - throw new FormatException("Missing required field 'page' on Bookmark."); + throw FormatException("Missing required field 'page' on Bookmark."); } return { diff --git a/angel_serialize_generator/test/models/game_pad_button.g.dart b/angel_serialize_generator/test/models/game_pad_button.g.dart index 4fda54ed..55de9d22 100644 --- a/angel_serialize_generator/test/models/game_pad_button.g.dart +++ b/angel_serialize_generator/test/models/game_pad_button.g.dart @@ -17,7 +17,7 @@ class GamepadButton implements _GamepadButton { final int radius; GamepadButton copyWith({String name, int radius}) { - return new GamepadButton( + return GamepadButton( name: name ?? this.name, radius: radius ?? this.radius); } @@ -45,8 +45,8 @@ class GamepadButton implements _GamepadButton { @generatedSerializable class Gamepad extends _Gamepad { Gamepad({List<_GamepadButton> buttons, Map dynamicMap}) - : this.buttons = new List.unmodifiable(buttons ?? []), - this.dynamicMap = new Map.unmodifiable(dynamicMap ?? {}); + : this.buttons = List.unmodifiable(buttons ?? []), + this.dynamicMap = Map.unmodifiable(dynamicMap ?? {}); @override final List<_GamepadButton> buttons; @@ -56,19 +56,17 @@ class Gamepad extends _Gamepad { Gamepad copyWith( {List<_GamepadButton> buttons, Map dynamicMap}) { - return new Gamepad( + return Gamepad( buttons: buttons ?? this.buttons, dynamicMap: dynamicMap ?? this.dynamicMap); } bool operator ==(other) { return other is _Gamepad && - const ListEquality<_GamepadButton>( - const DefaultEquality<_GamepadButton>()) + ListEquality<_GamepadButton>(DefaultEquality<_GamepadButton>()) .equals(other.buttons, buttons) && - const MapEquality( - keys: const DefaultEquality(), - values: const DefaultEquality()) + MapEquality( + keys: DefaultEquality(), values: DefaultEquality()) .equals(other.dynamicMap, dynamicMap); } @@ -92,7 +90,7 @@ class Gamepad extends _Gamepad { // ************************************************************************** const GamepadButtonSerializer gamepadButtonSerializer = - const GamepadButtonSerializer(); + GamepadButtonSerializer(); class GamepadButtonEncoder extends Converter { const GamepadButtonEncoder(); @@ -116,7 +114,7 @@ class GamepadButtonSerializer extends Codec { @override get decoder => const GamepadButtonDecoder(); static GamepadButton fromMap(Map map) { - return new GamepadButton( + return GamepadButton( name: map['name'] as String, radius: map['radius'] as int); } @@ -136,7 +134,7 @@ abstract class GamepadButtonFields { static const String radius = 'radius'; } -const GamepadSerializer gamepadSerializer = const GamepadSerializer(); +const GamepadSerializer gamepadSerializer = GamepadSerializer(); class GamepadEncoder extends Converter { const GamepadEncoder(); @@ -160,9 +158,9 @@ class GamepadSerializer extends Codec { @override get decoder => const GamepadDecoder(); static Gamepad fromMap(Map map) { - return new Gamepad( + return Gamepad( buttons: map['buttons'] is Iterable - ? new List.unmodifiable( + ? List.unmodifiable( ((map['buttons'] as Iterable).where((x) => x is Map)) .cast() .map(GamepadButtonSerializer.fromMap)) diff --git a/angel_serialize_generator/test/models/goat.g.dart b/angel_serialize_generator/test/models/goat.g.dart index d670c921..0c0659e0 100644 --- a/angel_serialize_generator/test/models/goat.g.dart +++ b/angel_serialize_generator/test/models/goat.g.dart @@ -17,14 +17,13 @@ class Goat implements _Goat { final List list; Goat copyWith({int integer, List list}) { - return new Goat(integer: integer ?? this.integer, list: list ?? this.list); + return Goat(integer: integer ?? this.integer, list: list ?? this.list); } bool operator ==(other) { return other is _Goat && other.integer == integer && - const ListEquality(const DefaultEquality()) - .equals(other.list, list); + ListEquality(DefaultEquality()).equals(other.list, list); } @override @@ -46,7 +45,7 @@ class Goat implements _Goat { // SerializerGenerator // ************************************************************************** -const GoatSerializer goatSerializer = const GoatSerializer(); +const GoatSerializer goatSerializer = GoatSerializer(); class GoatEncoder extends Converter { const GoatEncoder(); @@ -70,7 +69,7 @@ class GoatSerializer extends Codec { @override get decoder => const GoatDecoder(); static Goat fromMap(Map map) { - return new Goat( + return Goat( integer: map['integer'] as int ?? 34, list: map['list'] is Iterable ? (map['list'] as Iterable).cast().toList() diff --git a/angel_serialize_generator/test/models/has_map.g.dart b/angel_serialize_generator/test/models/has_map.g.dart index 9d3a39d3..d3adbddd 100644 --- a/angel_serialize_generator/test/models/has_map.g.dart +++ b/angel_serialize_generator/test/models/has_map.g.dart @@ -14,13 +14,13 @@ class HasMap implements _HasMap { final Map value; HasMap copyWith({Map value}) { - return new HasMap(value: value ?? this.value); + return HasMap(value: value ?? this.value); } bool operator ==(other) { return other is _HasMap && - const MapEquality( - keys: const DefaultEquality(), values: const DefaultEquality()) + MapEquality( + keys: DefaultEquality(), values: DefaultEquality()) .equals(other.value, value); } @@ -43,7 +43,7 @@ class HasMap implements _HasMap { // SerializerGenerator // ************************************************************************** -const HasMapSerializer hasMapSerializer = const HasMapSerializer(); +const HasMapSerializer hasMapSerializer = HasMapSerializer(); class HasMapEncoder extends Converter { const HasMapEncoder(); @@ -68,10 +68,10 @@ class HasMapSerializer extends Codec { get decoder => const HasMapDecoder(); static HasMap fromMap(Map map) { if (map['value'] == null) { - throw new FormatException("Missing required field 'value' on HasMap."); + throw FormatException("Missing required field 'value' on HasMap."); } - return new HasMap(value: _fromString(map['value'])); + return HasMap(value: _fromString(map['value'])); } static Map toMap(_HasMap model) { @@ -79,7 +79,7 @@ class HasMapSerializer extends Codec { return null; } if (model.value == null) { - throw new FormatException("Missing required field 'value' on HasMap."); + throw FormatException("Missing required field 'value' on HasMap."); } return {'value': _toString(model.value)}; diff --git a/angel_serialize_generator/test/models/with_enum.g.dart b/angel_serialize_generator/test/models/with_enum.g.dart index e745d66e..59c63ddc 100644 --- a/angel_serialize_generator/test/models/with_enum.g.dart +++ b/angel_serialize_generator/test/models/with_enum.g.dart @@ -22,7 +22,7 @@ class WithEnum implements _WithEnum { WithEnum copyWith( {WithEnumType type, List finalList, Uint8List imageBytes}) { - return new WithEnum( + return WithEnum( type: type ?? this.type, finalList: finalList ?? this.finalList, imageBytes: imageBytes ?? this.imageBytes); @@ -31,9 +31,9 @@ class WithEnum implements _WithEnum { bool operator ==(other) { return other is _WithEnum && other.type == type && - const ListEquality(const DefaultEquality()) + ListEquality(DefaultEquality()) .equals(other.finalList, finalList) && - const ListEquality().equals(other.imageBytes, imageBytes); + ListEquality().equals(other.imageBytes, imageBytes); } @override @@ -55,7 +55,7 @@ class WithEnum implements _WithEnum { // SerializerGenerator // ************************************************************************** -const WithEnumSerializer withEnumSerializer = const WithEnumSerializer(); +const WithEnumSerializer withEnumSerializer = WithEnumSerializer(); class WithEnumEncoder extends Converter { const WithEnumEncoder(); @@ -79,7 +79,7 @@ class WithEnumSerializer extends Codec { @override get decoder => const WithEnumDecoder(); static WithEnum fromMap(Map map) { - return new WithEnum( + return WithEnum( type: map['type'] is WithEnumType ? (map['type'] as WithEnumType) : (map['type'] is int @@ -91,10 +91,10 @@ class WithEnumSerializer extends Codec { imageBytes: map['image_bytes'] is Uint8List ? (map['image_bytes'] as Uint8List) : (map['image_bytes'] is Iterable - ? new Uint8List.fromList( + ? Uint8List.fromList( (map['image_bytes'] as Iterable).toList()) : (map['image_bytes'] is String - ? new Uint8List.fromList( + ? Uint8List.fromList( base64.decode(map['image_bytes'] as String)) : null))); }