Lembit Lõpp

Allow deleting all registered instances

@@ -96,10 +96,7 @@ class GetInstance { @@ -96,10 +96,7 @@ class GetInstance {
96 @deprecated InstanceBuilderCallback<S>? builder, 96 @deprecated InstanceBuilderCallback<S>? builder,
97 }) { 97 }) {
98 _insert( 98 _insert(
99 - isSingleton: true,  
100 - name: tag,  
101 - permanent: permanent,  
102 - builder: builder ?? (() => dependency)); 99 + isSingleton: true, name: tag, permanent: permanent, builder: builder ?? (() => dependency));
103 return find<S>(tag: tag); 100 return find<S>(tag: tag);
104 } 101 }
105 102
@@ -414,6 +411,16 @@ class GetInstance { @@ -414,6 +411,16 @@ class GetInstance {
414 return true; 411 return true;
415 } 412 }
416 413
  414 + /// Delete all registered Class Instances and, closes any open
  415 + /// controllers [DisposableInterface], cleans up the memory
  416 + ///
  417 + /// - [force] Will delete the Instances even if marked as [permanent].
  418 + void deleteAll({bool force = false}) {
  419 + _singl.forEach((key, value) {
  420 + delete(key: key, force: force);
  421 + });
  422 + }
  423 +
417 void reloadAll({bool force = false}) { 424 void reloadAll({bool force = false}) {
418 _singl.forEach((key, value) { 425 _singl.forEach((key, value) {
419 if (value.permanent && !force) { 426 if (value.permanent && !force) {