Skip to content

Commit 11183e8

Browse files
committed
Update
1 parent 4a401be commit 11183e8

File tree

2 files changed

+167
-167
lines changed

2 files changed

+167
-167
lines changed
Lines changed: 150 additions & 150 deletions
Original file line numberDiff line numberDiff line change
@@ -1,160 +1,160 @@
1-
// //.title
2-
// // ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
3-
// //
4-
// // Dart/Flutter (DF) Packages by DevCetra.com & contributors. See LICENSE file
5-
// // in root directory.
6-
// //
7-
// // ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
8-
// //.title~
1+
//.title
2+
// ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
3+
//
4+
// Dart/Flutter (DF) Packages by DevCetra.com & contributors. See LICENSE file
5+
// in root directory.
6+
//
7+
// ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
8+
//.title~
99

10-
// import 'package:analyzer/dart/analysis/analysis_context_collection.dart';
11-
// import 'package:df_generate_dart_models_core/df_generate_dart_models_core.dart';
10+
import 'package:analyzer/dart/analysis/analysis_context_collection.dart';
11+
import 'package:df_generate_dart_models_core/df_generate_dart_models_core.dart';
1212

13-
// import 'package:path/path.dart' as p;
14-
// import 'package:df_gen_core/df_gen_core.dart';
15-
// import 'package:df_screen_core/df_screen_core.dart';
13+
import 'package:path/path.dart' as p;
14+
import 'package:df_gen_core/df_gen_core.dart';
15+
import 'package:df_screen_core/df_screen_core.dart';
1616

17-
// import '../dart_from_record_on_dart_object_x.dart';
17+
import '../dart_from_record_on_dart_object_x.dart';
1818

19-
// // ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
19+
// ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
2020

21-
// Future<List<_ClassInsight>> extractClassInsightsFromDartFile(
22-
// AnalysisContextCollection analysisContextCollection,
23-
// String filePath,
24-
// ) async {
25-
// late ModelGenerateScreenBindings temp;
26-
// final analyzer = DartAnnotatedClassAnalyzer(
27-
// filePath: filePath,
28-
// analysisContextCollection: analysisContextCollection,
29-
// );
21+
Future<List<_ClassInsight>> extractClassInsightsFromDartFile(
22+
AnalysisContextCollection analysisContextCollection,
23+
String filePath,
24+
) async {
25+
late ModelGenerateScreenBindings temp;
26+
final analyzer = DartAnnotatedClassAnalyzer(
27+
filePath: filePath,
28+
analysisContextCollection: analysisContextCollection,
29+
);
3030

31-
// final insights = <_ClassInsight>[];
32-
// await analyzer.analyze(
33-
// inclClassAnnotations: {ModelGenerateScreenBindings.CLASS_NAME},
34-
// onClassAnnotationField: (p) async => temp = _updateFromClassAnnotationField(temp, p),
35-
// onPreAnalysis: (_, className) => temp = const ModelGenerateScreenBindings(),
36-
// onPostAnalysis: (params) {
37-
// final fullPathName = params.fullFilePath;
38-
// final fileName = p.basename(fullPathName);
39-
// final dirPath = p.dirname(fullPathName);
40-
// final insight = _ClassInsight(
41-
// className: params.className,
42-
// annotation: temp,
43-
// dirPath: dirPath,
44-
// fileName: fileName,
45-
// );
46-
// insights.add(insight);
47-
// },
48-
// );
49-
// return insights;
50-
// }
31+
final insights = <_ClassInsight>[];
32+
await analyzer.analyze(
33+
inclClassAnnotations: {ModelGenerateScreenBindings.CLASS_NAME},
34+
onClassAnnotationField: (params) async => temp = _updateFromClassAnnotationField(temp, params),
35+
onPreAnalysis: (_, __) => temp = const ModelGenerateScreenBindings(),
36+
onPostAnalysis: (params) {
37+
final fullPathName = params.fullFilePath;
38+
final fileName = p.basename(fullPathName);
39+
final dirPath = p.dirname(fullPathName);
40+
final insight = _ClassInsight(
41+
className: params.className,
42+
annotation: temp,
43+
dirPath: dirPath,
44+
fileName: fileName,
45+
);
46+
insights.add(insight);
47+
},
48+
);
49+
return insights;
50+
}
5151

52-
// // ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
52+
// ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
5353

54-
// ModelGenerateScreenBindings _updateFromClassAnnotationField(
55-
// ModelGenerateScreenBindings annotation,
56-
// OnClassAnnotationFieldParams params,
57-
// ) {
58-
// switch (params.fieldName) {
59-
// case ModelGenerateScreenBindingsFieldNames.args:
60-
// return annotation.copyWith(
61-
// ModelGenerateScreenBindings(
62-
// args: params.fieldValue.toMapValue()?.map(
63-
// (k, v) => MapEntry(k?.toStringValue(), v?.toStringValue()),
64-
// ),
65-
// ),
66-
// );
67-
// case ModelGenerateScreenBindingsFieldNames.isAccessibleOnlyIfLoggedInAndVerified:
68-
// return annotation.copyWith(
69-
// ModelGenerateScreenBindings(
70-
// isAccessibleOnlyIfLoggedInAndVerified: params.fieldValue.toBoolValue(),
71-
// ),
72-
// );
73-
// case ModelGenerateScreenBindingsFieldNames.isAccessibleOnlyIfLoggedIn:
74-
// return annotation.copyWith(
75-
// ModelGenerateScreenBindings(
76-
// isAccessibleOnlyIfLoggedIn: params.fieldValue.toBoolValue(),
77-
// ),
78-
// );
79-
// case ModelGenerateScreenBindingsFieldNames.isAccessibleOnlyIfLoggedOut:
80-
// return annotation.copyWith(
81-
// ModelGenerateScreenBindings(
82-
// isAccessibleOnlyIfLoggedOut: params.fieldValue.toBoolValue(),
83-
// ),
84-
// );
85-
// case ModelGenerateScreenBindingsFieldNames.isRedirectable:
86-
// return annotation.copyWith(
87-
// ModelGenerateScreenBindings(
88-
// isRedirectable: params.fieldValue.toBoolValue(),
89-
// ),
90-
// );
91-
// case ModelGenerateScreenBindingsFieldNames.path:
92-
// return annotation.copyWith(
93-
// ModelGenerateScreenBindings(
94-
// path: params.fieldValue.toStringValue(),
95-
// ),
96-
// );
97-
// case ModelGenerateScreenBindingsFieldNames.queryParameters:
98-
// return annotation.copyWith(
99-
// ModelGenerateScreenBindings(
100-
// queryParameters: {
101-
// ...?annotation.queryParameters,
102-
// ...?params.fieldValue.toSetValue()?.map((e) {
103-
// final field = FieldModel(
104-
// fieldPath: e.fieldPathFromRecord()!,
105-
// fieldType: e.fieldTypeFromRecord()!,
106-
// nullable: e.nullableFromRecord()!,
107-
// );
108-
// return field.toRecord;
109-
// }),
110-
// },
111-
// ),
112-
// );
113-
// case ModelGenerateScreenBindingsFieldNames.internalParameters:
114-
// return annotation.copyWith(
115-
// ModelGenerateScreenBindings(
116-
// internalParameters: {
117-
// ...?annotation.internalParameters,
118-
// ...?params.fieldValue.toSetValue()?.map((e) {
119-
// final field = FieldModel(
120-
// fieldPath: e.fieldPathFromRecord()!,
121-
// fieldType: e.fieldTypeFromRecord()!,
122-
// nullable: e.nullableFromRecord()!,
123-
// );
124-
// return field.toRecord;
125-
// }),
126-
// },
127-
// ),
128-
// );
129-
// case ModelGenerateScreenBindingsFieldNames.title:
130-
// return annotation.copyWith(
131-
// ModelGenerateScreenBindings(
132-
// title: params.fieldValue.toStringValue(),
133-
// ),
134-
// );
135-
// case ModelGenerateScreenBindingsFieldNames.className:
136-
// return annotation.copyWith(
137-
// ModelGenerateScreenBindings(
138-
// className: params.fieldValue.toStringValue(),
139-
// ),
140-
// );
141-
// case ModelGenerateScreenBindingsFieldNames.screenKey:
142-
// return annotation.copyWith(
143-
// ModelGenerateScreenBindings(
144-
// screenKey: params.fieldValue.toStringValue(),
145-
// ),
146-
// );
147-
// case ModelGenerateScreenBindingsFieldNames.keyStringCase:
148-
// return annotation.copyWith(
149-
// ModelGenerateScreenBindings(
150-
// keyStringCase: params.fieldValue.toStringValue(),
151-
// ),
152-
// );
153-
// default:
154-
// }
155-
// return ModelGenerateScreenBindings.of(annotation);
156-
// }
54+
ModelGenerateScreenBindings _updateFromClassAnnotationField(
55+
ModelGenerateScreenBindings annotation,
56+
OnClassAnnotationFieldParams params,
57+
) {
58+
switch (params.fieldName) {
59+
case ModelGenerateScreenBindingsFieldNames.args:
60+
return annotation.copyWith(
61+
ModelGenerateScreenBindings(
62+
args: params.fieldValue.toMapValue()?.map(
63+
(k, v) => MapEntry(k?.toStringValue(), v?.toStringValue()),
64+
),
65+
),
66+
);
67+
case ModelGenerateScreenBindingsFieldNames.isAccessibleOnlyIfLoggedInAndVerified:
68+
return annotation.copyWith(
69+
ModelGenerateScreenBindings(
70+
isAccessibleOnlyIfLoggedInAndVerified: params.fieldValue.toBoolValue(),
71+
),
72+
);
73+
case ModelGenerateScreenBindingsFieldNames.isAccessibleOnlyIfLoggedIn:
74+
return annotation.copyWith(
75+
ModelGenerateScreenBindings(
76+
isAccessibleOnlyIfLoggedIn: params.fieldValue.toBoolValue(),
77+
),
78+
);
79+
case ModelGenerateScreenBindingsFieldNames.isAccessibleOnlyIfLoggedOut:
80+
return annotation.copyWith(
81+
ModelGenerateScreenBindings(
82+
isAccessibleOnlyIfLoggedOut: params.fieldValue.toBoolValue(),
83+
),
84+
);
85+
case ModelGenerateScreenBindingsFieldNames.isRedirectable:
86+
return annotation.copyWith(
87+
ModelGenerateScreenBindings(
88+
isRedirectable: params.fieldValue.toBoolValue(),
89+
),
90+
);
91+
case ModelGenerateScreenBindingsFieldNames.path:
92+
return annotation.copyWith(
93+
ModelGenerateScreenBindings(
94+
path: params.fieldValue.toStringValue(),
95+
),
96+
);
97+
case ModelGenerateScreenBindingsFieldNames.queryParameters:
98+
return annotation.copyWith(
99+
ModelGenerateScreenBindings(
100+
queryParameters: {
101+
...?annotation.queryParameters,
102+
...?params.fieldValue.toSetValue()?.map((e) {
103+
final field = FieldModel(
104+
fieldPath: e.fieldPathFromRecord()!,
105+
fieldType: e.fieldTypeFromRecord()!,
106+
nullable: e.nullableFromRecord()!,
107+
);
108+
return field.toRecord;
109+
}),
110+
},
111+
),
112+
);
113+
case ModelGenerateScreenBindingsFieldNames.internalParameters:
114+
return annotation.copyWith(
115+
ModelGenerateScreenBindings(
116+
internalParameters: {
117+
...?annotation.internalParameters,
118+
...?params.fieldValue.toSetValue()?.map((e) {
119+
final field = FieldModel(
120+
fieldPath: e.fieldPathFromRecord()!,
121+
fieldType: e.fieldTypeFromRecord()!,
122+
nullable: e.nullableFromRecord()!,
123+
);
124+
return field.toRecord;
125+
}),
126+
},
127+
),
128+
);
129+
case ModelGenerateScreenBindingsFieldNames.title:
130+
return annotation.copyWith(
131+
ModelGenerateScreenBindings(
132+
title: params.fieldValue.toStringValue(),
133+
),
134+
);
135+
case ModelGenerateScreenBindingsFieldNames.className:
136+
return annotation.copyWith(
137+
ModelGenerateScreenBindings(
138+
className: params.fieldValue.toStringValue(),
139+
),
140+
);
141+
case ModelGenerateScreenBindingsFieldNames.screenKey:
142+
return annotation.copyWith(
143+
ModelGenerateScreenBindings(
144+
screenKey: params.fieldValue.toStringValue(),
145+
),
146+
);
147+
case ModelGenerateScreenBindingsFieldNames.keyStringCase:
148+
return annotation.copyWith(
149+
ModelGenerateScreenBindings(
150+
keyStringCase: params.fieldValue.toStringValue(),
151+
),
152+
);
153+
default:
154+
return ModelGenerateScreenBindings.of(annotation);
155+
}
156+
}
157157

