/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/side-effect.js.map (3954B)
{"version":3,"sources":["../../../src/shared/lib/side-effect.tsx"],"sourcesContent":["import type React from 'react'\nimport { Children, useEffect, useLayoutEffect, type JSX } from 'react'\n\ntype State = JSX.Element[] | undefined\n\nexport type SideEffectProps = {\n reduceComponentsToState: (\n components: Array>,\n props: T\n ) => State\n handleStateChange?: (state: State) => void\n headManager: any\n inAmpMode?: boolean\n children: React.ReactNode\n}\n\nconst isServer = typeof window === 'undefined'\nconst useClientOnlyLayoutEffect = isServer ? () => {} : useLayoutEffect\nconst useClientOnlyEffect = isServer ? () => {} : useEffect\n\nexport default function SideEffect(props: SideEffectProps) {\n const { headManager, reduceComponentsToState } = props\n\n function emitChange() {\n if (headManager && headManager.mountedInstances) {\n const headElements = Children.toArray(\n Array.from(headManager.mountedInstances as Set).filter(\n Boolean\n )\n ) as React.ReactElement[]\n headManager.updateHead(reduceComponentsToState(headElements, props))\n }\n }\n\n if (isServer) {\n headManager?.mountedInstances?.add(props.children)\n emitChange()\n }\n\n useClientOnlyLayoutEffect(() => {\n headManager?.mountedInstances?.add(props.children)\n return () => {\n headManager?.mountedInstances?.delete(props.children)\n }\n })\n\n // We need to call `updateHead` method whenever the `SideEffect` is trigger in all\n // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s\n // being rendered, we only trigger the method from the last one.\n // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`\n // singleton in the layout effect pass, and actually trigger it in the effect pass.\n useClientOnlyLayoutEffect(() => {\n if (headManager) {\n headManager._pendingUpdate = emitChange\n }\n return () => {\n if (headManager) {\n headManager._pendingUpdate = emitChange\n }\n }\n })\n\n useClientOnlyEffect(() => {\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate()\n headManager._pendingUpdate = null\n }\n return () => {\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate()\n headManager._pendingUpdate = null\n }\n }\n })\n\n return null\n}\n"],"names":["Children","useEffect","useLayoutEffect","isServer","window","useClientOnlyLayoutEffect","useClientOnlyEffect","SideEffect","props","headManager","reduceComponentsToState","emitChange","mountedInstances","headElements","toArray","Array","from","filter","Boolean","updateHead","add","children","delete","_pendingUpdate"],"mappings":"AACA,SAASA,QAAQ,EAAEC,SAAS,EAAEC,eAAe,QAAkB,QAAO;AAetE,MAAMC,WAAW,OAAOC,WAAW;AACnC,MAAMC,4BAA4BF,WAAW,KAAO,IAAID;AACxD,MAAMI,sBAAsBH,WAAW,KAAO,IAAIF;AAElD,eAAe,SAASM,WAAWC,KAAsB;IACvD,MAAM,EAAEC,WAAW,EAAEC,uBAAuB,EAAE,GAAGF;IAEjD,SAASG;QACP,IAAIF,eAAeA,YAAYG,gBAAgB,EAAE;YAC/C,MAAMC,eAAeb,SAASc,OAAO,CACnCC,MAAMC,IAAI,CAACP,YAAYG,gBAAgB,EAA0BK,MAAM,CACrEC;YAGJT,YAAYU,UAAU,CAACT,wBAAwBG,cAAcL;QAC/D;IACF;IAEA,IAAIL,UAAU;YACZM;QAAAA,gCAAAA,gCAAAA,YAAaG,gBAAgB,qBAA7BH,8BAA+BW,GAAG,CAACZ,MAAMa,QAAQ;QACjDV;IACF;IAEAN,0BAA0B;YACxBI;QAAAA,gCAAAA,gCAAAA,YAAaG,gBAAgB,qBAA7BH,8BAA+BW,GAAG,CAACZ,MAAMa,QAAQ;QACjD,OAAO;gBACLZ;YAAAA,gCAAAA,gCAAAA,YAAaG,gBAAgB,qBAA7BH,8BAA+Ba,MAAM,CAACd,MAAMa,QAAQ;QACtD;IACF;IAEA,kFAAkF;IAClF,oFAAoF;IACpF,gEAAgE;IAChE,qFAAqF;IACrF,mFAAmF;IACnFhB,0BAA0B;QACxB,IAAII,aAAa;YACfA,YAAYc,cAAc,GAAGZ;QAC/B;QACA,OAAO;YACL,IAAIF,aAAa;gBACfA,YAAYc,cAAc,GAAGZ;YAC/B;QACF;IACF;IAEAL,oBAAoB;QAClB,IAAIG,eAAeA,YAAYc,cAAc,EAAE;YAC7Cd,YAAYc,cAAc;YAC1Bd,YAAYc,cAAc,GAAG;QAC/B;QACA,OAAO;YACL,IAAId,eAAeA,YAAYc,cAAc,EAAE;gBAC7Cd,YAAYc,cAAc;gBAC1Bd,YAAYc,cAAc,GAAG;YAC/B;QACF;IACF;IAEA,OAAO;AACT","ignoreList":[0]}