kentico-cloud-delivery
Version:
Official Kentico Cloud Delivery SDK
173 lines • 6.73 kB
JavaScript
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
;