This module helps in solving the problem of managing global variable in nodejs application. Set the global variable using global-node class and get it anywhere in application using the same class. It helps in writing clean and maintainable code.
Below npm v5.0.0
$ npm install global-node --save
Above v5.0.0
$ npm install global-node
Require the module
const globalNode = require('global-node');
Basic add and get properties
/*
in app.js
make a instance of global-node by just requiring the module
and set some properties
*/
const globalNode = require('global-node');
globalNode.setProperty('key', 'value');
const val = globalNode.getValue('key');
console.log(val) // -> value;
/*
now in some other file just get the variable by requiring the module and calling getValue('key'); function
*/
const val = globalNode.getValue('key');
console.log(val) // -> value;
Get the value of the property.
const val = globalNode.getValue(key);
console.log(val)
Delete the property.
// if property doesn't exist it will throw an error
globalNode.deleteProperty(key);
List all the properties.
globalNode.setProperty('key', 'value');
globalNode.setProperty('key2', 'value2');
const lst = globalNode.listProperty() // returns and array
console.log(lst) // [ key, key2 ];
Check if property exist.
globalNode.setProperty('key', 'value');
const isExist = globalNode.isPropertyExist('key');
console.log(isExist) // true;
isExist = globalNode.isPropertyExist('nokey');
console.log(isExist) // false;
Clear all the global properties
globalNode.setProperty('key', 'value');globalNode.emptyAll()
const lst = globalNode.listProperty() // returns and array
console.log(lst) // [ ]; // removed all the property from the global object
You can get the default global variables from the file by setting the environment variable GLOBAL_CONFIG_FILE='/pathtofile' this must be the absolute path to the file and the file must be a valid JSON otherwise it will throw and error.
$ npm install
$ npm run test
$ npm run test:coverage // for coverage
- Test 1: File exist
- Test 2: File not exists
- Test 3: Check Property Exists
- Test 4: Get Property
- Test 5: Get Property After Set
- Test 6: Delete Property After Set
- Test 7: Property Don't Exist
- Test 8: Property Do Exist
- Test 9: List Property
- Test 10: Get Property After Set
- Test 11: Get After Delete Property
- Test 12: Delete Non existing Property
- Test 13: Property Don't Exist
- Test 14: Property Do Exist
- Test 15: List Property
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Please make sure to update tests as appropriate.