@decaf-ts/for-couchdb
Version:
decaf-ts couchdb wrappers
139 lines • 4.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.groupBy = groupBy;
exports.count = count;
exports.sum = sum;
exports.max = max;
exports.min = min;
exports.distinct = distinct;
const core_1 = require("@decaf-ts/core");
const decoration_1 = require("@decaf-ts/decoration");
function groupBy(compositionsOrOptions, nameOrOptions) {
let opts = {};
if (Array.isArray(compositionsOrOptions)) {
opts.compositions = compositionsOrOptions;
}
else if (typeof compositionsOrOptions === "string") {
opts.name = compositionsOrOptions;
}
else if (compositionsOrOptions) {
opts = compositionsOrOptions;
}
if (typeof nameOrOptions === "string") {
opts.name = nameOrOptions;
}
else if (nameOrOptions) {
opts = Object.assign({}, opts, nameOrOptions);
}
if (typeof opts.returnDocs === "undefined") {
opts.returnDocs = true;
}
return decoration_1.Decoration.for(core_1.Operator.GROUP_BY)
.define({
decorator: function groupBy(o) {
return (0, core_1.applyViewDecorator)(core_1.Operator.GROUP_BY, "groupBy", o);
},
args: [opts],
})
.apply();
}
function count(valueOrCondition, options) {
let opts = {};
if (valueOrCondition instanceof core_1.Condition) {
opts.condition = valueOrCondition;
}
else if (typeof valueOrCondition === "object" && valueOrCondition) {
opts = valueOrCondition;
}
else if (typeof valueOrCondition !== "undefined") {
opts.value = valueOrCondition;
}
if (options)
opts = Object.assign({}, opts, options);
return decoration_1.Decoration.for(core_1.Operator.COUNT)
.define({
decorator: function count(o) {
return (0, core_1.applyViewDecorator)(core_1.Operator.COUNT, "count", o);
},
args: [opts],
})
.apply();
}
function sum(conditionOrOptions, options) {
let opts = {};
if (conditionOrOptions instanceof core_1.Condition) {
opts.condition = conditionOrOptions;
}
else if (conditionOrOptions) {
opts = conditionOrOptions;
}
if (options)
opts = Object.assign({}, opts, options);
return decoration_1.Decoration.for(core_1.Operator.SUM)
.define({
decorator: function sum(o) {
return (0, core_1.applyViewDecorator)(core_1.Operator.SUM, "sum", o);
},
args: [opts],
})
.apply();
}
function max(conditionOrOptions, options) {
let opts = {};
if (conditionOrOptions instanceof core_1.Condition) {
opts.condition = conditionOrOptions;
}
else if (conditionOrOptions) {
opts = conditionOrOptions;
}
if (options)
opts = Object.assign({}, opts, options);
return decoration_1.Decoration.for(core_1.Operator.MAX)
.define({
decorator: function max(o) {
return (0, core_1.applyViewDecorator)(core_1.Operator.MAX, "max", o);
},
args: [opts],
})
.apply();
}
function min(conditionOrOptions, options) {
let opts = {};
if (conditionOrOptions instanceof core_1.Condition) {
opts.condition = conditionOrOptions;
}
else if (conditionOrOptions) {
opts = conditionOrOptions;
}
if (options)
opts = Object.assign({}, opts, options);
return decoration_1.Decoration.for(core_1.Operator.MIN)
.define({
decorator: function min(o) {
return (0, core_1.applyViewDecorator)(core_1.Operator.MIN, "min", o);
},
args: [opts],
})
.apply();
}
function distinct(conditionOrOptions, options) {
let opts = {};
if (conditionOrOptions instanceof core_1.Condition) {
opts.condition = conditionOrOptions;
}
else if (conditionOrOptions) {
opts = conditionOrOptions;
}
if (options)
opts = Object.assign({}, opts, options);
return decoration_1.Decoration.for(core_1.Operator.DISTINCT)
.define({
decorator: function distinct(o) {
return (0, core_1.applyViewDecorator)(core_1.Operator.DISTINCT, "distinct", o);
},
args: [opts],
})
.apply();
}
//# sourceMappingURL=decorators.js.map
//# sourceMappingURL=decorators.cjs.map