UNPKG

@towercg2/server

Version:

The server runtime for the TowerCG2 video graphics system.

21 lines (20 loc) 963 B
/// <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; }