body method

  1. @override
String body(
  1. String path,
  2. String baseName,
  3. String className
)
override

Defines the actual body code. path is passed relative to lib, baseName is the filename, and className is the filename converted to Pascal case.

実際の本体コードを定義します。pathlibからの相対パス、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,
  );
}
}
""";
}