Jonny Borges
Committed by GitHub

Merge pull request #1545 from lemps/add_deleteAll

Allow deleting all registered instances
@@ -109,6 +109,13 @@ extension Inst on GetInterface { @@ -109,6 +109,13 @@ extension Inst on GetInterface {
109 Future<bool> delete<S>({String? tag, bool force = false}) async => 109 Future<bool> delete<S>({String? tag, bool force = false}) async =>
110 GetInstance().delete<S>(tag: tag, force: force); 110 GetInstance().delete<S>(tag: tag, force: force);
111 111
  112 + /// Deletes all Instances, cleaning the memory and closes any open
  113 + /// controllers ([DisposableInterface]).
  114 + ///
  115 + /// - [force] Will delete the Instances even if marked as [permanent].
  116 + Future<void> deleteAll({bool force = false}) async =>
  117 + GetInstance().deleteAll(force: force);
  118 +
112 void reloadAll({bool force = false}) => GetInstance().reloadAll(force: force); 119 void reloadAll({bool force = false}) => GetInstance().reloadAll(force: force);
113 120
114 void reload<S>({String? tag, String? key, bool force = false}) => 121 void reload<S>({String? tag, String? key, bool force = false}) =>
@@ -414,6 +414,16 @@ class GetInstance { @@ -414,6 +414,16 @@ class GetInstance {
414 return true; 414 return true;
415 } 415 }
416 416
  417 + /// Delete all registered Class Instances and, closes any open
  418 + /// controllers [DisposableInterface], cleans up the memory
  419 + ///
  420 + /// - [force] Will delete the Instances even if marked as [permanent].
  421 + void deleteAll({bool force = false}) {
  422 + _singl.forEach((key, value) {
  423 + delete(key: key, force: force);
  424 + });
  425 + }
  426 +
417 void reloadAll({bool force = false}) { 427 void reloadAll({bool force = false}) {
418 _singl.forEach((key, value) { 428 _singl.forEach((key, value) {
419 if (value.permanent && !force) { 429 if (value.permanent && !force) {