envstrict
v1.5.0
Published
schema like definitions for environment variables, throws an exception when missing required variables. Has a few helper methods exposed for filtering, merging an objects keys, and a few other things.'
Downloads
22
Readme
envstrict
schema like definitions for environment variables, throws an exception when missing required variables. Has a few helper methods exposed for filtering, merging an objects keys, and a few other things.
Usage
const envstrict = require('envstrict');
const envs = envstrict([{
key: 'NODE_ENV',
required: false,
default: 'development',
transformer: (val) => val.toUpperCase(),
rename: 'environment',
mutate: true
}, {
key: 'PORT',
required: true
}, {
key: 'FILE_PATHS',
delim: /,\s?/,
default: '~/app/dir1,~/app/dir2,~/app/dir3'
}]);
API
.add
, .and
, .get
- Aliased method to add after initial object creation.
const envstrict = require('envstrict');
const envs = envstrict([ /* objects go here */ ]);
envs.add({ key: 'SOME_ENV_VAR' });
Tests
$ npm test
> [email protected] test /home/higgamuffin/code/envstrict
> mocha test/ -R spec
Tests for EnvStrict
✓ should have transformed the key for `NODE_ENV` to `environment`
✓ should be able to transform `environment` value to `DEVELOPMENT`
✓ should be able to delimit `FILE_PATHS` to an array
✓ throws an error when a required key is not found
✓ should accept an object instead of an array
✓ should be able to add variables after initial object creation
✓ throws an error if passed an undefined
✓ should be able to handle undefined keys when mutate is `true`
✓ should be able to transform a `String` as an object key
✓ should be able to transform a `Number` as an object key
✓ should be able to transform a `Boolean` as an object key
11 passing (23ms)