body method
Defines the actual body code. path
is passed relative to lib
, baseName
is the filename, and className
is the filename converted to Pascal case.
実際の本体コードを定義します。path
にlib
からの相対パス、baseName
にファイル名が渡され、className
にファイル名をパスカルケースに変換した値が渡されます。
Implementation
@override
String body(String path, String baseName, String className) {
return """
final _localize = _AppLocalize();
@GoogleSpreadSheetLocalize(
"https://docs.google.com/spreadsheets/d/1bw7IXEr7BGkZ4U6on0OuF7HQkTMgDSm6u5ThpBkDPeo/edit#gid=551986808",
version: 1,
)
class _AppLocalize extends _\$_AppLocalize {}
class ${className.toPascalCase()}ModuleMasamuneAdapter extends ModuleMasamuneAdapter {
${className.toPascalCase()}ModuleMasamuneAdapter({
super.additionalMasamuneAdapters = const [],
super.theme,
super.authAdapter = const RuntimeAuthAdapter(),
super.modelAdapter = const RuntimeModelAdapter(),
super.storageAdapter = const RuntimeStorageAdapter(),
super.functionsAdapter = const RuntimeFunctionsAdapter(),
super.additionalLoggerAdapters = const [
ConsoleLoggerAdapter(),
],
super.scaffoldMessengerKey,
super.debugShowCheckedModeBanner = true,
super.showPerformanceOverlay = false,
super.title = "",
super.onGenerateTitle,
super.themeMode,
super.routerBootOverride,
super.routerInitialQueryOverride,
super.additionalRouterPages = const [],
super.additionalRouterRedirect = const [],
super.additionalNavigatorObservers = const [],
});
// TODO: Set the initial page.
@override
RouteQuery get routerInitialQuery => throw UnimplementedError();
@override
List<RouteQueryBuilder> get routerPages => [
];
@override
List<MasamuneAdapter> get masamuneAdapters => [
...super.masamuneAdapters,
this,
];
@override
AppLocalizeBase? get localize => _localize;
@override
Widget onBuildApp(BuildContext context, Widget app) {
return MasamuneAdapterScope<${className.toPascalCase()}ModuleMasamuneAdapter>(
adapter: this,
child: app,
);
}
}
""";
}