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 """
/// Describe the redirection process between pages.
///
/// It works by passing it as an argument to the AppRouter or PagePath annotation.
///
/// ```dart
/// final router = AppRouter(
///   redirect: [
///     ${className}RedirectQuery(),
///   ],
/// );
/// ```
class ${className}RedirectQuery extends RedirectQuery {
const ${className}RedirectQuery();

@override
FutureOr<RouteQuery> redirect(
  BuildContext context,
  RouteQuery source,
) async {
  // Return [source] if you want to transition directly to the page without redirecting.
  // TODO: Describe the redirection process.
  return source;
}
}
""";
}