UNPKG

@lotto24-angular/imports-orchestrator

Version:

Orchestrate dynamically imported components in Angular applications

30 lines (29 loc) 1.49 kB
import { Provider } from '@angular/core'; import { ImportResolveFn } from '../resolve'; export type ImportsOrchestratorConcurrency = ImportsOrchestratorFeature<ImportsOrchestratorFeatureKind.Concurrency>; export type ImportsOrchestratorInterceptor = ImportsOrchestratorFeature<ImportsOrchestratorFeatureKind.Interceptor>; export type ImportsOrchestratorRouting = ImportsOrchestratorFeature<ImportsOrchestratorFeatureKind.Routing>; export type ImportsOrchestratorTimeout = ImportsOrchestratorFeature<ImportsOrchestratorFeatureKind.Timeout>; export type ImportsOrchestratorLogger = ImportsOrchestratorFeature<ImportsOrchestratorFeatureKind.Logger>; export type ImportsOrhestratorQueue = ImportsOrchestratorFeature<ImportsOrchestratorFeatureKind.Queue>; export type ImportsOrchestratorOrchestration = ImportsOrchestratorFeature<ImportsOrchestratorFeatureKind.Orchestration>; export declare enum ImportsOrchestratorFeatureKind { Logger = 0, Timeout = 1, Routing = 2, Concurrency = 3, Interceptor = 4, Orchestration = 5, Queue = 6 } export type ImportsOrchestratorFeature<T extends ImportsOrchestratorFeatureKind> = { kind: T; providers: Provider[]; }; export declare function importsOrchestratorFeature<T extends ImportsOrchestratorFeatureKind>(kind: T, providers: Provider[]): ImportsOrchestratorFeature<T>; export type ImportsOrchestration = { [index: string]: number; }; export type ImportsStore = { [index: string]: string | ImportResolveFn; };