createState method
Implementation
Future<void> createState(
String name, {
String withArgument = '',
String onCommand = '',
}) async {
final isServer = PubspecUtils.isServerProject;
final extraFolder = PubspecUtils.extraFolder ?? true;
var sample = StateSample(
'',
name,
isServer,
);
if (withArgument.isNotEmpty) {
sample.customContent = await loadContent(withArgument, name);
}
var stateFile = handleFileCreate(
name,
'state',
onCommand,
onCommand.isNotEmpty ? extraFolder : true,
sample,
'states',
);
var controllerName = name;
var controllerPath = findControllerFromName(stateFile.path, controllerName);
if (controllerPath.isEmpty) {
controllerName = onCommand;
controllerPath =
findControllerFromName(stateFile.path, basename(controllerName));
}
var pathSplit = Structure.safeSplitPath(stateFile.path);
pathSplit.remove('.');
pathSplit.remove('lib');
if (controllerPath.isNotEmpty) {
await addStatesToController(
controllerPath,
controllerName,
pathSplit.join('/'),
name,
);
}
}