1.2.0 • Published 6 years ago
config-for-dev v1.2.0
Config for dev
It is module can help you to makes easier a works with your settings.
Basic use
'use strict';
var configForDev = require('config-for-dev');
var config;
/**
* @param {(array|object)} data - array or object where settings is contained
* @returns {object} - instance of config-for-dev/app/index
*/
config = configForDev.createConfig({
prop: {
prop2: 'value'
}
});
// ======== OR =========
/**
* @param {string} filePath - path to file with settings.
* @returns {object} - instance of config-for-dev/app/index
*/
config = configForDev.createConfigFromFile('any-path-to-file/settings.json');
config.getByNamespace('prop.prop2'); // return "value"
See string-template
var config = configForDev.createConfig({
prop: {
prop2: '{value}'
}
});
config.template({value: 'value'});
config.getByNamespace('prop.prop2'); // return "value"
Methods
/**
* set value by string
* @param {string} namespaceString - example: "obj1.param1[0].val1"
* @param {*} value
*/
Application.prototype.set(namespaceString, value);
/**
* remove value by string
* @param {string} namespaceString - example: "obj1.param1[0].val1"
*/
Application.prototype.remove(namespaceString);
/**
* @param {string} namespaceString - example: "obj1.param1[0].val1"
* @param {*} defaultValue
* @returns {*} return default value if set parameter `defaultValue` or return undefined,
* return undefined if data is not found
*/
Application.prototype.getByNamespace(namespaceString, defaultValue);
/**
* @returns {(object|array)}
*/
Application.prototype.getData();
/**
* @param {string} namespaceString - example: "obj1.param1[0].val1"
* @returns {boolean}
*/
Application.prototype.has(namespaceString);
/**
* return true if data is success changed
* @param {(object|array)} dataReplace - example: {param: "value"}
* @throws {BaseError}
*/
Application.prototype.template(dataReplace);
Support
Andrey Sergovantsev a.sergovantsev@yandex.ru