MCPcopy Index your code
hub / github.com/angular/angular / flattenProviders

Function flattenProviders

packages/core/testing/src/test_bed_compiler.ts:1205–1221  ·  view source on GitHub ↗
(
  providers: Array<Provider | InternalEnvironmentProviders>,
  mapFn: (provider: Provider) => any = identityFn,
)

Source from the content-addressed store, hash-verified

1203): T[];
1204function flattenProviders(providers: Array<Provider | InternalEnvironmentProviders>): Provider[];
1205function flattenProviders(
1206 providers: Array<Provider | InternalEnvironmentProviders>,
1207 mapFn: (provider: Provider) => any = identityFn,
1208): any[] {
1209 const out: any[] = [];
1210 for (let provider of providers) {
1211 if (isEnvironmentProviders(provider)) {
1212 provider = provider.ɵproviders;
1213 }
1214 if (Array.isArray(provider)) {
1215 out.push(...flattenProviders(provider, mapFn));
1216 } else {
1217 out.push(mapFn(provider));
1218 }
1219 }
1220 return out;
1221}
1222
1223function getProviderField(provider: Provider, field: string) {
1224 return provider && typeof provider === 'object' && (provider as any)[field];

Callers 2

getProviderOverridesMethod · 0.85

Calls 3

isEnvironmentProvidersFunction · 0.85
isArrayMethod · 0.80
pushMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…