UNPKG

@pulzar/core

Version:

Next-generation Node.js framework for ultra-fast web applications with zero-reflection DI, GraphQL, WebSockets, events, and edge runtime support

38 lines 1.22 kB
import { Token } from "./tokens"; export interface ModuleDefinition { name: string; imports: string[]; exports: Token[]; namespace?: string; providers?: Token[]; } export interface ModuleGraph { modules: Map<string, ModuleDefinition>; dependencies: Map<string, string[]>; exports: Map<string, Token[]>; } export declare class ModuleRegistry { private modules; private resolved; register(module: ModuleDefinition): void; getModule(name: string): ModuleDefinition | undefined; getAllModules(): ModuleDefinition[]; hasModule(name: string): boolean; resolve(): ModuleGraph; private validateDependencies; private hasCircularDependency; private topologicalSort; getExportedProviders(moduleName: string): Token[]; resolveImport(moduleName: string, providerToken: Token): boolean; getModuleNamespace(moduleName: string): string | undefined; clear(): void; getStats(): { totalModules: number; resolved: boolean; moduleNames: string[]; totalExports: number; }; } export declare function createModuleRegistry(): ModuleRegistry; export default ModuleRegistry; //# sourceMappingURL=module-registry.d.ts.map