@sentzunhat/zacatl
Version:
A modular, high-performance TypeScript microservice framework for Node.js, featuring layered architecture, dependency injection, and robust validation for building scalable APIs and distributed systems.
45 lines • 1.59 kB
TypeScript
import { ApiServer } from './api/api-server';
import type { ApiServerPort } from './api/port';
import { DatabaseServer } from './database/database-server';
import type { DatabaseConfig } from './database/port';
import { PageServer } from './page/page-server';
import type { PageServerPort } from './page/port';
import { type HttpServerConfig } from './types/server-config';
import type { RestApplicationEntryPoints } from '../../layers/application/types';
interface ServerPageConfig {
devServerUrl?: string;
staticDir?: string;
customRegister?: (server: unknown) => Promise<void> | void;
apiPrefix?: string;
}
export interface ConfigServer {
name: string;
server: HttpServerConfig;
databases: Array<DatabaseConfig>;
page?: ServerPageConfig;
port: number;
entryPoints?: RestApplicationEntryPoints;
}
export declare class Server {
private readonly config;
private readonly apiAdapter;
private readonly pageAdapter;
private apiServer?;
private pageServer?;
private databaseServer?;
constructor(config: ConfigServer);
private createAdapters;
private initializeServers;
private configureDatabases;
registerEntrypoints(entryPoints: RestApplicationEntryPoints): Promise<void>;
getApiAdapter(): ApiServerPort;
getPageAdapter(): PageServerPort;
getApiServer(): ApiServer | undefined;
getPageServer(): PageServer | undefined;
getDatabaseServer(): DatabaseServer | undefined;
start(options?: {
port?: number;
}): Promise<void>;
}
export {};
//# sourceMappingURL=server.d.ts.map