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 """
/// [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();
}
""";
}