@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! 🚀
1 lines • 17 kB
Source Map (JSON)
{"version":3,"file":"davidlj95-ngx-meta-standard.mjs","sources":["../../src/standard/src/utils/provide-standard-manager.ts","../../src/standard/src/managers/provide-standard-application-name.ts","../../src/standard/src/managers/provide-standard-author.ts","../../src/standard/src/module-name.ts","../../src/standard/src/managers/provide-standard-canonical-url.ts","../../src/standard/src/managers/provide-standard-description.ts","../../src/standard/src/managers/provide-standard-generator.ts","../../src/standard/src/managers/provide-standard-keywords.ts","../../src/standard/src/managers/provide-standard-locale.ts","../../src/standard/src/managers/provide-standard-theme-color.ts","../../src/standard/src/managers/provide-standard-title.ts","../../src/standard/src/providers/provide-ngx-meta-standard.ts","../../src/standard/src/providers/ngx-meta-standard.module.ts","../../src/standard/davidlj95-ngx-meta-standard.ts"],"sourcesContent":["import {\n _provideNgxMetaModuleManager,\n _ProvideNgxMetaModuleManagerOptions,\n withOptions,\n} from '@davidlj95/ngx-meta/core'\nimport { Standard, StandardMetadata } from '../types'\n\nexport const provideStandardManager = <Key extends keyof Standard>(\n key: Key,\n ...options: readonly _ProvideNgxMetaModuleManagerOptions<Standard[Key]>[]\n) =>\n _provideNgxMetaModuleManager<Standard, Key>(\n key,\n ['standard' satisfies keyof StandardMetadata],\n withOptions(...options),\n )\n","import {\n _GLOBAL_APPLICATION_NAME,\n _withModuleManagerNameAttribute,\n _withModuleManagerSameGlobalKey,\n withNameAttribute,\n} from '@davidlj95/ngx-meta/core'\nimport { provideStandardManager } from '../utils/provide-standard-manager'\n\n/**\n * Manages the {@link Standard.applicationName} metadata\n * @public\n */\nexport const provideStandardApplicationName = () =>\n provideStandardManager(\n _GLOBAL_APPLICATION_NAME,\n _withModuleManagerSameGlobalKey(),\n _withModuleManagerNameAttribute(withNameAttribute('application-name')),\n )\n\n/**\n * {@inheritDoc provideStandardApplicationName}\n * @deprecated Use {@link provideStandardApplicationName} instead\n * @public\n */\nexport const STANDARD_APPLICATION_NAME_METADATA_PROVIDER =\n /* @__PURE__ */\n provideStandardApplicationName()\n","import { provideStandardManager } from '../utils/provide-standard-manager'\n\n/**\n * Manages the {@link Standard.author} metadata\n * @public\n */\nexport const provideStandardAuthor = () => provideStandardManager('author')\n\n/**\n * {@inheritDoc provideStandardAuthor}\n * @deprecated Use {@link provideStandardAuthor} instead\n * @public\n */\nexport const STANDARD_AUTHOR_METADATA_PROVIDER =\n /* @__PURE__ */\n provideStandardAuthor()\n","export const MODULE_NAME = 'standard'\n","import {\n _GLOBAL_CANONICAL_URL,\n _headElementUpsertOrRemove,\n _isDefined,\n _maybeNonHttpUrlDevMessage,\n _urlResolver,\n _withModuleManagerSameGlobalKey,\n _withModuleManagerSetterFactory,\n withManagerDeps,\n} from '@davidlj95/ngx-meta/core'\nimport { DOCUMENT } from '@angular/common'\nimport { MODULE_NAME } from '../module-name'\nimport { provideStandardManager } from '../utils/provide-standard-manager'\n\n/**\n * Manages the {@link Standard.canonicalUrl} metadata\n * @public\n */\nexport const provideStandardCanonicalUrl = () =>\n provideStandardManager(\n _GLOBAL_CANONICAL_URL,\n _withModuleManagerSameGlobalKey(),\n withManagerDeps(_headElementUpsertOrRemove(), DOCUMENT, _urlResolver()),\n _withModuleManagerSetterFactory(\n (headElementUpsertOrRemove, doc, urlResolver) => (url) => {\n const resolvedUrl = urlResolver(url)\n /* istanbul ignore next https://github.com/istanbuljs/istanbuljs/issues/719 */\n if (ngDevMode) {\n _maybeNonHttpUrlDevMessage(resolvedUrl, {\n module: MODULE_NAME,\n property: _GLOBAL_CANONICAL_URL,\n value: resolvedUrl,\n link: 'https://stackoverflow.com/a/8467966/3263250',\n shouldInsteadOfMust: true,\n })\n }\n let linkElement: HTMLLinkElement | undefined\n if (_isDefined(resolvedUrl)) {\n linkElement = doc.createElement(LINK_TAG)\n linkElement!.setAttribute(REL_ATTR, CANONICAL_VAL)\n linkElement!.setAttribute('href', resolvedUrl)\n }\n headElementUpsertOrRemove(SELECTOR, linkElement)\n },\n ),\n )\n\nconst LINK_TAG = 'link'\nconst REL_ATTR = 'rel'\nconst CANONICAL_VAL = 'canonical'\nconst SELECTOR = `${LINK_TAG}[${REL_ATTR}='${CANONICAL_VAL}']`\n\n/**\n * {@inheritDoc provideStandardCanonicalUrl}\n * @deprecated Use {@link provideStandardCanonicalUrl} instead\n * @public\n */\nexport const STANDARD_CANONICAL_URL_METADATA_PROVIDER =\n /* @__PURE__ */\n provideStandardCanonicalUrl()\n","import {\n _GLOBAL_DESCRIPTION,\n _withModuleManagerSameGlobalKey,\n} from '@davidlj95/ngx-meta/core'\nimport { provideStandardManager } from '../utils/provide-standard-manager'\n\n/**\n * Manages the {@link Standard.description} metadata\n * @public\n */\nexport const provideStandardDescription = () =>\n provideStandardManager(_GLOBAL_DESCRIPTION, _withModuleManagerSameGlobalKey())\n\n/**\n * {@inheritDoc provideStandardDescription}\n * @deprecated Use {@link provideStandardDescription} instead\n * @public\n */\nexport const STANDARD_DESCRIPTION_METADATA_PROVIDER =\n /* @__PURE__ */\n provideStandardDescription()\n","import { Standard } from '../types'\nimport {\n _withModuleManagerSetterFactory,\n NgxMetaElementsService,\n withContentAttribute,\n withNameAttribute,\n} from '@davidlj95/ngx-meta/core'\nimport { VERSION } from '@angular/core'\nimport { provideStandardManager } from '../utils/provide-standard-manager'\n\nconst KEY = 'generator' satisfies keyof Standard\n\n/**\n * Manages the {@link Standard.generator} metadata\n * @public\n */\nexport const provideStandardGenerator = () =>\n provideStandardManager(\n KEY,\n _withModuleManagerSetterFactory(\n (metaElementsService: NgxMetaElementsService) => (value) =>\n metaElementsService.set(\n withNameAttribute(KEY),\n withContentAttribute(\n value === true ? `Angular v${VERSION.full}` : value,\n ),\n ),\n ),\n )\n\n/**\n * {@inheritDoc provideStandardGenerator}\n * @deprecated Use {@link provideStandardGenerator} instead\n * @public\n */\nexport const STANDARD_GENERATOR_METADATA_PROVIDER =\n /* @__PURE__ */\n provideStandardGenerator()\n","import { Standard } from '../types'\nimport {\n _withModuleManagerSetterFactory,\n NgxMetaElementsService,\n withContentAttribute,\n withNameAttribute,\n} from '@davidlj95/ngx-meta/core'\nimport { provideStandardManager } from '../utils/provide-standard-manager'\n\nconst KEY = 'keywords' satisfies keyof Standard\n\n/**\n * Manages the {@link Standard.keywords} metadata\n * @public\n */\nexport const provideStandardKeywords = () =>\n provideStandardManager(\n KEY,\n _withModuleManagerSetterFactory(\n (metaElementsService: NgxMetaElementsService) => (value) =>\n metaElementsService.set(\n withNameAttribute(KEY),\n withContentAttribute(value?.join(',')),\n ),\n ),\n )\n\n/**\n * {@inheritDoc provideStandardKeywords}\n * @deprecated Use {@link provideStandardKeywords} instead\n * @public\n */\nexport const STANDARD_KEYWORDS_METADATA_PROVIDER =\n /* @__PURE__ */\n provideStandardKeywords()\n","import {\n _GLOBAL_LOCALE,\n _isDefined,\n _withModuleManagerSameGlobalKey,\n _withModuleManagerSetterFactory,\n withManagerDeps,\n} from '@davidlj95/ngx-meta/core'\nimport { DOCUMENT } from '@angular/common'\nimport { provideStandardManager } from '../utils/provide-standard-manager'\n\nconst ATTRIBUTE_NAME = 'lang'\n\n/**\n * Manages the {@link Standard.locale} metadata\n * @public\n */\nexport const provideStandardLocale = () =>\n provideStandardManager(\n _GLOBAL_LOCALE,\n _withModuleManagerSameGlobalKey(),\n withManagerDeps(DOCUMENT),\n _withModuleManagerSetterFactory((doc: Document) => (locale) => {\n const htmlElement = doc.documentElement\n if (!_isDefined(locale)) {\n htmlElement.removeAttribute(ATTRIBUTE_NAME)\n return\n }\n htmlElement.setAttribute(ATTRIBUTE_NAME, locale)\n }),\n )\n\n/**\n * {@inheritDoc provideStandardLocale}\n * @deprecated Use {@link provideStandardLocale} instead\n * @public\n */\nexport const STANDARD_LOCALE_METADATA_PROVIDER =\n /* @__PURE__ */\n provideStandardLocale()\n","import {\n _isDefined,\n _withModuleManagerSetterFactory,\n NgxMetaElementsService,\n withContentAttribute,\n withNameAttribute,\n} from '@davidlj95/ngx-meta/core'\nimport { StandardThemeColorMetadataObject } from './standard-theme-color-metadata'\nimport { provideStandardManager } from '../utils/provide-standard-manager'\nimport { Standard } from '../types'\n\n/**\n * Manages the {@link Standard.themeColor} metadata\n * @public\n */\nexport const provideStandardThemeColor = () =>\n provideStandardManager(\n 'themeColor',\n _withModuleManagerSetterFactory(\n (metaElementsService: NgxMetaElementsService) => (value) => {\n const contents = !_isDefined(value)\n ? []\n : (Array.isArray as IsStandardThemeColorMetadataArray)(value)\n ? value\n : [{ color: value } satisfies StandardThemeColorMetadataObject]\n metaElementsService.set(\n withNameAttribute('theme-color'),\n contents.map(({ color, media }) =>\n withContentAttribute(color, media ? { media } : undefined),\n ),\n )\n },\n ),\n )\n\ntype IsStandardThemeColorMetadataArray = (\n value: Standard['themeColor'],\n) => value is readonly StandardThemeColorMetadataObject[]\n\n/**\n * {@inheritDoc provideStandardThemeColor}\n * @deprecated Use {@link provideStandardThemeColor} instead\n * @public\n */\nexport const STANDARD_THEME_COLOR_METADATA_PROVIDER =\n /* @__PURE__ */\n provideStandardThemeColor()\n","import { Title } from '@angular/platform-browser'\nimport {\n _GLOBAL_TITLE,\n _isDefined,\n _titleFormatter,\n _withModuleManagerSameGlobalKey,\n _withModuleManagerSetterFactory,\n TitleFormatter,\n withManagerDeps,\n} from '@davidlj95/ngx-meta/core'\nimport { provideStandardManager } from '../utils/provide-standard-manager'\n\n/**\n * Manages the {@link Standard.title} metadata\n * @public\n */\nexport const provideStandardTitle = () =>\n provideStandardManager(\n _GLOBAL_TITLE,\n _withModuleManagerSameGlobalKey(),\n withManagerDeps(Title, _titleFormatter()),\n _withModuleManagerSetterFactory(\n (titleService: Title, titleFormatter: TitleFormatter) => (value) => {\n if (!_isDefined(value)) {\n return\n }\n titleService.setTitle(titleFormatter(value))\n },\n ),\n )\n\n/**\n * {@inheritDoc provideStandardTitle}\n * @deprecated Use {@link provideStandardTitle} instead\n * @public\n */\nexport const STANDARD_TITLE_METADATA_PROVIDER =\n /* @__PURE__ */\n provideStandardTitle()\n","import { Provider } from '@angular/core'\nimport {\n provideStandardApplicationName,\n provideStandardAuthor,\n provideStandardCanonicalUrl,\n provideStandardDescription,\n provideStandardGenerator,\n provideStandardKeywords,\n provideStandardLocale,\n provideStandardThemeColor,\n provideStandardTitle,\n} from '../managers'\n\n/**\n * Provides {@link https://ngx-meta.dev/built-in-modules/standard/ | standard module}\n * metadata managers.\n *\n * @remarks\n *\n * This is the standalone, recommended API. Using this API is preferred.\n * However, you may also use {@link NgxMetaStandardModule} as the Angular module-based equivalent API.\n *\n * @public\n */\nexport const provideNgxMetaStandard = (): Provider => [\n provideStandardTitle(),\n provideStandardDescription(),\n provideStandardAuthor(),\n provideStandardKeywords(),\n provideStandardGenerator(),\n provideStandardApplicationName(),\n provideStandardCanonicalUrl(),\n provideStandardLocale(),\n provideStandardThemeColor(),\n]\n","import { NgModule } from '@angular/core'\nimport { provideNgxMetaStandard } from './provide-ngx-meta-standard'\n\n/**\n * Provides {@link https://ngx-meta.dev/built-in-modules/standard/ | standard module}\n * metadata managers.\n *\n * Check out {@link provideNgxMetaStandard} for the standalone, recommended API.\n *\n * @public\n */\n@NgModule({\n providers: [provideNgxMetaStandard()],\n})\nexport class NgxMetaStandardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["KEY"],"mappings":"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"}