158-
// // ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
158+
// ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
159159

160-
// typedef _ClassInsight = ClassInsight<ModelGenerateScreenBindings>;
160+
typedef _ClassInsight = ClassInsight<ModelGenerateScreenBindings>;

lib/src/generate_screen_access/generator.dart

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -66,24 +66,24 @@ Future<void> generateScreenAccess({
6666
.where((e) => e.category == _Categories.DART)) {
6767
final filePath = filePathResult.path;
6868

69-
// // Extract insights from the file.
70-
// final classInsights = await extractClassInsightsFromDartFile(
71-
// analysisContextCollection,
72-
// filePath,
73-
// );
69+
// Extract insights from the file.
70+
final classInsights = await extractClassInsightsFromDartFile(
71+
analysisContextCollection,
72+
filePath,
73+
);
7474

75-
// if (classInsights.isNotEmpty) {
76-
// printRed(classInsights.map((e) => e.className));
77-
// // // Converge what was gathered to generate the output.
78-
// // await generatorConverger.converge(
79-
// // classInsights,
80-
// // [template],
81-
// // [
82-
// // ...insightMappersA,
83-
// // ...insightMappersB,
84-
// // ],
85-
// // );
86-
// }
75+
if (classInsights.isNotEmpty) {
76+
printRed(classInsights.map((e) => e.className));
77+
// // Converge what was gathered to generate the output.
78+
// await generatorConverger.converge(
79+
// classInsights,
80+
// [template],
81+
// [
82+
// ...insightMappersA,
83+
// ...insightMappersB,
84+
// ],
85+
// );
86+
}
8787
}
8888

8989
// final screenClassNames = <String>{};

0 commit comments

Comments
 (0)