genql
Helper for SQL query generating and formatting
Install
npm i genql
Usage
const GenQL = require('genql');
const model = require('./data/model.json');
const $ = new GenQL(model);
const fields = $._select();
const fieldPrefix = $._select('$');
console.log(fields);
console.log(fieldPrefix);
// OUTPUT -> {{fields}}
// [
// 'id',
// 'name',
// 'email',
// 'COALESCE(NULLIF(class, ''), cls)',
// 'status'
// ]
// OUTPUT -> {{fieldPrefix}}
// [
// '$.id',
// '$.name',
// '$.email',
// 'COALESCE(NULLIF($.class, ''), cls)',
// '$.status'
// ]
API
_default(field)
Params
- field (string)
_insert(prefix)
auto
fields. Uses optional prefix
and appends it to column name
- Params
- prefix (String) {Optional}
_join(prefix)
join_key
as prefix which is defined in model. Uses optional prefix
and appends it to column name
- Params
- prefix (String) {Optional}
_findPrivate(prefix)
private
flag defined with it in the model. Uses optinal prefix
and appends it to column names
- Params
- prefix (String) {Optional}
_removePrivate(data)
data
object which are marked as private column in model
- Params
- data {JSON}
_values(data)
Params
- data (JSON)
_select(prefix)
prefix
and appends it to column name
- Params
- prefix (String) {Optional}
_update(fields, data)
Params
- fields (Array)
- data (JSON)
Note: Sample model definition is available in data/model.json
Contributing
Interested in contributing to this project? You can log any issues or suggestion related to this library hereRead our contributing guide on getting started with contributing to the codebase