diff --git a/packages/go_router_builder/CHANGELOG.md b/packages/go_router_builder/CHANGELOG.md index 16193291d85..2b9e741d8c6 100644 --- a/packages/go_router_builder/CHANGELOG.md +++ b/packages/go_router_builder/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.1 + +* Support for the generation of the pushReplacement method has been added. + ## 1.1.0 * Supports default value for the route parameters. diff --git a/packages/go_router_builder/example/lib/all_types.g.dart b/packages/go_router_builder/example/lib/all_types.g.dart index 71ab56e2a1f..84f652da062 100644 --- a/packages/go_router_builder/example/lib/all_types.g.dart +++ b/packages/go_router_builder/example/lib/all_types.g.dart @@ -74,6 +74,9 @@ extension $AllTypesBaseRouteExtension on AllTypesBaseRoute { void go(BuildContext context) => context.go(location, extra: this); void push(BuildContext context) => context.push(location, extra: this); + + void pushReplacement(BuildContext context) => + context.pushReplacement(location, extra: this); } extension $BigIntRouteExtension on BigIntRoute { @@ -93,6 +96,9 @@ extension $BigIntRouteExtension on BigIntRoute { void go(BuildContext context) => context.go(location, extra: this); void push(BuildContext context) => context.push(location, extra: this); + + void pushReplacement(BuildContext context) => + context.pushReplacement(location, extra: this); } extension $BoolRouteExtension on BoolRoute { @@ -120,6 +126,9 @@ extension $BoolRouteExtension on BoolRoute { void go(BuildContext context) => context.go(location, extra: this); void push(BuildContext context) => context.push(location, extra: this); + + void pushReplacement(BuildContext context) => + context.pushReplacement(location, extra: this); } extension $DateTimeRouteExtension on DateTimeRoute { @@ -141,6 +150,9 @@ extension $DateTimeRouteExtension on DateTimeRoute { void go(BuildContext context) => context.go(location, extra: this); void push(BuildContext context) => context.push(location, extra: this); + + void pushReplacement(BuildContext context) => + context.pushReplacement(location, extra: this); } extension $DoubleRouteExtension on DoubleRoute { @@ -168,6 +180,9 @@ extension $DoubleRouteExtension on DoubleRoute { void go(BuildContext context) => context.go(location, extra: this); void push(BuildContext context) => context.push(location, extra: this); + + void pushReplacement(BuildContext context) => + context.pushReplacement(location, extra: this); } extension $IntRouteExtension on IntRoute { @@ -191,6 +206,9 @@ extension $IntRouteExtension on IntRoute { void go(BuildContext context) => context.go(location, extra: this); void push(BuildContext context) => context.push(location, extra: this); + + void pushReplacement(BuildContext context) => + context.pushReplacement(location, extra: this); } extension $NumRouteExtension on NumRoute { @@ -214,6 +232,9 @@ extension $NumRouteExtension on NumRoute { void go(BuildContext context) => context.go(location, extra: this); void push(BuildContext context) => context.push(location, extra: this); + + void pushReplacement(BuildContext context) => + context.pushReplacement(location, extra: this); } extension $EnumRouteExtension on EnumRoute { @@ -243,6 +264,9 @@ extension $EnumRouteExtension on EnumRoute { void go(BuildContext context) => context.go(location, extra: this); void push(BuildContext context) => context.push(location, extra: this); + + void pushReplacement(BuildContext context) => + context.pushReplacement(location, extra: this); } extension $EnhancedEnumRouteExtension on EnhancedEnumRoute { @@ -272,6 +296,9 @@ extension $EnhancedEnumRouteExtension on EnhancedEnumRoute { void go(BuildContext context) => context.go(location, extra: this); void push(BuildContext context) => context.push(location, extra: this); + + void pushReplacement(BuildContext context) => + context.pushReplacement(location, extra: this); } extension $StringRouteExtension on StringRoute { @@ -295,6 +322,9 @@ extension $StringRouteExtension on StringRoute { void go(BuildContext context) => context.go(location, extra: this); void push(BuildContext context) => context.push(location, extra: this); + + void pushReplacement(BuildContext context) => + context.pushReplacement(location, extra: this); } extension $UriRouteExtension on UriRoute { @@ -313,6 +343,9 @@ extension $UriRouteExtension on UriRoute { void go(BuildContext context) => context.go(location, extra: this); void push(BuildContext context) => context.push(location, extra: this); + + void pushReplacement(BuildContext context) => + context.pushReplacement(location, extra: this); } const _$PersonDetailsEnumMap = { diff --git a/packages/go_router_builder/example/lib/main.g.dart b/packages/go_router_builder/example/lib/main.g.dart index 0f87baaff2a..74b89bc933a 100644 --- a/packages/go_router_builder/example/lib/main.g.dart +++ b/packages/go_router_builder/example/lib/main.g.dart @@ -46,6 +46,9 @@ extension $HomeRouteExtension on HomeRoute { void go(BuildContext context) => context.go(location, extra: this); void push(BuildContext context) => context.push(location, extra: this); + + void pushReplacement(BuildContext context) => + context.pushReplacement(location, extra: this); } extension $FamilyRouteExtension on FamilyRoute { @@ -60,6 +63,9 @@ extension $FamilyRouteExtension on FamilyRoute { void go(BuildContext context) => context.go(location, extra: this); void push(BuildContext context) => context.push(location, extra: this); + + void pushReplacement(BuildContext context) => + context.pushReplacement(location, extra: this); } extension $PersonRouteExtension on PersonRoute { @@ -75,6 +81,9 @@ extension $PersonRouteExtension on PersonRoute { void go(BuildContext context) => context.go(location, extra: this); void push(BuildContext context) => context.push(location, extra: this); + + void pushReplacement(BuildContext context) => + context.pushReplacement(location, extra: this); } extension $PersonDetailsRouteExtension on PersonDetailsRoute { @@ -93,6 +102,9 @@ extension $PersonDetailsRouteExtension on PersonDetailsRoute { void go(BuildContext context) => context.go(location, extra: this); void push(BuildContext context) => context.push(location, extra: this); + + void pushReplacement(BuildContext context) => + context.pushReplacement(location, extra: this); } const _$PersonDetailsEnumMap = { @@ -126,4 +138,7 @@ extension $LoginRouteExtension on LoginRoute { void go(BuildContext context) => context.go(location, extra: this); void push(BuildContext context) => context.push(location, extra: this); + + void pushReplacement(BuildContext context) => + context.pushReplacement(location, extra: this); } diff --git a/packages/go_router_builder/example/lib/simple_example.g.dart b/packages/go_router_builder/example/lib/simple_example.g.dart index b3ad338d4f3..a71180d1e1d 100644 --- a/packages/go_router_builder/example/lib/simple_example.g.dart +++ b/packages/go_router_builder/example/lib/simple_example.g.dart @@ -33,6 +33,9 @@ extension $HomeRouteExtension on HomeRoute { void go(BuildContext context) => context.go(location, extra: this); void push(BuildContext context) => context.push(location, extra: this); + + void pushReplacement(BuildContext context) => + context.pushReplacement(location, extra: this); } extension $FamilyRouteExtension on FamilyRoute { @@ -47,4 +50,7 @@ extension $FamilyRouteExtension on FamilyRoute { void go(BuildContext context) => context.go(location, extra: this); void push(BuildContext context) => context.push(location, extra: this); + + void pushReplacement(BuildContext context) => + context.pushReplacement(location, extra: this); } diff --git a/packages/go_router_builder/lib/src/route_config.dart b/packages/go_router_builder/lib/src/route_config.dart index 75a7a7612ae..38f7a8c2ceb 100644 --- a/packages/go_router_builder/lib/src/route_config.dart +++ b/packages/go_router_builder/lib/src/route_config.dart @@ -145,6 +145,9 @@ extension $_extensionName on $_className { void go(BuildContext context) => context.go(location, extra: this); void push(BuildContext context) => context.push(location, extra: this); + + void pushReplacement(BuildContext context) => + context.pushReplacement(location, extra: this); } '''; diff --git a/packages/go_router_builder/pubspec.yaml b/packages/go_router_builder/pubspec.yaml index 7ae28ff2644..b4ae5b16982 100644 --- a/packages/go_router_builder/pubspec.yaml +++ b/packages/go_router_builder/pubspec.yaml @@ -2,7 +2,7 @@ name: go_router_builder description: >- A builder that supports generated strongly-typed route helpers for package:go_router -version: 1.1.0 +version: 1.1.1 repository: https://github.com/flutter/packages/tree/main/packages/go_router_builder issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+go_router_builder%22 diff --git a/packages/go_router_builder/test/test_inputs/_go_router_builder_test_input.dart b/packages/go_router_builder/test/test_inputs/_go_router_builder_test_input.dart index 1777325bb2b..c85e8e34867 100644 --- a/packages/go_router_builder/test/test_inputs/_go_router_builder_test_input.dart +++ b/packages/go_router_builder/test/test_inputs/_go_router_builder_test_input.dart @@ -89,6 +89,9 @@ extension $EnumParamExtension on EnumParam { void go(BuildContext context) => context.go(location, extra: this); void push(BuildContext context) => context.push(location, extra: this); + + void pushReplacement(BuildContext context) => + context.pushReplacement(location, extra: this); } const _$EnumTestEnumMap = { @@ -138,6 +141,9 @@ extension $DefaultValueRouteExtension on DefaultValueRoute { void go(BuildContext context) => context.go(location, extra: this); void push(BuildContext context) => context.push(location, extra: this); + + void pushReplacement(BuildContext context) => + context.pushReplacement(location, extra: this); } T? _$convertMapValue(