1.4.1 • Published 1 year ago
@coderspirit/safe-env v1.4.1
@coderspirit/safe-env
Small library to load strongly typed values from environment variables and enforcing constraints on them.
Install instructions
Node
# With PNPM
pnpm add @coderspirit/safe-env
# With NPM
npm install @coderspirit/safe-env
# Or with Yarn:
yarn add @coderspirit/safe-envExample
import { getSafeEnv } from '@coderspirit/safe-env'
// It validates the specified constraints at construction time
const safeEnv = getSafeEnv(process.env, {
host: { type: 'string', default: 'localhost' },
port: { type: 'uint16', default: 4321 },
githubToken: { type: 'string', optional: true },
secretToken: { type: 'string' },
})
// It leverages the powerful TypeScript's type system to tell you at
// compile time if you made a mistake.
const host = safeEnv.get('hostt') // Type Error
const host = safeEnv.get('host') // All good
// The return type tells you not only that you have a number, but also
// that it is an integer and positive.
const port = safeEnv.get('port')
// It will return undefined if the variable does not exist
const githubToken = safeEnv.get('githubToken')
// It fill fail if the variable does not exist
const secretToken = safeEnv.get('secretToken')Supported types
booleanstringandstring[]int8,int16,int32,int54int8[],int16[],int32[],int54[]uint8,uint16,uint32uint8[],uint16[],uint32[]
Supported Constraints
For numbers
minmax
For strings
minLengthmaxLengthpattern: regular expression object.
For arrays
minLengthmaxLengthvalueConstraints: number or string constraints.