kentico-cloud-delivery
Version:
Official Kentico Cloud Delivery SDK
253 lines • 9.4 kB
JavaScript
"use strict";
exports.__esModule = true;
var Filters;
(function (Filters) {
var valueSeparator = ',';
var defaultValue = '';
var TypeFilter = /** @class */ (function () {
function TypeFilter(type) {
this.type = type;
}
TypeFilter.prototype.getParam = function () {
if (Array.isArray(this.type)) {
// multiple types
return 'system.type[in]';
}
// single type
return 'system.type';
};
TypeFilter.prototype.getParamValue = function () {
if (!this.type) {
return defaultValue;
}
if (Array.isArray(this.type)) {
var value = '';
// use [in] filter
for (var i = 0; i < this.type.length; i++) {
value = value + this.type[i].toString();
if (i !== this.type.length - 1) {
// append separator if its not last item
value = value + valueSeparator;
}
}
return value;
}
// single type was given
return this.type.toString();
};
return TypeFilter;
}());
Filters.TypeFilter = TypeFilter;
var EqualsFilter = /** @class */ (function () {
function EqualsFilter(field, value) {
this.field = field;
this.value = value;
if (!this.field) {
throw Error("Field specified in 'EqualsFilter' is undefined ");
}
}
EqualsFilter.prototype.getParam = function () {
return this.field.trim();
};
EqualsFilter.prototype.getParamValue = function () {
if (!this.value) {
return defaultValue;
}
return this.value;
};
return EqualsFilter;
}());
Filters.EqualsFilter = EqualsFilter;
var AllFilter = /** @class */ (function () {
function AllFilter(field, values) {
this.field = field;
this.values = values;
if (!this.field) {
throw Error("Field specified in 'AllFilter' is undefined ");
}
}
AllFilter.prototype.getParam = function () {
return this.field.trim() + "[all]";
};
AllFilter.prototype.getParamValue = function () {
if (!this.values || !Array.isArray(this.values)) {
return defaultValue;
}
return this.values.map(function (m) { return m.trim(); }).join(',');
};
return AllFilter;
}());
Filters.AllFilter = AllFilter;
var AnyFilter = /** @class */ (function () {
function AnyFilter(field, values) {
this.field = field;
this.values = values;
if (!this.field) {
throw Error("Field specified in 'AnyFilter' is undefined ");
}
}
AnyFilter.prototype.getParam = function () {
return this.field.trim() + "[any]";
};
AnyFilter.prototype.getParamValue = function () {
if (!this.values || !Array.isArray(this.values)) {
return defaultValue;
}
return this.values.map(function (m) { return m.trim(); }).join(',');
};
return AnyFilter;
}());
Filters.AnyFilter = AnyFilter;
var ContainsFilter = /** @class */ (function () {
function ContainsFilter(field, values) {
this.field = field;
this.values = values;
if (!this.field) {
throw Error("Field specified in 'ContainsFilter' is undefined ");
}
}
ContainsFilter.prototype.getParam = function () {
return this.field.trim() + "[contains]";
};
ContainsFilter.prototype.getParamValue = function () {
if (!this.values || !Array.isArray(this.values)) {
return defaultValue;
}
return this.values.map(function (m) { return m.trim(); }).join(',');
};
return ContainsFilter;
}());
Filters.ContainsFilter = ContainsFilter;
var GreaterThanFilter = /** @class */ (function () {
function GreaterThanFilter(field, value) {
this.field = field;
this.value = value;
if (!this.field) {
throw Error("Field specified in 'GreaterThanFilter' is undefined ");
}
}
GreaterThanFilter.prototype.getParam = function () {
return this.field.trim() + "[gt]";
};
GreaterThanFilter.prototype.getParamValue = function () {
if (!this.value) {
return defaultValue;
}
return this.value;
};
return GreaterThanFilter;
}());
Filters.GreaterThanFilter = GreaterThanFilter;
var GreaterThanOrEqualFilter = /** @class */ (function () {
function GreaterThanOrEqualFilter(field, value) {
this.field = field;
this.value = value;
if (!this.field) {
throw Error("Field specified in 'GreaterThanOrEqualFilter' is undefined ");
}
}
GreaterThanOrEqualFilter.prototype.getParam = function () {
return this.field.trim() + "[gte]";
};
GreaterThanOrEqualFilter.prototype.getParamValue = function () {
if (!this.value) {
return defaultValue;
}
return this.value;
};
return GreaterThanOrEqualFilter;
}());
Filters.GreaterThanOrEqualFilter = GreaterThanOrEqualFilter;
var Infilter = /** @class */ (function () {
function Infilter(field, values) {
this.field = field;
this.values = values;
if (!this.field) {
throw Error("Field specified in 'Infilter' is undefined");
}
}
Infilter.prototype.getParam = function () {
return this.field.trim() + "[in]";
};
Infilter.prototype.getParamValue = function () {
if (!this.values || !Array.isArray(this.values)) {
return defaultValue;
}
return this.values.map(function (m) {
return m.trim();
}).join(',');
};
return Infilter;
}());
Filters.Infilter = Infilter;
var LessThanFilter = /** @class */ (function () {
function LessThanFilter(field, value) {
this.field = field;
this.value = value;
if (!this.field) {
throw Error("Field specified in 'LessThanFilter' is undefined ");
}
}
LessThanFilter.prototype.getParam = function () {
return this.field.trim() + "[lt]";
};
LessThanFilter.prototype.getParamValue = function () {
if (!this.value) {
return defaultValue;
}
return this.value;
};
return LessThanFilter;
}());
Filters.LessThanFilter = LessThanFilter;
var LessThanOrEqualFilter = /** @class */ (function () {
function LessThanOrEqualFilter(field, value) {
this.field = field;
this.value = value;
if (!this.field) {
throw Error("Field specified in 'LessThanOrEqualFilter' is undefined ");
}
}
LessThanOrEqualFilter.prototype.getParam = function () {
return this.field.trim() + "[lte]";
};
LessThanOrEqualFilter.prototype.getParamValue = function () {
if (!this.value) {
return defaultValue;
}
return this.value;
};
return LessThanOrEqualFilter;
}());
Filters.LessThanOrEqualFilter = LessThanOrEqualFilter;
var RangeFilter = /** @class */ (function () {
function RangeFilter(field, lowerValue, higherValue) {
this.field = field;
this.lowerValue = lowerValue;
this.higherValue = higherValue;
if (!this.field) {
throw Error("Field specified in 'RangeFilter' is undefined ");
}
if (lowerValue > higherValue) {
throw Error("'lowerValue' cannot be higher then 'higherValue' in 'RangeFilter'");
}
}
RangeFilter.prototype.getParam = function () {
return this.field.trim() + "[range]";
};
RangeFilter.prototype.getParamValue = function () {
var lowerVal = defaultValue;
var higherVal = defaultValue;
if (this.lowerValue) {
lowerVal = this.lowerValue.toString();
}
if (this.higherValue) {
higherVal = this.higherValue.toString();
}
return lowerVal + "," + higherVal;
};
return RangeFilter;
}());
Filters.RangeFilter = RangeFilter;
})(Filters = exports.Filters || (exports.Filters = {}));
//# sourceMappingURL=filters.js.map