UNPKG

kentico-cloud-delivery

Version:

Official Kentico Cloud Delivery SDK

187 lines 7.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var sort_order_enum_1 = require("./sort-order.enum"); var Parameters; (function (Parameters) { var defaultValue = ''; var QueryParameter = /** @class */ (function () { /** * Parameter * @constructor * @param {string} name - Name of the parameter * @param {string} value - Value of the parameter */ function QueryParameter(name, value) { this.name = name; this.value = value; if (!name) { throw Error("Name of the parameter is not specified"); } } QueryParameter.prototype.getParam = function () { return this.name; }; QueryParameter.prototype.getParamValue = function () { return this.value; }; return QueryParameter; }()); Parameters.QueryParameter = QueryParameter; var ElementsParameter = /** @class */ (function () { /** * Sets elements (projection) so that only certain elements from a content item are returned * @constructor * @param {string[]} elementCodenames - Array of element codenames to include in response. */ function ElementsParameter(elementCodenames) { this.elementCodenames = elementCodenames; } ElementsParameter.prototype.getParam = function () { return 'elements'; }; ElementsParameter.prototype.getParamValue = function () { if (!this.elementCodenames) { return defaultValue; } return this.elementCodenames.map(function (m) { if (!m) { throw Error("Codename of 'ElementsParameter' cannot be null or empty"); } return m.trim(); }).join(','); }; return ElementsParameter; }()); Parameters.ElementsParameter = ElementsParameter; var LimitParameter = /** @class */ (function () { /** * Limits the number of items that are returned from response * @constructor * @param {number} limit - Number of elements that will be returned */ function LimitParameter(limit) { this.limit = limit; if (limit <= 0) { throw Error("'LimitParameter' must specify a positive integer"); } } LimitParameter.prototype.getParam = function () { return 'limit'; }; LimitParameter.prototype.getParamValue = function () { return this.limit.toString(); }; return LimitParameter; }()); Parameters.LimitParameter = LimitParameter; var SkipParameter = /** @class */ (function () { /** * Configures response to skip certain number of items * @constructor * @param {number} skip - Number of content items that will be skipped */ function SkipParameter(skip) { this.skip = skip; if (skip < 0) { throw Error("'SkipParameter' must specify a positive integer number or zero.\""); } } SkipParameter.prototype.getParam = function () { return 'skip'; }; SkipParameter.prototype.getParamValue = function () { return this.skip.toString(); }; return SkipParameter; }()); Parameters.SkipParameter = SkipParameter; var OrderParameter = /** @class */ (function () { /** * Sorts the response based on given element. * @constructor * @param {string} element - Element that will be used for sorting (can be both elements.<elementname> or system.<elementname>) * @param {SortOrder} sortOrder - Order type (desc/asc). Defaults to 'asc' if SortOrder is null or invalid. */ function OrderParameter(element, sortOrder) { this.element = element; this.sortOrder = sortOrder; if (!element) { throw Error("Element specified in 'OrderParameter' is null or empty"); } } OrderParameter.prototype.getParam = function () { return 'order'; }; OrderParameter.prototype.getParamValue = function () { var order; if (this.sortOrder === sort_order_enum_1.SortOrder.desc) { order = 'desc'; } else { order = 'asc'; } return this.element.trim() + "[" + order + "]"; }; return OrderParameter; }()); Parameters.OrderParameter = OrderParameter; var CustomParameter = /** @class */ (function () { function CustomParameter(paramName, value) { this.paramName = paramName; this.value = value; } CustomParameter.prototype.getParam = function () { return this.paramName; }; CustomParameter.prototype.getParamValue = function () { return this.value; }; return CustomParameter; }()); Parameters.CustomParameter = CustomParameter; var DepthParameter = /** @class */ (function () { /** * Configures the depth of the response. Content items might reference another 'linked items' using the Linked items element. * Recursively, these linked items can reference another linked items. * By default, only one level of linked content is returned. * @constructor * @param {number} depth - Depth fo the response */ function DepthParameter(depth) { this.depth = depth; if (depth < 0) { throw Error("'DepthParameter' must specify a positive integer or zero"); } } DepthParameter.prototype.getParam = function () { return 'depth'; }; DepthParameter.prototype.getParamValue = function () { return this.depth.toString(); }; return DepthParameter; }()); Parameters.DepthParameter = DepthParameter; var LanguageParameter = /** @class */ (function () { /** * Specifies language version to fetch * @constructor * @param {string} languageCodename - Codename of the language */ function LanguageParameter(languageCodename) { this.languageCodename = languageCodename; if (!languageCodename) { throw Error("'LanguageParameter' must specify codename of the language"); } } LanguageParameter.prototype.getParam = function () { return 'language'; }; LanguageParameter.prototype.getParamValue = function () { return this.languageCodename.trim().toString(); }; return LanguageParameter; }()); Parameters.LanguageParameter = LanguageParameter; })(Parameters = exports.Parameters || (exports.Parameters = {})); //# sourceMappingURL=parameters.js.map