@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! 🚀
42 lines • 7.15 kB
JavaScript
// noinspection JSDeprecatedSymbols
import { NgxMetaMetadataManager, } from '../../ngx-meta-metadata-manager';
/**
* Creates an Angular {@link https://angular.dev/guide/di/dependency-injection-providers#factory-providers-usefactory | factory provider}
* providing an {@link NgxMetaMetadataManager}.
*
* See {@link https://ngx-meta.dev/guides/manage-your-custom-metadata/ | manage custom metadata guide} for an example.
*
* @deprecated Use {@link provideNgxMetaManager} APIs instead.
* See {@link https://ngx-meta.dev/migrations/02-manager-provider-apis/ } for more information.
*
* @remarks
*
* Factory providers are used for built-in modules instead of Angular services.
* Reason is that code created by `@Injectable` decorator takes many bytes,
* whereas a call to this function creating a factory provider takes fewer.
*
* See {@link https://github.com/davidlj95/ngx/issues/112}
*
* @param setterFactory - Function that creates a {@link NgxMetaMetadataManager} given some dependencies
* @param opts - Options to create the factory
* @public
*/
/* istanbul ignore next - unused. was covered when used */
export const makeMetadataManagerProviderFromSetterFactory = (setterFactory, opts) => {
const deps = opts.d ?? [];
return {
provide: NgxMetaMetadataManager,
multi: true,
useFactory: (...deps) => ({
id: opts.id ?? opts.jP.join('.'),
resolverOptions: {
jsonPath: opts.jP,
global: opts.g,
objectMerge: opts.m,
},
set: setterFactory(...deps),
}),
deps,
};
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZS1tZXRhZGF0YS1tYW5hZ2VyLXByb3ZpZGVyLWZyb20tc2V0dGVyLWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29yZS9zcmMvbWFuYWdlcnMvcHJvdmlkZXIvdjEvbWFrZS1tZXRhZGF0YS1tYW5hZ2VyLXByb3ZpZGVyLWZyb20tc2V0dGVyLWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUNBQW1DO0FBRW5DLE9BQU8sRUFFTCxzQkFBc0IsR0FDdkIsTUFBTSxpQ0FBaUMsQ0FBQTtBQUl4Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFDSCwwREFBMEQ7QUFDMUQsTUFBTSxDQUFDLE1BQU0sNENBQTRDLEdBQUcsQ0FDMUQsYUFBdUMsRUFDdkMsSUFBeUQsRUFDeEMsRUFBRTtJQUNuQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUN6QixPQUFPO1FBQ0wsT0FBTyxFQUFFLHNCQUFzQjtRQUMvQixLQUFLLEVBQUUsSUFBSTtRQUNYLFVBQVUsRUFBRSxDQUFDLEdBQUcsSUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ25DLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNoQyxlQUFlLEVBQUU7Z0JBQ2YsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ2QsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO2FBQ3BCO1lBQ0QsR0FBRyxFQUFFLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQztTQUM1QixDQUFDO1FBQ0YsSUFBSTtLQUNMLENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBub2luc3BlY3Rpb24gSlNEZXByZWNhdGVkU3ltYm9sc1xuXG5pbXBvcnQge1xuICBNZXRhZGF0YVJlc29sdmVyT3B0aW9ucyxcbiAgTmd4TWV0YU1ldGFkYXRhTWFuYWdlcixcbn0gZnJvbSAnLi4vLi4vbmd4LW1ldGEtbWV0YWRhdGEtbWFuYWdlcidcbmltcG9ydCB7IEZhY3RvcnlQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBNZXRhZGF0YVNldHRlckZhY3RvcnkgfSBmcm9tICcuLi9tZXRhZGF0YS1zZXR0ZXItZmFjdG9yeSdcblxuLyoqXG4gKiBDcmVhdGVzIGFuIEFuZ3VsYXIge0BsaW5rIGh0dHBzOi8vYW5ndWxhci5kZXYvZ3VpZGUvZGkvZGVwZW5kZW5jeS1pbmplY3Rpb24tcHJvdmlkZXJzI2ZhY3RvcnktcHJvdmlkZXJzLXVzZWZhY3RvcnkgfCBmYWN0b3J5IHByb3ZpZGVyfVxuICogcHJvdmlkaW5nIGFuIHtAbGluayBOZ3hNZXRhTWV0YWRhdGFNYW5hZ2VyfS5cbiAqXG4gKiBTZWUge0BsaW5rIGh0dHBzOi8vbmd4LW1ldGEuZGV2L2d1aWRlcy9tYW5hZ2UteW91ci1jdXN0b20tbWV0YWRhdGEvIHwgbWFuYWdlIGN1c3RvbSBtZXRhZGF0YSBndWlkZX0gZm9yIGFuIGV4YW1wbGUuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIHtAbGluayBwcm92aWRlTmd4TWV0YU1hbmFnZXJ9IEFQSXMgaW5zdGVhZC5cbiAqICAgICAgICAgICAgIFNlZSB7QGxpbmsgaHR0cHM6Ly9uZ3gtbWV0YS5kZXYvbWlncmF0aW9ucy8wMi1tYW5hZ2VyLXByb3ZpZGVyLWFwaXMvIH0gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gKlxuICogQHJlbWFya3NcbiAqXG4gKiBGYWN0b3J5IHByb3ZpZGVycyBhcmUgdXNlZCBmb3IgYnVpbHQtaW4gbW9kdWxlcyBpbnN0ZWFkIG9mIEFuZ3VsYXIgc2VydmljZXMuXG4gKiBSZWFzb24gaXMgdGhhdCBjb2RlIGNyZWF0ZWQgYnkgYEBJbmplY3RhYmxlYCBkZWNvcmF0b3IgdGFrZXMgbWFueSBieXRlcyxcbiAqIHdoZXJlYXMgYSBjYWxsIHRvIHRoaXMgZnVuY3Rpb24gY3JlYXRpbmcgYSBmYWN0b3J5IHByb3ZpZGVyIHRha2VzIGZld2VyLlxuICpcbiAqIFNlZSB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2RhdmlkbGo5NS9uZ3gvaXNzdWVzLzExMn1cbiAqXG4gKiBAcGFyYW0gc2V0dGVyRmFjdG9yeSAtIEZ1bmN0aW9uIHRoYXQgY3JlYXRlcyBhIHtAbGluayBOZ3hNZXRhTWV0YWRhdGFNYW5hZ2VyfSBnaXZlbiBzb21lIGRlcGVuZGVuY2llc1xuICogQHBhcmFtIG9wdHMgLSBPcHRpb25zIHRvIGNyZWF0ZSB0aGUgZmFjdG9yeVxuICogQHB1YmxpY1xuICovXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAtIHVudXNlZC4gd2FzIGNvdmVyZWQgd2hlbiB1c2VkICovXG5leHBvcnQgY29uc3QgbWFrZU1ldGFkYXRhTWFuYWdlclByb3ZpZGVyRnJvbVNldHRlckZhY3RvcnkgPSA8VD4oXG4gIHNldHRlckZhY3Rvcnk6IE1ldGFkYXRhU2V0dGVyRmFjdG9yeTxUPixcbiAgb3B0czogTWFrZU1ldGFkYXRhTWFuYWdlclByb3ZpZGVyRnJvbVNldHRlckZhY3RvcnlPcHRpb25zLFxuKTogRmFjdG9yeVByb3ZpZGVyID0+IHtcbiAgY29uc3QgZGVwcyA9IG9wdHMuZCA/PyBbXVxuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IE5neE1ldGFNZXRhZGF0YU1hbmFnZXIsXG4gICAgbXVsdGk6IHRydWUsXG4gICAgdXNlRmFjdG9yeTogKC4uLmRlcHM6IHVua25vd25bXSkgPT4gKHtcbiAgICAgIGlkOiBvcHRzLmlkID8/IG9wdHMualAuam9pbignLicpLFxuICAgICAgcmVzb2x2ZXJPcHRpb25zOiB7XG4gICAgICAgIGpzb25QYXRoOiBvcHRzLmpQLFxuICAgICAgICBnbG9iYWw6IG9wdHMuZyxcbiAgICAgICAgb2JqZWN0TWVyZ2U6IG9wdHMubSxcbiAgICAgIH0sXG4gICAgICBzZXQ6IHNldHRlckZhY3RvcnkoLi4uZGVwcyksXG4gICAgfSksXG4gICAgZGVwcyxcbiAgfVxufVxuXG4vKipcbiAqIE9wdGlvbnMgYXJndW1lbnQgb2JqZWN0IGZvciB7QGxpbmsgbWFrZU1ldGFkYXRhTWFuYWdlclByb3ZpZGVyRnJvbVNldHRlckZhY3Rvcnl9LlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSB7QGxpbmsgcHJvdmlkZU5neE1ldGFNYW5hZ2VyfSBBUElzIGluc3RlYWQuXG4gKiAgICAgICAgICAgICBTZWUge0BsaW5rIGh0dHBzOi8vbmd4LW1ldGEuZGV2L21pZ3JhdGlvbnMvMDItbWFuYWdlci1wcm92aWRlci1hcGlzLyB9IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICpcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNYWtlTWV0YWRhdGFNYW5hZ2VyUHJvdmlkZXJGcm9tU2V0dGVyRmFjdG9yeU9wdGlvbnMge1xuICAvKipcbiAgICogRGVwZW5kZW5jaWVzIHRvIGluamVjdCB0byB0aGUgc2V0dGVyIGZhY3RvcnkuXG4gICAqXG4gICAqIFNlZSBhbHNvOlxuICAgKlxuICAgKiAtIHtAbGluayBodHRwczovL2FuZ3VsYXIuZGV2L2d1aWRlL2RpL2RlcGVuZGVuY3ktaW5qZWN0aW9uLXByb3ZpZGVycyNmYWN0b3J5LXByb3ZpZGVycy11c2VmYWN0b3J5On46dGV4dD1wcm9wZXJ0eSUyMGlzJTIwYW4lMjBhcnJheSUyMG9mJTIwcHJvdmlkZXIlMjB0b2tlbnMgfCBGYWN0b3J5IHByb3ZpZGVycycgZGVwc31cbiAgICpcbiAgICogLSB7QGxpbmsgaHR0cHM6Ly9hbmd1bGFyLmRldi9hcGkvY29yZS9GYWN0b3J5UHJvdmlkZXIjZGVwcyB8IEZhY3RvcnlQcm92aWRlciNkZXBzfVxuICAgKlxuICAgKiBEZWZhdWx0cyB0byBubyBkZXBlbmRlbmNpZXNcbiAgICovXG4gIGQ/OiBGYWN0b3J5UHJvdmlkZXJbJ2RlcHMnXVxuICAvKipcbiAgICogTWV0YWRhdGEgbWFuYWdlciBpZGVudGlmaWVyXG4gICAqXG4gICAqIFNlZSB7QGxpbmsgTmd4TWV0YU1ldGFkYXRhTWFuYWdlci5pZH1cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gdGhlIEpTT04gcGF0aCBqb2luZWQgYnkgZG90cyAoYFsnc3RhbmRhcmQnLCAndGl0bGUnXSA9PiAnc3RhbmRhcmQudGl0bGUnYClcbiAgICovXG4gIGlkPzogc3RyaW5nXG4gIC8qKlxuICAgKiBTZWUge0BsaW5rIE1ldGFkYXRhUmVzb2x2ZXJPcHRpb25zLmpzb25QYXRofVxuICAgKi9cbiAgalA6IE1ldGFkYXRhUmVzb2x2ZXJPcHRpb25zWydqc29uUGF0aCddXG4gIC8qKlxuICAgKiBTZWUge0BsaW5rIE1ldGFkYXRhUmVzb2x2ZXJPcHRpb25zLmdsb2JhbH1cbiAgICovXG4gIGc/OiBNZXRhZGF0YVJlc29sdmVyT3B0aW9uc1snZ2xvYmFsJ11cbiAgLyoqXG4gICAqIFNlZSB7QGxpbmsgTWV0YWRhdGFSZXNvbHZlck9wdGlvbnMub2JqZWN0TWVyZ2V9XG4gICAqL1xuICBtPzogTWV0YWRhdGFSZXNvbHZlck9wdGlvbnNbJ29iamVjdE1lcmdlJ11cbn1cbiJdfQ==