cz
Version:
A simple config utility for nodejs
77 lines (55 loc) • 2.45 kB
Markdown
# cz
A simple config utility for Nodejs
## Table of contents
- [Quick start](#quick-start)
- [Status](#status)
<!-- - [What's included](#whats-included)
- [Bugs and feature requests](#bugs-and-feature-requests) -->
- [Documentation](#documentation)
<!-- - [Contributing](#contributing)
- [Community](#community)
- [Versioning](#versioning)
- [Creators](#creators)
- [Copyright and license](#copyright-and-license) -->
## Quick start
````js
const Cz = require('cz');
const config = new Cz();
// Loads the config file into Cz
config.load('./config.json');
// Sets Cz's default value for "port" to 4000
// If the value is unset using config.set('port', null) then Cz will fall back to 4000
config.defaults({
port: 4000
});
// Sets Cz to { random: 'random value' }
config.set('random', 'random value');
// This will return the whole config object currently loaded
console.log('config', config.get());
// This will get { db:{ host:{} } } from the config object
console.log('db:host', config.get('db:host'));
// Here's a typical example of how this is used
console.log('mongodb://' + config.get('db:username') + ':' + config.get('db:password') + '@' + config.get('db:host') + ':' + config.get('db:port') + '/' + config.get('db:collection'));
// Cz provides a little helper to join gets for you
console.log('mongodb://' + config.joinGets(['db:username', 'db:password', 'db:host', 'db:port', 'db:collection'], [':', '@', ':', '/']));
````
## Status
[](https://coveralls.io/github/OmgImAlexis/cz?branch=master)
[](https://travis-ci.org/OmgImAlexis/cz)
[](https://github.com/omgimalexis/cz/issues)
[](https://www.npmjs.com/package/cz)
## Documentation
Cz sets `defaults()` as the most bottom object and applies all changes to the config object on top of that meaning anywhere in your app you can use `config.defaults({})` to override the default values.
```js
const config = require('cz');
config.defaults({
port: 4000,
logging: false
});
config.set('port', 5000);
config.get('port'); // 5000
config.reset();
config.get('port'); // 4000
```
To reset defaults just use `config.defaults({});`
To reset the config itself we provide `config.reset();`