UNPKG

@umbraco/headless-client

Version:
69 lines 9.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Endpoint = exports.EndpointSource = void 0; /** @internal */ var EndpointSource; (function (EndpointSource) { EndpointSource[EndpointSource["CDN"] = 0] = "CDN"; EndpointSource[EndpointSource["Media"] = 1] = "Media"; EndpointSource[EndpointSource["ContentManagement"] = 2] = "ContentManagement"; })(EndpointSource = exports.EndpointSource || (exports.EndpointSource = {})); /** * This class describes how and endpoint might will look, * it's not possible to change value * @internal */ var Endpoint = /** @class */ (function () { function Endpoint(source, path, urlParams, method, options) { var _this = this; this.source = source; this.path = path; this.urlParams = urlParams; this.method = method; this.options = options; /** * Replace path with urlParams */ this.getPath = function () { var keys = Object.keys(_this.urlParams); if (keys.length === 0) { return _this.path; } var path = _this.path; keys.forEach(function (key) { var value = _this.urlParams[key]; var regEx = new RegExp("{" + key + "}"); path = path.replace(regEx, value); }); var params = new URLSearchParams(); if (_this.options) { if ('pageSize' in _this.options && typeof _this.options.pageSize === 'number') { params.append('pageSize', _this.options.pageSize.toString()); } if ('page' in _this.options && typeof _this.options.page === 'number') { params.append('page', _this.options.page.toString()); } if ('depth' in _this.options && typeof _this.options.depth === 'number') { params.append('depth', _this.options.depth.toString()); } if ('hyperlinks' in _this.options && typeof _this.options.hyperlinks === 'boolean') { params.append('hyperlinks', _this.options.hyperlinks ? 'true' : 'false'); } if ('contentType' in _this.options && typeof _this.options.contentType === 'string') { params.append('contentType', _this.options.contentType); } if ('culture' in _this.options && typeof _this.options.culture === 'string') { params.append('culture', _this.options.culture); } } var queryString = params.toString(); if (queryString) { path += "" + (path.includes('?') ? '&' : '?') + queryString; } return path; }; } return Endpoint; }()); exports.Endpoint = Endpoint; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW5kcG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvRW5kcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBU0EsZ0JBQWdCO0FBQ2hCLElBQVksY0FJWDtBQUpELFdBQVksY0FBYztJQUN4QixpREFBRyxDQUFBO0lBQ0gscURBQUssQ0FBQTtJQUNMLDZFQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxjQUFjLEdBQWQsc0JBQWMsS0FBZCxzQkFBYyxRQUl6QjtBQUlEOzs7O0dBSUc7QUFDSDtJQUNFLGtCQUNrQixNQUFzQixFQUN0QixJQUFZLEVBQ1osU0FBYyxFQUNkLE1BQStELEVBQy9ELE9BQWlCO1FBTG5DLGlCQVFDO1FBUGlCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixjQUFTLEdBQVQsU0FBUyxDQUFLO1FBQ2QsV0FBTSxHQUFOLE1BQU0sQ0FBeUQ7UUFDL0QsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQUtuQzs7V0FFRztRQUNILFlBQU8sR0FBRztZQUNSLElBQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQ3hDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQ3JCLE9BQU8sS0FBSSxDQUFDLElBQUksQ0FBQTthQUNqQjtZQUVELElBQUksSUFBSSxHQUFHLEtBQUksQ0FBQyxJQUFJLENBQUE7WUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFBLEdBQUc7Z0JBQ2QsSUFBTSxLQUFLLEdBQUcsS0FBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFFakMsSUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBSSxHQUFHLE1BQUcsQ0FBQyxDQUFBO2dCQUNwQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDbkMsQ0FBQyxDQUFDLENBQUE7WUFFRixJQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFBO1lBRXBDLElBQUksS0FBSSxDQUFDLE9BQU8sRUFBRTtnQkFDaEIsSUFBSSxVQUFVLElBQUksS0FBSSxDQUFDLE9BQU8sSUFBSSxPQUFPLEtBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRTtvQkFDM0UsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsS0FBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtpQkFDNUQ7Z0JBQ0QsSUFBSSxNQUFNLElBQUksS0FBSSxDQUFDLE9BQU8sSUFBSSxPQUFPLEtBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtvQkFDbkUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtpQkFDcEQ7Z0JBQ0QsSUFBSSxPQUFPLElBQUksS0FBSSxDQUFDLE9BQU8sSUFBSSxPQUFPLEtBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRTtvQkFDckUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtpQkFDdEQ7Z0JBQ0QsSUFBSSxZQUFZLElBQUksS0FBSSxDQUFDLE9BQU8sSUFBSSxPQUFPLEtBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRTtvQkFDaEYsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsS0FBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUE7aUJBQ3hFO2dCQUNELElBQUksYUFBYSxJQUFJLEtBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxLQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsS0FBSyxRQUFRLEVBQUU7b0JBQ2pGLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLEtBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUE7aUJBQ3ZEO2dCQUNELElBQUksU0FBUyxJQUFJLEtBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxLQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sS0FBSyxRQUFRLEVBQUU7b0JBQ3pFLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEtBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7aUJBQy9DO2FBQ0Y7WUFFRCxJQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUE7WUFFckMsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsSUFBSSxJQUFJLE1BQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUcsV0FBYSxDQUFBO2FBQzFEO1lBRUQsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDLENBQUE7SUFqREQsQ0FBQztJQWtESCxlQUFDO0FBQUQsQ0FBQyxBQTNERCxJQTJEQztBQTNEWSw0QkFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbnRlbnREZWxpdmVyeUZpbHRlck9wdGlvbnMsXG4gIENvbnRlbnRUeXBlT3B0aW9ucyxcbiAgQ3VsdHVyZU9wdGlvbnMsXG4gIERlcHRoT3B0aW9ucyxcbiAgSHlwZXJsaW5rc09wdGlvbixcbiAgUGFnZU9wdGlvbnNcbn0gZnJvbSAnLi9SZXF1ZXN0T3B0aW9ucydcblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGVudW0gRW5kcG9pbnRTb3VyY2Uge1xuICBDRE4sXG4gIE1lZGlhLFxuICBDb250ZW50TWFuYWdlbWVudFxufVxuXG50eXBlIE9wdGlvbnMgPSBDb250ZW50RGVsaXZlcnlGaWx0ZXJPcHRpb25zIHwgQ29udGVudFR5cGVPcHRpb25zIHwgQ3VsdHVyZU9wdGlvbnMgfCBEZXB0aE9wdGlvbnMgfCBIeXBlcmxpbmtzT3B0aW9uIHwgUGFnZU9wdGlvbnNcblxuLyoqXG4gKiBUaGlzIGNsYXNzIGRlc2NyaWJlcyBob3cgYW5kIGVuZHBvaW50IG1pZ2h0IHdpbGwgbG9vayxcbiAqIGl0J3Mgbm90IHBvc3NpYmxlIHRvIGNoYW5nZSB2YWx1ZVxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBFbmRwb2ludDxSID0gYW55PiB7XG4gIGNvbnN0cnVjdG9yIChcbiAgICBwdWJsaWMgcmVhZG9ubHkgc291cmNlOiBFbmRwb2ludFNvdXJjZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgcGF0aDogc3RyaW5nLFxuICAgIHB1YmxpYyByZWFkb25seSB1cmxQYXJhbXM6IGFueSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWV0aG9kOiAnZ2V0J3wnR0VUJ3wncG9zdCd8J1BPU1QnfCdwdXQnfCdQVVQnfCdkZWxldGUnfCdERUxFVEUnLFxuICAgIHB1YmxpYyByZWFkb25seSBvcHRpb25zPzogT3B0aW9uc1xuICApIHtcblxuICB9XG5cbiAgLyoqXG4gICAqIFJlcGxhY2UgcGF0aCB3aXRoIHVybFBhcmFtc1xuICAgKi9cbiAgZ2V0UGF0aCA9ICgpID0+IHtcbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXModGhpcy51cmxQYXJhbXMpXG4gICAgaWYgKGtleXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5wYXRoXG4gICAgfVxuXG4gICAgbGV0IHBhdGggPSB0aGlzLnBhdGhcbiAgICBrZXlzLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy51cmxQYXJhbXNba2V5XVxuXG4gICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoYHske2tleX19YClcbiAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UocmVnRXgsIHZhbHVlKVxuICAgIH0pXG5cbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKClcblxuICAgIGlmICh0aGlzLm9wdGlvbnMpIHtcbiAgICAgIGlmICgncGFnZVNpemUnIGluIHRoaXMub3B0aW9ucyAmJiB0eXBlb2YgdGhpcy5vcHRpb25zLnBhZ2VTaXplID09PSAnbnVtYmVyJykge1xuICAgICAgICBwYXJhbXMuYXBwZW5kKCdwYWdlU2l6ZScsIHRoaXMub3B0aW9ucy5wYWdlU2l6ZS50b1N0cmluZygpKVxuICAgICAgfVxuICAgICAgaWYgKCdwYWdlJyBpbiB0aGlzLm9wdGlvbnMgJiYgdHlwZW9mIHRoaXMub3B0aW9ucy5wYWdlID09PSAnbnVtYmVyJykge1xuICAgICAgICBwYXJhbXMuYXBwZW5kKCdwYWdlJywgdGhpcy5vcHRpb25zLnBhZ2UudG9TdHJpbmcoKSlcbiAgICAgIH1cbiAgICAgIGlmICgnZGVwdGgnIGluIHRoaXMub3B0aW9ucyAmJiB0eXBlb2YgdGhpcy5vcHRpb25zLmRlcHRoID09PSAnbnVtYmVyJykge1xuICAgICAgICBwYXJhbXMuYXBwZW5kKCdkZXB0aCcsIHRoaXMub3B0aW9ucy5kZXB0aC50b1N0cmluZygpKVxuICAgICAgfVxuICAgICAgaWYgKCdoeXBlcmxpbmtzJyBpbiB0aGlzLm9wdGlvbnMgJiYgdHlwZW9mIHRoaXMub3B0aW9ucy5oeXBlcmxpbmtzID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgcGFyYW1zLmFwcGVuZCgnaHlwZXJsaW5rcycsIHRoaXMub3B0aW9ucy5oeXBlcmxpbmtzID8gJ3RydWUnIDogJ2ZhbHNlJylcbiAgICAgIH1cbiAgICAgIGlmICgnY29udGVudFR5cGUnIGluIHRoaXMub3B0aW9ucyAmJiB0eXBlb2YgdGhpcy5vcHRpb25zLmNvbnRlbnRUeXBlID09PSAnc3RyaW5nJykge1xuICAgICAgICBwYXJhbXMuYXBwZW5kKCdjb250ZW50VHlwZScsIHRoaXMub3B0aW9ucy5jb250ZW50VHlwZSlcbiAgICAgIH1cbiAgICAgIGlmICgnY3VsdHVyZScgaW4gdGhpcy5vcHRpb25zICYmIHR5cGVvZiB0aGlzLm9wdGlvbnMuY3VsdHVyZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcGFyYW1zLmFwcGVuZCgnY3VsdHVyZScsIHRoaXMub3B0aW9ucy5jdWx0dXJlKVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHF1ZXJ5U3RyaW5nID0gcGFyYW1zLnRvU3RyaW5nKClcblxuICAgIGlmIChxdWVyeVN0cmluZykge1xuICAgICAgcGF0aCArPSBgJHtwYXRoLmluY2x1ZGVzKCc/JykgPyAnJicgOiAnPyd9JHtxdWVyeVN0cmluZ31gXG4gICAgfVxuXG4gICAgcmV0dXJuIHBhdGhcbiAgfVxufVxuIl19