@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! 🚀
30 lines • 3.5 kB
JavaScript
import { ENVIRONMENT_INITIALIZER, inject } from '@angular/core';
import { metadataRegistry, provideMetadataRegistry, } from '../managers/metadata-registry';
/**
* Allows to load metadata managers after library has been initialized.
*
* @remarks
*
* This is the standalone, recommended API. Using this API is preferred.
* However, you may also use {@link NgxMetaMetadataLoaderModule} as the Angular module-based equivalent API.
*
* @public
*/
export const provideNgxMetaMetadataLoader = () => [
provideMetadataRegistry(),
{
provide: ENVIRONMENT_INITIALIZER,
multi: true,
useFactory: () => {
const globalRegistry = inject(metadataRegistry(), { skipSelf: true });
const localRegistry = inject(metadataRegistry());
return () => {
const localMetadata = localRegistry.getAll();
for (const metadata of localMetadata) {
globalRegistry.register(metadata);
}
};
},
},
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1uZ3gtbWV0YS1tZXRhZGF0YS1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29yZS9zcmMvbG9hZGVyL3Byb3ZpZGUtbmd4LW1ldGEtbWV0YWRhdGEtbG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLEVBQVksTUFBTSxlQUFlLENBQUE7QUFDekUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQix1QkFBdUIsR0FDeEIsTUFBTSwrQkFBK0IsQ0FBQTtBQUV0Qzs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxHQUFhLEVBQUUsQ0FBQztJQUMxRCx1QkFBdUIsRUFBRTtJQUN6QjtRQUNFLE9BQU8sRUFBRSx1QkFBdUI7UUFDaEMsS0FBSyxFQUFFLElBQUk7UUFDWCxVQUFVLEVBQUUsR0FBRyxFQUFFO1lBQ2YsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtZQUNyRSxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFBO1lBQ2hELE9BQU8sR0FBRyxFQUFFO2dCQUNWLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtnQkFDNUMsS0FBSyxNQUFNLFFBQVEsSUFBSSxhQUFhLEVBQUUsQ0FBQztvQkFDckMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtnQkFDbkMsQ0FBQztZQUNILENBQUMsQ0FBQTtRQUNILENBQUM7S0FDRjtDQUNGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFTlZJUk9OTUVOVF9JTklUSUFMSVpFUiwgaW5qZWN0LCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBtZXRhZGF0YVJlZ2lzdHJ5LFxuICBwcm92aWRlTWV0YWRhdGFSZWdpc3RyeSxcbn0gZnJvbSAnLi4vbWFuYWdlcnMvbWV0YWRhdGEtcmVnaXN0cnknXG5cbi8qKlxuICogQWxsb3dzIHRvIGxvYWQgbWV0YWRhdGEgbWFuYWdlcnMgYWZ0ZXIgbGlicmFyeSBoYXMgYmVlbiBpbml0aWFsaXplZC5cbiAqXG4gKiBAcmVtYXJrc1xuICpcbiAqIFRoaXMgaXMgdGhlIHN0YW5kYWxvbmUsIHJlY29tbWVuZGVkIEFQSS4gVXNpbmcgdGhpcyBBUEkgaXMgcHJlZmVycmVkLlxuICogSG93ZXZlciwgeW91IG1heSBhbHNvIHVzZSB7QGxpbmsgTmd4TWV0YU1ldGFkYXRhTG9hZGVyTW9kdWxlfSBhcyB0aGUgQW5ndWxhciBtb2R1bGUtYmFzZWQgZXF1aXZhbGVudCBBUEkuXG4gKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgcHJvdmlkZU5neE1ldGFNZXRhZGF0YUxvYWRlciA9ICgpOiBQcm92aWRlciA9PiBbXG4gIHByb3ZpZGVNZXRhZGF0YVJlZ2lzdHJ5KCksXG4gIHtcbiAgICBwcm92aWRlOiBFTlZJUk9OTUVOVF9JTklUSUFMSVpFUixcbiAgICBtdWx0aTogdHJ1ZSxcbiAgICB1c2VGYWN0b3J5OiAoKSA9PiB7XG4gICAgICBjb25zdCBnbG9iYWxSZWdpc3RyeSA9IGluamVjdChtZXRhZGF0YVJlZ2lzdHJ5KCksIHsgc2tpcFNlbGY6IHRydWUgfSlcbiAgICAgIGNvbnN0IGxvY2FsUmVnaXN0cnkgPSBpbmplY3QobWV0YWRhdGFSZWdpc3RyeSgpKVxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgY29uc3QgbG9jYWxNZXRhZGF0YSA9IGxvY2FsUmVnaXN0cnkuZ2V0QWxsKClcbiAgICAgICAgZm9yIChjb25zdCBtZXRhZGF0YSBvZiBsb2NhbE1ldGFkYXRhKSB7XG4gICAgICAgICAgZ2xvYmFsUmVnaXN0cnkucmVnaXN0ZXIobWV0YWRhdGEpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICB9LFxuXVxuIl19