-
Notifications
You must be signed in to change notification settings - Fork 1
/
env-sample.ts
37 lines (31 loc) · 1.08 KB
/
env-sample.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import { UnifiedEnv } from '../../src/index';
/**
* In this example, UnifiedEnv will parse the `process.env`
* and return an object with the requested config
*
* From the root directory run the following command
* ``` sh
* npm run sample:env
* ```
*
* OR, run this command
* ``` sh
* APP_VAR='app variable' APP_BOOL=false APP_PORT=3000 ts-node samples/env/env-sample.ts
* ```
*/
const environment = new UnifiedEnv({
APP_VAR: true, // `true` = a required, string
APP_BOOL: { required: true, type: Boolean }, // a required boolean
APP_PORT: { required: true, type: Number, acceptableValues: [2000, 3000, 4000] }, // a required number of 2000, 3000, or 4000
APP_DEFAULT: { required: true, defaultValue: 'app default' } // required with a defaultt value
})
.env() // parse `process.env`
.generate(); // generate the env object
console.log('env-sample.ts generated environment: \n');
console.log(environment);
/* console output will be */
// { APP_VAR: 'app variable',
// APP_BOOL: false,
// APP_PORT: 3000,
// APP_DEFAULT: 'app default' }
export default environment;