screenSetter function
void
screenSetter(})
Implementation
void screenSetter(File file, String packageName, String name, {String? controllerName, String path = ''}) {
var scaffold = '''return const Scaffold(
body:Center(
child:Text('$name'),
),
);''';
final hasController = controllerName != null;
if (hasController) {
scaffold = '''return GetBuilder<$controllerName>(
init: $controllerName(),
builder: (controller) {
$scaffold
},
);''';
}
var directives = [
Directive.import('package:get/get.dart'),
Directive.import('package:flutter/material.dart'),
if (hasController) ...[
Directive.import(
'package:' + packageName + '/controllers/$path' + name.toLowerCase() + '_screen_controller.dart'),
]
];
var lib = Library((b) => b
..directives.addAll(directives)
..body.add(statelessWidgetGenerator('${name}Screen', scaffold)));
file.writeAsStringSync(formatter.format(DartEmitter.scoped(useNullSafetySyntax: true).visitLibrary(lib).toString()));
}