chore: Remove explicit throw when finding platformSpecificVersion

Signed-off-by: Sebastian Malton <sebastian@malton.name>
(cherry picked from commit 5db8fc1342)
This commit is contained in:
Sebastian Malton authored and Janne Savolainen committed 2023-04-06 11:01:50 +03:00
1 parent c522a48430
commit aab8255641
2 files changed
+11 -12

No files matched your search

@@ -17,17 +17,11 @@ const platformSpecificVersionInjectable = getInjectable({
instantiate: (di: DiContainerForInjection) => { instantiate: (di: DiContainerForInjection) => {
const targetPlatform = di.inject(platformInjectable); const targetPlatform = di.inject(platformInjectable);
return <T>(token: InjectionToken<PlatformSpecific<T>, void>) => { return <T>(token: InjectionToken<PlatformSpecific<T>, void>) => (
const impls = di.injectMany(token); di.injectMany(token)
.find(impl => impl.platform === targetPlatform)
const impl = impls.find(impl => impl.platform === targetPlatform); ?.instantiate()
);
if (!impl) {
throw new Error(`No platform specific implementation of "${token.id}" found`);
}
return impl.instantiate();
};
}, },
}); });
@@ -8,7 +8,12 @@ import { platformSpecificRequestSystemCAsInjectionToken, requestSystemCAsInjecti
const requestSystemCAsInjectable = getInjectable({ const requestSystemCAsInjectable = getInjectable({
id: "request-system-cas", id: "request-system-cas",
instantiate: (di) => di.inject(platformSpecificVersionInjectable)(platformSpecificRequestSystemCAsInjectionToken), instantiate: (di) => {
const platformSpecificVersion = di.inject(platformSpecificVersionInjectable);
const platformSpecificRequestSystemCAs = platformSpecificVersion(platformSpecificRequestSystemCAsInjectionToken);
return platformSpecificRequestSystemCAs ?? (async () => []);
},
injectionToken: requestSystemCAsInjectionToken, injectionToken: requestSystemCAsInjectionToken,
}); });