UNPKG

typecql

Version:

ORM for CQL databases.

261 lines 6.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.count = count; exports.max = max; exports.min = min; exports.TOKEN = TOKEN; exports.and = and; exports.gte = gte; exports.gt = gt; exports.lte = lte; exports.lt = lt; exports.eq = eq; exports.IN = IN; exports.literal = literal; exports.addToSet = addToSet; exports.deleteFromSet = deleteFromSet; exports.clearSet = clearSet; exports.addToList = addToList; exports.deleteFromList = deleteFromList; exports.clearList = clearList; exports.addToMap = addToMap; exports.deleteFromMap = deleteFromMap; exports.clearMap = clearMap; exports.increaseCounter = increaseCounter; exports.decreaseCounter = decreaseCounter; const specialWhere_1 = require("../misc/classes/specialWhere"); const specialSet_1 = require("../misc/classes/specialSet"); const prepareVariables_1 = require("../misc/functions/formating/prepareVariables"); /** * Converts to "COUNT(key)". * @param key * @link */ function count(key) { return `COUNT(%${key ?? '*'}%)`; } /** * Converts to "MAX(key)". * @param key */ function max(key) { return `MAX(%${key}%)`; } /** * Converts to "MIN(key)". * @param key */ function min(key) { return `MIN(%${key}%)`; } /** * Converts to "TOKEN(keyOrValue)". * @param keyOrValue */ function TOKEN(keyOrValue) { return `TOKEN(${(0, prepareVariables_1.default)(keyOrValue)})`; } /** * Converts to "key (operator1) value1 AND key (operator2) value2 AND ...". * * Key inserts automatically when creating queries. * @param values */ function and(...values) { return new specialWhere_1.SpecialWhereAnd(values); } /** * Converts to "key >= value". * * Key inserts automatically when creating queries. * @param value */ function gte(value) { return new specialWhere_1.SpecialWhere(value, '>= ?'); } /** * Converts to "key > value". * * Key inserts automatically when creating queries. * @param value */ function gt(value) { return new specialWhere_1.SpecialWhere(value, '> ?'); } /** * Converts to "key <= value". * * Key inserts automatically when creating queries. * @param value */ function lte(value) { return new specialWhere_1.SpecialWhere(value, '<= ?'); } /** * Converts to "key < value". * * Key inserts automatically when creating queries. * @param value */ function lt(value) { return new specialWhere_1.SpecialWhere(value, '< ?'); } /** * Converts to "key = value". * * Key inserts automatically when creating queries. * @param value */ function eq(value) { return new specialWhere_1.SpecialWhere(value, '= ?'); } /** * Converts to "key IN('value1', 'value2', ..., 'valueN')". * * Key inserts automatically when creating queries. * @param values */ function IN(values) { return new specialWhere_1.SpecialWhere(values, 'IN (' + values.map(() => '?').join(', ') + ')'); } /** * Converts to "%literal%". * * ! If you want to provide array in preparedValues - preparedValues: [[1,2,3], 'x', true, ...] * Key inserts automatically when creating queries. * @param literal string with part of query. * @param options (optional) object with prepared flag and prepared values. */ function literal(literal, options) { if (!options?.prepared || typeof options?.preparedValues === 'undefined') { return new specialWhere_1.SpecialWhere(undefined, literal); } else if (options?.prepared && typeof options?.preparedValues !== 'undefined') { return new specialWhere_1.SpecialWhere(options.preparedValues, literal); } return new specialWhere_1.SpecialWhere(undefined, literal); } /** * Converts to "key = key + ?" with prepared values. * * Key inserts automatically when creating queries. * @param valueOrArray */ function addToSet(valueOrArray) { if (!Array.isArray(valueOrArray)) { valueOrArray = [valueOrArray]; } const structure = '%KEY% + ' + `?`; return new specialSet_1.SpecialSet(valueOrArray, structure); } /** * Converts to "key = key - ?" with prepared values. * * Key inserts automatically when creating queries. * @param valueOrArray */ function deleteFromSet(valueOrArray) { if (!Array.isArray(valueOrArray)) { valueOrArray = [valueOrArray]; } const structure = '%KEY% - ' + `?`; return new specialSet_1.SpecialSet(valueOrArray, structure); } /** * Converts to "key = {}". * * Key inserts automatically when creating queries. */ function clearSet() { const structure = '{}'; return new specialSet_1.SpecialSet(undefined, structure); } /** * Converts to "key = key + ?" with prepared values. * * Key inserts automatically when creating queries. * @param valueOrArray */ function addToList(valueOrArray) { if (!Array.isArray(valueOrArray)) { valueOrArray = [valueOrArray]; } const structure = '%KEY% + ' + `?`; return new specialSet_1.SpecialSet(valueOrArray, structure); } /** * Converts to "key = key - ?" with prepared values. * * Key inserts automatically when creating queries. * @param valueOrArray */ function deleteFromList(valueOrArray) { if (!Array.isArray(valueOrArray)) { valueOrArray = [valueOrArray]; } const structure = '%KEY% - ' + `?`; return new specialSet_1.SpecialSet(valueOrArray, structure); } /** * Converts to "key = []". * * Key inserts automatically when creating queries. */ function clearList() { const structure = '[]'; return new specialSet_1.SpecialSet(undefined, structure); } /** * Converts to "key = key + ?" with prepared values. * * Key inserts automatically when creating queries. * @param object */ function addToMap(object) { const structure = '%KEY% + ' + '?'; return new specialSet_1.SpecialSet(object, structure); } /** * Converts to "key = key - ?" with prepared values. * * Key inserts automatically when creating queries. * @param keyOrArray Takes array of keys or key. */ function deleteFromMap(keyOrArray) { if (!Array.isArray(keyOrArray)) { keyOrArray = [keyOrArray]; } const structure = '%KEY% - ' + `?`; return new specialSet_1.SpecialSet(keyOrArray, structure); } /** * Converts to "key = {}". * * Key inserts automatically when creating queries. */ function clearMap() { const structure = '{}'; return new specialSet_1.SpecialSet(undefined, structure); } /** * Converts to "key = key + ?" with prepared values. * * Key inserts automatically when creating queries. * @param counter 64-bit signed integer. */ function increaseCounter(counter) { const structure = '%KEY% + ' + `?`; return new specialSet_1.SpecialSet(counter, structure); } /** * Converts to "key = key - ?" with prepared values. * * Key inserts automatically when creating queries. * @param counter 64-bit signed integer. */ function decreaseCounter(counter) { const structure = '%KEY% - ' + `?`; return new specialSet_1.SpecialSet(counter, structure); } //# sourceMappingURL=operators.js.map