/opt/canhelp/node_modules/next/dist/esm/shared/lib
NameSizeModeActions
errors/-0755rm
i18n/-0755rm
isomorphic/-0755rm
lazy-dynamic/-0755rm
page-path/-0755rm
router/-0755rm
segment-cache/-0755rm
turbopack/-0755rm
utils/-0755rm
amp-context.shared-runtime.js2380644editdlrm
amp-context.shared-runtime.js.map5800644editdlrm
amp-mode.js2150644editdlrm
amp-mode.js.map4690644editdlrm
amp.js3190644editdlrm
amp.js.map6260644editdlrm
app-dynamic.js6100644editdlrm
app-dynamic.js.map18750644editdlrm
app-router-context.shared-runtime.js7050644editdlrm
app-router-context.shared-runtime.js.map62550644editdlrm
bloom-filter.js27610644editdlrm
bloom-filter.js.map54920644editdlrm
canary-only.js8180644editdlrm
canary-only.js.map14240644editdlrm
constants.js69750644editdlrm
constants.js.map117540644editdlrm
deep-freeze.js10460644editdlrm
deep-freeze.js.map17590644editdlrm
deep-readonly.js2790644editdlrm
deep-readonly.js.map5750644editdlrm
dset.d.ts1170644editdlrm
dset.js17240644editdlrm
dset.js.map25540644editdlrm
dynamic.js44310644editdlrm
dynamic.js.map75070644editdlrm
encode-uri-path.js1540644editdlrm
encode-uri-path.js.map4520644editdlrm
error-source.js3790644editdlrm
error-source.js.map9830644editdlrm
escape-regexp.js4760644editdlrm
escape-regexp.js.map8350644editdlrm
fnv1a.js25840644editdlrm
fnv1a.js.map40720644editdlrm
format-webpack-messages.js81210644editdlrm
format-webpack-messages.js.map129540644editdlrm
get-hostname.js7490644editdlrm
get-hostname.js.map13790644editdlrm
get-img-props.js249440644editdlrm
get-img-props.js.map378080644editdlrm
get-rspack.js20960644editdlrm
get-rspack.js.map27600644editdlrm
get-webpack-bundler.js4090644editdlrm
get-webpack-bundler.js.map7370644editdlrm
hash.js9010644editdlrm
hash.js.map14840644editdlrm
head-manager-context.shared-runtime.js2560644editdlrm
head-manager-context.shared-runtime.js.map8620644editdlrm
head.js57410644editdlrm
head.js.map96030644editdlrm
hooks-client-context.shared-runtime.js4970644editdlrm
hooks-client-context.shared-runtime.js.map10810644editdlrm
html-context.shared-runtime.js6880644editdlrm
html-context.shared-runtime.js.map27550644editdlrm
image-blur-svg.js12830644editdlrm
image-blur-svg.js.map21070644editdlrm
image-config-context.shared-runtime.js3250644editdlrm
image-config-context.shared-runtime.js.map7830644editdlrm
image-config.js9550644editdlrm
image-config.js.map59040644editdlrm
image-external.js12120644editdlrm
image-external.js.map21930644editdlrm
image-loader.js48650644editdlrm
image-loader.js.map67440644editdlrm
invariant-error.js2910644editdlrm
invariant-error.js.map6660644editdlrm
is-internal.js7480644editdlrm
is-internal.js.map12620644editdlrm
is-plain-object.js7040644editdlrm
is-plain-object.js.map12040644editdlrm
is-thenable.js3350644editdlrm
is-thenable.js.map6640644editdlrm
loadable-context.shared-runtime.js2590644editdlrm
loadable-context.shared-runtime.js.map6510644editdlrm
loadable.shared-runtime.js80110644editdlrm
loadable.shared-runtime.js.map138270644editdlrm
magic-identifier.js31450644editdlrm
magic-identifier.js.map41010644editdlrm
match-local-pattern.js8780644editdlrm
match-local-pattern.js.map16720644editdlrm
match-remote-pattern.js14860644editdlrm
match-remote-pattern.js.map26850644editdlrm
mitt.js20620644editdlrm
mitt.js.map29980644editdlrm
modern-browserslist-target.d.ts1990644editdlrm
modern-browserslist-target.js6380644editdlrm
modern-browserslist-target.js.map8930644editdlrm
no-fallback-error.external.js1960644editdlrm
no-fallback-error.external.js.map4100644editdlrm
normalized-asset-prefix.js7370644editdlrm
normalized-asset-prefix.js.map12970644editdlrm
promise-with-resolvers.js3720644editdlrm
promise-with-resolvers.js.map7620644editdlrm
router-context.shared-runtime.js2370644editdlrm
router-context.shared-runtime.js.map6210644editdlrm
runtime-config.external.js3730644editdlrm
runtime-config.external.js.map6510644editdlrm
segment.js7410644editdlrm
segment.js.map16450644editdlrm
server-inserted-html.shared-runtime.js7480644editdlrm
server-inserted-html.shared-runtime.js.map13830644editdlrm
server-reference-info.js18650644editdlrm
server-reference-info.js.map33340644editdlrm
side-effect.js25660644editdlrm
side-effect.js.map39540644editdlrm
styled-jsx.d.ts430644editdlrm
styled-jsx.js850644editdlrm
styled-jsx.js.map2300644editdlrm
utils.js47280644editdlrm
utils.js.map158240644editdlrm
zod.js26320644editdlrm
zod.js.map44900644editdlrm
Edit: /opt/canhelp/node_modules/next/dist/esm/shared/lib/head.js (5741B)
'use client'; import { jsx as _jsx } from "react/jsx-runtime"; import React, { useContext } from 'react'; import Effect from './side-effect'; import { AmpStateContext } from './amp-context.shared-runtime'; import { HeadManagerContext } from './head-manager-context.shared-runtime'; import { isInAmpMode } from './amp-mode'; import { warnOnce } from './utils/warn-once'; export function defaultHead(inAmpMode) { if (inAmpMode === void 0) inAmpMode = false; const head = [ /*#__PURE__*/ _jsx("meta", { charSet: "utf-8" }, "charset") ]; if (!inAmpMode) { head.push(/*#__PURE__*/ _jsx("meta", { name: "viewport", content: "width=device-width" }, "viewport")); } return head; } function onlyReactElement(list, child) { // React children can be "string" or "number" in this case we ignore them for backwards compat if (typeof child === 'string' || typeof child === 'number') { return list; } // Adds support for React.Fragment if (child.type === React.Fragment) { return list.concat(// @ts-expect-error @types/react does not remove fragments but this could also return ReactPortal[] React.Children.toArray(child.props.children).reduce(// @ts-expect-error @types/react does not remove fragments but this could also return ReactPortal[] (fragmentList, fragmentChild)=>{ if (typeof fragmentChild === 'string' || typeof fragmentChild === 'number') { return fragmentList; } return fragmentList.concat(fragmentChild); }, [])); } return list.concat(child); } const METATYPES = [ 'name', 'httpEquiv', 'charSet', 'itemProp' ]; /* returns a function for filtering head child elements which shouldn't be duplicated, like Also adds support for deduplicated `key` properties */ function unique() { const keys = new Set(); const tags = new Set(); const metaTypes = new Set(); const metaCategories = {}; return (h)=>{ let isUnique = true; let hasKey = false; if (h.key && typeof h.key !== 'number' && h.key.indexOf('$') > 0) { hasKey = true; const key = h.key.slice(h.key.indexOf('$') + 1); if (keys.has(key)) { isUnique = false; } else { keys.add(key); } } // eslint-disable-next-line default-case switch(h.type){ case 'title': case 'base': if (tags.has(h.type)) { isUnique = false; } else { tags.add(h.type); } break; case 'meta': for(let i = 0, len = METATYPES.length; i < len; i++){ const metatype = METATYPES[i]; if (!h.props.hasOwnProperty(metatype)) continue; if (metatype === 'charSet') { if (metaTypes.has(metatype)) { isUnique = false; } else { metaTypes.add(metatype); } } else { const category = h.props[metatype]; const categories = metaCategories[metatype] || new Set(); if ((metatype !== 'name' || !hasKey) && categories.has(category)) { isUnique = false; } else { categories.add(category); metaCategories[metatype] = categories; } } } break; } return isUnique; }; } /** * * @param headChildrenElements List of children of <Head> */ function reduceComponents(headChildrenElements, props) { const { inAmpMode } = props; return headChildrenElements.reduce(onlyReactElement, []).reverse().concat(defaultHead(inAmpMode).reverse()).filter(unique()).reverse().map((c, i)=>{ const key = c.key || i; if (process.env.NODE_ENV === 'development') { // omit JSON-LD structured data snippets from the warning if (c.type === 'script' && c.props['type'] !== 'application/ld+json') { const srcMessage = c.props['src'] ? '<script> tag with src="' + c.props['src'] + '"' : "inline <script>"; warnOnce("Do not add <script> tags using next/head (see " + srcMessage + "). Use next/script instead. \nSee more info here: https://nextjs.org/docs/messages/no-script-tags-in-head-component"); } else if (c.type === 'link' && c.props['rel'] === 'stylesheet') { warnOnce('Do not add stylesheets using next/head (see <link rel="stylesheet"> tag with href="' + c.props['href'] + '"). Use Document instead. \nSee more info here: https://nextjs.org/docs/messages/no-stylesheets-in-head-component'); } } return /*#__PURE__*/ React.cloneElement(c, { key }); }); } /** * This component injects elements to `<head>` of your page. * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once. */ function Head(param) { let { children } = param; const ampState = useContext(AmpStateContext); const headManager = useContext(HeadManagerContext); return /*#__PURE__*/ _jsx(Effect, { reduceComponentsToState: reduceComponents, headManager: headManager, inAmpMode: isInAmpMode(ampState), children: children }); } export default Head; //# sourceMappingURL=head.js.map