All files resolve-provider.ts

100% Statements 14/14
100% Branches 4/4
100% Functions 1/1
100% Lines 13/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 283x 3x     3x     15x 1x     14x 7x     7x 1x     6x   4x 2x     4x    
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;
};