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 executing RestApi.
///
/// RestApiを実行するための[FunctionsAction]。
///
/// ```dart
/// final response = await appFunction.execute(${className.toPascalCase()}FunctionsAction());
/// ```
@immutable
class ${className.toPascalCase()}FunctionsAction
  extends RestApiFunctionsAction<${className.toPascalCase()}FunctionsActionResponse> {
/// [FunctionsAction] for executing RestApi.
///
/// RestApiを実行するための[FunctionsAction]。[FunctionsAction]。
///
/// ```dart
/// final response = await appFunction.execute(${className.toPascalCase()}FunctionsAction());
/// ```
const ${className.toPascalCase()}FunctionsAction();

@override
String get description => "Execute ${className.toPascalCase()}.";

@override
ApiMethod get method => ApiMethod.post;

@override
String get path => "${className.toSnakeCase()}";

@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 RestApiFunctionsActionResponse {
/// [FunctionsActionResponse] that defines the response to [${className.toPascalCase()}FunctionsAction].
///
/// [${className.toPascalCase()}FunctionsAction]のレスポンスを定義する[FunctionsActionResponse]。
const ${className.toPascalCase()}FunctionsActionResponse();
}
""";
}