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