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 """
/// Immutable value.
@freezed
@formValue
@immutable
class ${className}Value with _\$${className}Value {
const factory ${className}Value({
   // TODO: Set the data schema.
   \${2}
}) = _${className}Value;
const ${className}Value._();

factory ${className}Value.fromJson(Map<String, Object?> json) => _\$${className}ValueFromJson(json);

/// Query for form value.
///
/// ```dart
/// ref.form(${className}Value.form());     // Get the form controller.
/// ```
static const form = _\$${className}ValueFormQuery();
}
""";
}