ngx-fastboot
Version:
ngx-fastboot is an Angular library designed to dynamically load configuration settings at runtime, optimizing application startup performance by offloading configurations to a separate compilation chunk.
28 lines (21 loc) • 613 B
text/typescript
import { isTypeProvider } from './is-type-provider';
import { loadModule } from './load-module';
import { AngularProvider, FastProvider } from './types';
export const resolveProvider = async (
provider: FastProvider,
): Promise<Array<AngularProvider>> => {
if (Array.isArray(provider)) {
return provider;
}
if (typeof provider !== 'function') {
return [provider];
}
if (isTypeProvider(provider)) {
return [provider];
}
let loadedProvider = await loadModule(provider);
if (!Array.isArray(loadedProvider)) {
loadedProvider = [loadedProvider];
}
return loadedProvider;
};