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 """
/// Controller.
@Controller(autoDisposeWhenUnreferenced: true)
class ${className}Controller extends ChangeNotifier {
${className}Controller(
  // TODO: Define some arguments.
  \${1}
);

// TODO: Define fields and processes.
\${2}

/// Query for ${className}Controller.
///
/// ```dart
/// appRef.controller(${className}Controller.query(parameters));     // Get from application scope.
/// ref.app.controller(${className}Controller.query(parameters));    // Watch at application scope.
/// ref.page.controller(${className}Controller.query(parameters));   // Watch at page scope.
/// ```
static const query = _\$${className}ControllerQuery();
}
""";
}