value-box
v0.12.0
Published
Enum like project values.
Downloads
17
Readme
Value Box
Json
, Js
and Yaml
as plain old JavaScript all in one place.
ValueBox has two sets of values:
- Presets: Ready to use values
- Extended: Loaded from
json
,yaml
orjs
files.
Preset values
Without any config, ValueBox provides a few values out of the box:
- HTTP
- Methods: [GET, POST, PUT, DELETE]
- Status Codes
- Application Environments: DEV, PROD, TEST
- Mongoose Connection Status: DISCONNECTED, CONNECTED, CONNECTING, DISCONNECTING
Extended values
Assuming you have this folder structure in your application:
├── index.js
└── app
├── enums
│ ├── env.json
│ └── error-ids.yaml
└── etc
├── database.js
├── errors.js
└── stuff.js
And you want to use all the file of enums
folder across your app as plain js objects.
You could do it like this:
In the first lines of index.js
(assuming that this is where your app would start):
const vboxPath = require('value-box/path');
vboxPath(__dirname, ['/app/enums']);
Be sure that these two lines are the first thing to be executed in your app setup.
You must send __dirname
so that ValueBox can use your app's path instead of its own path.
ValueBox will map the received list of directories and export their paths to an environment variable called VALUE_BOX_PATH
.
After you did this setup, every time you require value-box
, it will read those folders and map all the valid files it find.
After the extended setup, value-box would give you something like:
{
//Presets:
environments: { /* Preset stuff */ },
http: { /* Preset stuff */ },
mongooseStatus: { /* Preset stuff */ },
// Mapped from the files:
env: { /* File content */ },
errorIds: { /* File content */ }
}
Follow your innermost convention instinct to get some values.
Or check all the options available:
const vbox = require('value-box');
console.log(vbox);