UNPKG

webssh2-server

Version:

A Websocket to SSH2 gateway using xterm.js, socket.io, ssh2

54 lines (53 loc) 1.86 kB
import type { Config } from '../types/config.js'; import type { Result } from '../types/result.js'; /** * Create default configuration * Pure function - no side effects * * @param sessionSecret - Optional session secret * @returns Default configuration object */ export declare function createDefaultConfig(sessionSecret?: string): Config; /** * Merge configurations in order of precedence * Pure function - returns new config without mutations * * @param defaultConfig - Default configuration * @param fileConfig - Configuration from file (optional) * @param envConfig - Configuration from environment (optional) * @returns Merged configuration */ export declare function mergeConfigs(defaultConfig: Config, fileConfig?: Partial<Config>, envConfig?: Partial<Config>): Config; /** * Process and validate configuration * Pure function - returns Result type * * @param defaultConfig - Default configuration * @param fileConfig - Configuration from file (optional) * @param envConfig - Configuration from environment (optional) * @returns Result with validated config or error */ export declare function processConfig(defaultConfig: Config, fileConfig?: Partial<Config>, envConfig?: Partial<Config>): Result<Config, { message: string; originalConfig: Config; }>; /** * Parse JSON configuration safely * Pure function - returns Result type * * @param jsonString - JSON string to parse * @returns Result with parsed config or error */ export declare function parseConfigJson(jsonString: string): Result<Partial<Config>, Error>; /** * Create CORS configuration from config * Pure function - no side effects * * @param config - Application configuration * @returns CORS configuration object */ export declare function createCorsConfig(config: Config): { origin: string[]; methods: string[]; credentials: boolean; };