UNPKG

kentico-cloud-delivery

Version:

Official Kentico Cloud Delivery SDK

173 lines 6.73 kB
"use strict"; exports.__esModule = true; var sort_order_enum_1 = require("./sort-order.enum"); var Parameters; (function (Parameters) { var defaultValue = ''; var CustomParameter = /** @class */ (function () { /** * Custom parameter * @constructor * @param {string} name - Name of the parameter * @param {string} value - Value of the parameter */ function CustomParameter(name, value) { this.name = name; this.value = value; if (!name) { throw Error("Name of the custom parameter is not specified"); } } CustomParameter.prototype.getParam = function () { return this.name; }; CustomParameter.prototype.getParamValue = function () { return this.value; }; return CustomParameter; }()); Parameters.CustomParameter = CustomParameter; 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 field. * @constructor * @param {string} field - Field that will be used for sorting (can be both elements.<fieldname> or system.<fieldname>) * @param {SortOrder} sortOrder - Order type (desc/asc). Defaults to 'asc' if SortOrder is null or invalid. */ function OrderParameter(field, sortOrder) { this.field = field; this.sortOrder = sortOrder; if (!field) { throw Error("Field 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.field.trim() + "[" + order + "]"; }; return OrderParameter; }()); Parameters.OrderParameter = OrderParameter; var DepthParameter = /** @class */ (function () { /** * Configures the depth of the response. Content items might reference modular content items using the Modular content element. * Recursively, these modular content items can reference another modular content items. * By default, only one level of modular 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