From d40ca6beb46c407049ad77e22ce93d7c1e7ec8cd Mon Sep 17 00:00:00 2001 From: Mijael Viricochea Parra Date: Thu, 5 Jan 2023 10:39:18 -0400 Subject: [PATCH 1/2] [go_router_builder] pushReplacement method added --- packages/go_router_builder/CHANGELOG.md | 4 +++ .../example/lib/all_types.g.dart | 33 +++++++++++++++++++ .../go_router_builder/example/lib/main.g.dart | 15 +++++++++ .../example/lib/simple_example.g.dart | 6 ++++ .../lib/src/route_config.dart | 3 ++ packages/go_router_builder/pubspec.yaml | 2 +- .../_go_router_builder_test_input.dart | 3 ++ 7 files changed, 65 insertions(+), 1 deletion(-) diff --git a/packages/go_router_builder/CHANGELOG.md b/packages/go_router_builder/CHANGELOG.md index 7694ed991e2..920d8223cda 100644 --- a/packages/go_router_builder/CHANGELOG.md +++ b/packages/go_router_builder/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.17 + +* Support for the generation of the pushReplacement method has been added. + ## 1.0.16 * Update the documentation to go_router v6.0.0. 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 4aeb4173f40..033f2dc1ffb 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 { @@ -112,6 +118,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 { @@ -133,6 +142,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 { @@ -152,6 +164,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 { @@ -170,6 +185,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 { @@ -188,6 +206,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 { @@ -209,6 +230,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 { @@ -230,6 +254,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 { @@ -248,6 +275,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 { @@ -266,6 +296,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 d58aac54f68..165d92afb32 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 6e1083935e3..36fdfd326d6 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.0.16 +version: 1.0.17 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 ca204efaaf9..74e7d7b2e55 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 = { From 5c662291fea98ff2f64f9ace2d3e4316f26d5d94 Mon Sep 17 00:00:00 2001 From: Mijael Viricochea Parra Date: Sat, 18 Feb 2023 18:15:29 -0400 Subject: [PATCH 2/2] [go_router_builder] pushReplacement method added to builder test input --- .../test/test_inputs/_go_router_builder_test_input.dart | 3 +++ 1 file changed, 3 insertions(+) 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 b6267759af0..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 @@ -141,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(