1import { b as React__default } from "./vendor-react-BoGG1wja.js"; 2import { k as helmetPkg } from "./index-Cn8jK25t.js"; 3const { Helmet: HelmetHead } = helmetPkg; 4const EXCLUDE_PROPS = ["charSet"]; 5const propToMetaTag = (parentKey, parentValue, options) => { 6 if (Array.isArray(parentValue)) { 7 return parentValue.flatMap((value) => { 8 return propToMetaTag(parentKey, value, options); 9 }); 10 } else if (typeof parentValue === "object") { 11 return Object.entries(parentValue).filter(([_, v]) => v !== null).flatMap(([key, value]) => { 12 return propToMetaTag(`${parentKey}:${key}`, value, { attr: "property" }); 13 }); 14 } else { 15 const attributes = { 16 [options["attr"]]: parentKey, 17 content: parentValue 18 }; 19 return /* @__PURE__ */ React__default.createElement("meta", { ...attributes }); 20 } 21}; 22const Metadata = (props) => { 23 const { children, ...metaProps } = props; 24 let Head = HelmetHead; 25 const tags = Object.entries(metaProps).filter( 26 ([key, value]) => !EXCLUDE_PROPS.includes(key) && value !== null && (key !== "og" || value !== true) 27 ).flatMap(([key, value]) => { 28 return propToMetaTag(key, value, { attr: "name" }); 29 }).filter((tag) => !!tag); 30 if (metaProps.title) { 31 [metaProps.title].flat().reverse().map((title) => { 32 tags.unshift(/* @__PURE__ */ React__default.createElement("title", null, title)); 33 }); 34 } 35 if (metaProps.charSet) { 36 tags.push(/* @__PURE__ */ React__default.createElement("meta", { charSet: metaProps.charSet })); 37 } 38 if (metaProps.og) { 39 if (metaProps.title && !metaProps.og.title && metaProps.og.title !== null) { 40 tags.push(/* @__PURE__ */ React__default.createElement("meta", { property: "og:title", content: metaProps.title })); 41 } 42 if (metaProps.description && !metaProps.og.description && metaProps.og.description !== null) { 43 tags.push(
44 /* @__PURE__ */ React__default.createElement("meta", { property: "og:description", content: metaProps.description }) 45 ); 46 } 47 if (!metaProps.og.type && metaProps.og.type !== null) { 48 tags.push(/* @__PURE__ */ React__default.createElement("meta", { property: "og:type", content: "website" })); 49 } 50 } 51 return /* @__PURE__ */ React__default.createElement(Head, null, tags.map((tag, i) => React__default.cloneElement(tag, { key: i })), children); 52}; 53export { 54 Metadata as M 55};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.