aj-flutter-cli
Version:
a cli for creating flutter projects
67 lines (50 loc) • 1.46 kB
text/typescript
import { toBigHump, toBottomLine } from "./formatName";
const pageView = (pageName: string) => {
const pageHumpName = toBigHump(pageName);
const pageLineName = toBottomLine(pageName);
return `import 'package:flutter/material.dart';
import 'package:get/get.dart';
import '${pageLineName}_controller.dart';
class ${pageHumpName}Page extends GetView<${pageHumpName}Controller> {
const ${pageHumpName}Page({Key? key}) : super(key: key);
Widget build(BuildContext context) {
return Scaffold(
body: Container(),
);
}
}
`;
};
const pageController = (pageName: string) => {
const pageHumpName = toBigHump(pageName);
return `import 'package:get/get.dart';
class ${pageHumpName}Controller extends GetxController {
final count = 0.obs;
void onInit() {
super.onInit();
}
void onReady() {}
void onClose() {}
increment() => count.value++;
}
`;
};
const pageBindings = (pageName: string) => {
const pageHumpName = toBigHump(pageName);
const pageLineName = toBottomLine(pageName);
return `import 'package:get/get.dart';
import '${pageLineName}_controller.dart';
class ${pageHumpName}Binding extends Bindings {
void dependencies() {
Get.lazyPut<${pageHumpName}Controller>(() => ${pageHumpName}Controller());
}
}
`;
};
const pageModel = () => ``;
export { pageView, pageController, pageBindings, pageModel };