Skip to content

Commit bdee7c6

Browse files
committed
fix formatting
1 parent 9e95113 commit bdee7c6

10 files changed

Lines changed: 424 additions & 379 deletions

File tree

packages/dart_mappable/test/generics/recursive_generics_test.dart

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
2-
31
import 'package:dart_mappable/dart_mappable.dart';
42
import 'package:test/test.dart';
53

@@ -11,7 +9,6 @@ class ComparableBox<T extends Comparable<T>> with ComparableBoxMappable<T> {
119
final T value;
1210
}
1311

14-
1512
void main() {
1613
group('Generic classes', () {
1714
test('Should encode generic objects', () {
@@ -24,4 +21,4 @@ void main() {
2421
expect(box.value, equals(10));
2522
});
2623
});
27-
}
24+
}

packages/dart_mappable_builder/lib/src/elements/class/class_mapper_element.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,8 @@ abstract class ClassMapperElement extends InterfaceMapperElement<ClassElement2>
9898

9999
for (var f in _allFields) {
100100
if (!fields.containsKey(f) &&
101-
!fields.keys
102-
.any((e) => e is PropertyInducingElement2 && e.name3 == f.name3)) {
101+
!fields.keys.any(
102+
(e) => e is PropertyInducingElement2 && e.name3 == f.name3)) {
103103
fields[f] = ClassMapperFieldElement(null, f, this);
104104
}
105105
}

packages/dart_mappable_builder/lib/src/elements/class/mixins/param_elements_mixin.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ mixin ParamElementsMixin on MapperElement<ClassElement2> {
8585
return init;
8686
}
8787

