config-file-helper
v0.1.1
Published
Config File That Helper, Take default object, Save it to the wanted file, and let you Change the file programmatically.
Downloads
10
Maintainers
Readme
config-file-helper
Config File That Helper, Take default object, Save it to the wanted file, and let you Change the file programmatically.
npmjs/config-file-helper
github/YotamHassin/config-file-helper
Installation
cd <my_location>
npm install config-file-helper --save
Usage
TypeScript
TS Flat Object
import * as configHelper from 'config-file-helper';
// No complex object
interface ConfigType {
name: string;
val: number;
}
// Not to be changed, saved as default and backup for file.
const _configObject: ConfigType = {
name: "some name",
val: 5,
};
// flat object, No complex nested objects.
const configFileObject: ConfigType = configHelper.initConfigObject<ConfigType>('configObject.js', _configObject);
console.log('print configFileObject.name: ', configFileObject.name);
console.log('print configFileObject.val: ', configFileObject.val);
configFileObject.val+=5;
console.log('after update print configFileObject.val: ', configFileObject.val);
TS Complex Object
/* --- complex object example --- */
import * as configHelper from 'config-file-helper';
// defaultObject to init if file damages/not exist
interface ConfigTypeComplex {
name: string;
arr: Array<{innerName: string, val: number}>
}
const defaultObjectComplex: ConfigTypeComplex = {
name: 'some name',
arr: [{innerName: 'some inner name', val: 3}]
};
const fileObjectHandler = configHelper.
FileObjectHandler._('configFileObject.js', defaultObjectComplex);
function print() {
var val: number = fileObjectHandler.get().arr[0].val;
console.log('val: ', val);
}
function update() {
fileObjectHandler.set((obj: ConfigTypeComplex) => {
obj.arr[0].val += 3;
});
}
print();
update();
print();
JavaScript
JS Flat Object
/* --- flat object example, Not for complex\nested objects --- */
const configHelper = require('config-file-helper');
const configFileObject = configHelper.initConfigObject('./configFileObject.js', { name: 'some name', val: 5 });
console.log('print configFileObject.name: ', configFileObject.name);
console.log('print configFileObject.val: ', configFileObject.val);
configFileObject.val+=5;
console.log('after update print configFileObject.val: ', configFileObject.val);
JS Complex Object
/* --- complex object example --- */
const configHelper = require('config-file-helper');
// defaultObject to init if file damages/not exist
const defaultObject = {
name: 'some name',
arr: [{innerName: 'some inner name', val: 3}]
};
const fileObjectHandler = configHelper.
FileObjectHandler._('configFileObject.js', defaultObject);
function print() {
var val = fileObjectHandler.get().arr[0].val;
console.log('val: ', val);
}
function update() {
fileObjectHandler.set((obj) => {
obj.arr[0].val += 3;
});
}
print();
update();
print();