@lpgera/ts-env
TypeScript icon, indicating that this package has built-in type declarations

1.2.5 • Public • Published

ts-env

An environment variable reader for TypeScript. Simple and minimal. ✨

npm package Actions Status Coverage Status Dependencies Size License

Install

This package requires typescript to be installed.

# with npm
npm install @lpgera/ts-env

# or with Yarn
yarn add @lpgera/ts-env

Example

Reading different types of environment variables without ts-env:

if (!process.env.PORT) {
  throw new Error('process.env.PORT is missing')
}
if (!process.env.DATABASE) {
  throw new Error('process.env.DATABASE is missing')
}

const port: number = parseInt(process.env.PORT)
const database: string = process.env.DATABASE
const debug: boolean | undefined = process.env.DEBUG === 'true'

Doing the same with ts-env:

import tsEnv from '@lpgera/ts-env'

const port: number = tsEnv.numberOrThrow('PORT')
const database: string = tsEnv.stringOrThrow('DATABASE')
const debug: boolean | undefined = tsEnv.boolean('DEBUG')

API

.string(key: string): string | undefined

Reads a string value from process.env[key].

.stringOrThrow(key: string): string

Reads a string value from process.env[key]. Throws an error if it's undefined.

.boolean(key: string): boolean | undefined

Reads a boolean value from process.env[key]. "0" and "false" are considered false, "1" and "true" are considered true. Everything else will be read as undefined.

.booleanOrThrow(key: string): boolean

Reads a boolean value from process.env[key]. "0" and "false" are considered false, "1" and "true" are considered true. Everything else will result in an error thrown.

.number(key: string): number | undefined

Reads a number value from process.env[key]. If a number cannot be parsed, it will return undefined.

.numberOrThrow(key: string): number

Reads a number value from process.env[key]. If a number cannot be parsed, an error will be thrown.

.stringArray(key: string, separator: string = ','): string[] | undefined

Reads a string array from process.env[key].

.stringArrayOrThrow(key: string, separator: string = ','): string[]

Reads a string array from process.env[key]. Throws an error if it's undefined.

.numberArray(key: string, separator: string = ','): number[] | undefined

Reads a number array from process.env[key]. If any item cannot be parsed, it will return undefined.

.numberArrayOrThrow(key: string, separator: string = ','): number[]

Reads a number array from process.env[key]. If any item cannot be parsed, an error will be thrown.

Package Sidebar

Install

npm i @lpgera/ts-env

Weekly Downloads

1,076

Version

1.2.5

License

MIT

Unpacked Size

12.4 kB

Total Files

27

Last publish

Collaborators

  • lpgera