Skip to content

Commit 3ea15ab

Browse files
ci: bump version to v0.8.2
1 parent 53f34eb commit 3ea15ab

6 files changed

Lines changed: 92 additions & 84 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Changelog
22

3+
## [0.8.2]
4+
5+
- Released @ 2/2026 (UTC)
6+
- Update and format
7+
38
## [0.8.1]
49

510
- Released @ 7/2025 (UTC)

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ A tool to generate ready-made screen templates for your Flutter app (uses [df_sc
1717

1818
Install the Visual Studio Code extension here: https://marketplace.visualstudio.com/items?itemName=Dev-Cetera.dev-cetera-df-support-commands
1919

20+
2021
<!-- END _README_CONTENT -->
2122

2223
---

lib/src/extract_insights_from_file.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,11 @@ ModelGenerateScreenBindings _updateFromClassAnnotationField(
6363
case ModelGenerateScreenBindingsFieldNames.args:
6464
return annotation.copyWith(
6565
args: params.fieldValue.toMapValue()?.map(
66-
(k, v) => MapEntry(k?.toStringValue(), v?.toStringValue()),
67-
),
66+
(k, v) => MapEntry(k?.toStringValue(), v?.toStringValue()),
67+
),
6868
);
6969
case ModelGenerateScreenBindingsFieldNames
70-
.isAccessibleOnlyIfLoggedInAndVerified:
70+
.isAccessibleOnlyIfLoggedInAndVerified:
7171
return annotation.copyWith(
7272
isAccessibleOnlyIfLoggedInAndVerified: params.fieldValue.toBoolValue(),
7373
);

lib/src/generate_screen.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,9 @@ Future<void> generateScreen(
8989
final templateData = <String, String>{};
9090
for (final template in templates) {
9191
Log.printWhite('Reading template at: $template...');
92-
final result =
93-
await MdTemplateUtility.i.readTemplateFromPathOrUrl(template).value;
92+
final result = await MdTemplateUtility.i
93+
.readTemplateFromPathOrUrl(template)
94+
.value;
9495

9596
if (result.isErr()) {
9697
Log.printRed(' Failed to read template!');

lib/src/generate_screen_access.dart

Lines changed: 40 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,9 @@ Future<void> generateScreenAccess(
111111
final templateData = <String, String>{};
112112
for (final template in templates) {
113113
Log.printWhite('Reading template at: $template...');
114-
final result =
115-
await MdTemplateUtility.i.readTemplateFromPathOrUrl(template).value;
114+
final result = await MdTemplateUtility.i
115+
.readTemplateFromPathOrUrl(template)
116+
.value;
116117

117118
if (result.isErr()) {
118119
Log.printRed(' Failed to read template!');
@@ -187,40 +188,40 @@ class TemplateInterpolator2<T> {
187188

188189
final _interpolator =
189190
TemplateInterpolator2<ClassInsight<GenerateScreenBindings>>({
190-
'___ROUTE_BUILDERS___': (insight) {
191-
final a = insight.className.toPascalCase();
192-
return ['${a}RouteBuilder()'].join('\n');
193-
},
194-
'___SCREEN_MAKERS___': (insight) {
195-
final a = insight.className.toPascalCase();
196-
return 'maker$a';
197-
},
198-
'___PATHS___': (insight) {
199-
final a = insight.className.toUpperSnakeCase();
200-
return '...PATH_$a';
201-
},
202-
'___PATHS_NOT_REDIRECTABLE___': (insight) {
203-
final a = insight.className.toUpperSnakeCase();
204-
return '...PATH_NOT_REDIRECTABLE_$a';
205-
},
206-
'___PATHS_ALWAYS_ACCESSIBLE___': (insight) {
207-
final a = insight.className.toUpperSnakeCase();
208-
return '...PATH_ALWAYS_ACCESSIBLE_$a';
209-
},
210-
'___PATHS_ACCESSIBLE_ONLY_IF_LOGGED_IN_AND_VERIFIED___': (insight) {
211-
final a = insight.className.toUpperSnakeCase();
212-
return '...PATH_ACCESSIBLE_ONLY_IF_LOGGED_IN_AND_VERIFIED_$a';
213-
},
214-
'___PATHS_ACCESSIBLE_ONLY_IF_LOGGED_IN___': (insight) {
215-
final a = insight.className.toUpperSnakeCase();
216-
return '...PATH_ACCESSIBLE_ONLY_IF_LOGGED_IN_$a';
217-
},
218-
'___PATHS_ACCESSIBLE_ONLY_IF_LOGGED_OUT___': (insight) {
219-
final a = insight.className.toUpperSnakeCase();
220-
return '...PATH_ACCESSIBLE_ONLY_IF_LOGGED_OUT_$a';
221-
},
222-
'___GENERATED_SCREEN_ROUTES___': (insight) {
223-
final a = insight.className.toPascalCase();
224-
return 'generated${a}Route';
225-
},
226-
});
191+
'___ROUTE_BUILDERS___': (insight) {
192+
final a = insight.className.toPascalCase();
193+
return ['${a}RouteBuilder()'].join('\n');
194+
},
195+
'___SCREEN_MAKERS___': (insight) {
196+
final a = insight.className.toPascalCase();
197+
return 'maker$a';
198+
},
199+
'___PATHS___': (insight) {
200+
final a = insight.className.toUpperSnakeCase();
201+
return '...PATH_$a';
202+
},
203+
'___PATHS_NOT_REDIRECTABLE___': (insight) {
204+
final a = insight.className.toUpperSnakeCase();
205+
return '...PATH_NOT_REDIRECTABLE_$a';
206+
},
207+
'___PATHS_ALWAYS_ACCESSIBLE___': (insight) {
208+
final a = insight.className.toUpperSnakeCase();
209+
return '...PATH_ALWAYS_ACCESSIBLE_$a';
210+
},
211+
'___PATHS_ACCESSIBLE_ONLY_IF_LOGGED_IN_AND_VERIFIED___': (insight) {
212+
final a = insight.className.toUpperSnakeCase();
213+
return '...PATH_ACCESSIBLE_ONLY_IF_LOGGED_IN_AND_VERIFIED_$a';
214+
},
215+
'___PATHS_ACCESSIBLE_ONLY_IF_LOGGED_IN___': (insight) {
216+
final a = insight.className.toUpperSnakeCase();
217+
return '...PATH_ACCESSIBLE_ONLY_IF_LOGGED_IN_$a';
218+
},
219+
'___PATHS_ACCESSIBLE_ONLY_IF_LOGGED_OUT___': (insight) {
220+
final a = insight.className.toUpperSnakeCase();
221+
return '...PATH_ACCESSIBLE_ONLY_IF_LOGGED_OUT_$a';
222+
},
223+
'___GENERATED_SCREEN_ROUTES___': (insight) {
224+
final a = insight.className.toPascalCase();
225+
return 'generated${a}Route';
226+
},
227+
});

lib/src/generate_screen_bindings.dart

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,9 @@ Future<void> generateScreenBindings(
109109
final templateData = <String, String>{};
110110
for (final template in templates) {
111111
Log.printWhite('Reading template at: $template...');
112-
final result =
113-
await MdTemplateUtility.i.readTemplateFromPathOrUrl(template).value;
112+
final result = await MdTemplateUtility.i
113+
.readTemplateFromPathOrUrl(template)
114+
.value;
114115

115116
if (result.isErr()) {
116117
Log.printRed(' Failed to read template!');
@@ -194,8 +195,7 @@ String _screenSegment(ClassInsight<ModelGenerateScreenBindings> insight) {
194195
return screenSegment;
195196
}
196197

197-
final _interpolator =
198-
TemplateInterpolator<ClassInsight<GenerateScreenBindings>>({
198+
final _interpolator = TemplateInterpolator<ClassInsight<GenerateScreenBindings>>({
199199
'___CONDITION___': (insight) {
200200
if (insight.annotation.isAccessibleOnlyIfLoggedInAndVerified == true) {
201201
return 'isLoggedInAndVerified';
@@ -278,7 +278,8 @@ final _interpolator =
278278
return b.toString();
279279
},
280280
'___IP0_V2___': (insight) {
281-
final params = insight.annotation.internalParameters
281+
final params =
282+
insight.annotation.internalParameters
282283
?.map((e) => FieldUtils.ofOrNull(e))
283284
.nonNulls ??
284285
{};
@@ -289,15 +290,15 @@ final _interpolator =
289290
final nullable = e.nullable != false;
290291
final questionMark = nullable ? '?' : '';
291292
return 'final $fieldType$questionMark $fieldName;';
292-
}).toList()
293-
..sort();
293+
}).toList()..sort();
294294
return a.isNotEmpty ? a.join('\n') : '';
295295
} else {
296296
return '';
297297
}
298298
},
299299
'___IP0___': (insight) {
300-
final params = insight.annotation.internalParameters
300+
final params =
301+
insight.annotation.internalParameters
301302
?.map((e) => FieldUtils.ofOrNull(e))
302303
.nonNulls ??
303304
{};
@@ -317,15 +318,15 @@ final _interpolator =
317318
'/// or [$fieldK].',
318319
'$fieldType$questionMark get $fieldName => arg<$fieldType>($fieldK)$exclamationMark;',
319320
].join('\n');
320-
}).toList()
321-
..sort();
321+
}).toList()..sort();
322322
return a.isNotEmpty ? a.join('\n') : '';
323323
} else {
324324
return '';
325325
}
326326
},
327327
'___IP1___': (insight) {
328-
final params = insight.annotation.internalParameters
328+
final params =
329+
insight.annotation.internalParameters
329330
?.map((e) => FieldUtils.ofOrNull(e))
330331
.nonNulls ??
331332
{};
@@ -337,15 +338,15 @@ final _interpolator =
337338
final questionMark = nullable ? '?' : '';
338339
final required = nullable ? '' : 'required ';
339340
return '$required$fieldType$questionMark $fieldName,';
340-
}).toList()
341-
..sort();
341+
}).toList()..sort();
342342
return a.isNotEmpty ? a.join('\n') : '';
343343
} else {
344344
return '';
345345
}
346346
},
347347
'___IP2___': (insight) {
348-
final params = insight.annotation.internalParameters
348+
final params =
349+
insight.annotation.internalParameters
349350
?.map((e) => FieldUtils.ofOrNull(e))
350351
.nonNulls ??
351352
{};
@@ -354,15 +355,15 @@ final _interpolator =
354355
final fieldName = e.fieldPath!.join('_').toCamelCase();
355356
final fieldK = 'K_${fieldName.toUpperSnakeCase()}';
356357
return '$fieldK: $fieldName,';
357-
}).toList()
358-
..sort();
358+
}).toList()..sort();
359359
return a.isNotEmpty ? a.join('\n') : '';
360360
} else {
361361
return '';
362362
}
363363
},
364364
'___IP3_V2___': (insight) {
365-
final params = insight.annotation.internalParameters
365+
final params =
366+
insight.annotation.internalParameters
366367
?.map((e) => FieldUtils.ofOrNull(e))
367368
.nonNulls ??
368369
{};
@@ -374,15 +375,15 @@ final _interpolator =
374375
final exclamationMark = nullable ? '' : '!';
375376
final questionMark = nullable ? '?' : '';
376377
return '$fieldType$questionMark get $fieldName => super.superScreen!.routeState!.$fieldName)$exclamationMark;';
377-
}).toList()
378-
..sort();
378+
}).toList()..sort();
379379
return a.isNotEmpty ? a.join('\n') : '';
380380
} else {
381381
return '';
382382
}
383383
},
384384
'___QP0___': (insight) {
385-
final params = insight.annotation.queryParameters
385+
final params =
386+
insight.annotation.queryParameters
386387
?.map((e) => FieldUtils.ofOrNull(e))
387388
.nonNulls ??
388389
{};
@@ -402,31 +403,31 @@ final _interpolator =
402403
'/// or [$fieldK].',
403404
'String$questionMark get $fieldName => arg<String>($fieldK)$exclamationMark;',
404405
].join('\n');
405-
}).toList()
406-
..sort();
406+
}).toList()..sort();
407407
return a.isNotEmpty ? a.join('\n') : '';
408408
} else {
409409
return '';
410410
}
411411
},
412412
'___QP0_V2___': (insight) {
413-
final params = insight.annotation.queryParameters
413+
final params =
414+
insight.annotation.queryParameters
414415
?.map((e) => FieldUtils.ofOrNull(e))
415416
.nonNulls ??
416417
{};
417418
if (params.isNotEmpty) {
418419
final a = params.map((e) {
419420
final fieldName = e.fieldPath!.join('_').toCamelCase();
420421
return "String? get $fieldName => uri.queryParameters['$fieldName'];";
421-
}).toList()
422-
..sort();
422+
}).toList()..sort();
423423
return a.isNotEmpty ? a.join('\n') : '';
424424
} else {
425425
return '';
426426
}
427427
},
428428
'___QP1___': (insight) {
429-
final params = insight.annotation.queryParameters
429+
final params =
430+
insight.annotation.queryParameters
430431
?.map((e) => FieldUtils.ofOrNull(e))
431432
.nonNulls ??
432433
{};
@@ -435,31 +436,31 @@ final _interpolator =
435436
final fieldName = e.fieldPath!.join('_').toCamelCase();
436437
final nullable = e.nullable != false;
437438
return "${nullable ? "String?" : "required String"} $fieldName,";
438-
}).toList()
439-
..sort();
439+
}).toList()..sort();
440440
return a.isNotEmpty ? a.join('\n') : '';
441441
} else {
442442
return '';
443443
}
444444
},
445445
'___QP1_V2___': (insight) {
446-
final params = insight.annotation.queryParameters
446+
final params =
447+
insight.annotation.queryParameters
447448
?.map((e) => FieldUtils.ofOrNull(e))
448449
.nonNulls ??
449450
{};
450451
if (params.isNotEmpty) {
451452
final a = params.map((e) {
452453
final fieldName = e.fieldPath!.join('_').toCamelCase();
453454
return 'String? $fieldName,';
454-
}).toList()
455-
..sort();
455+
}).toList()..sort();
456456
return a.isNotEmpty ? a.join('\n') : '';
457457
} else {
458458
return '';
459459
}
460460
},
461461
'___QP2___': (insight) {
462-
final params = insight.annotation.queryParameters
462+
final params =
463+
insight.annotation.queryParameters
463464
?.map((e) => FieldUtils.ofOrNull(e))
464465
.nonNulls ??
465466
{};
@@ -469,40 +470,39 @@ final _interpolator =
469470
final nullable = e.nullable != false;
470471
final fieldK = 'K_${fieldName.toSnakeCase().toUpperCase()}';
471472
return "${nullable ? "if ($fieldName != null) " : ""}$fieldK: $fieldName,";
472-
}).toList()
473-
..sort();
473+
}).toList()..sort();
474474
return a.isNotEmpty ? a.join('\n') : '';
475475
} else {
476476
return '';
477477
}
478478
},
479479
'___QP2_V2___': (insight) {
480-
final params = insight.annotation.queryParameters
480+
final params =
481+
insight.annotation.queryParameters
481482
?.map((e) => FieldUtils.ofOrNull(e))
482483
.nonNulls ??
483484
{};
484485
if (params.isNotEmpty) {
485486
final a = params.map((e) {
486487
final fieldName = e.fieldPath!.join('_').toCamelCase();
487488
return "if ($fieldName != null) '$fieldName': $fieldName,";
488-
}).toList()
489-
..sort();
489+
}).toList()..sort();
490490
return a.isNotEmpty ? a.join('\n') : '';
491491
} else {
492492
return '';
493493
}
494494
},
495495
'___QP3_V2___': (insight) {
496-
final params = insight.annotation.queryParameters
496+
final params =
497+
insight.annotation.queryParameters
497498
?.map((e) => FieldUtils.ofOrNull(e))
498499
.nonNulls ??
499500
{};
500501
if (params.isNotEmpty) {
501502
final a = params.map((e) {
502503
final fieldName = e.fieldPath!.join('_').toCamelCase();
503504
return "String? get $fieldName => super.superScreen?.routeState?.uri.queryParameters['$fieldName'];";
504-
}).toList()
505-
..sort();
505+
}).toList()..sort();
506506
return a.isNotEmpty ? a.join('\n') : '';
507507
} else {
508508
return '';

0 commit comments

Comments
 (0)