ensureInstanceFor static method
Ensure type
singleton instances exists
Used as availability check point for future singletons
await Singleton.ensureInstanceFor(MySingleton);
await Singleton.ensureInstanceFor(Singleton<MyService>());
await Singleton.ensureInstanceFor([MySingleton, MyAnotherSingleton]);
await Singleton.ensureInstanceFor(Singleton.key<MyService>("service1"));
await Singleton.ensureInstanceFor([Singleton.withName<MyService>("service1"), Singleton.withName<MyService>("service2")]);
Implementation
static Future ensureInstanceFor(dynamic type) {
final singleton = _findSingletons(type);
if (singleton is Singleton) {
return singleton.ensuredInstance();
} else {
print(singleton);
final futures =
(singleton as Iterable<Singleton>).map((e) => e.ensuredInstance());
return Future.wait(futures);
}
}