0.1.1 • Published 4 years ago

config-file-helper v0.1.1

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

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();

Join me on the quest to make Computer, Software and Development Simple.

Patreon/YotamHassin

0.1.0

4 years ago

0.1.1

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.3

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago