environment
The environment
package provides functions read from the execution environment.
Types
MissingVarError
Resembles the error when the environment variable doesn't exist for a read attempt.
interface MissingVarError {
kind: 'missing-var-error';
key: string;
}
Production
Interface representing a production environment.
interface Production {
kind: 'production';
}
Development
Interface representing a development environment.
interface Development {
kind: 'development';
}
Unknown
Interface representing an unknown environment.
interface Unknown {
kind: 'unknown';
}
Environment
type Environment = Production | Development | Unknown;
Functions
missingVarError
This function takes an environment variable name and constructs a MissingVarError
type from it.
import { missingVarError, MissingVarError } from '@execonline-inc/environment';
const result: MissingVarError = missingVarError('SOME_ENV_VAR');
// { kind: 'missing-var-error', key: 'SOME_ENV_VAR' }
readVarM
This function reads for a given key from process.env
and wraps the value in a Maybe
. When a value exists for the key, the result is a Just
, otherwise it is a Nothing
.
import { readVarM } from '@execonline-inc/environment';
import { Maybe } from 'maybeasy';
const result: Maybe<string> = readVarM('SOME_ENV_VAR');
readVarR
Like readVarM
, but the condition for no value is an error Result
.
import { MissingVarError, readVarR } from '@execonline-inc/environment';
import { Result } from 'resulty';
const result: Result<MissingVarError, string> = readVarR('SOME_ENV_VAR');
readVarT
Like readVarR
, but as a Task
instead of a Result
.
import { MissingVarError, readVarT } from '@execonline-inc/environment';
import { Task } from 'taskarian';
const result: Task<MissingVarError, string> = readVarT('SOME_ENV_VAR');
environment
This function reads the NODE_ENV
environment variable and returns an object representing the detected environment.
import { environment, Environment } from '@execonline-inc/environment';
const result: Environment = environment();