UNPKG

pg-query-config

Version:
41 lines (40 loc) 1.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createCondition = void 0; const wrappers_1 = require("./wrappers"); const operators_1 = require("./operators"); const createCondition = (object) => { const conditionMap = new Map(); for (const prop in object) { if (Array.isArray(object[prop])) { conditionMap.set(prop, operators_1.In(object[prop])); } else if (object[prop] === null) { conditionMap.set(prop, object[prop]); } else if (typeof object[prop] === 'object') { createJsonCondition(wrappers_1.wrap(prop), object[prop], conditionMap); } else if (object[prop] !== undefined) { conditionMap.set(prop, object[prop]); } } return conditionMap; }; exports.createCondition = createCondition; const createJsonCondition = (key, object, conditionMap) => { for (const prop in object) { if (Array.isArray(object[prop])) { conditionMap.set(`${key}->>'${prop}'`, operators_1.In(object[prop])); } else if (object[prop] === null) { conditionMap.set(`${key}->>'${prop}'`, object[prop]); } else if (typeof object[prop] === 'object') { createJsonCondition(`${key}->'${prop}'`, object[prop], conditionMap); } else if (object[prop] !== undefined) { conditionMap.set(`${key}->>'${prop}'`, object[prop]); } } };