Jonatas

update to 3.25.1

  1 +## [3.25.1] - Big update
  2 +- Improved the log system to display the tag used in the controller that was created.
  3 +
1 ## [3.25.0] - Big update 4 ## [3.25.0] - Big update
2 - Added [reload] and [reloadAll] methods to reload your Controller to original values 5 - Added [reload] and [reloadAll] methods to reload your Controller to original values
3 - Added [FullLifeCycleController] - A GetxController capable of observing all the life cycles of your application. FullLifeCycleController has the life cycles: 6 - Added [FullLifeCycleController] - A GetxController capable of observing all the life cycles of your application. FullLifeCycleController has the life cycles:
@@ -61,6 +61,7 @@ linter: @@ -61,6 +61,7 @@ linter:
61 avoid_catches_without_on_clauses: true # avoid 61 avoid_catches_without_on_clauses: true # avoid
62 avoid_catching_errors: true 62 avoid_catching_errors: true
63 use_rethrow_when_possible: true 63 use_rethrow_when_possible: true
  64 + unrelated_type_equality_checks: true
64 65
65 # DESIGN 66 # DESIGN
66 use_to_and_as_if_applicable: true # prefer 67 use_to_and_as_if_applicable: true # prefer
@@ -187,6 +187,7 @@ class GetInstance { @@ -187,6 +187,7 @@ class GetInstance {
187 permanent, 187 permanent,
188 false, 188 false,
189 fenix, 189 fenix,
  190 + name,
190 ), 191 ),
191 ); 192 );
192 } 193 }
@@ -287,7 +288,11 @@ class GetInstance { @@ -287,7 +288,11 @@ class GetInstance {
287 if (i is GetLifeCycleBase) { 288 if (i is GetLifeCycleBase) {
288 if (i.onStart != null) { 289 if (i.onStart != null) {
289 i.onStart(); 290 i.onStart();
290 - Get.log('"$key" has been initialized'); 291 + if (tag == null) {
  292 + Get.log('Instance "$S" has been initialized');
  293 + } else {
  294 + Get.log('Instance "$S" with tag "$tag" has been initialized');
  295 + }
291 } 296 }
292 if (!_singl[key].isSingleton && i.onDelete != null) { 297 if (!_singl[key].isSingleton && i.onDelete != null) {
293 _routesByCreate[Get.reference] ??= HashSet<Function>(); 298 _routesByCreate[Get.reference] ??= HashSet<Function>();
@@ -495,16 +500,35 @@ class _InstanceBuilderFactory<S> { @@ -495,16 +500,35 @@ class _InstanceBuilderFactory<S> {
495 500
496 bool isInit = false; 501 bool isInit = false;
497 502
  503 + String tag;
  504 +
498 _InstanceBuilderFactory( 505 _InstanceBuilderFactory(
499 this.isSingleton, 506 this.isSingleton,
500 this.builderFunc, 507 this.builderFunc,
501 this.permanent, 508 this.permanent,
502 this.isInit, 509 this.isInit,
503 this.fenix, 510 this.fenix,
  511 + this.tag,
504 ); 512 );
505 513
  514 + void _showInitLog() {
  515 + if (tag == null) {
  516 + Get.log('Instance "$S" has been created');
  517 + } else {
  518 + Get.log('Instance "$S" has been created with tag "$tag"');
  519 + }
  520 + }
  521 +
506 /// Gets the actual instance by it's [builderFunc] or the persisted instance. 522 /// Gets the actual instance by it's [builderFunc] or the persisted instance.
507 S getDependency() { 523 S getDependency() {
508 - return isSingleton ? dependency ??= builderFunc() : builderFunc(); 524 + if (isSingleton) {
  525 + if (dependency == null) {
  526 + _showInitLog();
  527 + dependency = builderFunc();
  528 + }
  529 + return dependency;
  530 + } else {
  531 + return builderFunc();
  532 + }
509 } 533 }
510 } 534 }
@@ -104,9 +104,12 @@ extension MapExtension<K, V> on Map<K, V> { @@ -104,9 +104,12 @@ extension MapExtension<K, V> on Map<K, V> {
104 } 104 }
105 105
106 void assignAll(Map<K, V> val) { 106 void assignAll(Map<K, V> val) {
  107 + if (val is RxMap && this is RxMap) {
  108 + if ((val as RxMap)._value == (this as RxMap)._value) return;
  109 + }
107 if (this is RxMap) { 110 if (this is RxMap) {
108 final map = (this as RxMap); 111 final map = (this as RxMap);
109 - if (map._value == val || map == val) return; 112 + if (map._value == val) return;
110 map._value = val; 113 map._value = val;
111 map.refresh(); 114 map.refresh();
112 } else { 115 } else {
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: 3.25.0 3 +version: 3.25.1
4 homepage: https://github.com/jonataslaw/getx 4 homepage: https://github.com/jonataslaw/getx
5 5
6 environment: 6 environment: