/** * Type-safe configuration helpers * * Provides utilities for safely accessing and modifying configuration objects * with dynamic keys while maintaining TypeScript type safety. */ /** * Type-safe helper to access config properties dynamically * Provides better type safety than direct casting to Record */ export function setConfigValue( config: T, key: string, value: unknown ): void { if (key in config) { (config as Record)[key] = value; } } /** * Type-safe helper to get config values dynamically */ export function getConfigValue( config: T, key: string ): string | number | boolean | undefined { const value = (config as Record)[key]; return value as string | number | boolean | undefined; } /** * Convert a SettingsConfigType to a ParameterRecord for specific keys * Useful for parameter synchronization operations */ export function configToParameterRecord( config: T, keys: string[] ): Record { const record: Record = {}; for (const key of keys) { const value = getConfigValue(config, key); if (value !== undefined) { record[key] = value; } } return record; }