UNPKG

@davidlj95/ngx-meta

Version:

Set your Angular site's metadata: standard meta tags, Open Graph, Twitter Cards, JSON-LD structured data and more. Supports SSR (and Angular Universal). Use a service. Use routes' data. Set it up in a flash! 🚀

28 lines • 5.2 kB
import { _injectMetadataManagers, } from './ngx-meta-metadata-manager'; import { _makeInjectionToken } from '../utils'; const metadataRegistryFactory = () => { const managers = _injectMetadataManagers(); const managersById = new Map(); const register = (manager) => { /* istanbul ignore next https://github.com/istanbuljs/istanbuljs/issues/719 */ if (managersById.has(manager.id)) { return; } managersById.set(manager.id, manager); }; managers.forEach(register); const getAll = () => managersById.values(); const findByGlobalOrJsonPath = (globalOrJsonPath) => [...getAll()].filter((manager) => manager.resolverOptions.global == globalOrJsonPath || manager.resolverOptions.jsonPath.join('.') == globalOrJsonPath); return { register, getAll, findByGlobalOrJsonPath, }; }; export const metadataRegistry = () => _makeInjectionToken(ngDevMode ? 'Metadata Registry' : 'MReg', metadataRegistryFactory); export const provideMetadataRegistry = () => ({ provide: metadataRegistry(), useFactory: metadataRegistryFactory, }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtcmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29yZS9zcmMvbWFuYWdlcnMvbWV0YWRhdGEtcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHVCQUF1QixHQUV4QixNQUFNLDZCQUE2QixDQUFBO0FBQ3BDLE9BQU8sRUFBdUIsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFhbkUsTUFBTSx1QkFBdUIsR0FBMkIsR0FBRyxFQUFFO0lBQzNELE1BQU0sUUFBUSxHQUFHLHVCQUF1QixFQUFFLENBQUE7SUFDMUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQWtDLENBQUE7SUFDOUQsTUFBTSxRQUFRLEdBQWlDLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDekQsOEVBQThFO1FBQzlFLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxPQUFNO1FBQ1IsQ0FBQztRQUNELFlBQVksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUN2QyxDQUFDLENBQUE7SUFDRCxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzFCLE1BQU0sTUFBTSxHQUErQixHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUE7SUFDdEUsTUFBTSxzQkFBc0IsR0FBK0MsQ0FDekUsZ0JBQWdCLEVBQ2hCLEVBQUUsQ0FDRixDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQ2xCLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDVixPQUFPLENBQUMsZUFBZSxDQUFDLE1BQU0sSUFBSSxnQkFBZ0I7UUFDbEQsT0FBTyxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLGdCQUFnQixDQUNqRSxDQUFBO0lBQ0gsT0FBTztRQUNMLFFBQVE7UUFDUixNQUFNO1FBQ04sc0JBQXNCO0tBQ3ZCLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBMEMsR0FBRyxFQUFFLENBQzFFLG1CQUFtQixDQUNqQixTQUFTLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQ3hDLHVCQUF1QixDQUN4QixDQUFBO0FBRUgsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQW1CLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFO0lBQzNCLFVBQVUsRUFBRSx1QkFBdUI7Q0FDcEMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgX2luamVjdE1ldGFkYXRhTWFuYWdlcnMsXG4gIE5neE1ldGFNZXRhZGF0YU1hbmFnZXIsXG59IGZyb20gJy4vbmd4LW1ldGEtbWV0YWRhdGEtbWFuYWdlcidcbmltcG9ydCB7IF9MYXp5SW5qZWN0aW9uVG9rZW4sIF9tYWtlSW5qZWN0aW9uVG9rZW4gfSBmcm9tICcuLi91dGlscydcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZXRhZGF0YVJlZ2lzdHJ5IHtcbiAgcmVhZG9ubHkgcmVnaXN0ZXI6IChtYW5hZ2VyOiBOZ3hNZXRhTWV0YWRhdGFNYW5hZ2VyKSA9PiB2b2lkXG4gIHJlYWRvbmx5IGdldEFsbDogKCkgPT4gSXRlcmFibGU8Tmd4TWV0YU1ldGFkYXRhTWFuYWdlcj5cbiAgcmVhZG9ubHkgZmluZEJ5R2xvYmFsT3JKc29uUGF0aDogKFxuICAgIGdsb2JhbE9ySnNvblBhdGg6IHN0cmluZyxcbiAgKSA9PiBJdGVyYWJsZTxOZ3hNZXRhTWV0YWRhdGFNYW5hZ2VyPlxufVxuXG5jb25zdCBtZXRhZGF0YVJlZ2lzdHJ5RmFjdG9yeTogKCkgPT4gTWV0YWRhdGFSZWdpc3RyeSA9ICgpID0+IHtcbiAgY29uc3QgbWFuYWdlcnMgPSBfaW5qZWN0TWV0YWRhdGFNYW5hZ2VycygpXG4gIGNvbnN0IG1hbmFnZXJzQnlJZCA9IG5ldyBNYXA8c3RyaW5nLCBOZ3hNZXRhTWV0YWRhdGFNYW5hZ2VyPigpXG4gIGNvbnN0IHJlZ2lzdGVyOiBNZXRhZGF0YVJlZ2lzdHJ5WydyZWdpc3RlciddID0gKG1hbmFnZXIpID0+IHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCBodHRwczovL2dpdGh1Yi5jb20vaXN0YW5idWxqcy9pc3RhbmJ1bGpzL2lzc3Vlcy83MTkgKi9cbiAgICBpZiAobWFuYWdlcnNCeUlkLmhhcyhtYW5hZ2VyLmlkKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIG1hbmFnZXJzQnlJZC5zZXQobWFuYWdlci5pZCwgbWFuYWdlcilcbiAgfVxuICBtYW5hZ2Vycy5mb3JFYWNoKHJlZ2lzdGVyKVxuICBjb25zdCBnZXRBbGw6IE1ldGFkYXRhUmVnaXN0cnlbJ2dldEFsbCddID0gKCkgPT4gbWFuYWdlcnNCeUlkLnZhbHVlcygpXG4gIGNvbnN0IGZpbmRCeUdsb2JhbE9ySnNvblBhdGg6IE1ldGFkYXRhUmVnaXN0cnlbJ2ZpbmRCeUdsb2JhbE9ySnNvblBhdGgnXSA9IChcbiAgICBnbG9iYWxPckpzb25QYXRoLFxuICApID0+XG4gICAgWy4uLmdldEFsbCgpXS5maWx0ZXIoXG4gICAgICAobWFuYWdlcikgPT5cbiAgICAgICAgbWFuYWdlci5yZXNvbHZlck9wdGlvbnMuZ2xvYmFsID09IGdsb2JhbE9ySnNvblBhdGggfHxcbiAgICAgICAgbWFuYWdlci5yZXNvbHZlck9wdGlvbnMuanNvblBhdGguam9pbignLicpID09IGdsb2JhbE9ySnNvblBhdGgsXG4gICAgKVxuICByZXR1cm4ge1xuICAgIHJlZ2lzdGVyLFxuICAgIGdldEFsbCxcbiAgICBmaW5kQnlHbG9iYWxPckpzb25QYXRoLFxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBtZXRhZGF0YVJlZ2lzdHJ5OiBfTGF6eUluamVjdGlvblRva2VuPE1ldGFkYXRhUmVnaXN0cnk+ID0gKCkgPT5cbiAgX21ha2VJbmplY3Rpb25Ub2tlbihcbiAgICBuZ0Rldk1vZGUgPyAnTWV0YWRhdGEgUmVnaXN0cnknIDogJ01SZWcnLFxuICAgIG1ldGFkYXRhUmVnaXN0cnlGYWN0b3J5LFxuICApXG5cbmV4cG9ydCBjb25zdCBwcm92aWRlTWV0YWRhdGFSZWdpc3RyeTogKCkgPT4gUHJvdmlkZXIgPSAoKSA9PiAoe1xuICBwcm92aWRlOiBtZXRhZGF0YVJlZ2lzdHJ5KCksXG4gIHVzZUZhY3Rvcnk6IG1ldGFkYXRhUmVnaXN0cnlGYWN0b3J5LFxufSlcbiJdfQ==