UNPKG

@spartacus/core

Version:

Spartacus - the core framework

57 lines (56 loc) 2.2 kB
import { Observable } from 'rxjs'; import { UnifiedInjector } from '../../lazy-loading/unified-injector'; import { Page, PageMeta } from '../model/page.model'; import { PageMetaConfig } from '../page/config/page-meta.config'; import { PageMetaResolver } from '../page/page-meta.resolver'; import { CmsService } from './cms.service'; import * as i0 from "@angular/core"; /** * Service that collects the page meta data by using injected page resolvers. */ export declare class PageMetaService { protected cms: CmsService; protected unifiedInjector: UnifiedInjector; protected pageMetaConfig: PageMetaConfig; protected platformId: string; constructor(cms: CmsService, unifiedInjector: UnifiedInjector, pageMetaConfig: PageMetaConfig, platformId: string); protected resolvers$: Observable<PageMetaResolver[]>; protected meta$: Observable<PageMeta | null>; /** * Returns the observed page meta data for the current page. * * The data is resolved by various PageResolvers, which are configurable. */ getMeta(): Observable<PageMeta | null>; /** * If a `PageResolver` has implemented a resolver interface, the resolved data * is merged into the `PageMeta` object. * @param metaResolver */ protected resolve(metaResolver: PageMetaResolver): Observable<PageMeta>; /** * Returns an object with resolvers. The object properties represent the `PageMeta` property, i.e.: * * ``` * { * title: 'resolveTitle', * robots: 'resolveRobots' * } * ``` * * This list of resolvers is filtered for CSR vs SSR processing since not all resolvers are * relevant during browsing. */ protected getResolverMethods(): { [property: string]: string; }; /** * Return the resolver with the best match, based on a score * generated by the resolver. * * Resolvers match by default on `PageType` and `page.template`. */ protected getMetaResolver(page: Page): Observable<PageMetaResolver | undefined>; static ɵfac: i0.ɵɵFactoryDeclaration<PageMetaService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<PageMetaService>; }