# xengine

> Tools

Latest version **1.0.2** (published 2016-05-04) · MIT license · 0 weekly downloads

## Install

```sh
npm install xengine
pnpm add xengine
yarn add xengine
bun add xengine
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.2 |
| Published | 2016-05-04 |
| First published | 2016-04-30 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | BStaniek21 |
| Maintainers | rexun |
| Keywords | xengine, engine, rexun_engine, bstaniek21_engine, tools, toolkit, framework |

## Links

- npm: https://www.npmjs.com/package/xengine
- npm.io page: https://npm.io/package/xengine

## Alternatives

- [@sveltejs/kit](https://npm.io/package/@sveltejs/kit.md) — 2.2M weekly downloads
- [@atlaskit/theme](https://npm.io/package/@atlaskit/theme.md) — 402.0K weekly downloads
- [@tangle-network/brand](https://npm.io/package/@tangle-network/brand.md) — 10.0K weekly downloads
- [seneca](https://npm.io/package/seneca.md) — 7.4K weekly downloads
- [@bsb/base](https://npm.io/package/@bsb/base.md) — 7.2K weekly downloads

## Recent versions

- 1.0.2 (latest) — 2016-05-04
- 1.0.1 — 2016-05-04
- 1.0.0 — 2016-04-30

## README

# xEngine
## Installation
Npm:
```bash
npm install xengine
```
Git clone:
```bash
git clone https://github.com/BStaniek21/xengine.git
```

## Using:
```javascript
const xEngine = require('xengine');
```

## Available modules:
### Config

#### Initiate:
```javascript
const cfg = new xEngine.Config('path/to/config/file.json', [defaultValues, [separator]]);
```

#### API
Example config file:
```json
{
  "db": {
    "host": "localhost",
    "port": 27017,
  },
  "language": "en-US"
}
```

##### Get config:
```javascript
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:*
```javascript
cfg.set('language', 'en-UK');
console.log(cfg.get('language')); // en-UK
```

*Object:*
```javascript
const databaseConfig = cfg.get('db');
databaseConfig.port = 27000;
cfg.set('db', databaseConfig);
console.log(cfg.get('db')); // {"host": "localhost", "port": 27000}
```

### Logger:

#### Initiate:
```javascript
const log = new xEngine.Logger('Name', [saveToFile = true, [setGlobalFunction = false]]);

log.log('Example'); // [05:20:15][Name/LOG] Example
```

#### API:

##### Log:
```javascript
log.log('Example'); // [05:20:15][Name/LOG] Example
```

##### Warn:
```javascript
log.warn('Example'); // [05:20:15][Name/WARN] Example
```

##### Error:
```javascript
log.error('Example'); // [05:20:15][Name/ERROR] Example
```

##### Save logs to file:
```javascript
log.saveLog();
```
This function creates new log file.

##### Overwrite console functions:
```javascript
const log = new xEngine.Logger('Console', true, true);

console.log('Example'); // [05:20:15][Console/LOG] Example
```

### CLI:

#### Initiate:
```javascript
const cli = new xEngine.CommandLineInterface([stdin = process.stdin[, stdout = process.stdout]]);
```

#### Create command:
```javascript
const cmd = (cmd, ...args) => {
  console.log(`${cmd} world!`);
}

cli.addCmd('hello', cmd);
```

#### Errors:
```javascript
cli.on('cmdError', (errData) => {
  const errCode = errData.error;
  if (errCode === 'cmd_execute_error') {
    const error = errData.err;
  }
});
```

__...__

---
_Source: https://npm.io/package/xengine · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
