UNPKG

tg-knex-query-resolver

Version:

TeselaGen's Knex based query resolver

33 lines (28 loc) 912 B
const expressionOperatorMap = require("./expression-map"); const logDebug = (...args) => { if (process.env.DEBUG_TG_QUERY_RESOLVER) { console.log(...args); } }; module.exports = function (filter, joinOperator) { var op = "where"; var chainOperator = filter.chainedWith || joinOperator || undefined; if (chainOperator) op = chainOperator + "Where"; var modifier = ""; if (filter.modifier === "not") modifier = "Not"; op += modifier; var expressionOperator = expressionOperatorMap[filter.operator]; if (expressionOperator) { if (typeof expressionOperator === "string") { var expOp = { op: op, args: [filter.field, expressionOperator, filter.args[0]], }; logDebug(expOp); return expOp; } else { return expressionOperator(filter, chainOperator); } } throw new Error("Unrecognized Expression Operator: " + filter.operator); };