typecql
Version:
ORM for CQL databases.
261 lines • 6.95 kB
JavaScript
;
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