UNPKG

dynamodb-toolbox

Version:

Lightweight and type-safe query builder for DynamoDB and TypeScript.

65 lines (64 loc) 2.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.transformCondition = void 0; const index_js_1 = require("../../../../errors/index.js"); const beginsWith_js_1 = require("./conditions/beginsWith.js"); const between_js_1 = require("./conditions/between.js"); const contains_js_1 = require("./conditions/contains.js"); const eq_js_1 = require("./conditions/eq.js"); const exists_js_1 = require("./conditions/exists.js"); const in_js_1 = require("./conditions/in.js"); const logical_js_1 = require("./conditions/logical.js"); const range_js_1 = require("./conditions/range.js"); const type_js_1 = require("./conditions/type.js"); const transformCondition = (schema, condition) => { if ('or' in condition) { return (0, logical_js_1.transformOrCondition)(schema, condition); } if ('and' in condition) { return (0, logical_js_1.transformAndCondition)(schema, condition); } if ('not' in condition) { return (0, logical_js_1.transformNotCondition)(schema, condition); } if ('eq' in condition) { return (0, eq_js_1.transformEqCondition)(schema, condition); } if ('ne' in condition) { return (0, eq_js_1.transformNeCondition)(schema, condition); } if ('gte' in condition) { return (0, range_js_1.transformGteCondition)(schema, condition); } if ('gt' in condition) { return (0, range_js_1.transformGtCondition)(schema, condition); } if ('lte' in condition) { return (0, range_js_1.transformLteCondition)(schema, condition); } if ('lt' in condition) { return (0, range_js_1.transformLtCondition)(schema, condition); } if ('between' in condition) { return (0, between_js_1.transformBetweenCondition)(schema, condition); } if ('beginsWith' in condition) { return (0, beginsWith_js_1.transformBeginsWithCondition)(schema, condition); } if ('in' in condition) { return (0, in_js_1.transformInCondition)(schema, condition); } if ('contains' in condition) { return (0, contains_js_1.transformContainsCondition)(schema, condition); } if ('exists' in condition) { return (0, exists_js_1.transformExistsCondition)(schema, condition); } if ('type' in condition) { return (0, type_js_1.transformTypeCondition)(schema, condition); } throw new index_js_1.DynamoDBToolboxError('actions.invalidCondition', { message: 'Invalid condition: Unable to detect valid condition type.' }); }; exports.transformCondition = transformCondition;