UNPKG

kentico-cloud-delivery

Version:

Official Kentico Cloud Delivery SDK

253 lines 9.4 kB
"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