kentico-cloud-delivery
Version:
Official Kentico Cloud Delivery SDK
36 lines • 1.54 kB
JavaScript
import { Link } from '../models';
var UrlSlugResolver = /** @class */ (function () {
function UrlSlugResolver() {
}
UrlSlugResolver.prototype.resolveUrl = function (data) {
if (!data.linkResolver) {
if (data.enableAdvancedLogging) {
console.warn("You have to implement 'linkResolver' in your Model class or your query in order to get url of this item");
}
return undefined;
}
if (!data.item) {
if (data.enableAdvancedLogging) {
console.warn("Cannot resolve link for field '" + data.fieldName + "' because no item was provided to URL slug field (item may be missing from response)");
}
return undefined;
}
var url = data.linkResolver(new Link({
urlSlug: data.fieldValue,
type: data.type,
codename: data.item.system.codename,
itemId: data.item.system.id
}));
if (!url) {
if (data.enableAdvancedLogging) {
console.warn("'linkResolver' is configured, but url resolved for '" + data.item.system.codename + "' item of '" + data.item.system.type + "' type inside '" + data.fieldName + "' field resolved to an undefined url.");
}
return undefined;
}
return url;
};
return UrlSlugResolver;
}());
export { UrlSlugResolver };
export var urlSlugResolver = new UrlSlugResolver();
//# sourceMappingURL=url-slug.resolver.js.map