@cloudbase/js-sdk
Version:
cloudbase javascript sdk
300 lines (299 loc) • 15.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Command = void 0;
var query_1 = require("./commands/query");
var logic_1 = require("./commands/logic");
var update_1 = require("./commands/update");
var type_1 = require("./utils/type");
var aggregate_1 = require("./aggregate");
exports.Command = {
eq: function (val) {
return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.EQ, [val]);
},
neq: function (val) {
return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.NEQ, [val]);
},
lt: function (val) {
return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.LT, [val]);
},
lte: function (val) {
return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.LTE, [val]);
},
gt: function (val) {
return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.GT, [val]);
},
gte: function (val) {
return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.GTE, [val]);
},
in: function (val) {
return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.IN, val);
},
nin: function (val) {
return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.NIN, val);
},
all: function (val) {
return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.ALL, val);
},
elemMatch: function (val) {
return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.ELEM_MATCH, [val]);
},
exists: function (val) {
return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.EXISTS, [val]);
},
size: function (val) {
return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.SIZE, [val]);
},
mod: function (val) {
return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.MOD, [val]);
},
geoNear: function (val) {
return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.GEO_NEAR, [val]);
},
geoWithin: function (val) {
return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.GEO_WITHIN, [val]);
},
geoIntersects: function (val) {
return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.GEO_INTERSECTS, [val]);
},
and: function () {
var __expressions__ = [];
for (var _i = 0; _i < arguments.length; _i++) {
__expressions__[_i] = arguments[_i];
}
var expressions = (0, type_1.isArray)(arguments[0]) ? arguments[0] : Array.from(arguments);
return new logic_1.LogicCommand(logic_1.LOGIC_COMMANDS_LITERAL.AND, expressions);
},
nor: function () {
var __expressions__ = [];
for (var _i = 0; _i < arguments.length; _i++) {
__expressions__[_i] = arguments[_i];
}
var expressions = (0, type_1.isArray)(arguments[0]) ? arguments[0] : Array.from(arguments);
return new logic_1.LogicCommand(logic_1.LOGIC_COMMANDS_LITERAL.NOR, expressions);
},
or: function () {
var __expressions__ = [];
for (var _i = 0; _i < arguments.length; _i++) {
__expressions__[_i] = arguments[_i];
}
var expressions = (0, type_1.isArray)(arguments[0]) ? arguments[0] : Array.from(arguments);
return new logic_1.LogicCommand(logic_1.LOGIC_COMMANDS_LITERAL.OR, expressions);
},
not: function () {
var __expressions__ = [];
for (var _i = 0; _i < arguments.length; _i++) {
__expressions__[_i] = arguments[_i];
}
var expressions = (0, type_1.isArray)(arguments[0]) ? arguments[0] : Array.from(arguments);
return new logic_1.LogicCommand(logic_1.LOGIC_COMMANDS_LITERAL.NOT, expressions);
},
set: function (val) {
return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.SET, [val]);
},
remove: function () {
return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.REMOVE, []);
},
inc: function (val) {
return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.INC, [val]);
},
mul: function (val) {
return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.MUL, [val]);
},
push: function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var values;
if ((0, type_1.isObject)(args[0]) && args[0].hasOwnProperty('each')) {
var options = args[0];
values = {
$each: options.each,
$position: options.position,
$sort: options.sort,
$slice: options.slice
};
}
else if ((0, type_1.isArray)(args[0])) {
values = args[0];
}
else {
values = Array.from(args);
}
return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.PUSH, values);
},
pull: function (values) {
return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.PULL, values);
},
pullAll: function (values) {
return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.PULL_ALL, values);
},
pop: function () {
return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.POP, []);
},
shift: function () {
return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.SHIFT, []);
},
unshift: function () {
var __values__ = [];
for (var _i = 0; _i < arguments.length; _i++) {
__values__[_i] = arguments[_i];
}
var values = (0, type_1.isArray)(arguments[0]) ? arguments[0] : Array.from(arguments);
return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.UNSHIFT, values);
},
addToSet: function (values) {
return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.ADD_TO_SET, values);
},
rename: function (values) {
return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.RENAME, [values]);
},
bit: function (values) {
return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.BIT, [values]);
},
max: function (values) {
return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.MAX, [values]);
},
min: function (values) {
return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.MIN, [values]);
},
expr: function (values) {
return {
$expr: values
};
},
jsonSchema: function (schema) {
return {
$jsonSchema: schema
};
},
text: function (values) {
if ((0, type_1.isString)(values)) {
return {
$search: values.search
};
}
else {
return {
$search: values.search,
$language: values.language,
$caseSensitive: values.caseSensitive,
$diacriticSensitive: values.diacriticSensitive
};
}
},
aggregate: {
pipeline: function () {
return new aggregate_1.default();
},
abs: function (param) { return new AggregationOperator('abs', param); },
add: function (param) { return new AggregationOperator('add', param); },
ceil: function (param) { return new AggregationOperator('ceil', param); },
divide: function (param) { return new AggregationOperator('divide', param); },
exp: function (param) { return new AggregationOperator('exp', param); },
floor: function (param) { return new AggregationOperator('floor', param); },
ln: function (param) { return new AggregationOperator('ln', param); },
log: function (param) { return new AggregationOperator('log', param); },
log10: function (param) { return new AggregationOperator('log10', param); },
mod: function (param) { return new AggregationOperator('mod', param); },
multiply: function (param) { return new AggregationOperator('multiply', param); },
pow: function (param) { return new AggregationOperator('pow', param); },
sqrt: function (param) { return new AggregationOperator('sqrt', param); },
subtract: function (param) { return new AggregationOperator('subtract', param); },
trunc: function (param) { return new AggregationOperator('trunc', param); },
arrayElemAt: function (param) { return new AggregationOperator('arrayElemAt', param); },
arrayToObject: function (param) { return new AggregationOperator('arrayToObject', param); },
concatArrays: function (param) { return new AggregationOperator('concatArrays', param); },
filter: function (param) { return new AggregationOperator('filter', param); },
in: function (param) { return new AggregationOperator('in', param); },
indexOfArray: function (param) { return new AggregationOperator('indexOfArray', param); },
isArray: function (param) { return new AggregationOperator('isArray', param); },
map: function (param) { return new AggregationOperator('map', param); },
range: function (param) { return new AggregationOperator('range', param); },
reduce: function (param) { return new AggregationOperator('reduce', param); },
reverseArray: function (param) { return new AggregationOperator('reverseArray', param); },
size: function (param) { return new AggregationOperator('size', param); },
slice: function (param) { return new AggregationOperator('slice', param); },
zip: function (param) { return new AggregationOperator('zip', param); },
and: function (param) { return new AggregationOperator('and', param); },
not: function (param) { return new AggregationOperator('not', param); },
or: function (param) { return new AggregationOperator('or', param); },
cmp: function (param) { return new AggregationOperator('cmp', param); },
eq: function (param) { return new AggregationOperator('eq', param); },
gt: function (param) { return new AggregationOperator('gt', param); },
gte: function (param) { return new AggregationOperator('gte', param); },
lt: function (param) { return new AggregationOperator('lt', param); },
lte: function (param) { return new AggregationOperator('lte', param); },
neq: function (param) { return new AggregationOperator('ne', param); },
cond: function (param) { return new AggregationOperator('cond', param); },
ifNull: function (param) { return new AggregationOperator('ifNull', param); },
switch: function (param) { return new AggregationOperator('switch', param); },
dateFromParts: function (param) { return new AggregationOperator('dateFromParts', param); },
dateFromString: function (param) { return new AggregationOperator('dateFromString', param); },
dayOfMonth: function (param) { return new AggregationOperator('dayOfMonth', param); },
dayOfWeek: function (param) { return new AggregationOperator('dayOfWeek', param); },
dayOfYear: function (param) { return new AggregationOperator('dayOfYear', param); },
isoDayOfWeek: function (param) { return new AggregationOperator('isoDayOfWeek', param); },
isoWeek: function (param) { return new AggregationOperator('isoWeek', param); },
isoWeekYear: function (param) { return new AggregationOperator('isoWeekYear', param); },
millisecond: function (param) { return new AggregationOperator('millisecond', param); },
minute: function (param) { return new AggregationOperator('minute', param); },
month: function (param) { return new AggregationOperator('month', param); },
second: function (param) { return new AggregationOperator('second', param); },
hour: function (param) { return new AggregationOperator('hour', param); },
week: function (param) { return new AggregationOperator('week', param); },
year: function (param) { return new AggregationOperator('year', param); },
literal: function (param) { return new AggregationOperator('literal', param); },
mergeObjects: function (param) { return new AggregationOperator('mergeObjects', param); },
objectToArray: function (param) { return new AggregationOperator('objectToArray', param); },
allElementsTrue: function (param) { return new AggregationOperator('allElementsTrue', param); },
anyElementTrue: function (param) { return new AggregationOperator('anyElementTrue', param); },
setDifference: function (param) { return new AggregationOperator('setDifference', param); },
setEquals: function (param) { return new AggregationOperator('setEquals', param); },
setIntersection: function (param) { return new AggregationOperator('setIntersection', param); },
setIsSubset: function (param) { return new AggregationOperator('setIsSubset', param); },
setUnion: function (param) { return new AggregationOperator('setUnion', param); },
concat: function (param) { return new AggregationOperator('concat', param); },
dateToString: function (param) { return new AggregationOperator('dateToString', param); },
indexOfBytes: function (param) { return new AggregationOperator('indexOfBytes', param); },
indexOfCP: function (param) { return new AggregationOperator('indexOfCP', param); },
split: function (param) { return new AggregationOperator('split', param); },
strLenBytes: function (param) { return new AggregationOperator('strLenBytes', param); },
strLenCP: function (param) { return new AggregationOperator('strLenCP', param); },
strcasecmp: function (param) { return new AggregationOperator('strcasecmp', param); },
substr: function (param) { return new AggregationOperator('substr', param); },
substrBytes: function (param) { return new AggregationOperator('substrBytes', param); },
substrCP: function (param) { return new AggregationOperator('substrCP', param); },
toLower: function (param) { return new AggregationOperator('toLower', param); },
toUpper: function (param) { return new AggregationOperator('toUpper', param); },
meta: function (param) { return new AggregationOperator('meta', param); },
addToSet: function (param) { return new AggregationOperator('addToSet', param); },
avg: function (param) { return new AggregationOperator('avg', param); },
first: function (param) { return new AggregationOperator('first', param); },
last: function (param) { return new AggregationOperator('last', param); },
max: function (param) { return new AggregationOperator('max', param); },
min: function (param) { return new AggregationOperator('min', param); },
push: function (param) { return new AggregationOperator('push', param); },
stdDevPop: function (param) { return new AggregationOperator('stdDevPop', param); },
stdDevSamp: function (param) { return new AggregationOperator('stdDevSamp', param); },
sum: function (param) { return new AggregationOperator('sum', param); },
let: function (param) { return new AggregationOperator('let', param); }
},
project: {
slice: function (param) { return new ProjectionOperator('slice', param); },
elemMatch: function (param) { return new ProjectionOperator('elemMatch', param); }
}
};
var AggregationOperator = (function () {
function AggregationOperator(name, param) {
this['$' + name] = param;
}
return AggregationOperator;
}());
var ProjectionOperator = (function () {
function ProjectionOperator(name, param) {
this['$' + name] = param;
}
return ProjectionOperator;
}());
exports.default = exports.Command;