@lotto24-angular/imports-orchestrator
Version:
Orchestrate dynamically imported components in Angular applications
30 lines (29 loc) • 1.49 kB
TypeScript
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;
};