webssh2-server
Version:
A Websocket to SSH2 gateway using xterm.js, socket.io, ssh2
54 lines (53 loc) • 1.86 kB
TypeScript
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;
};