README
xEngine
Installation
Npm:
npm install xengine
Git clone:
git clone https://github.com/BStaniek21/xengine.git
Using:
const xEngine = require('xengine');
Available modules:
Config
Initiate:
const cfg = new xEngine.Config('path/to/config/file.json', [defaultValues, [separator]]);
API
Example config file:
{
"db": {
"host": "localhost",
"port": 27017,
},
"language": "en-US"
}
Get config:
const cString = cfg.get('db::host');
console.log(cString); // localhost
const cObject = cfg.get('db');
console.log(cObject); // {"host": "localhost", "port": 27017}
Set config:
Normal:
cfg.set('language', 'en-UK');
console.log(cfg.get('language')); // en-UK
Object:
const databaseConfig = cfg.get('db');
databaseConfig.port = 27000;
cfg.set('db', databaseConfig);
console.log(cfg.get('db')); // {"host": "localhost", "port": 27000}
Logger:
Initiate:
const log = new xEngine.Logger('Name', [saveToFile = true, [setGlobalFunction = false]]);
log.log('Example'); // [05:20:15][Name/LOG] Example
API:
Log:
log.log('Example'); // [05:20:15][Name/LOG] Example
Warn:
log.warn('Example'); // [05:20:15][Name/WARN] Example
Error:
log.error('Example'); // [05:20:15][Name/ERROR] Example
Save logs to file:
log.saveLog();
This function creates new log file.
Overwrite console functions:
const log = new xEngine.Logger('Console', true, true);
console.log('Example'); // [05:20:15][Console/LOG] Example
CLI:
Initiate:
const cli = new xEngine.CommandLineInterface([stdin = process.stdin[, stdout = process.stdout]]);
Create command:
const cmd = (cmd, ...args) => {
console.log(`${cmd} world!`);
}
cli.addCmd('hello', cmd);
Errors:
cli.on('cmdError', (errData) => {
const errCode = errData.error;
if (errCode === 'cmd_execute_error') {
const error = errData.err;
}
});
...