UNPKG

@spartacus/core

Version:

Spartacus - the core framework

29 lines 3.53 kB
/** * Abstract class that can be used to resolve meta data for specific pages. * The `getScore` method is used to select the right resolver for a specific * page, based on a score. The score is calculated by the (non)matching page * type and page template. */ export class PageMetaResolver { /** * Returns the matching score for a resolver class, based on * the page type and page template. */ getScore(page) { let score = 0; if (this.pageType) { score += page.type === this.pageType ? 1 : -1; } if (this.pageTemplate) { score += page.template === this.pageTemplate ? 1 : -1; } return score; } hasMatch(page) { return this.getScore(page) > 0; } getPriority(page) { return this.getScore(page); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1tZXRhLnJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvY21zL3BhZ2UvcGFnZS1tZXRhLnJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFnQixnQkFBZ0I7SUFPcEM7OztPQUdHO0lBQ0gsUUFBUSxDQUFDLElBQVU7UUFDakIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDL0M7UUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN2RDtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFVO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYWdlVHlwZSB9IGZyb20gJy4uLy4uL21vZGVsL2Ntcy5tb2RlbCc7XG5pbXBvcnQgeyBQYWdlIH0gZnJvbSAnLi4vbW9kZWwvcGFnZS5tb2RlbCc7XG5pbXBvcnQgeyBBcHBsaWNhYmxlIH0gZnJvbSAnLi4vLi4vdXRpbC9hcHBsaWNhYmxlJztcblxuLyoqXG4gKiBBYnN0cmFjdCBjbGFzcyB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlc29sdmUgbWV0YSBkYXRhIGZvciBzcGVjaWZpYyBwYWdlcy5cbiAqIFRoZSBgZ2V0U2NvcmVgIG1ldGhvZCBpcyB1c2VkIHRvIHNlbGVjdCB0aGUgcmlnaHQgcmVzb2x2ZXIgZm9yIGEgc3BlY2lmaWNcbiAqIHBhZ2UsIGJhc2VkIG9uIGEgc2NvcmUuIFRoZSBzY29yZSBpcyBjYWxjdWxhdGVkIGJ5IHRoZSAobm9uKW1hdGNoaW5nIHBhZ2VcbiAqIHR5cGUgYW5kIHBhZ2UgdGVtcGxhdGUuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQYWdlTWV0YVJlc29sdmVyIGltcGxlbWVudHMgQXBwbGljYWJsZSB7XG4gIC8qKiBUaGUgYFBhZ2VUeXBlYCBpcyB1c2VkIHRvIHNjb3JlIHRoZSAobm9uKW1hdGNoaW5nIHBhZ2UgKi9cbiAgcGFnZVR5cGU6IFBhZ2VUeXBlO1xuXG4gIC8qKiBUaGUgcGFnZSB0ZW1wbGF0ZSBpcyB1c2VkIHRvIHNjb3JlIHRoZSAobm9uKW1hdGNoaW5nIHBhZ2UgdGVtcGxhdGUgKi9cbiAgcGFnZVRlbXBsYXRlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG1hdGNoaW5nIHNjb3JlIGZvciBhIHJlc29sdmVyIGNsYXNzLCBiYXNlZCBvblxuICAgKiB0aGUgcGFnZSB0eXBlIGFuZCBwYWdlIHRlbXBsYXRlLlxuICAgKi9cbiAgZ2V0U2NvcmUocGFnZTogUGFnZSk6IG51bWJlciB7XG4gICAgbGV0IHNjb3JlID0gMDtcbiAgICBpZiAodGhpcy5wYWdlVHlwZSkge1xuICAgICAgc2NvcmUgKz0gcGFnZS50eXBlID09PSB0aGlzLnBhZ2VUeXBlID8gMSA6IC0xO1xuICAgIH1cbiAgICBpZiAodGhpcy5wYWdlVGVtcGxhdGUpIHtcbiAgICAgIHNjb3JlICs9IHBhZ2UudGVtcGxhdGUgPT09IHRoaXMucGFnZVRlbXBsYXRlID8gMSA6IC0xO1xuICAgIH1cbiAgICByZXR1cm4gc2NvcmU7XG4gIH1cblxuICBoYXNNYXRjaChwYWdlOiBQYWdlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U2NvcmUocGFnZSkgPiAwO1xuICB9XG5cbiAgZ2V0UHJpb3JpdHkocGFnZTogUGFnZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U2NvcmUocGFnZSk7XG4gIH1cbn1cbiJdfQ==