Files
huly-platform/services/print/pod-print/src/config.ts
T
2024-10-21 23:23:26 +07:00

28 lines
659 B
TypeScript

//
// Copyright © 2024 Hardcore Engineering Inc.
//
export interface Config {
Port: number
Secret: string
}
const parseNumber = (str: string | undefined): number | undefined => (str !== undefined ? Number(str) : undefined)
const config: Config = (() => {
const params: Partial<Config> = {
Port: parseNumber(process.env.PORT) ?? 4005,
Secret: process.env.SECRET
}
const missingEnv = (Object.keys(params) as Array<keyof Config>).filter((key) => params[key] === undefined)
if (missingEnv.length > 0) {
throw Error(`Missing config for attributes: ${missingEnv.join(', ')}`)
}
return params as Config
})()
export default config