@@ -180,10 +180,10 @@ export const sealedStates = async (uri: Uri) => {
180
180
}
181
181
182
182
codeBuilder . push ( `}` ) ;
183
- codeBuilder . push ( '' ) ;
184
183
185
184
// Generate the classes for each state
186
185
Object . values ( stateFormats ) . forEach ( ( { pascalCase, snakeCase } ) => {
186
+ codeBuilder . push ( '' ) ;
187
187
codeBuilder . push ( `/// ${ pascalCase } ` ) ;
188
188
codeBuilder . push ( `final class \${1}\\$${ pascalCase } extends \${1} {` ) ;
189
189
@@ -200,54 +200,53 @@ export const sealedStates = async (uri: Uri) => {
200
200
}
201
201
202
202
codeBuilder . push ( `}` ) ;
203
- codeBuilder . push ( '' ) ;
204
203
} ) ;
205
204
206
205
// Base class definition with pattern matching methods
207
206
if ( patternMatchingOption ) {
207
+ codeBuilder . push ( '' ) ;
208
208
codeBuilder . push ( `/// Pattern matching for [\${1}].` ) ;
209
209
codeBuilder . push ( `typedef \${1}Match<R, S extends \${1}> = R Function(S element);` ) ;
210
- codeBuilder . push ( '' ) ;
211
210
}
212
211
213
212
// Base class definition
213
+ codeBuilder . push ( '' ) ;
214
214
codeBuilder . push ( '@immutable' ) ;
215
215
codeBuilder . push ( `abstract base class _\\$\${1}Base {` ) ;
216
216
codeBuilder . push ( ` const _\\$\${1}Base({required this.data, required this.message});` ) ;
217
- codeBuilder . push ( '' ) ;
218
217
219
218
// Type alias
220
219
if ( typeAliasOption ) {
220
+ codeBuilder . push ( '' ) ;
221
221
codeBuilder . push ( ` /// Type alias for [\${1}].` ) ;
222
222
codeBuilder . push ( ` abstract final String type;` ) ;
223
- codeBuilder . push ( '' ) ;
224
223
}
225
224
226
225
// Data entity payload
226
+ codeBuilder . push ( '' ) ;
227
227
codeBuilder . push ( ` /// Data entity payload.` ) ;
228
228
codeBuilder . push ( ` @nonVirtual` ) ;
229
229
codeBuilder . push ( ` final ${ dataType } data;` ) ;
230
- codeBuilder . push ( '' ) ;
231
230
232
231
// Message or description
232
+ codeBuilder . push ( '' ) ;
233
233
codeBuilder . push ( ` /// Message or description.` ) ;
234
234
codeBuilder . push ( ` @nonVirtual` ) ;
235
235
codeBuilder . push ( ` final String message;` ) ;
236
- codeBuilder . push ( '' ) ;
237
236
238
237
// Check existence of data
239
238
if ( nullableDataOption ) {
239
+ codeBuilder . push ( '' ) ;
240
240
codeBuilder . push ( ` /// Has data?` ) ;
241
241
codeBuilder . push ( ` bool get hasData => data != null;` ) ;
242
- codeBuilder . push ( '' ) ;
243
242
}
244
243
245
244
// Property getters
246
245
if ( propertyGettersOption ) {
247
246
Object . values ( stateFormats ) . forEach ( ( { pascalCase, snakeCase } ) => {
247
+ codeBuilder . push ( '' ) ;
248
248
codeBuilder . push ( ` /// Check if is ${ pascalCase } .` ) ;
249
249
codeBuilder . push ( ` bool get is${ pascalCase } => this is \${1}\\$${ pascalCase } ;` ) ;
250
- codeBuilder . push ( '' ) ;
251
250
} ) ;
252
251
}
253
252
0 commit comments