@towercg2/server
Version:
The server runtime for the TowerCG2 video graphics system.
21 lines (20 loc) • 963 B
TypeScript
/// <reference types="bunyan" />
import Bunyan from "bunyan";
import { ServerPluginConfig, ServerPluginClassBase, ServerPluginClass, ServerPlugin } from "./ServerPlugin";
import { AuthnFunction } from "./auth";
export interface ServerPluginRecordBase {
type: ServerPluginClassBase;
config: Partial<ServerPluginConfig>;
}
export interface ServerPluginRecord<TConfig extends ServerPluginConfig, TState extends object, TPlugin extends ServerPlugin<TConfig, TState>> extends ServerPluginRecordBase {
type: ServerPluginClass<TConfig, TPlugin>;
config: Partial<TConfig>;
}
export declare class Config {
port: number;
logger: Bunyan;
authnFn: AuthnFunction;
dataDirectory: string;
readonly plugins: Array<ServerPluginRecordBase>;
registerPlugin<TConfig extends ServerPluginConfig, TState extends object, TPlugin extends ServerPlugin<TConfig, TState>>(type: ServerPluginClass<TConfig, TPlugin>, config?: Partial<TConfig>): void;
}