Skip to content

[go_router_builder] Support return Future<T?> for push method #124487

@Heewookji

Description

@Heewookji

After go_router 6.5.0, we can use push method with returning value.

// extensions.dart
Future<T?> push<T extends Object?>(String location, {Object? extra}) =>
      GoRouter.of(this).push<T>(location, extra: extra);

But go_router_builder seems like it hasn't been applied.

// generated.g.dart
void push(BuildContext context) => context.push(location, extra: $extra);

Use case

want to use like this.

// use case
ExampleRoute().push().then((value) => print(value));

Proposal

I think it would work if created like this.

// generated.g.dart
Future<T?> push<T extends Object?>(BuildContext context) =>
      context.push(location, extra: $extra);

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Issues that are less important to the Flutter projectc: new featureNothing broken; request for a new capabilityc: proposalA detailed proposal for a change to Flutterp: go_router_builderThe go_router_builder packagepackageflutter/packages repository. See also p: labels.r: fixedIssue is closed as already fixed in a newer version

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions