config-for-dev

1.2.0 • Public • Published

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

Package Sidebar

Install

npm i config-for-dev

Weekly Downloads

1

Version

1.2.0

License

MIT

Last publish

Collaborators

  • demon-php