@@ -2,7 +2,6 @@ import 'dart:io';
2
2
3
3
import 'package:onix_flutter_bricks/domain/entity/state_management/state_management_variant.dart' ;
4
4
import 'package:onix_flutter_bricks/domain/service/base/base_generation_service.dart' ;
5
- import 'package:onix_flutter_bricks/domain/service/base/params/base_generation_params.dart' ;
6
5
import 'package:onix_flutter_bricks/domain/service/file_generator_service/screen_generators/gen/bloc_screen_code_content.dart' ;
7
6
import 'package:onix_flutter_bricks/domain/service/file_generator_service/screen_generators/gen/mixins/bloc_content_mixin.dart' ;
8
7
import 'package:onix_flutter_bricks/domain/service/file_generator_service/screen_generators/gen/mixins/di_content_mixin.dart' ;
@@ -14,18 +13,14 @@ class BlocScreenGenerator extends ScreenGenerationService
14
13
final _screenCodeContent = BlocScreenCodeContent ();
15
14
16
15
@override
17
- Future <bool > generate (BaseGenerationParams params) async {
18
- if (params is ! ScreenGeneratorParams ) {
19
- return false ;
20
- }
21
-
16
+ Future <bool > generate (ScreenGeneratorParams params) async {
22
17
final screenName = params.normalizedScreenName;
23
18
24
19
final screenPath =
25
20
'${params .projectPath }/${params .projectName }/lib/presentation/screen/${screenName }_screen' ;
26
21
await Directory (screenPath).create (recursive: true );
27
22
28
- if (params.screen.stateVariant != const StatelessStateManagementVariant () ) {
23
+ if (params.screen.stateVariant is ! StatelessStateManagementVariant ) {
29
24
await Directory ('$screenPath /bloc' ).create (recursive: true );
30
25
}
31
26
@@ -35,9 +30,10 @@ class BlocScreenGenerator extends ScreenGenerationService
35
30
///Add screen configuration to Navigation Router file
36
31
await _createRoutes (params);
37
32
38
- if (params.screen.stateVariant != const StatelessStateManagementVariant ()) {
33
+ if (params.screen.stateVariant is ! StatelessStateManagementVariant &&
34
+ params.screen.stateVariant is ! StatefulStateManagementVariant ) {
39
35
///Add DI configuration for state management
40
- await _createDI ( params);
36
+ await createScreenDIContent (params : params);
41
37
}
42
38
return true ;
43
39
}
@@ -47,19 +43,19 @@ class BlocScreenGenerator extends ScreenGenerationService
47
43
if (params.router == ProjectRouter .goRouter) {
48
44
final routesFile = File (
49
45
'${params .projectPath }/${params .projectName }/lib/app/router/app_route.dart' );
50
- String routesContent = routesFile.readAsStringSync ();
46
+ final routesContent = routesFile.readAsStringSync ();
51
47
//Generate routes enum for GoRouter
52
48
final appRoutesContent = _screenCodeContent.createScreenNavigationGoRoute (
53
49
input: routesContent,
54
50
screenName: screenName,
55
51
isLastDeclaration: params.lastScreenItem,
56
52
);
57
- routesFile.writeAsString (appRoutesContent);
53
+ await routesFile.writeAsString (appRoutesContent);
58
54
}
59
55
60
56
final routerFile = File (
61
57
'${params .projectPath }/${params .projectName }/lib/app/router/app_router.dart' );
62
- String routerContent = routerFile.readAsStringSync ();
58
+ final routerContent = routerFile.readAsStringSync ();
63
59
64
60
///Create Navigator screen declarations
65
61
final filledRouterContent =
@@ -71,21 +67,7 @@ class BlocScreenGenerator extends ScreenGenerationService
71
67
router: params.router,
72
68
);
73
69
74
- routerFile.writeAsString (filledRouterContent);
75
- }
76
-
77
- Future <void > _createDI (ScreenGeneratorParams params) async {
78
- var diFile = File (
79
- '${params .projectPath }/${params .projectName }/lib/core/di/bloc.dart' );
80
- final screenName = params.normalizedScreenName;
81
- String content = await diFile.readAsString ();
82
- final diOutputContent = createScreenDIContent (
83
- input: content,
84
- screenName: screenName,
85
- projectName: params.projectName,
86
- stateManagement: params.screen.stateVariant,
87
- );
88
- await diFile.writeAsString (diOutputContent);
70
+ await routerFile.writeAsString (filledRouterContent);
89
71
}
90
72
91
73
Future <void > _createFiles (
@@ -105,7 +87,7 @@ class BlocScreenGenerator extends ScreenGenerationService
105
87
await screenFile.writeAsString (screenContent);
106
88
107
89
///Write BLoC imports file
108
- var importsFile =
90
+ final importsFile =
109
91
await File ('$screenPath /bloc/${screenName }_screen_imports.dart' )
110
92
.create ();
111
93
final importsContent = createBlocImportsContent (
@@ -115,7 +97,7 @@ class BlocScreenGenerator extends ScreenGenerationService
115
97
await importsFile.writeAsString (importsContent);
116
98
117
99
///Write BLoC models file
118
- var modelsFile =
100
+ final modelsFile =
119
101
await File ('$screenPath /bloc/${screenName }_screen_models.dart' )
120
102
.create ();
121
103
final modelsContent = createBlocModels (
@@ -125,7 +107,7 @@ class BlocScreenGenerator extends ScreenGenerationService
125
107
await modelsFile.writeAsString (modelsContent);
126
108
127
109
///Write BLoC file
128
- var blocFile = await File (
110
+ final blocFile = await File (
129
111
'$screenPath /bloc/${screenName }_screen_${params .screen .stateVariant .name .toLowerCase ()}.dart' )
130
112
.create ();
131
113
final blocFileContent = createBlocContent (
0 commit comments