Merge branch 'master' of git://github.com/jonataslaw/getx into fix-router-outlet
Showing
4 changed files
with
30 additions
and
1 deletions
@@ -473,6 +473,17 @@ class GetInstance { | @@ -473,6 +473,17 @@ class GetInstance { | ||
473 | return; | 473 | return; |
474 | } | 474 | } |
475 | 475 | ||
476 | + final i = builder.dependency; | ||
477 | + | ||
478 | + if (i is GetxServiceMixin && !force) { | ||
479 | + return; | ||
480 | + } | ||
481 | + | ||
482 | + if (i is GetLifeCycleBase) { | ||
483 | + i.onDelete(); | ||
484 | + Get.log('"$newKey" onDelete() called'); | ||
485 | + } | ||
486 | + | ||
476 | builder.dependency = null; | 487 | builder.dependency = null; |
477 | builder.isInit = false; | 488 | builder.isInit = false; |
478 | Get.log('Instance "$newKey" was restarted.'); | 489 | Get.log('Instance "$newKey" was restarted.'); |
1 | name: get | 1 | name: get |
2 | description: Open screens/snackbars/dialogs without context, manage states and inject dependencies easily with GetX. | 2 | description: Open screens/snackbars/dialogs without context, manage states and inject dependencies easily with GetX. |
3 | -version: 4.2.3 | 3 | +version: 4.2.4 |
4 | homepage: https://github.com/jonataslaw/getx | 4 | homepage: https://github.com/jonataslaw/getx |
5 | 5 | ||
6 | environment: | 6 | environment: |
@@ -114,6 +114,19 @@ void main() { | @@ -114,6 +114,19 @@ void main() { | ||
114 | Get.reset(); | 114 | Get.reset(); |
115 | }); | 115 | }); |
116 | 116 | ||
117 | + test('GetxService test', () async { | ||
118 | + Get.lazyPut<PermanentService>(() => PermanentService()); | ||
119 | + var sv1 = Get.find<PermanentService>(); | ||
120 | + var sv2 = Get.find<PermanentService>(); | ||
121 | + expect(sv1, sv2); | ||
122 | + expect(Get.isRegistered<PermanentService>(), true); | ||
123 | + Get.delete<PermanentService>(); | ||
124 | + expect(Get.isRegistered<PermanentService>(), true); | ||
125 | + Get.delete<PermanentService>(force: true); | ||
126 | + expect(Get.isRegistered<PermanentService>(), false); | ||
127 | + Get.reset(); | ||
128 | + }); | ||
129 | + | ||
117 | test('Get.lazyPut with abstract class test', () async { | 130 | test('Get.lazyPut with abstract class test', () async { |
118 | final api = Api(); | 131 | final api = Api(); |
119 | Get.lazyPut<Service>(() => api); | 132 | Get.lazyPut<Service>(() => api); |
@@ -157,6 +170,8 @@ void main() { | @@ -157,6 +170,8 @@ void main() { | ||
157 | }); | 170 | }); |
158 | } | 171 | } |
159 | 172 | ||
173 | +class PermanentService extends GetxService {} | ||
174 | + | ||
160 | class Controller extends DisposableController { | 175 | class Controller extends DisposableController { |
161 | int init = 0; | 176 | int init = 0; |
162 | int close = 0; | 177 | int close = 0; |
-
Please register or login to post a comment