@pulzar/core
Version:
Next-generation Node.js framework for ultra-fast web applications with zero-reflection DI, GraphQL, WebSockets, events, and edge runtime support
85 lines • 2.72 kB
TypeScript
export declare const CORE_TOKENS: {
readonly APP_CONFIG: symbol;
readonly APP_LOGGER: symbol;
readonly HTTP_SERVER: symbol;
readonly HTTP_ROUTER: symbol;
readonly HTTP_MIDDLEWARE: symbol;
readonly DATABASE_CONNECTION: symbol;
readonly DATABASE_CLIENT: symbol;
readonly CACHE_CLIENT: symbol;
readonly REDIS_CLIENT: symbol;
readonly EVENT_BUS: symbol;
readonly EVENT_PUBLISHER: symbol;
readonly EVENT_SUBSCRIBER: symbol;
readonly TASK_SCHEDULER: symbol;
readonly TASK_QUEUE: symbol;
readonly WS_GATEWAY: symbol;
readonly WS_SERVER: symbol;
readonly GRAPHQL_SCHEMA: symbol;
readonly GRAPHQL_RESOLVERS: symbol;
readonly TRACER: symbol;
readonly METRICS: symbol;
readonly AUTH_SERVICE: symbol;
readonly AUTH_GUARD: symbol;
readonly I18N_SERVICE: symbol;
readonly PLUGIN_MANAGER: symbol;
readonly PLUGIN_REGISTRY: symbol;
};
declare class TokenRegistry {
private customTokens;
create<T = any>(description: string): symbol;
has(description: string): boolean;
get(description: string): symbol | undefined;
list(): Array<{
description: string;
token: symbol;
}>;
clear(): void;
}
export declare const tokenRegistry: TokenRegistry;
export declare const DI_TOKENS: {
readonly create: any;
readonly has: any;
readonly get: any;
readonly APP_CONFIG: symbol;
readonly APP_LOGGER: symbol;
readonly HTTP_SERVER: symbol;
readonly HTTP_ROUTER: symbol;
readonly HTTP_MIDDLEWARE: symbol;
readonly DATABASE_CONNECTION: symbol;
readonly DATABASE_CLIENT: symbol;
readonly CACHE_CLIENT: symbol;
readonly REDIS_CLIENT: symbol;
readonly EVENT_BUS: symbol;
readonly EVENT_PUBLISHER: symbol;
readonly EVENT_SUBSCRIBER: symbol;
readonly TASK_SCHEDULER: symbol;
readonly TASK_QUEUE: symbol;
readonly WS_GATEWAY: symbol;
readonly WS_SERVER: symbol;
readonly GRAPHQL_SCHEMA: symbol;
readonly GRAPHQL_RESOLVERS: symbol;
readonly TRACER: symbol;
readonly METRICS: symbol;
readonly AUTH_SERVICE: symbol;
readonly AUTH_GUARD: symbol;
readonly I18N_SERVICE: symbol;
readonly PLUGIN_MANAGER: symbol;
readonly PLUGIN_REGISTRY: symbol;
};
export type CoreToken = (typeof CORE_TOKENS)[keyof typeof CORE_TOKENS];
export type Token<T = any> = CoreToken | symbol | string | (new (...args: any[]) => T);
export interface TokenProvider<T = any> {
token: Token;
value: T;
}
export interface TokenFactory<T = any> {
token: Token;
factory: () => T;
}
export interface TokenClass<T = any> {
token: Token;
class: new (...args: any[]) => T;
}
export {};
//# sourceMappingURL=tokens.d.ts.map