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! 🚀

31 lines • 5.45 kB
import { _GLOBAL_CANONICAL_URL, _maybeNonHttpUrlDevMessage, _urlResolver, _withModuleManagerSetterFactory, NgxMetaElementsService, withContentAttribute, withManagerDeps, withManagerGlobal, } from '@davidlj95/ngx-meta/core'; import { MODULE_NAME } from '../../module-name'; import { withOpenGraphPropertyAttribute } from '../../utils/with-open-graph-property-attribute'; import { provideOpenGraphManager } from '../../utils/provide-open-graph-manager'; const KEY = 'url'; /** * Manages the {@link OpenGraph.url} metadata * @public */ export const provideOpenGraphUrl = () => provideOpenGraphManager(KEY, withManagerGlobal(_GLOBAL_CANONICAL_URL), withManagerDeps(NgxMetaElementsService, _urlResolver()), _withModuleManagerSetterFactory((metaElementsService, urlResolver) => (url) => { const resolvedUrl = urlResolver(url); /* istanbul ignore next https://github.com/istanbuljs/istanbuljs/issues/719 */ if (ngDevMode) { _maybeNonHttpUrlDevMessage(resolvedUrl, { module: MODULE_NAME, property: KEY, value: resolvedUrl, link: 'https://ogp.me/#metadata', }); } metaElementsService.set(withOpenGraphPropertyAttribute(KEY), withContentAttribute(urlResolver(url))); })); /** * {@inheritDoc provideOpenGraphUrl} * @deprecated Use {@link provideOpenGraphUrl} instead * @public */ export const OPEN_GRAPH_URL_METADATA_PROVIDER = /* @__PURE__ */ provideOpenGraphUrl(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1vcGVuLWdyYXBoLXVybC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9vcGVuLWdyYXBoL3NyYy9iYXNpYy1vcHRpb25hbC9tYW5hZ2Vycy9wcm92aWRlLW9wZW4tZ3JhcGgtdXJsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsMEJBQTBCLEVBQzFCLFlBQVksRUFFWiwrQkFBK0IsRUFDL0Isc0JBQXNCLEVBQ3RCLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsaUJBQWlCLEdBQ2xCLE1BQU0sMEJBQTBCLENBQUE7QUFFakMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQy9DLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFBO0FBQy9GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBRWhGLE1BQU0sR0FBRyxHQUFHLEtBQStCLENBQUE7QUFFM0M7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxFQUFFLENBQ3RDLHVCQUF1QixDQUNyQixHQUFHLEVBQ0gsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsRUFDeEMsZUFBZSxDQUFDLHNCQUFzQixFQUFFLFlBQVksRUFBRSxDQUFDLEVBQ3ZELCtCQUErQixDQUM3QixDQUNFLG1CQUEyQyxFQUMzQyxXQUF5QixFQUN6QixFQUFFLENBQ0YsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUNOLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNwQyw4RUFBOEU7SUFDOUUsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNkLDBCQUEwQixDQUFDLFdBQVcsRUFBRTtZQUN0QyxNQUFNLEVBQUUsV0FBVztZQUNuQixRQUFRLEVBQUUsR0FBRztZQUNiLEtBQUssRUFBRSxXQUFXO1lBQ2xCLElBQUksRUFBRSwwQkFBMEI7U0FDakMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUNELG1CQUFtQixDQUFDLEdBQUcsQ0FDckIsOEJBQThCLENBQUMsR0FBRyxDQUFDLEVBQ25DLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUN2QyxDQUFBO0FBQ0gsQ0FBQyxDQUNKLENBQ0YsQ0FBQTtBQUVIOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQ0FBZ0M7QUFDM0MsZUFBZTtBQUNmLG1CQUFtQixFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBfR0xPQkFMX0NBTk9OSUNBTF9VUkwsXG4gIF9tYXliZU5vbkh0dHBVcmxEZXZNZXNzYWdlLFxuICBfdXJsUmVzb2x2ZXIsXG4gIF9VcmxSZXNvbHZlcixcbiAgX3dpdGhNb2R1bGVNYW5hZ2VyU2V0dGVyRmFjdG9yeSxcbiAgTmd4TWV0YUVsZW1lbnRzU2VydmljZSxcbiAgd2l0aENvbnRlbnRBdHRyaWJ1dGUsXG4gIHdpdGhNYW5hZ2VyRGVwcyxcbiAgd2l0aE1hbmFnZXJHbG9iYWwsXG59IGZyb20gJ0BkYXZpZGxqOTUvbmd4LW1ldGEvY29yZSdcbmltcG9ydCB7IE9wZW5HcmFwaCB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHsgTU9EVUxFX05BTUUgfSBmcm9tICcuLi8uLi9tb2R1bGUtbmFtZSdcbmltcG9ydCB7IHdpdGhPcGVuR3JhcGhQcm9wZXJ0eUF0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL3V0aWxzL3dpdGgtb3Blbi1ncmFwaC1wcm9wZXJ0eS1hdHRyaWJ1dGUnXG5pbXBvcnQgeyBwcm92aWRlT3BlbkdyYXBoTWFuYWdlciB9IGZyb20gJy4uLy4uL3V0aWxzL3Byb3ZpZGUtb3Blbi1ncmFwaC1tYW5hZ2VyJ1xuXG5jb25zdCBLRVkgPSAndXJsJyBzYXRpc2ZpZXMga2V5b2YgT3BlbkdyYXBoXG5cbi8qKlxuICogTWFuYWdlcyB0aGUge0BsaW5rIE9wZW5HcmFwaC51cmx9IG1ldGFkYXRhXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBwcm92aWRlT3BlbkdyYXBoVXJsID0gKCkgPT5cbiAgcHJvdmlkZU9wZW5HcmFwaE1hbmFnZXIoXG4gICAgS0VZLFxuICAgIHdpdGhNYW5hZ2VyR2xvYmFsKF9HTE9CQUxfQ0FOT05JQ0FMX1VSTCksXG4gICAgd2l0aE1hbmFnZXJEZXBzKE5neE1ldGFFbGVtZW50c1NlcnZpY2UsIF91cmxSZXNvbHZlcigpKSxcbiAgICBfd2l0aE1vZHVsZU1hbmFnZXJTZXR0ZXJGYWN0b3J5KFxuICAgICAgKFxuICAgICAgICBtZXRhRWxlbWVudHNTZXJ2aWNlOiBOZ3hNZXRhRWxlbWVudHNTZXJ2aWNlLFxuICAgICAgICB1cmxSZXNvbHZlcjogX1VybFJlc29sdmVyLFxuICAgICAgKSA9PlxuICAgICAgICAodXJsKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzb2x2ZWRVcmwgPSB1cmxSZXNvbHZlcih1cmwpXG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgaHR0cHM6Ly9naXRodWIuY29tL2lzdGFuYnVsanMvaXN0YW5idWxqcy9pc3N1ZXMvNzE5ICovXG4gICAgICAgICAgaWYgKG5nRGV2TW9kZSkge1xuICAgICAgICAgICAgX21heWJlTm9uSHR0cFVybERldk1lc3NhZ2UocmVzb2x2ZWRVcmwsIHtcbiAgICAgICAgICAgICAgbW9kdWxlOiBNT0RVTEVfTkFNRSxcbiAgICAgICAgICAgICAgcHJvcGVydHk6IEtFWSxcbiAgICAgICAgICAgICAgdmFsdWU6IHJlc29sdmVkVXJsLFxuICAgICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly9vZ3AubWUvI21ldGFkYXRhJyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICAgIG1ldGFFbGVtZW50c1NlcnZpY2Uuc2V0KFxuICAgICAgICAgICAgd2l0aE9wZW5HcmFwaFByb3BlcnR5QXR0cmlidXRlKEtFWSksXG4gICAgICAgICAgICB3aXRoQ29udGVudEF0dHJpYnV0ZSh1cmxSZXNvbHZlcih1cmwpKSxcbiAgICAgICAgICApXG4gICAgICAgIH0sXG4gICAgKSxcbiAgKVxuXG4vKipcbiAqIHtAaW5oZXJpdERvYyBwcm92aWRlT3BlbkdyYXBoVXJsfVxuICogQGRlcHJlY2F0ZWQgVXNlIHtAbGluayBwcm92aWRlT3BlbkdyYXBoVXJsfSBpbnN0ZWFkXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBPUEVOX0dSQVBIX1VSTF9NRVRBREFUQV9QUk9WSURFUiA9XG4gIC8qIEBfX1BVUkVfXyAqL1xuICBwcm92aWRlT3BlbkdyYXBoVXJsKClcbiJdfQ==