UNPKG

dicomweb-proxy

Version:

A proxy to translate between dicomweb and dimse

69 lines (61 loc) 1.59 kB
import conf from 'config'; export const enum ConfParams { LOG_DIR, STORAGE_PATH, XTRANSFER, MIMETYPE, SOURCE, PEERS, VERBOSE, MIN_CHARS, APPEND_WILDCARD, FETCH_LEVEL, MAX_ASSOCIATIONS, C_GET, HTTP_PORT, HTTP_IP, WEBSOCKET_URL, WEBSOCKET_TOKEN, CACHE_RETENTION, FULL_META, LOSSY_QUALITY, } const ConfDef = new Map([ [ConfParams.LOG_DIR, 'logDir'], [ConfParams.STORAGE_PATH, 'storagePath'], [ConfParams.XTRANSFER, 'transferSyntax'], [ConfParams.MIMETYPE, 'mimeType'], [ConfParams.SOURCE, 'source'], [ConfParams.PEERS, 'peers'], [ConfParams.VERBOSE, 'verboseLogging'], [ConfParams.MIN_CHARS, 'qidoMinChars'], [ConfParams.APPEND_WILDCARD, 'qidoAppendWildcard'], [ConfParams.FETCH_LEVEL, 'useFetchLevel'], [ConfParams.MAX_ASSOCIATIONS, 'maxAssociations'], [ConfParams.C_GET, 'useCget'], [ConfParams.HTTP_PORT, 'httpPort'], [ConfParams.HTTP_IP, 'httpIp'], [ConfParams.WEBSOCKET_URL, 'websocketUrl'], [ConfParams.WEBSOCKET_TOKEN, 'websocketToken'], [ConfParams.CACHE_RETENTION, 'cacheRetentionMinutes'], [ConfParams.FULL_META, 'fullMeta'], [ConfParams.LOSSY_QUALITY, 'lossyQuality'], ]); interface IConfig { get<T>(setting: ConfParams): T; has(setting: ConfParams): boolean; } class Config implements IConfig { get<T>(setting: ConfParams): T { const s = ConfDef.get(setting); if (s) { return conf.get(s); } return conf.get(''); } has(setting: ConfParams): boolean { const s = ConfDef.get(setting); return s ? conf.has(s) : false; } } export const config = new Config();