2.3.1 • Published 3 years ago

config-settings v2.3.1

Weekly downloads
4
License
MIT
Repository
github
Last release
3 years ago

config-setttings

build status David deps Test coverage node version

NPM

install

npm install config-settings --save

Usage

Use with JsonConfig

{
    "var":"xxxx",
    "integer":111,
    "dir":"/var/xxx",
    "dirNotExist":"1234567890qwerty",
    "file":"/var/filename",
    "fileDirExist":"/var/filenotexist",
    "fileNotExist":"098987655oiouyuyt",
    "int":11,
    "notInt":"xx",
    "url":"http://baidu.com"
}
const config = require('../config.json');
const {JsonConfig} = require('config-settings');
const jsonConfig = new JsonConfig({
    configObject:config,
    schema: {
        'var': {type:String, required: true},
        'integer': {type:Number, required: true},
        'dir': {type:TYPE_DIRECTORY, required: true},
        'file': {type:TYPE_FILE, required: true},
        'int': {type:Number, required: true},
        'url':{type:TYPE_URL, required: true, afterParse: function(key, value, isFromWatch) {
            console.log('the url is ', value);
        }},
        'object': {
            type: {
                'key1': {type:String, required: true}
            }
        }
    }
});
var varstr = jsonConfig.getValue('var');//get xxxx
var integer = jsonConfig.getValue('integer');//get 111

Use the ConsulSyncConfig

const {ConsulSyncConfig} = require('config-settings');
const settings = new ConsulConfig({
    consulAddr:'127.0.0.1:8500', 
    schema: {
        'var': {type:String, required: true},
        'integer': {type:Number, required: true},
        'dir': {type:TYPE_DIRECTORY, required: true},
        'file': {type:TYPE_FILE, required: true},
        'int': {type:Number, required: true},
        'url': {type:TYPE_URL, required: true, afterParse: function(key, value, isFromWatch) {
            console.log('the url is ', value);
        }, watch: function(error, key, value) {
            console.log('the new url is ', value);
        }},
        'object': {
            type: {
                'key1': {type:String, required: true}
            }
        }
    }
});

const varstr =  settings.getValue('var');
const integer =  settings.getValue('integer');

Attention

When one of element parse failed, the module will throw Error in asynchronous way.

API

See the document of api

Test

You should set the environment variable of CONSUL_SERVER in format of ip:port before npm run.

License

MIT

3.2.0

3 years ago

3.1.0

3 years ago

3.0.0

3 years ago

2.3.1

3 years ago

2.3.0

3 years ago

2.2.0

3 years ago

2.1.0

3 years ago

2.0.3

3 years ago

2.0.2

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.0.0

4 years ago

0.2.2

4 years ago

0.2.1

6 years ago

0.2.0

6 years ago

0.1.0

6 years ago