UNPKG

vike-metadata-vue

Version:

A hook to manage metadata for your Vike + Vue app.

2 lines 19.6 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _useConfig = require('vike-vue/useConfig');var _vue = require('vue');function g(e){if(!e)return;let t="";return typeof _optionalChain([e, 'optionalAccess', _ => _.email])<"u"&&(e.email?t+="email=yes,":t+="email=no,"),typeof _optionalChain([e, 'optionalAccess', _2 => _2.telephone])<"u"&&(e.telephone?t+="telephone=yes,":t+="telephone=no,"),typeof _optionalChain([e, 'optionalAccess', _3 => _3.address])<"u"&&(e.address?t+="address=yes,":t+="address=no,"),typeof _optionalChain([e, 'optionalAccess', _4 => _4.url])<"u"&&(e.url?t+="url=yes,":t+="url=no,"),typeof _optionalChain([e, 'optionalAccess', _5 => _5.date])<"u"&&(e.date?t+="date=yes":t+="date=no"),t}function l(e){if(!e)return null;if(typeof e=="string")return e;let t=[];return(_optionalChain([e, 'optionalAccess', _6 => _6.follow])!==void 0||_optionalChain([e, 'optionalAccess', _7 => _7.nofollow])!==void 0)&&(e.follow===!0||e.nofollow===!1?t.push("follow"):t.push("nofollow")),(_optionalChain([e, 'optionalAccess', _8 => _8.index])!==void 0||_optionalChain([e, 'optionalAccess', _9 => _9.noindex])!==void 0)&&(e.index===!0||e.noindex===!1?t.push("index"):t.push("noindex")),_optionalChain([e, 'optionalAccess', _10 => _10.indexifembedded])===!0&&t.push("indexifembedded"),_optionalChain([e, 'optionalAccess', _11 => _11["max-image-preview"]])!==void 0&&t.push(`max-image-preview:${e["max-image-preview"]}`),_optionalChain([e, 'optionalAccess', _12 => _12["max-snippet"]])!==void 0&&t.push(`max-snippet:${e["max-snippet"]}`),_optionalChain([e, 'optionalAccess', _13 => _13["max-video-preview"]])!==void 0&&t.push(`max-video-preview:${e["max-video-preview"]}`),_optionalChain([e, 'optionalAccess', _14 => _14.noarchive])===!0&&t.push("noarchive"),_optionalChain([e, 'optionalAccess', _15 => _15.nocache])===!0&&t.push("nocache"),_optionalChain([e, 'optionalAccess', _16 => _16.noimageindex])===!0&&t.push("noimageindex"),_optionalChain([e, 'optionalAccess', _17 => _17.nositelinkssearchbox])===!0&&t.push("nositelinkssearchbox"),_optionalChain([e, 'optionalAccess', _18 => _18.nosnippet])===!0&&t.push("nosnippet"),_optionalChain([e, 'optionalAccess', _19 => _19.notranslate])===!0&&t.push("notranslate"),_optionalChain([e, 'optionalAccess', _20 => _20.unavailable_after])!==void 0&&t.push(`unavailable_after: ${e.unavailable_after}`),t.join(", ")}function y(e){if(!e)return null;let t=[];return e.width!==void 0&&t.push(`width=${e.width}`),e.height!==void 0&&t.push(`height=${e.height}`),e.initialScale!==void 0&&t.push(`initial-scale=${e.initialScale}`),e.interactiveWidget!==void 0&&t.push(`interactive-widget=${e.interactiveWidget}`),e.maximumScale!==void 0&&t.push(`maximum-scale=${e.maximumScale}`),e.minimumScale!==void 0&&t.push(`minimum-scale=${e.minimumScale}`),e.userScalable!==void 0&&(e.userScalable===!0&&t.push("user-scalable=yes"),t.push("user-scalable=no")),e.viewportFit!==void 0&&t.push(`viewport-fit=${e.viewportFit}`),t.join(", ")}function h(e){return typeof e=="string"?e:e.join(",")}function f(e,t){let o=document.querySelector(`meta[name="${e}"]`);o||(o=document.createElement("meta"),o.setAttribute("name",e),document.head.appendChild(o)),o.setAttribute("content",t)}function m(e,t){let o=document.querySelector(`meta[property="${e}"]`);o||(o=document.createElement("meta"),o.setAttribute("property",e),document.head.appendChild(o)),o.setAttribute("content",t)}function b(e,t){let o=_useConfig.useConfig.call(void 0, ),a={title:_nullishCoalesce(e.title, () => (t.title)),description:_nullishCoalesce(e.description, () => (t.description)),generator:_nullishCoalesce(e.generator, () => (t.generator)),applicationName:_nullishCoalesce(e.applicationName, () => (t.applicationName)),referrer:_nullishCoalesce(e.referrer, () => (t.referrer)),keywords:_nullishCoalesce(e.keywords, () => (t.keywords)),authors:_nullishCoalesce(e.authors, () => (t.authors)),creator:_nullishCoalesce(e.creator, () => (t.creator)),publisher:_nullishCoalesce(e.publisher, () => (t.publisher)),formatDetection:_nullishCoalesce(e.formatDetection, () => (t.formatDetection)),openGraph:{title:_nullishCoalesce(_nullishCoalesce(_optionalChain([e, 'access', _21 => _21.openGraph, 'optionalAccess', _22 => _22.title]), () => (e.title)), () => (t.title)),description:_nullishCoalesce(_nullishCoalesce(_optionalChain([e, 'access', _23 => _23.openGraph, 'optionalAccess', _24 => _24.description]), () => (e.description)), () => (t.description)),url:_nullishCoalesce(_optionalChain([e, 'access', _25 => _25.openGraph, 'optionalAccess', _26 => _26.url]), () => (_optionalChain([t, 'optionalAccess', _27 => _27.openGraph, 'optionalAccess', _28 => _28.url]))),siteName:_nullishCoalesce(_optionalChain([e, 'access', _29 => _29.openGraph, 'optionalAccess', _30 => _30.siteName]), () => (_optionalChain([t, 'optionalAccess', _31 => _31.openGraph, 'optionalAccess', _32 => _32.siteName]))),images:_nullishCoalesce(_optionalChain([e, 'access', _33 => _33.openGraph, 'optionalAccess', _34 => _34.images]), () => (_optionalChain([t, 'optionalAccess', _35 => _35.openGraph, 'optionalAccess', _36 => _36.images]))),videos:_nullishCoalesce(_optionalChain([e, 'access', _37 => _37.openGraph, 'optionalAccess', _38 => _38.videos]), () => (_optionalChain([t, 'optionalAccess', _39 => _39.openGraph, 'optionalAccess', _40 => _40.videos]))),audio:_nullishCoalesce(_optionalChain([e, 'access', _41 => _41.openGraph, 'optionalAccess', _42 => _42.audio]), () => (_optionalChain([t, 'optionalAccess', _43 => _43.openGraph, 'optionalAccess', _44 => _44.audio]))),locale:_nullishCoalesce(_optionalChain([e, 'access', _45 => _45.openGraph, 'optionalAccess', _46 => _46.locale]), () => (_optionalChain([t, 'optionalAccess', _47 => _47.openGraph, 'optionalAccess', _48 => _48.locale]))),type:_nullishCoalesce(_optionalChain([e, 'access', _49 => _49.openGraph, 'optionalAccess', _50 => _50.type]), () => (_optionalChain([t, 'optionalAccess', _51 => _51.openGraph, 'optionalAccess', _52 => _52.type])))},robots:_nullishCoalesce(e.robots, () => (t.robots)),manifest:_nullishCoalesce(e.manifest, () => (t.manifest)),twitter:{creator:_nullishCoalesce(_optionalChain([e, 'access', _53 => _53.twitter, 'optionalAccess', _54 => _54.creator]), () => (_optionalChain([t, 'optionalAccess', _55 => _55.twitter, 'optionalAccess', _56 => _56.creator]))),creatorId:_nullishCoalesce(_optionalChain([e, 'access', _57 => _57.twitter, 'optionalAccess', _58 => _58.creatorId]), () => (_optionalChain([t, 'optionalAccess', _59 => _59.twitter, 'optionalAccess', _60 => _60.creatorId]))),description:_nullishCoalesce(_nullishCoalesce(_optionalChain([e, 'access', _61 => _61.twitter, 'optionalAccess', _62 => _62.description]), () => (e.description)), () => (t.description)),images:_nullishCoalesce(_optionalChain([e, 'access', _63 => _63.twitter, 'optionalAccess', _64 => _64.images]), () => (_optionalChain([t, 'optionalAccess', _65 => _65.twitter, 'optionalAccess', _66 => _66.images]))),site:_nullishCoalesce(_optionalChain([e, 'access', _67 => _67.twitter, 'optionalAccess', _68 => _68.site]), () => (_optionalChain([t, 'optionalAccess', _69 => _69.twitter, 'optionalAccess', _70 => _70.site]))),siteId:_nullishCoalesce(_optionalChain([e, 'access', _71 => _71.twitter, 'optionalAccess', _72 => _72.siteId]), () => (_optionalChain([t, 'optionalAccess', _73 => _73.twitter, 'optionalAccess', _74 => _74.siteId]))),title:_nullishCoalesce(_nullishCoalesce(_optionalChain([e, 'access', _75 => _75.twitter, 'optionalAccess', _76 => _76.title]), () => (e.title)), () => (t.title)),card:_nullishCoalesce(_optionalChain([e, 'access', _77 => _77.twitter, 'optionalAccess', _78 => _78.card]), () => (_optionalChain([t, 'optionalAccess', _79 => _79.twitter, 'optionalAccess', _80 => _80.card]))),players:_nullishCoalesce(_optionalChain([e, 'access', _81 => _81.twitter, 'optionalAccess', _82 => _82.players]), () => (_optionalChain([t, 'optionalAccess', _83 => _83.twitter, 'optionalAccess', _84 => _84.players]))),app:_nullishCoalesce(_optionalChain([e, 'optionalAccess', _85 => _85.twitter, 'optionalAccess', _86 => _86.app]), () => (_optionalChain([t, 'optionalAccess', _87 => _87.twitter, 'optionalAccess', _88 => _88.app])))},viewport:_nullishCoalesce(e.viewport, () => (t.viewport)),verification:_nullishCoalesce(e.verification, () => (t.verification)),other:_nullishCoalesce(e.other, () => (t.other)),otherJSX:_nullishCoalesce(e.otherJSX, () => (t.otherJSX))},u=[s("generator",a.generator),s("application-name",a.applicationName),s("referrer",a.referrer),s("keywords",_optionalChain([a, 'optionalAccess', _89 => _89.keywords, 'optionalAccess', _90 => _90.length])?h(a.keywords):null),d(_optionalChain([a, 'optionalAccess', _91 => _91.authors]),c=>[s("author",c.name),c.url?_vue.h.call(void 0, "link",{rel:"author",href:_optionalChain([c, 'access', _92 => _92.url, 'optionalAccess', _93 => _93.toString, 'call', _94 => _94()])}):null]),s("creator",_optionalChain([a, 'optionalAccess', _95 => _95.creator])),s("publisher",_optionalChain([a, 'optionalAccess', _96 => _96.publisher])),s("format-detection",_optionalChain([a, 'optionalAccess', _97 => _97.formatDetection])?g(a.formatDetection):null),U(_optionalChain([a, 'optionalAccess', _98 => _98.openGraph])),s("robots",_optionalChain([a, 'optionalAccess', _99 => _99.robots])?l(a.robots):null),s("googlebot",_optionalChain([a, 'optionalAccess', _100 => _100.robots, 'optionalAccess', _101 => _101.googleBot])?l(_optionalChain([a, 'optionalAccess', _102 => _102.robots, 'optionalAccess', _103 => _103.googleBot])):null),_optionalChain([a, 'optionalAccess', _104 => _104.manifest])?_vue.h.call(void 0, "link",{rel:"manifest",href:_optionalChain([a, 'access', _105 => _105.manifest, 'optionalAccess', _106 => _106.toString, 'call', _107 => _107()])}):null,V(a.twitter),B(a.viewport),w(_optionalChain([a, 'optionalAccess', _108 => _108.verification])),w(_optionalChain([a, 'optionalAccess', _109 => _109.other])),_optionalChain([a, 'access', _110 => _110.otherJSX, 'optionalCall', _111 => _111()])];o({title:a.title,description:a.description,Head:u}),typeof window>"u"||(a.openGraph.title&&m("og:title",a.openGraph.title),a.description&&f("description",a.description),a.openGraph.description&&m("og:description",a.openGraph.description),a.twitter.title&&f("twitter:title",a.twitter.title),a.twitter.description&&f("twitter:description",a.twitter.description),_optionalChain([a, 'access', _112 => _112.keywords, 'optionalAccess', _113 => _113.length])&&f("keywords",h(a.keywords)))}function Q(e){return t=>b(t,e)}var x={};function $(e){x=e}var G=e=>b(e,x);G.setGlobalDefaults=$;function s(e,t){return t?_vue.h.call(void 0, "meta",{name:e,content:t}):null}function i(e,t){return t?_vue.h.call(void 0, "meta",{property:e,content:t}):null}function d(e,t){return e?Array.isArray(e)?e.map(t):t(e,0):null}function U(e){if(!e)return null;function t(r){return r.type!=="article"?null:[d(r.authors,n=>i("article:author",n)),i("article:expiration_time",r.expirationTime),i("article:modified_time",r.modifiedTime),i("article:published_time",r.publishedTime),i("article:section",r.section),d(r.tags,n=>i("article:tag",n))]}function o(r){return r.type!=="book"?null:[d(r.authors,n=>i("article:author",n)),i("book:isbn",r.isbn),i("book:release_date",r.releaseDate),d(r.tags,n=>i("article:tag",n))]}function a(r){return r.type!=="profile"?null:[i("profile:first_name",r.firstName),i("profile:last_name",r.lastName),i("profile:username",r.username),i("profile:gender",r.gender)]}function u(r){return r.type!=="music.song"?null:[d(r.albums,n=>typeof n=="string"||n instanceof URL?i("music:album",n):[i("music:album:disc",_optionalChain([n, 'optionalAccess', _114 => _114.disc])),i("music:album:track",_optionalChain([n, 'optionalAccess', _115 => _115.track])),i("music:album",_optionalChain([n, 'optionalAccess', _116 => _116.url]))]),i("music:duration",r.duration),d(r.musicians,n=>i("music:musician",n))]}function c(r){return r.type!=="music.album"?null:[d(r.musicians,n=>i("music:musician",n)),i("music:release_date",r.releaseDate),d(r.songs,n=>typeof n=="string"||n instanceof URL?i("music:song",n):[i("music:song:disc",_optionalChain([n, 'optionalAccess', _117 => _117.disc])),i("music:song:track",_optionalChain([n, 'optionalAccess', _118 => _118.track])),i("music:song",_optionalChain([n, 'optionalAccess', _119 => _119.url]))])]}function M(r){return r.type!=="music.playlist"?null:[d(r.creators,n=>i("music:creator",n)),d(r.songs,n=>typeof n=="string"||n instanceof URL?i("music:song",n):[i("music:song:disc",_optionalChain([n, 'optionalAccess', _120 => _120.disc])),i("music:song:track",_optionalChain([n, 'optionalAccess', _121 => _121.track])),i("music:song",_optionalChain([n, 'optionalAccess', _122 => _122.url]))])]}function P(r){return r.type!=="music.radio_station"?null:d(r.creators,n=>i("music:creator",n))}function S(r){return r.type!=="video.movie"?null:[d(r.actors,n=>typeof n=="string"||n instanceof URL?i("video:actor",n):[i("video:actor:role",_optionalChain([n, 'optionalAccess', _123 => _123.role])),i("video:actor",_optionalChain([n, 'optionalAccess', _124 => _124.url]))]),d(r.directors,n=>i("video:director",n)),i("video:duration",r.duration),i("video:release_date",r.releaseDate),d(r.tags,n=>i("video.tag",n)),d(r.writers,n=>i("video:writer",n))]}function k(r){return r.type!=="video.episode"?null:[d(r.actors,n=>typeof n=="string"||n instanceof URL?i("video:actor",n):[i("video:actor:role",_optionalChain([n, 'optionalAccess', _125 => _125.role])),i("video:actor",_optionalChain([n, 'optionalAccess', _126 => _126.url]))]),d(r.directors,n=>i("video:director",n)),i("video:duration",r.duration),i("video:release_date",r.releaseDate),i("video:series",r.series),d(r.tags,n=>i("video.tag",n)),d(r.writers,n=>i("video:writer",n))]}return[d(_optionalChain([e, 'optionalAccess', _127 => _127.alternateLocale]),r=>i("og:locale:alternate",r)),d(_optionalChain([e, 'optionalAccess', _128 => _128.audio]),r=>typeof r=="string"||r instanceof URL?i("og:audio",_optionalChain([r, 'optionalAccess', _129 => _129.toString, 'call', _130 => _130()])):[i("og:audio",_optionalChain([r, 'optionalAccess', _131 => _131.url])),i("og:audio:type",_optionalChain([r, 'optionalAccess', _132 => _132.type]))]),i("og:country-name",_optionalChain([e, 'optionalAccess', _133 => _133.countryName])),i("og:determiner",_optionalChain([e, 'optionalAccess', _134 => _134.determiner])),d(_optionalChain([e, 'optionalAccess', _135 => _135.emails]),r=>i("og:email",r)),d(_optionalChain([e, 'optionalAccess', _136 => _136.faxNumbers]),r=>i("og:fax_number",r)),d(_optionalChain([e, 'optionalAccess', _137 => _137.images]),r=>typeof r=="string"||r instanceof URL?i("og:image",_optionalChain([r, 'optionalAccess', _138 => _138.toString, 'call', _139 => _139()])):[i("og:image",_optionalChain([r, 'optionalAccess', _140 => _140.url])),i("og:image:secure_url",_optionalChain([r, 'optionalAccess', _141 => _141.secureUrl])),i("og:image:width",_optionalChain([r, 'optionalAccess', _142 => _142.width])),i("og:image:height",_optionalChain([r, 'optionalAccess', _143 => _143.height])),i("og:image:alt",_optionalChain([r, 'optionalAccess', _144 => _144.alt]))]),i("og:locale",_optionalChain([e, 'optionalAccess', _145 => _145.locale])),d(_optionalChain([e, 'optionalAccess', _146 => _146.phoneNumbers]),r=>i("og:phone_number",r)),i("og:site_name",_optionalChain([e, 'optionalAccess', _147 => _147.siteName])),i("og:ttl",_optionalChain([e, 'optionalAccess', _148 => _148.ttl])),i("og:url",_optionalChain([e, 'optionalAccess', _149 => _149.url])),d(_optionalChain([e, 'optionalAccess', _150 => _150.videos]),r=>typeof r=="string"||r instanceof URL?i("og:video",_optionalChain([r, 'optionalAccess', _151 => _151.toString, 'call', _152 => _152()])):[i("og:video",_optionalChain([r, 'optionalAccess', _153 => _153.url])),i("og:video:secure_url",_optionalChain([r, 'optionalAccess', _154 => _154.secureUrl])),i("og:video:type",_optionalChain([r, 'optionalAccess', _155 => _155.type])),i("og:video:width",_optionalChain([r, 'optionalAccess', _156 => _156.width])),i("og:video:height",_optionalChain([r, 'optionalAccess', _157 => _157.height]))]),i("og:type",_optionalChain([e, 'optionalAccess', _158 => _158.type])),t(e),o(e),a(e),u(e),c(e),M(e),P(e),S(e),k(e)]}function V(e){if(!e)return null;function t(o){return o?[s("twitter:app:id:googleplay",_optionalChain([o, 'optionalAccess', _159 => _159.id, 'optionalAccess', _160 => _160.googleplay])),s("twitter:app:url:googleplay",_optionalChain([o, 'optionalAccess', _161 => _161.url, 'optionalAccess', _162 => _162.googleplay])),s("twitter:app:id:iphone",_optionalChain([o, 'optionalAccess', _163 => _163.id, 'optionalAccess', _164 => _164.iphone])),s("twitter:app:url:iphone",_optionalChain([o, 'optionalAccess', _165 => _165.url, 'optionalAccess', _166 => _166.iphone])),s("twitter:app:id:ipad",_optionalChain([o, 'optionalAccess', _167 => _167.id, 'optionalAccess', _168 => _168.ipad])),s("twitter:app:url:ipad",_optionalChain([o, 'optionalAccess', _169 => _169.url, 'optionalAccess', _170 => _170.ipad])),s("twitter:app:name:googleplay",_optionalChain([o, 'optionalAccess', _171 => _171.id, 'optionalAccess', _172 => _172.googleplay])?_optionalChain([o, 'optionalAccess', _173 => _173.name]):void 0),s("twitter:app:name:iphone",_optionalChain([o, 'optionalAccess', _174 => _174.id, 'optionalAccess', _175 => _175.iphone])?_optionalChain([o, 'optionalAccess', _176 => _176.name]):void 0),s("twitter:app:name:ipad",_optionalChain([o, 'optionalAccess', _177 => _177.id, 'optionalAccess', _178 => _178.ipad])?_optionalChain([o, 'optionalAccess', _179 => _179.name]):void 0)]:null}return[s("twitter:creator",e.creator),s("twitter:creator:id",e.creatorId),s("twitter:description",e.description),s("twitter:site",e.site),s("twitter:site:id",e.siteId),s("twitter:title",e.title),s("twitter:card",e.card),d(_optionalChain([e, 'optionalAccess', _180 => _180.images]),o=>typeof o=="string"||o instanceof URL?s("twitter:image",_optionalChain([o, 'optionalAccess', _181 => _181.toString, 'call', _182 => _182()])):[s("twitter:image",_optionalChain([o, 'access', _183 => _183.url, 'optionalAccess', _184 => _184.toString, 'call', _185 => _185()])),s("twitter:image:alt",o.alt)]),d(_optionalChain([e, 'optionalAccess', _186 => _186.players]),o=>[s("twitter:player",o.playerUrl),s("twitter:player:width",o.width),s("twitter:player:height",o.height),s("twitter:player:stream",o.streamUrl)]),t(_optionalChain([e, 'optionalAccess', _187 => _187.app]))]}function B(e){return e?[s("color-scheme",e.colorScheme),d(e.themeColor,t=>typeof t=="string"?s("theme-color",t):t.media?_vue.h.call(void 0, "meta",{name:"theme-color",media:t.media,content:t.color}):_vue.h.call(void 0, "meta",{name:"theme-color",content:t.color})),s("viewport",y(e))]:null}function w(e){return e?Object.entries(e).map(([t,o])=>Array.isArray(o)?d(o,a=>s(t,a)):s(t,o)):null}exports.initUseMetadata = Q; exports.useMetadata = G; //# sourceMappingURL=index.cjs.map