88-
var getter = element.thisType.lookUpGetter3(param.name3 ?? '', parent.library);
88+
var getter =
89+
element.thisType.lookUpGetter3(param.name3 ?? '', parent.library);
8990
if (getter != null) {
9091
var getterType = getter.type.returnType;
9192

packages/dart_mappable_builder/lib/src/elements/class/mixins/type_params_mixin.dart

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,23 @@ mixin TypeParamsMixin on MapperElement<ClassElement2> {
1212
late String selfTypeParam = '$prefixedClassName$typeParams';
1313

1414
late List<String> typeParamsList = element.typeParameters2
15-
.map((p) => '${p.name3}${p.bound != null ? ' extends ${parent.prefixedType(p.bound!)}' : ''}')
15+
.map((p) =>
16+
'${p.name3}${p.bound != null ? ' extends ${parent.prefixedType(p.bound!)}' : ''}')
1617
.toList();
1718

1819
late List<String> superTypeArgs = () {
1920
if (extendsElement == null) return <String>[];
20-
return element.supertype?.typeArguments.map((a) => parent.prefixedType(a)).toList() ?? [];
21+
return element.supertype?.typeArguments
22+
.map((a) => parent.prefixedType(a))
23+
.toList() ??
24+
[];
2125
}();
2226

2327
bool hasModifiedArgs = false;
2428

2529
late List<String>? inheritedTypeArgs = () {
26-
if (element.typeParameters2.length != element.supertype!.typeArguments.length) {
30+
if (element.typeParameters2.length !=
31+
element.supertype!.typeArguments.length) {
2732
hasModifiedArgs = true;
2833
}
2934

@@ -46,7 +51,8 @@ mixin TypeParamsMixin on MapperElement<ClassElement2> {
4651
return t.getDisplayString();
4752
}
4853

49-
String argParamFor(int index) => r'$' + String.fromCharCode('A'.codeUnitAt(0) + index);
54+
String argParamFor(int index) =>
55+
r'$' + String.fromCharCode('A'.codeUnitAt(0) + index);
5056
var factoryArgs = <String>[];
5157
var inheritedArgs = <String>[];
5258

@@ -120,14 +126,16 @@ mixin TypeParamsMixin on MapperElement<ClassElement2> {
120126
return 'dynamic';
121127
}
122128

123-
late String typeParams =
124-
element.typeParameters2.isNotEmpty ? '<${element.typeParameters2.map((p) => p.name3 ?? '').join(', ')}>' : '';
129+
late String typeParams = element.typeParameters2.isNotEmpty
130+
? '<${element.typeParameters2.map((p) => p.name3 ?? '').join(', ')}>'
131+
: '';
125132

126133
late String superTypeParams = element.typeParameters2.isNotEmpty
127134
? '<${element.typeParameters2.map((p) => element.supertype!.typeArguments.any((t) => t is TypeParameterType && t.element3 == p) ? p.name3 ?? '' : 'dynamic').join(', ')}>'
128135
: '';
129136

130-
late String typeParamsDeclaration = typeParamsList.isNotEmpty ? '<${typeParamsList.join(', ')}>' : '';
137+
late String typeParamsDeclaration =
138+
typeParamsList.isNotEmpty ? '<${typeParamsList.join(', ')}>' : '';
131139

132140
late bool hasRecursiveTypeParams = element.typeParameters2.any((p) {
133141
return p.bound != null && _isRecursiveType(p.bound!, {});

packages/dart_mappable_builder/lib/src/elements/class/target_class_mapper_element.dart

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,10 @@ class TargetClassMapperElement extends ClassMapperElement
3838
var e = type.element3;
3939
var m = parent.getMapperForElement(e);
4040
if (m == null) {
41-
types.add((e.name3 ?? '', e.typeParameters2.map((p) => p.name3 ?? '').toList()));
41+
types.add((
42+
e.name3 ?? '',
43+
e.typeParameters2.map((p) => p.name3 ?? '').toList()
44+
));
4245
}
4346

4447
for (var arg in type.typeArguments) {

packages/dart_mappable_builder/lib/src/generators/mixins/decoding_mixin.dart

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,17 @@ mixin DecodingMixin on MapperGenerator<TargetClassMapperElement> {
3939
}
4040

4141
void generateTypeFactory(StringBuffer output) {
42-
final impl = '${element.typeParamsDeclaration}(f) => f<${element.prefixedClassName}${element.typeParams}>();';
42+
final impl =
43+
'${element.typeParamsDeclaration}(f) => f<${element.prefixedClassName}${element.typeParams}>();';
4344
if (!element.hasRecursiveTypeParams) {
4445
output.write('''
4546
@override
4647
Function get typeFactory => $impl
4748
''');
4849
} else {
49-
5050
final deepBounds = element.element.typeParameters2
51-
.map((p) => p.bound != null ? element.parent.prefixedType(p.bound!) : null)
51+
.map((p) =>
52+
p.bound != null ? element.parent.prefixedType(p.bound!) : null)
5253
.toList();
5354
final flatBounds = element.element.typeParameters2.map((p) {
5455
if (p.bound case InterfaceType bound) {
@@ -59,16 +60,14 @@ mixin DecodingMixin on MapperGenerator<TargetClassMapperElement> {
5960
return '${p.name3}';
6061
}
6162
}).toList();
62-
6363

64-
final flatDeclaration = flatBounds.isNotEmpty
65-
? '<${flatBounds.join(', ')}>'
66-
: '';
64+
final flatDeclaration =
65+
flatBounds.isNotEmpty ? '<${flatBounds.join(', ')}>' : '';
6766

6867
final condition = [
6968
for (final (i, bound) in deepBounds.indexed)
70-
if (bound != null)
71-
'<${element.element.typeParameters2[i].name3}>[] is List<$bound>'
69+
if (bound != null)
70+
'<${element.element.typeParameters2[i].name3}>[] is List<$bound>'
7271
].join(' && ');
7372

7473
output.write('''
@@ -89,7 +88,8 @@ mixin DecodingMixin on MapperGenerator<TargetClassMapperElement> {
8988
}
9089

9190
Future<void> generateDiscriminatorFields(StringBuffer output) async {
92-
var prefix = element.parent.prefixOfElement(element.superElement!.annotation.element);
91+
var prefix = element.parent
92+
.prefixOfElement(element.superElement!.annotation.element);
9393

9494
output.write('''
9595

packages/dart_mappable_builder/lib/src/mapper_group.dart

Lines changed: 63 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import 'package:analyzer/dart/element/element2.dart';
22
import 'package:analyzer/dart/element/type.dart';
33
import 'package:build/build.dart';
4-
import 'package:dart_mappable/dart_mappable.dart' show GenerateMethods, InitializerScope;
4+
import 'package:dart_mappable/dart_mappable.dart'
5+
show GenerateMethods, InitializerScope;
56
import 'package:glob/glob.dart';
67
import 'package:path/path.dart';
78

@@ -49,7 +50,8 @@ class MapperElementGroup {
4950
return targets[e];
5051
}
5152

52-
Future<MapperElement?> getOrAddMapperForElement(Element2? e, {bool orNone = false}) async {
53+
Future<MapperElement?> getOrAddMapperForElement(Element2? e,
54+
{bool orNone = false}) async {
5355
if (e == null || e.isPrivate) {
5456
return null;
5557
}
@@ -60,41 +62,55 @@ class MapperElementGroup {
6062
if (e is ClassElement2) {
6163
if (classChecker.hasAnnotationOf(e)) {
6264
if (e.library2 == library) {
63-
var m = await _addMapper(await TargetClassMapperElement.from(this, e, options));
65+
var m = await _addMapper(
66+
await TargetClassMapperElement.from(this, e, options));
6467

6568
for (var c in e.constructors2) {
66-
if (c.isFactory && c.redirectedConstructor2 != null && classChecker.hasAnnotationOf(c)) {
69+
if (c.isFactory &&
70+
c.redirectedConstructor2 != null &&
71+
classChecker.hasAnnotationOf(c)) {
6772
// Disable copy methods for factory elements.
6873
var subOptions = options.apply(MappableOptions(
69-
generateMethods: ~(~(options.generateMethods ?? GenerateMethods.all) | GenerateMethods.copy)));
74+
generateMethods:
75+
~(~(options.generateMethods ?? GenerateMethods.all) |
76+
GenerateMethods.copy)));
7077

71-
await _addMapper(await FactoryConstructorMapperElement.from(this, c, subOptions));
78+
await _addMapper(await FactoryConstructorMapperElement.from(
79+
this, c, subOptions));
7280
}
7381
}
7482

7583
return m;
7684
} else {
77-
return await _addMapper(await DependentClassMapperElement.from(this, e, options));
85+
return await _addMapper(
86+
await DependentClassMapperElement.from(this, e, options));
7887
}
7988
}
8089
} else if (e is EnumElement2) {
8190
if (enumChecker.hasAnnotationOf(e)) {
8291
if (e.library2 == library) {
83-
return await _addMapper(await TargetEnumMapperElement.from(this, e, options));
92+
return await _addMapper(
93+
await TargetEnumMapperElement.from(this, e, options));
8494
} else {
85-
return await _addMapper(await DependentEnumMapperElement.from(this, e, options));
95+
return await _addMapper(
96+
await DependentEnumMapperElement.from(this, e, options));
8697
}
8798
}
8899
} else if (e is TypeAliasElement2) {
89-
if (classChecker.hasAnnotationOf(e) && e.aliasedType.element3 is ClassElement2) {
100+
if (classChecker.hasAnnotationOf(e) &&
101+
e.aliasedType.element3 is ClassElement2) {
90102
if (e.library2 == library) {
91-
return await _addMapper(await AliasClassMapperElement.from(this, e, options));
103+
return await _addMapper(
104+
await AliasClassMapperElement.from(this, e, options));
92105
}
93-
} else if (recordChecker.hasAnnotationOf(e) && e.aliasedType is RecordType) {
106+
} else if (recordChecker.hasAnnotationOf(e) &&
107+
e.aliasedType is RecordType) {
94108
if (e.library2 == library) {
95-
return await _addMapper(await TargetRecordMapperElement.from(this, e, options));
109+
return await _addMapper(
110+
await TargetRecordMapperElement.from(this, e, options));
96111
} else {
97-
return await _addMapper(await DependentRecordMapperElement.from(this, e, options));
112+
return await _addMapper(
113+
await DependentRecordMapperElement.from(this, e, options));
98114
}
99115
}
100116
}
@@ -117,7 +133,8 @@ class MapperElementGroup {
117133
if (element.extendsElement == null) {
118134
var superElement = getElementFor(element.element.supertype);
119135
if (superElement != null) {
120-
var superTarget = await getOrAddMapperForElement(superElement) as ClassMapperElement?;
136+
var superTarget = await getOrAddMapperForElement(superElement)
137+
as ClassMapperElement?;
121138

122139
if (superTarget != null) {
123140
element.extendsElement = superTarget;
@@ -131,7 +148,9 @@ class MapperElementGroup {
131148
for (var interface in element.element.interfaces) {
132149
var interfaceElement = getElementFor(interface);
133150
if (interfaceElement != null) {
134-
var interfaceTarget = await getOrAddMapperForElement(interfaceElement) as ClassMapperElement?;
151+
var interfaceTarget =
152+
await getOrAddMapperForElement(interfaceElement)
153+
as ClassMapperElement?;
135154
if (interfaceTarget != null) {
136155
element.interfaceElements.add(interfaceTarget);
137156
if (!interfaceTarget.subElements.contains(element)) {
@@ -143,7 +162,8 @@ class MapperElementGroup {
143162
}
144163

145164
for (var elem in element.getSubClasses()) {
146-
ClassMapperElement? subMapper = await getOrAddMapperForElement(elem) as ClassMapperElement?;
165+
ClassMapperElement? subMapper =
166+
await getOrAddMapperForElement(elem) as ClassMapperElement?;
147167

148168
if (subMapper == null) {
149169
throw 'Cannot include subclass ${elem.displayName} '
@@ -152,7 +172,9 @@ class MapperElementGroup {
152172

153173
if (subMapper.element.supertype?.element3 == element.element) {
154174
subMapper.extendsElement = element;
155-
} else if (subMapper.element.interfaces.map((i) => i.element3).contains(element.element)) {
175+
} else if (subMapper.element.interfaces
176+
.map((i) => i.element3)
177+
.contains(element.element)) {
156178
if (!subMapper.interfaceElements.contains(element)) {
157179
subMapper.interfaceElements.add(element);
158180
}
@@ -226,7 +248,10 @@ class MapperElementGroup {
226248
visited: {...visited, t},
227249
);
228250
}
229-
if (withNullability && t.isNullable && !type.endsWith('?') && type != 'dynamic') {
251+
if (withNullability &&
252+
t.isNullable &&
253+
!type.endsWith('?') &&
254+
type != 'dynamic') {
230255
type += '?';
231256
}
232257
return type;
@@ -271,12 +296,14 @@ class MapperElementGroup {
271296
if (r != null) {
272297
type = '${r.className}<';
273298
type += [...t.positionalFields, ...t.namedFields]
274-
.map((f) => prefixedType(f.type, resolveBounds: resolveBounds, visited: visited))
299+
.map((f) => prefixedType(f.type,
300+
resolveBounds: resolveBounds, visited: visited))
275301
.join(', ');
276302
type += '>';
277303
} else {
278304
type = t.positionalFields
279-
.map((f) => prefixedType(f.type, resolveBounds: resolveBounds, visited: visited))
305+
.map((f) => prefixedType(f.type,
306+
resolveBounds: resolveBounds, visited: visited))
280307
.join(', ');
281308

282309
if (t.namedFields.isNotEmpty) {
@@ -298,16 +325,19 @@ class MapperElementGroup {
298325
}
299326

300327
if (t is FunctionType) {
301-
var returnType = prefixedType(t.returnType, resolveBounds: resolveBounds, visited: visited);
328+
var returnType = prefixedType(t.returnType,
329+
resolveBounds: resolveBounds, visited: visited);
302330

303331
var typeArgs = '';
304332
if (t.typeParameters.isNotEmpty) {
305333
typeArgs =
306334
'<${t.typeParameters.map((t) => (t.name3 ?? '') + (t.bound != null ? ' extends ${prefixedType(t.bound!, resolveBounds: resolveBounds, visited: visited)}' : '')).join(', ')}>';
307335
}
308336

309-
var args =
310-
t.normalParameterTypes.map((t) => prefixedType(t, resolveBounds: resolveBounds, visited: visited)).join(', ');
337+
var args = t.normalParameterTypes
338+
.map((t) =>
339+
prefixedType(t, resolveBounds: resolveBounds, visited: visited))
340+
.join(', ');
311341
if (t.optionalParameterTypes.isNotEmpty) {
312342
if (args.isNotEmpty) args += ', ';
313343
args +=
@@ -337,17 +367,20 @@ class MapperElementGroup {
337367
yield* element.typeAliases;
338368
}
339369

340-
Future<List<MapEntry<LibraryElement2, Iterable<Element2>>>> discover(BuildStep buildStep) async {
370+
Future<List<MapEntry<LibraryElement2, Iterable<Element2>>>> discover(
371+
BuildStep buildStep) async {
341372
var scope = options.initializerScope;
342373

343374
bool isMapper(Element2 e) {
344375
return (e is ClassElement2 && classChecker.hasAnnotationOf(e)) ||
345376
(e is EnumElement2 && enumChecker.hasAnnotationOf(e));
346377
}
347378

348-
if (scope == InitializerScope.package || scope == InitializerScope.directory) {
349-
var glob =
350-
scope == InitializerScope.package ? Glob('**.dart') : Glob('${dirname(buildStep.inputId.path)}/**.dart');
379+
if (scope == InitializerScope.package ||
380+
scope == InitializerScope.directory) {
381+
var glob = scope == InitializerScope.package
382+
? Glob('**.dart')
383+
: Glob('${dirname(buildStep.inputId.path)}/**.dart');
351384
return await buildStep
352385
.findAssets(glob)
353386
.asyncMap((id) async {
@@ -357,7 +390,8 @@ class MapperElementGroup {
357390
return null;
358391
})
359392
.where((l) => l != null)
360-
.map((lib) => MapEntry(lib!, [...lib.classes, ...lib.enums].where(isMapper)))
393+
.map((lib) =>
394+
MapEntry(lib!, [...lib.classes, ...lib.enums].where(isMapper)))
361395
.where((e) => e.value.isNotEmpty)
362396
.toList();
363397
} else if (scope == InitializerScope.library) {

packages/dart_mappable_builder/lib/src/utils.dart

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@ extension GetNode on Element2 {
2727
}
2828

2929
Future<AstNode?> getResolvedNode() async {
30-
return nodeResolver.astNodeFor(firstFragment, resolve: true).catchError((_) => null);
30+
return nodeResolver
31+
.astNodeFor(firstFragment, resolve: true)
32+
.catchError((_) => null);
3133
}
3234
}
3335

0 commit comments

Comments
 (0)