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 """
/// [FunctionsAction] for calling `${className.toSnakeCase()}_call` in FirebaseFunctions.
///
/// FirebaseFunctionsの`${className.toSnakeCase()}_call`をコールするための[FunctionsAction]。
///
/// ```dart
/// final response = await appFunction.execute(${className.toPascalCase()}FunctionsAction());
/// ```
class ${className.toPascalCase()}FunctionsAction
extends FunctionsAction<${className.toPascalCase()}FunctionsActionResponse> {
/// [FunctionsAction] for calling `${className.toSnakeCase()}_call` in FirebaseFunctions.
///
/// FirebaseFunctionsの`${className.toSnakeCase()}_call`をコールするための[FunctionsAction]。
///
/// ```dart
/// final response = await appFunction.execute(${className.toPascalCase()}FunctionsAction());
/// ```
const ${className.toPascalCase()}FunctionsAction();
@override
String get action => "${className.toSnakeCase()}_call";
@override
DynamicMap? toMap() {
return {};
}
@override
${className.toPascalCase()}FunctionsActionResponse toResponse(DynamicMap map) {
return const ${className.toPascalCase()}FunctionsActionResponse();
}
}
/// [FunctionsActionResponse] that defines the response to [${className.toPascalCase()}FunctionsAction].
///
/// [${className.toPascalCase()}FunctionsAction]のレスポンスを定義する[FunctionsActionResponse]。
class ${className.toPascalCase()}FunctionsActionResponse extends FunctionsActionResponse {
/// [FunctionsActionResponse] that defines the response to [${className.toPascalCase()}FunctionsAction].
///
/// [${className.toPascalCase()}FunctionsAction]のレスポンスを定義する[FunctionsActionResponse]。
const ${className.toPascalCase()}FunctionsActionResponse();
}
""";
}