@digitsole/blackburn-configuration
v1.1.0
Published
Retrieving and validate environment variables
Downloads
30
Readme
@digitsole/blackburn-configuration
Installation
pnpm install @digitsole/blackburn-configuration
Overview
This is a utility for retrieving and validate environment variables.
Usage
Factories
configFactory
Create a configuration object
import { configFactory, get } from '@digitsole/blackburn-configuration';
const config = configFactory({
thing: get('thing', 'string'),
});
configFactoryWithComputed
Create a configuration object with the ability to process computed values
import { configFactoryWithComputed, get } from '@digitsole/blackburn-configuration';
const config = configFactoryWithComputed({
thing: get('thing', 'string'),
another: get('another', 'string'),
}, ({ something }) => ({
combo: thing + another
}));
Retrievers
The variables must be declared as follows :
CONFIG_THING=lorem
Warning : the
CONFIG
prefix is mandatory
A retriever will check if the value exist and, if declared, do a validation related to the validation type.
get
Retrieve the value of an environment variable and throw if the variable isn't found AND if default value isn't defined
Usage examples :
// Check if `CONFIG_THING` exist and verify if this value is a `string`
const thing = get('thing', 'string');
// Check if `CONFIG_THING2` exist and verify if this value is a `boolean`
const thing2 = get('thing2', 'boolean');
// Check if `CONFIG_THING3` exist and don't verify the type (not recommended)
const thing3 = get('thing3');
// Check if `CONFIG_THING` exist, if not use the default value instead
const thing4 = get('thing4', 'string', 'ipsum');
// Check if `CONFIG_THING_NESTED` exist and verify if this value is a `boolean`
const thingNested = get('thing.nested', 'boolean');
getOrThrow
(mostly recommended)
Retrieve the value of an environment variable and throw if the variable isn't found.
It's the same behaviour as get
, except that the default value disappears.
Errors
ConfigNotFoundError
ConfigTypeError