@reckona/mreact-compat 0.0.144 → 0.0.146
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dom-props.d.ts +1 -1
- package/dist/dom-props.d.ts.map +1 -1
- package/dist/dom-props.js +37 -10
- package/dist/dom-props.js.map +1 -1
- package/dist/element.d.ts +1 -0
- package/dist/element.d.ts.map +1 -1
- package/dist/element.js +8 -0
- package/dist/element.js.map +1 -1
- package/dist/hooks.d.ts +6 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +104 -8
- package/dist/hooks.js.map +1 -1
- package/dist/host-reconciler.d.ts.map +1 -1
- package/dist/host-reconciler.js +19 -11
- package/dist/host-reconciler.js.map +1 -1
- package/dist/jsx-dev-runtime.d.ts +2 -1
- package/dist/jsx-dev-runtime.d.ts.map +1 -1
- package/dist/jsx-dev-runtime.js +2 -1
- package/dist/jsx-dev-runtime.js.map +1 -1
- package/dist/jsx-runtime.d.ts +2 -1
- package/dist/jsx-runtime.d.ts.map +1 -1
- package/dist/jsx-runtime.js +2 -1
- package/dist/jsx-runtime.js.map +1 -1
- package/dist/reconciler.d.ts.map +1 -1
- package/dist/reconciler.js +1 -0
- package/dist/reconciler.js.map +1 -1
- package/dist/root.d.ts.map +1 -1
- package/dist/root.js +9 -2
- package/dist/root.js.map +1 -1
- package/package.json +3 -3
- package/src/dom-props.ts +44 -9
- package/src/element.ts +17 -3
- package/src/hooks.ts +136 -9
- package/src/host-reconciler.ts +29 -10
- package/src/jsx-dev-runtime.ts +6 -1
- package/src/jsx-runtime.ts +6 -1
- package/src/reconciler.ts +1 -0
- package/src/root.ts +26 -8
package/dist/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n flushPendingComputed,\n flushQueuedComputations,\n} from \"@reckona/mreact-reactive-core/internal\";\nimport { scheduleCallback } from \"./fiber-scheduler.js\";\nimport { removeChildIfPresent } from \"./dom-children.js\";\nimport {\n type ReactCompatContextLike,\n isReactCompatContext,\n readContextValue,\n useContext,\n withContextReadObserver,\n} from \"./context.js\";\nimport { isThenable } from \"./thenable.js\";\n\nexport interface RootRuntime {\n currentElement?: unknown;\n instances: Map<string, ComponentInstance>;\n instanceKeysByPrefix: Map<string, Set<string>>;\n activeInstanceKeys: Set<string> | undefined;\n activeProfilerPaths: Set<string> | undefined;\n mountedProfilerPaths: Set<string>;\n profilerBaseDurations: Map<string, number>;\n pendingProfilerCommits: PendingProfilerCommit[];\n pendingInsertionEffects: PendingEffect[];\n pendingLayoutEffects: PendingEffect[];\n pendingEffects: PendingEffect[];\n externalStoreChecks: ExternalStoreCheck[];\n portalContainers: Set<Element>;\n portalNodes: Map<Element, Set<Node>>;\n idCounter: number;\n identifierPrefix: string;\n idMode: \"client\" | \"server\";\n strictModeDepth: number;\n strictReplayDepth: number;\n strictMemoCapture: unknown[] | undefined;\n strictMemoCaptureByHook: Map<string, unknown> | undefined;\n strictMemoReplay: { values: readonly unknown[]; index: number } | undefined;\n strictMemoReplayByHook: ReadonlyMap<string, unknown> | undefined;\n profilerFlushDepth: number;\n effectFlushPhase: \"insertion\" | \"layout\" | \"normal\" | undefined;\n externalStoreUpdate: boolean;\n renderPhaseUpdate: boolean;\n rerender(priority?: RenderPriority): void;\n beginRender(): void;\n endRender(committed?: boolean): void;\n flushEffects(): void;\n dispose(): void;\n}\n\ninterface ComponentInstance {\n owner: unknown | undefined;\n path: string;\n hooks: HookSlot[];\n hookIndex: number;\n dirty: boolean;\n disposed?: boolean;\n contextDependencies?: Map<ReactCompatContextLike<unknown>, unknown>;\n devToolsHooks?: DevToolsHookValue[];\n devToolsHookTypes?: string[];\n devToolsHookSuppressionDepth: number;\n}\n\ntype EffectCallback = () => void | (() => void);\ntype ProfilerPhase = \"mount\" | \"update\" | \"nested-update\";\ntype ProfilerOnRender = (\n id: string,\n phase: ProfilerPhase,\n actualDuration: number,\n baseDuration: number,\n startTime: number,\n commitTime: number,\n) => void;\n\ninterface PendingEffect {\n slot: Extract<HookSlot, { kind: \"effect\" }>;\n}\n\ninterface PendingProfilerCommit {\n id: string;\n phase: ProfilerPhase;\n onRender: ProfilerOnRender;\n actualDuration: number;\n baseDuration: number;\n startTime: number;\n}\n\ninterface ExternalStoreCheck {\n getSnapshot: () => unknown;\n value: unknown;\n}\n\nexport interface CacheScope {\n functionCaches: WeakMap<(...args: never[]) => unknown, CacheTrieNode>;\n controller: AbortController;\n ownerStack: string[];\n}\n\ninterface CacheTrieNode {\n primitiveChildren: Map<unknown, CacheTrieNode>;\n objectChildren: WeakMap<object, CacheTrieNode>;\n status?: \"fulfilled\" | \"rejected\";\n value?: unknown;\n reason?: unknown;\n}\n\nexport interface DevToolsHookState {\n hooks: DevToolsHookValue[];\n hookTypes: string[];\n}\n\nexport type DevToolsHookValue =\n | { kind: \"state\"; value: unknown }\n | { kind: \"reducer\"; value: unknown }\n | { kind: \"store\"; value: unknown }\n | { kind: \"ref\"; value: unknown }\n | { kind: \"memo\"; value: unknown; deps?: readonly unknown[] }\n | { kind: \"callback\"; value: unknown; deps?: readonly unknown[] }\n | { kind: \"id\"; value: unknown }\n | { kind: \"imperative-handle\"; deps?: readonly unknown[] }\n | { kind: \"transition\"; value: unknown }\n | { kind: \"deferred\"; value: unknown }\n | { kind: \"debug\"; value: unknown }\n | { kind: \"effect\"; effectKind: \"insertion\" | \"layout\" | \"normal\"; deps?: readonly unknown[] };\n\ntype HookSlot =\n | { kind: \"state\"; value: unknown; hostCommitValue?: unknown }\n | {\n kind: \"action-state\";\n state: unknown;\n pendingCount: number;\n action: (previousState: unknown, payload: unknown) => unknown;\n dispatch?: (payload: unknown) => void;\n error?: unknown;\n }\n | {\n kind: \"optimistic\";\n baseState: unknown;\n optimisticState: unknown;\n update: (state: unknown, payload: unknown) => unknown;\n dispatch?: (payload: unknown) => void;\n }\n | { kind: \"store\"; value: unknown; hasMounted?: boolean }\n | { kind: \"ref\"; value: { current: unknown } }\n | { kind: \"memo\"; value: unknown; deps?: readonly unknown[] }\n | { kind: \"debug\"; value: unknown }\n | {\n kind: \"effect\";\n effectKind: \"insertion\" | \"layout\" | \"normal\";\n callback: EffectCallback;\n deps?: readonly unknown[];\n cleanup?: () => void;\n disposed?: boolean;\n mounted?: boolean;\n strictReplay?: boolean;\n };\n\ninterface HookRenderState {\n currentRuntime: RootRuntime | undefined;\n currentInstance: ComponentInstance | undefined;\n currentCacheScope: CacheScope | undefined;\n hostCommitDepth: number;\n queuedHostCommitRerenders: Set<RootRuntime>;\n queuedEffectFlushRerenders: Set<RootRuntime>;\n}\n\nconst HOOK_RENDER_STATE_KEY = Symbol.for(\"modular.react.hook_render_state\");\nconst hookRenderState =\n ((globalThis as typeof globalThis & Record<symbol, HookRenderState | undefined>)[\n HOOK_RENDER_STATE_KEY\n ] ??= {\n currentRuntime: undefined,\n currentInstance: undefined,\n currentCacheScope: undefined,\n hostCommitDepth: 0,\n queuedHostCommitRerenders: new Set<RootRuntime>(),\n queuedEffectFlushRerenders: new Set<RootRuntime>(),\n });\nconst CACHE_SCOPE_SYMBOL = Symbol.for(\"modular.react.cache_scope\");\nconst emptyCacheOwnerStack: string[] = [];\nlet syncVersion = 0;\nlet transitionVersion = 0;\nlet transitionDepth = 0;\nlet currentTransitionContext: TransitionContext | undefined;\nlet transitionRerenderScheduled = false;\nlet eventBatchDepth = 0;\nlet currentEventPriority: EventPriority = \"default\";\nlet eventRerenderScheduled = false;\nlet automaticRerenderScheduled = false;\nlet effectFlushRerenderDepth = 0;\nlet strictMemoOwnerId = 0;\nconst strictMemoObjectOwnerIds = new WeakMap<object, number>();\nconst strictMemoPrimitiveOwnerIds = new Map<unknown, number>();\nconst queuedTransitionRerenders = new Map<RootRuntime, TransitionContext>();\nconst queuedEventRerenders = new Set<RootRuntime>();\nexport const version = \"19.2.6\";\n\nexport function act<T>(callback: () => T): T extends PromiseLike<unknown> ? Promise<void> : void {\n const previousPriority = currentEventPriority;\n currentEventPriority = \"discrete\";\n eventBatchDepth += 1;\n let result: T;\n\n try {\n result = callback();\n } catch (error) {\n eventBatchDepth -= 1;\n currentEventPriority = previousPriority;\n if (eventBatchDepth === 0) {\n flushEventRerendersForPriority(\"discrete\");\n }\n throw error;\n }\n\n const finishActScope = (): void => {\n eventBatchDepth -= 1;\n currentEventPriority = previousPriority;\n if (eventBatchDepth === 0) {\n flushEventRerendersForPriority(\"discrete\");\n }\n };\n\n if (isThenable(result)) {\n return Promise.resolve(result).then(\n async () => {\n finishActScope();\n await flushActWorkAsync();\n },\n (error: unknown) => {\n finishActScope();\n throw error;\n },\n ) as T extends PromiseLike<unknown> ? Promise<void> : void;\n }\n\n finishActScope();\n flushActWork();\n return undefined as T extends PromiseLike<unknown>\n ? Promise<void>\n : void;\n}\n\nasync function flushActWorkAsync(): Promise<void> {\n for (let attempt = 0; attempt < 10; attempt += 1) {\n await Promise.resolve();\n flushActWork();\n }\n for (let attempt = 0; attempt < 3; attempt += 1) {\n await new Promise((resolve) => setTimeout(resolve, 0));\n flushActWork();\n }\n}\n\nfunction flushActWork(): void {\n flushQueuedEventRerenders(\"sync\");\n flushQueuedTransitionRerenders();\n flushHostCommitRerenders();\n flushEffectFlushRerenders();\n}\n\nexport type EventPriority = \"discrete\" | \"continuous\" | \"default\";\nexport type RenderPriority = \"sync\" | \"transition\" | \"continuous\";\n\ninterface TransitionContext {\n syncVersion: number;\n transitionVersion: number;\n}\n\nexport interface RootRuntimeOptions {\n identifierPrefix?: string;\n idMode?: \"client\" | \"server\";\n}\n\nexport interface RuntimeSnapshot {\n instanceKeys: Set<string>;\n portalContainers: Set<Element>;\n portalNodes: Map<Element, Set<Node>>;\n pendingInsertionEffectsLength: number;\n pendingLayoutEffectsLength: number;\n pendingEffectsLength: number;\n pendingProfilerCommitsLength: number;\n profilerBaseDurations: Map<string, number>;\n idCounter: number;\n identifierPrefix: string;\n idMode: \"client\" | \"server\";\n strictModeDepth: number;\n strictReplayDepth: number;\n strictMemoCapture: unknown[] | undefined;\n strictMemoCaptureByHook: Map<string, unknown> | undefined;\n strictMemoReplay: { values: readonly unknown[]; index: number } | undefined;\n strictMemoReplayByHook: ReadonlyMap<string, unknown> | undefined;\n profilerFlushDepth: number;\n}\n\nexport function createRootRuntime(\n rerender: (priority?: RenderPriority) => void,\n options: RootRuntimeOptions = {},\n): RootRuntime {\n return {\n instances: new Map(),\n instanceKeysByPrefix: new Map(),\n activeInstanceKeys: undefined,\n activeProfilerPaths: undefined,\n mountedProfilerPaths: new Set(),\n profilerBaseDurations: new Map(),\n pendingProfilerCommits: [],\n pendingInsertionEffects: [],\n pendingLayoutEffects: [],\n pendingEffects: [],\n externalStoreChecks: [],\n portalContainers: new Set(),\n portalNodes: new Map(),\n idCounter: 0,\n identifierPrefix: options.identifierPrefix ?? \"\",\n idMode: options.idMode ?? \"client\",\n strictModeDepth: 0,\n strictReplayDepth: 0,\n strictMemoCapture: undefined,\n strictMemoCaptureByHook: undefined,\n strictMemoReplay: undefined,\n strictMemoReplayByHook: undefined,\n profilerFlushDepth: 0,\n effectFlushPhase: undefined,\n externalStoreUpdate: false,\n renderPhaseUpdate: false,\n rerender,\n beginRender() {\n this.activeInstanceKeys = new Set();\n this.activeProfilerPaths = new Set();\n this.pendingProfilerCommits = [];\n this.pendingInsertionEffects = [];\n this.pendingLayoutEffects = [];\n this.pendingEffects = [];\n this.externalStoreChecks = [];\n this.renderPhaseUpdate = false;\n },\n endRender(committed = true) {\n const profilerCommits = committed ? this.pendingProfilerCommits.splice(0) : [];\n const activeProfilerPaths = this.activeProfilerPaths;\n if (committed) {\n cleanupInactiveInstances(this);\n this.mountedProfilerPaths =\n activeProfilerPaths === undefined ? new Set() : new Set(activeProfilerPaths);\n } else {\n this.pendingProfilerCommits = [];\n }\n this.activeInstanceKeys = undefined;\n this.activeProfilerPaths = undefined;\n hookRenderState.currentRuntime = undefined;\n hookRenderState.currentInstance = undefined;\n if (committed) {\n flushProfilerCommits(this, profilerCommits);\n flushHostCommitRerenders();\n this.externalStoreUpdate = false;\n }\n },\n flushEffects() {\n this.profilerFlushDepth += 1;\n try {\n this.effectFlushPhase = \"insertion\";\n flushPendingEffects(this.pendingInsertionEffects);\n this.effectFlushPhase = \"layout\";\n const strictLayoutEffects = flushPendingEffects(this.pendingLayoutEffects);\n this.effectFlushPhase = \"normal\";\n const strictEffects = flushPendingEffects(this.pendingEffects);\n this.effectFlushPhase = undefined;\n const strictReplayEffects = [...strictLayoutEffects, ...strictEffects];\n cleanupStrictEffects(strictReplayEffects);\n replayStrictEffects(strictReplayEffects);\n } finally {\n this.effectFlushPhase = undefined;\n this.profilerFlushDepth -= 1;\n if (this.profilerFlushDepth === 0) {\n flushEffectFlushRerenders();\n }\n }\n },\n dispose() {\n for (const instance of this.instances.values()) {\n cleanupInstance(instance);\n }\n\n this.pendingLayoutEffects = [];\n this.pendingInsertionEffects = [];\n this.pendingEffects = [];\n this.pendingProfilerCommits = [];\n this.activeProfilerPaths = undefined;\n this.mountedProfilerPaths.clear();\n this.profilerBaseDurations.clear();\n clearRuntimePortalNodes(this);\n },\n };\n}\n\nexport function createCacheScope(): CacheScope {\n return {\n functionCaches: new WeakMap(),\n controller: new AbortController(),\n ownerStack: [],\n };\n}\n\nexport function refreshCacheScope(scope: CacheScope): void {\n scope.controller.abort();\n scope.functionCaches = new WeakMap();\n scope.controller = new AbortController();\n}\n\nexport function runWithCacheScope<T>(scope: CacheScope, callback: () => T): T {\n const previousScope = hookRenderState.currentCacheScope;\n const previousGlobalScope = getGlobalCacheScope();\n hookRenderState.currentCacheScope = scope;\n setGlobalCacheScope(scope);\n\n try {\n const result = callback();\n\n if (isThenable(result)) {\n return Promise.resolve(result).finally(() => {\n hookRenderState.currentCacheScope = previousScope;\n setGlobalCacheScope(previousGlobalScope);\n }) as T;\n }\n\n hookRenderState.currentCacheScope = previousScope;\n setGlobalCacheScope(previousGlobalScope);\n return result;\n } catch (error) {\n hookRenderState.currentCacheScope = previousScope;\n setGlobalCacheScope(previousGlobalScope);\n throw error;\n }\n}\n\nexport function renderWithProfiler<T>(\n runtime: RootRuntime,\n path: string,\n props: Record<string, unknown>,\n render: () => T,\n): T {\n const startTime = getCurrentTime();\n const phase: ProfilerPhase =\n runtime.profilerFlushDepth > 0 || effectFlushRerenderDepth > 0\n ? \"nested-update\"\n : runtime.mountedProfilerPaths.has(path)\n ? \"update\"\n : \"mount\";\n\n try {\n return render();\n } finally {\n runtime.activeProfilerPaths?.add(path);\n const onRender = props.onRender;\n const id = props.id;\n\n if (typeof onRender === \"function\" && typeof id === \"string\") {\n const actualDuration = Math.max(0, getCurrentTime() - startTime);\n const baseDuration = Math.max(\n runtime.profilerBaseDurations.get(path) ?? 0,\n actualDuration,\n );\n runtime.profilerBaseDurations.set(path, baseDuration);\n runtime.pendingProfilerCommits.push({\n id,\n phase,\n onRender: onRender as ProfilerOnRender,\n actualDuration,\n baseDuration,\n startTime,\n });\n }\n }\n}\n\nexport function renderWithRootRuntime<T>(\n runtime: RootRuntime,\n path: string,\n render: () => T,\n owner?: unknown,\n): T {\n const previousRuntime = hookRenderState.currentRuntime;\n const previousInstance = hookRenderState.currentInstance;\n let instance = runtime.instances.get(path);\n\n if (instance !== undefined && owner !== undefined && instance.owner !== owner) {\n cleanupInstance(instance);\n instance = undefined;\n }\n\n instance ??= {\n owner,\n path,\n hooks: [],\n hookIndex: 0,\n dirty: false,\n devToolsHookSuppressionDepth: 0,\n };\n instance.owner = owner;\n instance.path = path;\n runtime.instances.set(path, instance);\n indexInstanceKey(runtime, path);\n runtime.activeInstanceKeys?.add(path);\n instance.hookIndex = 0;\n instance.dirty = false;\n instance.disposed = false;\n delete instance.contextDependencies;\n if (hasInstalledDevToolsHook()) {\n instance.devToolsHooks = [];\n instance.devToolsHookTypes = [];\n } else {\n delete instance.devToolsHooks;\n delete instance.devToolsHookTypes;\n }\n instance.devToolsHookSuppressionDepth = 0;\n hookRenderState.currentRuntime = runtime;\n hookRenderState.currentInstance = instance;\n\n try {\n return withContextReadObserver((context, value) => {\n (instance.contextDependencies ??= new Map()).set(context, value);\n }, render);\n } finally {\n hookRenderState.currentRuntime = previousRuntime;\n hookRenderState.currentInstance = previousInstance;\n }\n}\n\nexport function hasChangedContextDependency(\n runtime: RootRuntime,\n keys: readonly string[],\n): boolean {\n for (const key of keys) {\n const dependencies = runtime.instances.get(key)?.contextDependencies;\n\n if (dependencies === undefined) {\n continue;\n }\n\n for (const [context, value] of dependencies) {\n if (!Object.is(readContextValue(context), value)) {\n return true;\n }\n }\n }\n\n return false;\n}\n\nexport function hasContextDependency(\n runtime: RootRuntime,\n keys: readonly string[],\n): boolean {\n return keys.some((key) => runtime.instances.get(key)?.contextDependencies !== undefined);\n}\n\nexport function collectRuntimeInstanceKeys(runtime: RootRuntime, prefix: string): string[] {\n const keys = runtime.instanceKeysByPrefix.get(prefix);\n\n if (keys === undefined) {\n return [];\n }\n\n const activeKeys: string[] = [];\n\n for (const key of keys) {\n if (runtime.instances.has(key)) {\n activeKeys.push(key);\n }\n }\n\n return activeKeys;\n}\n\nexport function getDevToolsHookState(\n runtime: RootRuntime,\n path: string,\n): DevToolsHookState | undefined {\n const instance = runtime.instances.get(path);\n\n if (\n instance === undefined ||\n instance.devToolsHooks === undefined ||\n instance.devToolsHookTypes === undefined\n ) {\n return undefined;\n }\n\n return {\n hooks: [...instance.devToolsHooks],\n hookTypes: [...instance.devToolsHookTypes],\n };\n}\n\nexport function renderWithStrictMode<T>(\n runtime: RootRuntime,\n render: () => T,\n): T {\n runtime.strictModeDepth += 1;\n\n try {\n return render();\n } finally {\n runtime.strictModeDepth -= 1;\n }\n}\n\nexport function renderWithStrictModeMemoCapture<T>(\n runtime: RootRuntime,\n render: () => T,\n): { result: T; memoValues: readonly unknown[]; memoValuesByHook: ReadonlyMap<string, unknown> } {\n const previousCapture = runtime.strictMemoCapture;\n const previousCaptureByHook = runtime.strictMemoCaptureByHook;\n runtime.strictMemoCapture = [];\n runtime.strictMemoCaptureByHook = new Map();\n\n try {\n const result = renderWithStrictMode(runtime, render);\n return {\n result,\n memoValues: runtime.strictMemoCapture,\n memoValuesByHook: runtime.strictMemoCaptureByHook,\n };\n } finally {\n runtime.strictMemoCapture = previousCapture;\n runtime.strictMemoCaptureByHook = previousCaptureByHook;\n }\n}\n\nexport function renderStrictModeReplay<T>(\n runtime: RootRuntime,\n memoValues: readonly unknown[],\n memoValuesByHook: ReadonlyMap<string, unknown>,\n render: () => T,\n): T {\n const previousReplay = runtime.strictMemoReplay;\n const previousReplayByHook = runtime.strictMemoReplayByHook;\n runtime.strictReplayDepth += 1;\n runtime.strictMemoReplay = { values: memoValues, index: 0 };\n runtime.strictMemoReplayByHook = memoValuesByHook;\n\n try {\n return render();\n } finally {\n runtime.strictMemoReplay = previousReplay;\n runtime.strictMemoReplayByHook = previousReplayByHook;\n runtime.strictReplayDepth -= 1;\n }\n}\n\nexport function takeRuntimeSnapshot(runtime: RootRuntime): RuntimeSnapshot {\n return {\n instanceKeys: new Set(runtime.instances.keys()),\n portalContainers: new Set(runtime.portalContainers),\n portalNodes: clonePortalNodes(runtime.portalNodes),\n pendingInsertionEffectsLength: runtime.pendingInsertionEffects.length,\n pendingLayoutEffectsLength: runtime.pendingLayoutEffects.length,\n pendingEffectsLength: runtime.pendingEffects.length,\n pendingProfilerCommitsLength: runtime.pendingProfilerCommits.length,\n profilerBaseDurations: new Map(runtime.profilerBaseDurations),\n idCounter: runtime.idCounter,\n identifierPrefix: runtime.identifierPrefix,\n idMode: runtime.idMode,\n strictModeDepth: runtime.strictModeDepth,\n strictReplayDepth: runtime.strictReplayDepth,\n strictMemoCapture: runtime.strictMemoCapture,\n strictMemoCaptureByHook: runtime.strictMemoCaptureByHook,\n strictMemoReplay: runtime.strictMemoReplay,\n strictMemoReplayByHook: runtime.strictMemoReplayByHook,\n profilerFlushDepth: runtime.profilerFlushDepth,\n };\n}\n\nexport function restoreRuntimeSnapshot(\n runtime: RootRuntime,\n snapshot: RuntimeSnapshot,\n): void {\n runtime.pendingInsertionEffects.length = snapshot.pendingInsertionEffectsLength;\n runtime.pendingLayoutEffects.length = snapshot.pendingLayoutEffectsLength;\n runtime.pendingEffects.length = snapshot.pendingEffectsLength;\n runtime.pendingProfilerCommits.length = snapshot.pendingProfilerCommitsLength;\n runtime.profilerBaseDurations = new Map(snapshot.profilerBaseDurations);\n runtime.idCounter = snapshot.idCounter;\n runtime.identifierPrefix = snapshot.identifierPrefix;\n runtime.idMode = snapshot.idMode;\n runtime.strictModeDepth = snapshot.strictModeDepth;\n runtime.strictReplayDepth = snapshot.strictReplayDepth;\n runtime.strictMemoCapture = snapshot.strictMemoCapture;\n runtime.strictMemoCaptureByHook = snapshot.strictMemoCaptureByHook;\n runtime.strictMemoReplay = snapshot.strictMemoReplay;\n runtime.strictMemoReplayByHook = snapshot.strictMemoReplayByHook;\n runtime.profilerFlushDepth = snapshot.profilerFlushDepth;\n\n for (const key of runtime.instances.keys()) {\n if (!snapshot.instanceKeys.has(key)) {\n runtime.instances.delete(key);\n }\n }\n\n clearRuntimePortalNodesExcept(runtime, snapshot.portalNodes);\n runtime.portalContainers.clear();\n for (const container of snapshot.portalContainers) {\n runtime.portalContainers.add(container);\n }\n runtime.portalNodes = clonePortalNodes(snapshot.portalNodes);\n}\n\nexport function clearRuntimePortalNodes(runtime: RootRuntime): void {\n for (const [container, nodes] of runtime.portalNodes) {\n for (const node of nodes) {\n removeChildIfPresent(container, node);\n }\n }\n\n runtime.portalNodes.clear();\n runtime.portalContainers.clear();\n}\n\nfunction clearRuntimePortalNodesExcept(\n runtime: RootRuntime,\n preserved: Map<Element, Set<Node>>,\n): void {\n for (const [container, nodes] of runtime.portalNodes) {\n const preservedNodes = preserved.get(container);\n\n for (const node of nodes) {\n if (preservedNodes?.has(node) !== true) {\n removeChildIfPresent(container, node);\n }\n }\n }\n}\n\nfunction clonePortalNodes(source: Map<Element, Set<Node>>): Map<Element, Set<Node>> {\n const clone = new Map<Element, Set<Node>>();\n\n for (const [container, nodes] of source) {\n clone.set(container, new Set(nodes));\n }\n\n return clone;\n}\n\nexport function useState<T>(\n initial: T | (() => T),\n): [T, (value: T | ((previous: T) => T)) => void] {\n const runtime = requireRuntime();\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n\n let slot = instance.hooks[index];\n\n if (slot === undefined) {\n slot = {\n kind: \"state\",\n value: typeof initial === \"function\" ? (initial as () => T)() : initial,\n };\n instance.hooks[index] = slot;\n }\n\n if (slot.kind !== \"state\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n const setState = (value: T | ((previous: T) => T)): void => {\n const previousValue = slot.value;\n const nextValue =\n typeof value === \"function\"\n ? (value as (previous: T) => T)(slot.value as T)\n : value;\n\n if (Object.is(slot.value, nextValue)) {\n return;\n }\n\n if (hookRenderState.hostCommitDepth > 0 && !Object.hasOwn(slot, \"hostCommitValue\")) {\n slot.hostCommitValue = previousValue;\n }\n\n slot.value = nextValue;\n if (hookRenderState.hostCommitDepth > 0) {\n updateHostCommitDirtyState(instance);\n hookRenderState.queuedHostCommitRerenders.add(runtime);\n return;\n }\n\n scheduleInstanceUpdate(runtime, instance, { deferSync: typeof value === \"function\" });\n };\n\n recordDevToolsHook(\"useState\", {\n kind: \"state\",\n value: slot.value,\n });\n\n return [slot.value as T, setState];\n}\n\nexport function useReducer<TState, TAction, TInitial = TState>(\n reducer: (state: TState, action: TAction) => TState,\n initialArg: TInitial,\n init?: (initialArg: TInitial) => TState,\n): [TState, (action: TAction) => void] {\n const [state, setState] = runWithoutDevToolsHookTracking(() =>\n useState<TState>(() =>\n init === undefined ? (initialArg as unknown as TState) : init(initialArg),\n ),\n );\n const reducerRef = runWithoutDevToolsHookTracking(() => useRef(reducer));\n const dispatchRef = runWithoutDevToolsHookTracking(() =>\n useRef<((action: TAction) => void) | undefined>(\n undefined,\n )\n );\n reducerRef.current = reducer;\n\n if (dispatchRef.current === undefined) {\n dispatchRef.current = (action: TAction): void => {\n setState((previousState) => reducerRef.current(previousState, action));\n };\n }\n\n recordDevToolsHook(\"useReducer\", {\n kind: \"reducer\",\n value: state,\n });\n\n return [state, dispatchRef.current];\n}\n\nexport function useRef<T>(initial: T): { current: T } {\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n\n let slot = instance.hooks[index];\n\n if (slot === undefined) {\n slot = { kind: \"ref\", value: { current: initial } };\n instance.hooks[index] = slot;\n }\n\n if (slot.kind !== \"ref\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n recordDevToolsHook(\"useRef\", {\n kind: \"ref\",\n value: slot.value,\n });\n\n return slot.value as { current: T };\n}\n\nexport function useId(): string {\n const runtime = requireRuntime();\n const idRef = runWithoutDevToolsHookTracking(() =>\n useRef<string | undefined>(undefined)\n );\n\n if (idRef.current === undefined) {\n const mode = runtime.idMode === \"server\" ? \"R\" : \"r\";\n idRef.current = `_${runtime.identifierPrefix}${mode}_${runtime.idCounter}_`;\n runtime.idCounter += 1;\n }\n\n recordDevToolsHook(\"useId\", {\n kind: \"id\",\n value: idRef.current,\n });\n\n return idRef.current;\n}\n\nexport function useImperativeHandle<T>(\n ref: unknown,\n create: () => T,\n deps?: readonly unknown[],\n): void {\n runWithoutDevToolsHookTracking(() =>\n useInsertionEffect(() => {\n const handle = create();\n assignRef(ref, handle);\n return () => {\n assignRef(ref, null);\n };\n }, deps === undefined ? undefined : [ref, ...deps])\n );\n recordDevToolsHook(\"useImperativeHandle\", deps === undefined\n ? { kind: \"imperative-handle\" }\n : { kind: \"imperative-handle\", deps });\n}\n\nexport function useMemo<T>(factory: () => T, deps?: readonly unknown[]): T {\n const runtime = requireRuntime();\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n\n let slot = instance.hooks[index];\n\n if (slot !== undefined && slot.kind !== \"memo\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n let value: unknown;\n const shouldRecompute =\n slot === undefined ||\n deps === undefined ||\n slot.deps === undefined ||\n !areHookInputsEqual(deps, slot.deps);\n\n if (runtime.strictReplayDepth > 0) {\n const replayValue = factory();\n if (slot === undefined) {\n slot =\n deps === undefined\n ? { kind: \"memo\", value: replayValue }\n : { kind: \"memo\", value: replayValue, deps };\n instance.hooks[index] = slot;\n }\n const hookKey = getStrictMemoHookKey(instance, index);\n const replayByHook = runtime.strictMemoReplayByHook;\n const replay = runtime.strictMemoReplay;\n value = replayByHook?.has(hookKey) === true\n ? replayByHook.get(hookKey)\n : replay === undefined || replay.index >= replay.values.length\n ? slot.value\n : replay.values[replay.index++];\n } else if (shouldRecompute) {\n value = factory();\n slot =\n deps === undefined\n ? { kind: \"memo\", value }\n : { kind: \"memo\", value, deps };\n instance.hooks[index] = slot;\n } else {\n value = slot!.value;\n }\n\n if (runtime.strictModeDepth > 0 && runtime.strictReplayDepth === 0) {\n runtime.strictMemoCapture?.push(value);\n runtime.strictMemoCaptureByHook?.set(getStrictMemoHookKey(instance, index), value);\n }\n\n const memoSlot = slot;\n if (memoSlot === undefined) {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n recordDevToolsHook(\"useMemo\", memoSlot.deps === undefined\n ? { kind: \"memo\", value }\n : { kind: \"memo\", value, deps: memoSlot.deps });\n\n return value as T;\n}\n\nfunction getStrictMemoHookKey(\n instance: ComponentInstance,\n index: number,\n): string {\n return `${instance.path}:${getStrictMemoOwnerId(instance.owner)}:${index}`;\n}\n\nfunction getStrictMemoOwnerId(owner: unknown): number {\n if ((typeof owner === \"object\" && owner !== null) || typeof owner === \"function\") {\n const objectOwner = owner as object;\n let ownerId = strictMemoObjectOwnerIds.get(objectOwner);\n if (ownerId === undefined) {\n ownerId = strictMemoOwnerId++;\n strictMemoObjectOwnerIds.set(objectOwner, ownerId);\n }\n return ownerId;\n }\n\n let ownerId = strictMemoPrimitiveOwnerIds.get(owner);\n if (ownerId === undefined) {\n ownerId = strictMemoOwnerId++;\n strictMemoPrimitiveOwnerIds.set(owner, ownerId);\n }\n return ownerId;\n}\n\nfunction assignRef<T>(ref: unknown, value: T | null): void {\n if (typeof ref === \"function\") {\n ref(value);\n return;\n }\n\n if (typeof ref === \"object\" && ref !== null && \"current\" in ref) {\n (ref as { current: T | null }).current = value;\n }\n}\n\nfunction recordDevToolsHook(type: string, value: DevToolsHookValue): void {\n const instance = hookRenderState.currentInstance;\n\n if (\n instance === undefined ||\n instance.devToolsHookSuppressionDepth > 0 ||\n instance.devToolsHooks === undefined ||\n instance.devToolsHookTypes === undefined\n ) {\n return;\n }\n\n instance.devToolsHookTypes.push(type);\n instance.devToolsHooks.push(value);\n}\n\nfunction hasInstalledDevToolsHook(): boolean {\n return typeof (globalThis as {\n __REACT_DEVTOOLS_GLOBAL_HOOK__?: { inject?: unknown } | undefined;\n }).__REACT_DEVTOOLS_GLOBAL_HOOK__?.inject === \"function\";\n}\n\nfunction runWithoutDevToolsHookTracking<T>(callback: () => T): T {\n const instance = requireInstance();\n instance.devToolsHookSuppressionDepth += 1;\n\n try {\n return callback();\n } finally {\n instance.devToolsHookSuppressionDepth -= 1;\n }\n}\n\nexport function useCallback<T extends (...args: never[]) => unknown>(\n callback: T,\n deps?: readonly unknown[],\n): T {\n const value = runWithoutDevToolsHookTracking(() => useMemo(() => callback, deps));\n recordDevToolsHook(\"useCallback\", deps === undefined\n ? { kind: \"callback\", value }\n : { kind: \"callback\", value, deps });\n return value;\n}\n\nexport function useDebugValue(_value: unknown, _format?: (value: unknown) => unknown): void {\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n\n const value = _format === undefined ? _value : _format(_value);\n let slot = instance.hooks[index];\n\n if (slot !== undefined && slot.kind !== \"debug\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n if (slot === undefined) {\n slot = { kind: \"debug\", value };\n instance.hooks[index] = slot;\n recordDevToolsHook(\"useDebugValue\", {\n kind: \"debug\",\n value,\n });\n return;\n }\n\n slot.value = value;\n recordDevToolsHook(\"useDebugValue\", {\n kind: \"debug\",\n value,\n });\n}\n\nexport function useEffectEvent<TArgs extends unknown[], TResult>(\n callback: (...args: TArgs) => TResult,\n): (...args: TArgs) => TResult {\n const ref = runWithoutDevToolsHookTracking(() => useRef(callback));\n ref.current = callback;\n\n const event = runWithoutDevToolsHookTracking(() =>\n useCallback((...args: TArgs) => ref.current(...args), [])\n );\n recordDevToolsHook(\"useEffectEvent\", {\n kind: \"callback\",\n value: event,\n deps: [],\n });\n return event;\n}\n\nexport function useEffect(\n callback: EffectCallback,\n deps?: readonly unknown[],\n): void {\n useEffectImpl(\"normal\", callback, deps);\n recordDevToolsHook(\"useEffect\", deps === undefined\n ? { kind: \"effect\", effectKind: \"normal\" }\n : { kind: \"effect\", effectKind: \"normal\", deps });\n}\n\nexport function useInsertionEffect(\n callback: EffectCallback,\n deps?: readonly unknown[],\n): void {\n useEffectImpl(\"insertion\", callback, deps);\n recordDevToolsHook(\"useInsertionEffect\", deps === undefined\n ? { kind: \"effect\", effectKind: \"insertion\" }\n : { kind: \"effect\", effectKind: \"insertion\", deps });\n}\n\nexport function useLayoutEffect(\n callback: EffectCallback,\n deps?: readonly unknown[],\n): void {\n useEffectImpl(\"layout\", callback, deps);\n recordDevToolsHook(\"useLayoutEffect\", deps === undefined\n ? { kind: \"effect\", effectKind: \"layout\" }\n : { kind: \"effect\", effectKind: \"layout\", deps });\n}\n\nexport function useSyncExternalStore<T>(\n subscribe: (listener: () => void) => () => void,\n getSnapshot: () => T,\n getServerSnapshot: () => T = getSnapshot,\n): T {\n const runtime = requireRuntime();\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n let slot = instance.hooks[index];\n\n if (slot === undefined) {\n slot = { kind: \"store\", value: getServerSnapshot() };\n instance.hooks[index] = slot;\n }\n\n if (slot.kind !== \"store\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n const currentSnapshot = getSnapshot();\n\n if (!Object.is(slot.value, currentSnapshot)) {\n slot.value = currentSnapshot;\n }\n\n recordExternalStoreCheck(getSnapshot, currentSnapshot);\n\n runWithoutDevToolsHookTracking(() => useEffect(() => {\n const checkForUpdates = (): void => {\n if (instance.disposed === true) {\n return;\n }\n\n const nextSnapshot = getSnapshot();\n\n if (!Object.is(slot.value, nextSnapshot)) {\n slot.value = nextSnapshot;\n instance.dirty = true;\n runtime.externalStoreUpdate = true;\n if (runtime.profilerFlushDepth > 0) {\n hookRenderState.queuedEffectFlushRerenders.add(runtime);\n return;\n }\n runtime.rerender(\"sync\");\n }\n };\n\n if (slot.hasMounted !== true) {\n checkForUpdates();\n }\n const unsubscribe = subscribe(checkForUpdates);\n slot.hasMounted = true;\n return () => {\n unsubscribe();\n };\n }, [subscribe, getSnapshot]));\n\n recordDevToolsHook(\"useSyncExternalStore\", {\n kind: \"store\",\n value: slot.value,\n });\n\n return slot.value as T;\n}\n\nexport function useActionState<TState, TPayload>(\n action: (previousState: TState, payload: TPayload) => TState | Promise<TState>,\n initialState: TState,\n): [TState, (payload: TPayload) => void, boolean] {\n const runtime = requireRuntime();\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n let slot = instance.hooks[index];\n\n if (slot !== undefined && slot.kind !== \"action-state\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n if (slot === undefined) {\n slot = {\n kind: \"action-state\",\n state: initialState,\n pendingCount: 0,\n action: action as (previousState: unknown, payload: unknown) => unknown,\n };\n instance.hooks[index] = slot;\n }\n\n if (\"error\" in slot) {\n throw slot.error;\n }\n\n slot.action = action as (previousState: unknown, payload: unknown) => unknown;\n\n if (slot.dispatch === undefined) {\n slot.dispatch = (payload: unknown): void => {\n runActionStateDispatch(slot, runtime, instance, payload);\n };\n }\n\n recordDevToolsHook(\"useActionState\", {\n kind: \"state\",\n value: slot.state,\n });\n\n return [\n slot.state as TState,\n slot.dispatch as (payload: TPayload) => void,\n slot.pendingCount > 0,\n ];\n}\n\nexport function useOptimistic<TState, TPayload>(\n state: TState,\n update?: (state: TState, payload: TPayload) => TState,\n): [TState, (payload: TPayload) => void] {\n const runtime = requireRuntime();\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n let slot = instance.hooks[index];\n const updateFn =\n update === undefined\n ? (_current: unknown, payload: unknown) => payload\n : update as (state: unknown, payload: unknown) => unknown;\n\n if (slot !== undefined && slot.kind !== \"optimistic\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n if (slot === undefined) {\n slot = {\n kind: \"optimistic\",\n baseState: state,\n optimisticState: state,\n update: updateFn,\n };\n instance.hooks[index] = slot;\n }\n\n slot.update = updateFn;\n\n if (!Object.is(slot.baseState, state)) {\n slot.baseState = state;\n slot.optimisticState = state;\n }\n\n if (slot.dispatch === undefined) {\n slot.dispatch = (payload: unknown): void => {\n slot.optimisticState = slot.update(slot.optimisticState, payload);\n scheduleInstanceUpdate(runtime, instance);\n };\n }\n\n recordDevToolsHook(\"useOptimistic\", {\n kind: \"state\",\n value: slot.optimisticState,\n });\n\n return [slot.optimisticState as TState, slot.dispatch as (payload: TPayload) => void];\n}\n\nexport function use<T>(usable: PromiseLike<T> | unknown): T {\n if (isReactCompatContext(usable)) {\n return useContext(usable) as T;\n }\n\n if (isThenable(usable)) {\n return readThenable(usable as PromiseLike<T>);\n }\n\n return usable as T;\n}\n\nexport function cache<TArgs extends unknown[], TResult>(\n callback: (...args: TArgs) => TResult,\n): (...args: TArgs) => TResult {\n return (...args) => {\n const scope = getCurrentCacheScope();\n\n if (scope === undefined) {\n return callback(...args);\n }\n\n const leaf = getCacheLeaf(scope, callback, args);\n\n if (leaf.status === \"fulfilled\") {\n return leaf.value as TResult;\n }\n\n if (leaf.status === \"rejected\") {\n throw leaf.reason;\n }\n\n try {\n const value = callback(...args);\n leaf.status = \"fulfilled\";\n leaf.value = value;\n return value;\n } catch (error) {\n leaf.status = \"rejected\";\n leaf.reason = error;\n throw error;\n }\n };\n}\n\nexport function cacheSignal(): AbortSignal | null {\n return getCurrentCacheScope()?.controller.signal ?? null;\n}\n\nexport function captureOwnerStack(): string | null {\n const stack = getCurrentCacheScope()?.ownerStack ?? emptyCacheOwnerStack;\n return stack.length === 0 ? null : stack.join(\"\\n\");\n}\n\nexport function unstable_useCacheRefresh(): () => void {\n return useCallback(() => undefined, []);\n}\n\nexport function hasStableExternalStores(\n runtime: RootRuntime,\n): boolean {\n return runtime.externalStoreChecks.every((check) =>\n Object.is(check.getSnapshot(), check.value),\n );\n}\n\nfunction readThenable<T>(thenable: PromiseLike<T>): T {\n const record = thenable as PromiseLike<T> & {\n status?: \"pending\" | \"fulfilled\" | \"rejected\";\n value?: T;\n reason?: unknown;\n };\n\n if (record.status === \"fulfilled\") {\n return record.value as T;\n }\n\n if (record.status === \"rejected\") {\n throw record.reason;\n }\n\n if (record.status === undefined) {\n record.status = \"pending\";\n thenable.then(\n (value) => {\n if (record.status === \"pending\") {\n record.status = \"fulfilled\";\n record.value = value;\n }\n },\n (reason) => {\n if (record.status === \"pending\") {\n record.status = \"rejected\";\n record.reason = reason;\n }\n },\n );\n }\n\n throw thenable;\n}\n\nexport type TransitionScope = () => void;\nexport type StartTransition = (scope: TransitionScope) => void;\n\nexport function startTransition(scope: TransitionScope): void {\n const context = {\n syncVersion,\n transitionVersion: ++transitionVersion,\n };\n\n runTransitionScope(scope, context);\n}\n\nexport function runWithEventPriority<T>(\n priority: EventPriority,\n callback: () => T,\n): T {\n const previousPriority = currentEventPriority;\n currentEventPriority = priority;\n eventBatchDepth += 1;\n\n try {\n return callback();\n } finally {\n eventBatchDepth -= 1;\n currentEventPriority = previousPriority;\n\n if (eventBatchDepth === 0) {\n flushEventRerendersForPriority(priority);\n }\n }\n}\n\nexport function flushSyncUpdates<T>(callback: () => T): T {\n const previousEventBatchDepth = eventBatchDepth;\n const previousEventPriority = currentEventPriority;\n eventBatchDepth = 0;\n currentEventPriority = \"discrete\";\n\n try {\n const value = callback();\n // Reactive-core cell/computed updates flush in a scheduled microtask by\n // default; drain them here so flushSync guarantees committed DOM on return\n // for compiled (cell-driven) components as well as compat hook state.\n flushPendingComputed();\n flushQueuedComputations();\n flushQueuedEventRerenders();\n return value;\n } finally {\n eventBatchDepth = previousEventBatchDepth;\n currentEventPriority = previousEventPriority;\n }\n}\n\nexport function runWithHostCommit<T>(callback: () => T): T {\n hookRenderState.hostCommitDepth += 1;\n try {\n return callback();\n } finally {\n hookRenderState.hostCommitDepth -= 1;\n }\n}\n\nexport function useTransition(): [boolean, StartTransition] {\n const [pending, setPending] = runWithoutDevToolsHookTracking(() => useState(false));\n const startTransitionWithPending: StartTransition = (scope) => {\n setPending(true);\n const context = {\n syncVersion,\n transitionVersion: ++transitionVersion,\n };\n scheduleCallback(\"low\", () => {\n if (!isTransitionContextCurrent(context)) {\n setPending(false);\n return;\n }\n\n runTransitionScope(() => {\n scope();\n setPending(false);\n }, context);\n });\n };\n\n recordDevToolsHook(\"useTransition\", {\n kind: \"transition\",\n value: pending,\n });\n\n return [\n pending,\n startTransitionWithPending,\n ];\n}\n\nexport function useDeferredValue<T>(value: T, initialValue?: T): T {\n const [deferredValue, setDeferredValue] = runWithoutDevToolsHookTracking(() =>\n useState(arguments.length > 1 ? (initialValue as T) : value)\n );\n\n runWithoutDevToolsHookTracking(() =>\n useEffect(() => {\n if (Object.is(deferredValue, value)) {\n return;\n }\n\n startTransition(() => {\n setDeferredValue(value);\n });\n }, [value, deferredValue])\n );\n\n const currentValue = Object.is(deferredValue, value) ? value : deferredValue;\n\n recordDevToolsHook(\"useDeferredValue\", {\n kind: \"deferred\",\n value: currentValue,\n });\n\n return currentValue;\n}\n\nfunction runTransitionScope(\n scope: TransitionScope,\n context: TransitionContext,\n): void {\n transitionDepth += 1;\n const previousContext = currentTransitionContext;\n currentTransitionContext = context;\n\n try {\n scope();\n } finally {\n currentTransitionContext = previousContext;\n transitionDepth -= 1;\n }\n}\n\nfunction queueTransitionRerender(\n runtime: RootRuntime,\n context: TransitionContext,\n): void {\n queuedTransitionRerenders.set(runtime, context);\n\n if (transitionRerenderScheduled) {\n return;\n }\n\n transitionRerenderScheduled = true;\n scheduleCallback(\"low\", flushQueuedTransitionRerenders);\n}\n\nfunction queueEventRerender(runtime: RootRuntime): void {\n queuedEventRerenders.add(runtime);\n}\n\nfunction queueAutomaticRerender(runtime: RootRuntime): void {\n queueEventRerender(runtime);\n\n if (automaticRerenderScheduled) {\n return;\n }\n\n automaticRerenderScheduled = true;\n queueMicrotask(() => {\n automaticRerenderScheduled = false;\n flushQueuedEventRerenders(\"sync\");\n });\n}\n\nfunction flushEventRerendersForPriority(priority: EventPriority): void {\n if (priority === \"discrete\") {\n flushQueuedEventRerenders(\"sync\");\n return;\n }\n\n if (eventRerenderScheduled || queuedEventRerenders.size === 0) {\n return;\n }\n\n eventRerenderScheduled = true;\n scheduleCallback(priority === \"continuous\" ? \"normal\" : \"low\", () => {\n eventRerenderScheduled = false;\n flushQueuedEventRerenders(\n priority === \"continuous\" ? \"continuous\" : \"sync\",\n );\n });\n}\n\nfunction flushQueuedEventRerenders(priority: RenderPriority = \"sync\"): void {\n const runtimes = Array.from(queuedEventRerenders);\n queuedEventRerenders.clear();\n\n for (const runtime of runtimes) {\n runtime.rerender(priority);\n }\n}\n\nfunction flushQueuedTransitionRerenders(): void {\n transitionRerenderScheduled = false;\n const entries = Array.from(queuedTransitionRerenders.entries());\n queuedTransitionRerenders.clear();\n\n for (const [runtime, context] of entries) {\n if (isTransitionContextCurrent(context)) {\n runtime.rerender(\"transition\");\n }\n }\n}\n\nfunction isTransitionContextCurrent(context: TransitionContext): boolean {\n return (\n context.syncVersion === syncVersion &&\n context.transitionVersion === transitionVersion\n );\n}\n\nfunction useEffectImpl(\n effectKind: \"insertion\" | \"layout\" | \"normal\",\n callback: EffectCallback,\n deps?: readonly unknown[],\n): void {\n const runtime = requireRuntime();\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n\n let slot = instance.hooks[index];\n\n if (slot !== undefined && slot.kind !== \"effect\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n const shouldRun =\n slot === undefined ||\n slot.mounted !== true ||\n deps === undefined ||\n slot.deps === undefined ||\n !areHookInputsEqual(deps, slot.deps);\n\n if (slot === undefined) {\n slot =\n deps === undefined\n ? { kind: \"effect\", effectKind, callback }\n : { kind: \"effect\", effectKind, callback, deps };\n instance.hooks[index] = slot;\n } else {\n slot.effectKind = effectKind;\n slot.callback = callback;\n slot.disposed = false;\n\n if (deps === undefined) {\n delete slot.deps;\n } else {\n slot.deps = deps;\n }\n }\n\n slot.strictReplay =\n (runtime.strictModeDepth > 0 || runtime.strictReplayDepth > 0) &&\n effectKind !== \"insertion\";\n\n if (shouldRun) {\n const queue =\n effectKind === \"insertion\"\n ? runtime.pendingInsertionEffects\n : effectKind === \"layout\"\n ? runtime.pendingLayoutEffects\n : runtime.pendingEffects;\n queue.push({ slot });\n }\n}\n\nfunction recordExternalStoreCheck<T>(\n getSnapshot: () => T,\n value: T,\n): void {\n hookRenderState.currentRuntime?.externalStoreChecks.push({ getSnapshot, value });\n}\n\nfunction flushPendingEffects(queue: PendingEffect[]): PendingEffect[] {\n const pending = queue.splice(0);\n const strictReplay: PendingEffect[] = [];\n const runnable: { slot: Extract<HookSlot, { kind: \"effect\" }>; shouldReplay: boolean }[] = [];\n\n for (const { slot } of pending) {\n if (slot.disposed === true) {\n continue;\n }\n\n const shouldReplay = slot.strictReplay === true && slot.cleanup === undefined;\n slot.cleanup?.();\n runnable.push({ slot, shouldReplay });\n }\n\n for (const { slot, shouldReplay } of runnable) {\n if (slot.disposed === true) {\n continue;\n }\n\n const cleanup = slot.callback();\n\n if (typeof cleanup === \"function\") {\n slot.cleanup = cleanup;\n } else {\n delete slot.cleanup;\n }\n slot.mounted = true;\n\n if (shouldReplay) {\n strictReplay.push({ slot });\n }\n }\n\n return strictReplay;\n}\n\nfunction replayStrictEffects(effects: PendingEffect[]): void {\n for (const { slot } of effects) {\n if (slot.disposed === true) {\n continue;\n }\n\n const cleanup = slot.callback();\n\n if (typeof cleanup === \"function\") {\n slot.cleanup = cleanup;\n } else {\n delete slot.cleanup;\n }\n }\n}\n\nfunction flushProfilerCommits(\n runtime: RootRuntime,\n commits: PendingProfilerCommit[],\n): void {\n if (commits.length === 0) {\n return;\n }\n\n const commitTime = getCurrentTime();\n runtime.profilerFlushDepth += 1;\n\n try {\n for (const commit of commits) {\n commit.onRender(\n commit.id,\n commit.phase,\n commit.actualDuration,\n commit.baseDuration,\n commit.startTime,\n commitTime,\n );\n }\n } finally {\n runtime.profilerFlushDepth -= 1;\n }\n}\n\nfunction runActionStateDispatch(\n slot: Extract<HookSlot, { kind: \"action-state\" }>,\n runtime: RootRuntime,\n instance: ComponentInstance,\n payload: unknown,\n): void {\n let result: unknown;\n\n try {\n result = slot.action(slot.state, payload);\n } catch (error) {\n slot.error = error;\n scheduleInstanceUpdate(runtime, instance);\n return;\n }\n\n if (!isThenable(result)) {\n slot.state = result;\n scheduleInstanceUpdate(runtime, instance);\n return;\n }\n\n slot.pendingCount += 1;\n scheduleInstanceUpdate(runtime, instance);\n result.then(\n (nextState) => {\n slot.state = nextState;\n slot.pendingCount = Math.max(0, slot.pendingCount - 1);\n scheduleInstanceUpdate(runtime, instance);\n },\n (error) => {\n slot.error = error;\n slot.pendingCount = Math.max(0, slot.pendingCount - 1);\n scheduleInstanceUpdate(runtime, instance);\n },\n );\n}\n\nfunction scheduleInstanceUpdate(\n runtime: RootRuntime,\n instance: ComponentInstance,\n options: { deferSync?: boolean } = {},\n): void {\n if (instance.disposed === true) {\n return;\n }\n\n instance.dirty = true;\n if (\n hookRenderState.currentRuntime === runtime &&\n hookRenderState.currentInstance === instance\n ) {\n runtime.renderPhaseUpdate = true;\n return;\n }\n\n if (transitionDepth === 0) {\n syncVersion += 1;\n if (hookRenderState.hostCommitDepth > 0) {\n hookRenderState.queuedHostCommitRerenders.add(runtime);\n return;\n }\n if (runtime.effectFlushPhase !== undefined) {\n hookRenderState.queuedEffectFlushRerenders.add(runtime);\n return;\n }\n if (eventBatchDepth > 0) {\n queueEventRerender(runtime);\n return;\n }\n if (options.deferSync === true) {\n queueAutomaticRerender(runtime);\n return;\n }\n runtime.rerender(\"sync\");\n return;\n }\n\n if (currentTransitionContext !== undefined) {\n queueTransitionRerender(runtime, currentTransitionContext);\n }\n}\n\nfunction flushHostCommitRerenders(): void {\n if (\n hookRenderState.hostCommitDepth > 0 ||\n hookRenderState.queuedHostCommitRerenders.size === 0\n ) {\n return;\n }\n\n const runtimes = [...hookRenderState.queuedHostCommitRerenders];\n hookRenderState.queuedHostCommitRerenders.clear();\n for (const runtime of runtimes) {\n const hasDirtyInstance = Array.from(runtime.instances.values()).some(\n (instance) => instance.dirty,\n );\n clearHostCommitStateBaselines(runtime);\n\n if (hasDirtyInstance) {\n runtime.rerender(\"sync\");\n }\n }\n}\n\nfunction flushEffectFlushRerenders(): void {\n if (\n effectFlushRerenderDepth > 0 ||\n hookRenderState.queuedEffectFlushRerenders.size === 0\n ) {\n return;\n }\n\n effectFlushRerenderDepth += 1;\n try {\n for (\n let attempt = 0;\n attempt < 3 && hookRenderState.queuedEffectFlushRerenders.size > 0;\n attempt += 1\n ) {\n const runtimes = [...hookRenderState.queuedEffectFlushRerenders];\n hookRenderState.queuedEffectFlushRerenders.clear();\n for (const runtime of runtimes) {\n const hasDirtyInstance = Array.from(runtime.instances.values()).some(\n (instance) => instance.dirty,\n );\n\n if (hasDirtyInstance) {\n runtime.rerender(\"sync\");\n }\n }\n }\n hookRenderState.queuedEffectFlushRerenders.clear();\n } finally {\n effectFlushRerenderDepth -= 1;\n }\n}\n\nfunction updateHostCommitDirtyState(\n instance: ComponentInstance,\n): void {\n instance.dirty = instance.hooks.some(\n (slot) =>\n slot.kind === \"state\" &&\n Object.hasOwn(slot, \"hostCommitValue\") &&\n !Object.is(slot.hostCommitValue, slot.value),\n );\n}\n\nfunction clearHostCommitStateBaselines(runtime: RootRuntime): void {\n for (const instance of runtime.instances.values()) {\n for (const slot of instance.hooks) {\n if (slot.kind === \"state\") {\n delete slot.hostCommitValue;\n }\n }\n }\n}\n\nfunction getCacheLeaf(\n scope: CacheScope,\n callback: (...args: never[]) => unknown,\n args: readonly unknown[],\n): CacheTrieNode {\n let node = scope.functionCaches.get(callback);\n\n if (node === undefined) {\n node = createCacheTrieNode();\n scope.functionCaches.set(callback, node);\n }\n\n for (const arg of args) {\n node = getCacheChild(node, arg);\n }\n\n return node;\n}\n\nfunction getCacheChild(node: CacheTrieNode, key: unknown): CacheTrieNode {\n if ((typeof key === \"object\" && key !== null) || typeof key === \"function\") {\n const objectKey = key as object;\n let child = node.objectChildren.get(objectKey);\n\n if (child === undefined) {\n child = createCacheTrieNode();\n node.objectChildren.set(objectKey, child);\n }\n\n return child;\n }\n\n let child = node.primitiveChildren.get(key);\n\n if (child === undefined) {\n child = createCacheTrieNode();\n node.primitiveChildren.set(key, child);\n }\n\n return child;\n}\n\nfunction createCacheTrieNode(): CacheTrieNode {\n return {\n primitiveChildren: new Map(),\n objectChildren: new WeakMap(),\n };\n}\n\nfunction getCurrentCacheScope(): CacheScope | undefined {\n return hookRenderState.currentCacheScope ?? getGlobalCacheScope();\n}\n\nfunction getGlobalCacheScope(): CacheScope | undefined {\n return (globalThis as { [CACHE_SCOPE_SYMBOL]?: CacheScope })[CACHE_SCOPE_SYMBOL];\n}\n\nfunction setGlobalCacheScope(scope: CacheScope | undefined): void {\n if (scope === undefined) {\n delete (globalThis as { [CACHE_SCOPE_SYMBOL]?: CacheScope })[CACHE_SCOPE_SYMBOL];\n return;\n }\n\n (globalThis as { [CACHE_SCOPE_SYMBOL]?: CacheScope })[CACHE_SCOPE_SYMBOL] = scope;\n}\n\nfunction cleanupStrictEffects(effects: PendingEffect[]): void {\n for (const { slot } of effects) {\n if (slot.disposed !== true) {\n slot.cleanup?.();\n }\n }\n}\n\nfunction cleanupInactiveInstances(runtime: RootRuntime): void {\n const activeInstanceKeys = runtime.activeInstanceKeys;\n\n if (activeInstanceKeys === undefined) {\n return;\n }\n\n for (const [key, instance] of runtime.instances) {\n if (!activeInstanceKeys.has(key)) {\n cleanupInstance(instance);\n runtime.instances.delete(key);\n removeInstanceKeyFromIndex(runtime, key);\n }\n }\n}\n\nfunction indexInstanceKey(runtime: RootRuntime, key: string): void {\n for (const prefix of instanceKeyPrefixes(key)) {\n let keys = runtime.instanceKeysByPrefix.get(prefix);\n\n if (keys === undefined) {\n keys = new Set();\n runtime.instanceKeysByPrefix.set(prefix, keys);\n }\n\n keys.add(key);\n }\n}\n\nfunction removeInstanceKeyFromIndex(runtime: RootRuntime, key: string): void {\n for (const prefix of instanceKeyPrefixes(key)) {\n const keys = runtime.instanceKeysByPrefix.get(prefix);\n\n if (keys === undefined) {\n continue;\n }\n\n keys.delete(key);\n\n if (keys.size === 0) {\n runtime.instanceKeysByPrefix.delete(prefix);\n }\n }\n}\n\nfunction instanceKeyPrefixes(key: string): string[] {\n const parts = key.split(\".\");\n const prefixes: string[] = [];\n\n for (let index = 1; index <= parts.length; index += 1) {\n prefixes.push(parts.slice(0, index).join(\".\"));\n }\n\n return prefixes;\n}\n\nfunction cleanupInstance(instance: ComponentInstance): void {\n instance.disposed = true;\n for (const slot of instance.hooks) {\n if (slot?.kind === \"effect\") {\n slot.disposed = true;\n slot.mounted = false;\n slot.cleanup?.();\n delete slot.cleanup;\n }\n }\n}\n\nfunction requireRuntime(): RootRuntime {\n if (hookRenderState.currentRuntime === undefined) {\n throw new Error(\"Hooks can only be called while rendering.\");\n }\n\n return hookRenderState.currentRuntime;\n}\n\nfunction requireInstance(): ComponentInstance {\n if (hookRenderState.currentInstance === undefined) {\n throw new Error(\"Hooks can only be called while rendering.\");\n }\n\n return hookRenderState.currentInstance;\n}\n\nfunction areHookInputsEqual(\n nextDeps: readonly unknown[],\n previousDeps: readonly unknown[],\n): boolean {\n if (nextDeps.length !== previousDeps.length) {\n return false;\n }\n\n for (let index = 0; index < nextDeps.length; index += 1) {\n if (!Object.is(nextDeps[index], previousDeps[index])) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction getCurrentTime(): number {\n return typeof performance === \"undefined\" ? Date.now() : performance.now();\n}\n"]}
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n flushPendingComputed,\n flushQueuedComputations,\n} from \"@reckona/mreact-reactive-core/internal\";\nimport { scheduleCallback } from \"./fiber-scheduler.js\";\nimport { removeChildIfPresent } from \"./dom-children.js\";\nimport {\n type ReactCompatContextLike,\n isReactCompatContext,\n readContextValue,\n useContext,\n withContextReadObserver,\n} from \"./context.js\";\nimport { REACTIVE_TEXT_BINDING_META } from \"./element.js\";\nimport { isThenable } from \"./thenable.js\";\n\nexport interface RootRuntime {\n currentElement?: unknown;\n instances: Map<string, ComponentInstance>;\n instanceKeysByPrefix: Map<string, Set<string>>;\n activeInstanceKeys: Set<string> | undefined;\n activeProfilerPaths: Set<string> | undefined;\n mountedProfilerPaths: Set<string>;\n profilerBaseDurations: Map<string, number>;\n pendingProfilerCommits: PendingProfilerCommit[];\n pendingInsertionEffects: PendingEffect[];\n pendingLayoutEffects: PendingEffect[];\n pendingEffects: PendingEffect[];\n externalStoreChecks: ExternalStoreCheck[];\n portalContainers: Set<Element>;\n portalNodes: Map<Element, Set<Node>>;\n idCounter: number;\n identifierPrefix: string;\n idMode: \"client\" | \"server\";\n strictModeDepth: number;\n strictReplayDepth: number;\n strictMemoCapture: unknown[] | undefined;\n strictMemoCaptureByHook: Map<string, unknown> | undefined;\n strictMemoReplay: { values: readonly unknown[]; index: number } | undefined;\n strictMemoReplayByHook: ReadonlyMap<string, unknown> | undefined;\n profilerFlushDepth: number;\n effectFlushPhase: \"insertion\" | \"layout\" | \"normal\" | undefined;\n externalStoreUpdate: boolean;\n renderPhaseUpdate: boolean;\n rerender(priority?: RenderPriority): void;\n beginRender(): void;\n endRender(committed?: boolean): void;\n flushEffects(): void;\n dispose(): void;\n}\n\ninterface ComponentInstance {\n owner: unknown | undefined;\n path: string;\n hooks: HookSlot[];\n hookIndex: number;\n dirty: boolean;\n disposed?: boolean;\n contextDependencies?: Map<ReactCompatContextLike<unknown>, unknown>;\n devToolsHooks?: DevToolsHookValue[];\n devToolsHookTypes?: string[];\n devToolsHookSuppressionDepth: number;\n}\n\ntype EffectCallback = () => void | (() => void);\ntype ProfilerPhase = \"mount\" | \"update\" | \"nested-update\";\ntype ProfilerOnRender = (\n id: string,\n phase: ProfilerPhase,\n actualDuration: number,\n baseDuration: number,\n startTime: number,\n commitTime: number,\n) => void;\n\ninterface PendingEffect {\n slot: Extract<HookSlot, { kind: \"effect\" }>;\n}\n\ninterface PendingProfilerCommit {\n id: string;\n phase: ProfilerPhase;\n onRender: ProfilerOnRender;\n actualDuration: number;\n baseDuration: number;\n startTime: number;\n}\n\ninterface ExternalStoreCheck {\n getSnapshot: () => unknown;\n value: unknown;\n}\n\nexport interface CacheScope {\n functionCaches: WeakMap<(...args: never[]) => unknown, CacheTrieNode>;\n controller: AbortController;\n ownerStack: string[];\n}\n\ninterface CacheTrieNode {\n primitiveChildren: Map<unknown, CacheTrieNode>;\n objectChildren: WeakMap<object, CacheTrieNode>;\n status?: \"fulfilled\" | \"rejected\";\n value?: unknown;\n reason?: unknown;\n}\n\nexport interface DevToolsHookState {\n hooks: DevToolsHookValue[];\n hookTypes: string[];\n}\n\nexport type DevToolsHookValue =\n | { kind: \"state\"; value: unknown }\n | { kind: \"reducer\"; value: unknown }\n | { kind: \"store\"; value: unknown }\n | { kind: \"ref\"; value: unknown }\n | { kind: \"memo\"; value: unknown; deps?: readonly unknown[] }\n | { kind: \"callback\"; value: unknown; deps?: readonly unknown[] }\n | { kind: \"id\"; value: unknown }\n | { kind: \"imperative-handle\"; deps?: readonly unknown[] }\n | { kind: \"transition\"; value: unknown }\n | { kind: \"deferred\"; value: unknown }\n | { kind: \"debug\"; value: unknown }\n | { kind: \"effect\"; effectKind: \"insertion\" | \"layout\" | \"normal\"; deps?: readonly unknown[] };\n\ntype HookSlot =\n | { kind: \"state\"; value: unknown; hostCommitValue?: unknown; textBinding?: ReactiveTextBinding }\n | {\n kind: \"action-state\";\n state: unknown;\n pendingCount: number;\n action: (previousState: unknown, payload: unknown) => unknown;\n dispatch?: (payload: unknown) => void;\n error?: unknown;\n }\n | {\n kind: \"optimistic\";\n baseState: unknown;\n optimisticState: unknown;\n update: (state: unknown, payload: unknown) => unknown;\n dispatch?: (payload: unknown) => void;\n }\n | { kind: \"store\"; value: unknown; hasMounted?: boolean }\n | { kind: \"ref\"; value: { current: unknown } }\n | { kind: \"memo\"; value: unknown; deps?: readonly unknown[] }\n | { kind: \"debug\"; value: unknown }\n | {\n kind: \"effect\";\n effectKind: \"insertion\" | \"layout\" | \"normal\";\n callback: EffectCallback;\n deps?: readonly unknown[];\n cleanup?: () => void;\n disposed?: boolean;\n mounted?: boolean;\n strictReplay?: boolean;\n };\n\ninterface HookRenderState {\n currentRuntime: RootRuntime | undefined;\n currentInstance: ComponentInstance | undefined;\n currentCacheScope: CacheScope | undefined;\n hostCommitDepth: number;\n queuedHostCommitRerenders: Set<RootRuntime>;\n queuedEffectFlushRerenders: Set<RootRuntime>;\n}\n\nconst HOOK_RENDER_STATE_KEY = Symbol.for(\"modular.react.hook_render_state\");\nconst hookRenderState =\n ((globalThis as typeof globalThis & Record<symbol, HookRenderState | undefined>)[\n HOOK_RENDER_STATE_KEY\n ] ??= {\n currentRuntime: undefined,\n currentInstance: undefined,\n currentCacheScope: undefined,\n hostCommitDepth: 0,\n queuedHostCommitRerenders: new Set<RootRuntime>(),\n queuedEffectFlushRerenders: new Set<RootRuntime>(),\n });\nconst CACHE_SCOPE_SYMBOL = Symbol.for(\"modular.react.cache_scope\");\nconst emptyCacheOwnerStack: string[] = [];\nlet syncVersion = 0;\nlet transitionVersion = 0;\nlet transitionDepth = 0;\nlet currentTransitionContext: TransitionContext | undefined;\nlet transitionRerenderScheduled = false;\nlet eventBatchDepth = 0;\nlet currentEventPriority: EventPriority = \"default\";\nlet eventRerenderScheduled = false;\nlet automaticRerenderScheduled = false;\nlet effectFlushRerenderDepth = 0;\nlet strictMemoOwnerId = 0;\nconst strictMemoObjectOwnerIds = new WeakMap<object, number>();\nconst strictMemoPrimitiveOwnerIds = new Map<unknown, number>();\nconst queuedTransitionRerenders = new Map<RootRuntime, TransitionContext>();\nconst queuedEventRerenders = new Set<RootRuntime>();\nexport const version = \"19.2.6\";\n\nexport interface ReactiveTextBinding {\n value: unknown;\n subscribers: Set<Text>;\n}\n\nconst reactiveTextBindingsByNode = new WeakMap<Text, ReactiveTextBinding>();\nconst hydratedIdsByRuntime = new WeakMap<RootRuntime, Map<string, string>>();\n\nexport function act<T>(callback: () => T): T extends PromiseLike<unknown> ? Promise<void> : void {\n const previousPriority = currentEventPriority;\n currentEventPriority = \"discrete\";\n eventBatchDepth += 1;\n let result: T;\n\n try {\n result = callback();\n } catch (error) {\n eventBatchDepth -= 1;\n currentEventPriority = previousPriority;\n if (eventBatchDepth === 0) {\n flushEventRerendersForPriority(\"discrete\");\n }\n throw error;\n }\n\n const finishActScope = (): void => {\n eventBatchDepth -= 1;\n currentEventPriority = previousPriority;\n if (eventBatchDepth === 0) {\n flushEventRerendersForPriority(\"discrete\");\n }\n };\n\n if (isThenable(result)) {\n return Promise.resolve(result).then(\n async () => {\n finishActScope();\n await flushActWorkAsync();\n },\n (error: unknown) => {\n finishActScope();\n throw error;\n },\n ) as T extends PromiseLike<unknown> ? Promise<void> : void;\n }\n\n finishActScope();\n flushActWork();\n return undefined as T extends PromiseLike<unknown>\n ? Promise<void>\n : void;\n}\n\nasync function flushActWorkAsync(): Promise<void> {\n for (let attempt = 0; attempt < 10; attempt += 1) {\n await Promise.resolve();\n flushActWork();\n }\n for (let attempt = 0; attempt < 3; attempt += 1) {\n await new Promise((resolve) => setTimeout(resolve, 0));\n flushActWork();\n }\n}\n\nfunction flushActWork(): void {\n flushQueuedEventRerenders(\"sync\");\n flushQueuedTransitionRerenders();\n flushHostCommitRerenders();\n flushEffectFlushRerenders();\n}\n\nexport type EventPriority = \"discrete\" | \"continuous\" | \"default\";\nexport type RenderPriority = \"sync\" | \"transition\" | \"continuous\";\n\ninterface TransitionContext {\n syncVersion: number;\n transitionVersion: number;\n}\n\nexport interface RootRuntimeOptions {\n identifierPrefix?: string;\n idMode?: \"client\" | \"server\";\n}\n\nexport interface RuntimeSnapshot {\n instanceKeys: Set<string>;\n portalContainers: Set<Element>;\n portalNodes: Map<Element, Set<Node>>;\n pendingInsertionEffectsLength: number;\n pendingLayoutEffectsLength: number;\n pendingEffectsLength: number;\n pendingProfilerCommitsLength: number;\n profilerBaseDurations: Map<string, number>;\n idCounter: number;\n identifierPrefix: string;\n idMode: \"client\" | \"server\";\n strictModeDepth: number;\n strictReplayDepth: number;\n strictMemoCapture: unknown[] | undefined;\n strictMemoCaptureByHook: Map<string, unknown> | undefined;\n strictMemoReplay: { values: readonly unknown[]; index: number } | undefined;\n strictMemoReplayByHook: ReadonlyMap<string, unknown> | undefined;\n profilerFlushDepth: number;\n}\n\nexport function createRootRuntime(\n rerender: (priority?: RenderPriority) => void,\n options: RootRuntimeOptions = {},\n): RootRuntime {\n return {\n instances: new Map(),\n instanceKeysByPrefix: new Map(),\n activeInstanceKeys: undefined,\n activeProfilerPaths: undefined,\n mountedProfilerPaths: new Set(),\n profilerBaseDurations: new Map(),\n pendingProfilerCommits: [],\n pendingInsertionEffects: [],\n pendingLayoutEffects: [],\n pendingEffects: [],\n externalStoreChecks: [],\n portalContainers: new Set(),\n portalNodes: new Map(),\n idCounter: 0,\n identifierPrefix: options.identifierPrefix ?? \"\",\n idMode: options.idMode ?? \"client\",\n strictModeDepth: 0,\n strictReplayDepth: 0,\n strictMemoCapture: undefined,\n strictMemoCaptureByHook: undefined,\n strictMemoReplay: undefined,\n strictMemoReplayByHook: undefined,\n profilerFlushDepth: 0,\n effectFlushPhase: undefined,\n externalStoreUpdate: false,\n renderPhaseUpdate: false,\n rerender,\n beginRender() {\n this.activeInstanceKeys = new Set();\n this.activeProfilerPaths = new Set();\n this.pendingProfilerCommits = [];\n this.pendingInsertionEffects = [];\n this.pendingLayoutEffects = [];\n this.pendingEffects = [];\n this.externalStoreChecks = [];\n this.renderPhaseUpdate = false;\n },\n endRender(committed = true) {\n const profilerCommits = committed ? this.pendingProfilerCommits.splice(0) : [];\n const activeProfilerPaths = this.activeProfilerPaths;\n if (committed) {\n cleanupInactiveInstances(this);\n this.mountedProfilerPaths =\n activeProfilerPaths === undefined ? new Set() : new Set(activeProfilerPaths);\n } else {\n this.pendingProfilerCommits = [];\n }\n this.activeInstanceKeys = undefined;\n this.activeProfilerPaths = undefined;\n hookRenderState.currentRuntime = undefined;\n hookRenderState.currentInstance = undefined;\n if (committed) {\n flushProfilerCommits(this, profilerCommits);\n flushHostCommitRerenders();\n this.externalStoreUpdate = false;\n }\n },\n flushEffects() {\n this.profilerFlushDepth += 1;\n try {\n this.effectFlushPhase = \"insertion\";\n flushPendingEffects(this.pendingInsertionEffects);\n this.effectFlushPhase = \"layout\";\n const strictLayoutEffects = flushPendingEffects(this.pendingLayoutEffects);\n this.effectFlushPhase = \"normal\";\n const strictEffects = flushPendingEffects(this.pendingEffects);\n this.effectFlushPhase = undefined;\n const strictReplayEffects = [...strictLayoutEffects, ...strictEffects];\n cleanupStrictEffects(strictReplayEffects);\n replayStrictEffects(strictReplayEffects);\n } finally {\n this.effectFlushPhase = undefined;\n this.profilerFlushDepth -= 1;\n if (this.profilerFlushDepth === 0) {\n flushEffectFlushRerenders();\n }\n }\n },\n dispose() {\n for (const instance of this.instances.values()) {\n cleanupInstance(instance);\n }\n\n this.pendingLayoutEffects = [];\n this.pendingInsertionEffects = [];\n this.pendingEffects = [];\n this.pendingProfilerCommits = [];\n this.activeProfilerPaths = undefined;\n this.mountedProfilerPaths.clear();\n this.profilerBaseDurations.clear();\n clearRuntimePortalNodes(this);\n },\n };\n}\n\nexport function createCacheScope(): CacheScope {\n return {\n functionCaches: new WeakMap(),\n controller: new AbortController(),\n ownerStack: [],\n };\n}\n\nexport function refreshCacheScope(scope: CacheScope): void {\n scope.controller.abort();\n scope.functionCaches = new WeakMap();\n scope.controller = new AbortController();\n}\n\nexport function runWithCacheScope<T>(scope: CacheScope, callback: () => T): T {\n const previousScope = hookRenderState.currentCacheScope;\n const previousGlobalScope = getGlobalCacheScope();\n hookRenderState.currentCacheScope = scope;\n setGlobalCacheScope(scope);\n\n try {\n const result = callback();\n\n if (isThenable(result)) {\n return Promise.resolve(result).finally(() => {\n hookRenderState.currentCacheScope = previousScope;\n setGlobalCacheScope(previousGlobalScope);\n }) as T;\n }\n\n hookRenderState.currentCacheScope = previousScope;\n setGlobalCacheScope(previousGlobalScope);\n return result;\n } catch (error) {\n hookRenderState.currentCacheScope = previousScope;\n setGlobalCacheScope(previousGlobalScope);\n throw error;\n }\n}\n\nexport function renderWithProfiler<T>(\n runtime: RootRuntime,\n path: string,\n props: Record<string, unknown>,\n render: () => T,\n): T {\n const startTime = getCurrentTime();\n const phase: ProfilerPhase =\n runtime.profilerFlushDepth > 0 || effectFlushRerenderDepth > 0\n ? \"nested-update\"\n : runtime.mountedProfilerPaths.has(path)\n ? \"update\"\n : \"mount\";\n\n try {\n return render();\n } finally {\n runtime.activeProfilerPaths?.add(path);\n const onRender = props.onRender;\n const id = props.id;\n\n if (typeof onRender === \"function\" && typeof id === \"string\") {\n const actualDuration = Math.max(0, getCurrentTime() - startTime);\n const baseDuration = Math.max(\n runtime.profilerBaseDurations.get(path) ?? 0,\n actualDuration,\n );\n runtime.profilerBaseDurations.set(path, baseDuration);\n runtime.pendingProfilerCommits.push({\n id,\n phase,\n onRender: onRender as ProfilerOnRender,\n actualDuration,\n baseDuration,\n startTime,\n });\n }\n }\n}\n\nexport function renderWithRootRuntime<T>(\n runtime: RootRuntime,\n path: string,\n render: () => T,\n owner?: unknown,\n): T {\n const previousRuntime = hookRenderState.currentRuntime;\n const previousInstance = hookRenderState.currentInstance;\n let instance = runtime.instances.get(path);\n\n if (instance !== undefined && owner !== undefined && instance.owner !== owner) {\n cleanupInstance(instance);\n instance = undefined;\n }\n\n instance ??= {\n owner,\n path,\n hooks: [],\n hookIndex: 0,\n dirty: false,\n devToolsHookSuppressionDepth: 0,\n };\n instance.owner = owner;\n instance.path = path;\n runtime.instances.set(path, instance);\n indexInstanceKey(runtime, path);\n runtime.activeInstanceKeys?.add(path);\n instance.hookIndex = 0;\n instance.dirty = false;\n instance.disposed = false;\n delete instance.contextDependencies;\n if (hasInstalledDevToolsHook()) {\n instance.devToolsHooks = [];\n instance.devToolsHookTypes = [];\n } else {\n delete instance.devToolsHooks;\n delete instance.devToolsHookTypes;\n }\n instance.devToolsHookSuppressionDepth = 0;\n hookRenderState.currentRuntime = runtime;\n hookRenderState.currentInstance = instance;\n\n try {\n return withContextReadObserver((context, value) => {\n (instance.contextDependencies ??= new Map()).set(context, value);\n }, render);\n } finally {\n hookRenderState.currentRuntime = previousRuntime;\n hookRenderState.currentInstance = previousInstance;\n }\n}\n\nexport function hasChangedContextDependency(\n runtime: RootRuntime,\n keys: readonly string[],\n): boolean {\n for (const key of keys) {\n const dependencies = runtime.instances.get(key)?.contextDependencies;\n\n if (dependencies === undefined) {\n continue;\n }\n\n for (const [context, value] of dependencies) {\n if (!Object.is(readContextValue(context), value)) {\n return true;\n }\n }\n }\n\n return false;\n}\n\nexport function hasContextDependency(\n runtime: RootRuntime,\n keys: readonly string[],\n): boolean {\n return keys.some((key) => runtime.instances.get(key)?.contextDependencies !== undefined);\n}\n\nexport function collectRuntimeInstanceKeys(runtime: RootRuntime, prefix: string): string[] {\n const keys = runtime.instanceKeysByPrefix.get(prefix);\n\n if (keys === undefined) {\n return [];\n }\n\n const activeKeys: string[] = [];\n\n for (const key of keys) {\n if (runtime.instances.has(key)) {\n activeKeys.push(key);\n }\n }\n\n return activeKeys;\n}\n\nexport function getDevToolsHookState(\n runtime: RootRuntime,\n path: string,\n): DevToolsHookState | undefined {\n const instance = runtime.instances.get(path);\n\n if (\n instance === undefined ||\n instance.devToolsHooks === undefined ||\n instance.devToolsHookTypes === undefined\n ) {\n return undefined;\n }\n\n return {\n hooks: [...instance.devToolsHooks],\n hookTypes: [...instance.devToolsHookTypes],\n };\n}\n\nexport function renderWithStrictMode<T>(\n runtime: RootRuntime,\n render: () => T,\n): T {\n runtime.strictModeDepth += 1;\n\n try {\n return render();\n } finally {\n runtime.strictModeDepth -= 1;\n }\n}\n\nexport function renderWithStrictModeMemoCapture<T>(\n runtime: RootRuntime,\n render: () => T,\n): { result: T; memoValues: readonly unknown[]; memoValuesByHook: ReadonlyMap<string, unknown> } {\n const previousCapture = runtime.strictMemoCapture;\n const previousCaptureByHook = runtime.strictMemoCaptureByHook;\n runtime.strictMemoCapture = [];\n runtime.strictMemoCaptureByHook = new Map();\n\n try {\n const result = renderWithStrictMode(runtime, render);\n return {\n result,\n memoValues: runtime.strictMemoCapture,\n memoValuesByHook: runtime.strictMemoCaptureByHook,\n };\n } finally {\n runtime.strictMemoCapture = previousCapture;\n runtime.strictMemoCaptureByHook = previousCaptureByHook;\n }\n}\n\nexport function renderStrictModeReplay<T>(\n runtime: RootRuntime,\n memoValues: readonly unknown[],\n memoValuesByHook: ReadonlyMap<string, unknown>,\n render: () => T,\n): T {\n const previousReplay = runtime.strictMemoReplay;\n const previousReplayByHook = runtime.strictMemoReplayByHook;\n runtime.strictReplayDepth += 1;\n runtime.strictMemoReplay = { values: memoValues, index: 0 };\n runtime.strictMemoReplayByHook = memoValuesByHook;\n\n try {\n return render();\n } finally {\n runtime.strictMemoReplay = previousReplay;\n runtime.strictMemoReplayByHook = previousReplayByHook;\n runtime.strictReplayDepth -= 1;\n }\n}\n\nexport function takeRuntimeSnapshot(runtime: RootRuntime): RuntimeSnapshot {\n return {\n instanceKeys: new Set(runtime.instances.keys()),\n portalContainers: new Set(runtime.portalContainers),\n portalNodes: clonePortalNodes(runtime.portalNodes),\n pendingInsertionEffectsLength: runtime.pendingInsertionEffects.length,\n pendingLayoutEffectsLength: runtime.pendingLayoutEffects.length,\n pendingEffectsLength: runtime.pendingEffects.length,\n pendingProfilerCommitsLength: runtime.pendingProfilerCommits.length,\n profilerBaseDurations: new Map(runtime.profilerBaseDurations),\n idCounter: runtime.idCounter,\n identifierPrefix: runtime.identifierPrefix,\n idMode: runtime.idMode,\n strictModeDepth: runtime.strictModeDepth,\n strictReplayDepth: runtime.strictReplayDepth,\n strictMemoCapture: runtime.strictMemoCapture,\n strictMemoCaptureByHook: runtime.strictMemoCaptureByHook,\n strictMemoReplay: runtime.strictMemoReplay,\n strictMemoReplayByHook: runtime.strictMemoReplayByHook,\n profilerFlushDepth: runtime.profilerFlushDepth,\n };\n}\n\nexport function restoreRuntimeSnapshot(\n runtime: RootRuntime,\n snapshot: RuntimeSnapshot,\n): void {\n runtime.pendingInsertionEffects.length = snapshot.pendingInsertionEffectsLength;\n runtime.pendingLayoutEffects.length = snapshot.pendingLayoutEffectsLength;\n runtime.pendingEffects.length = snapshot.pendingEffectsLength;\n runtime.pendingProfilerCommits.length = snapshot.pendingProfilerCommitsLength;\n runtime.profilerBaseDurations = new Map(snapshot.profilerBaseDurations);\n runtime.idCounter = snapshot.idCounter;\n runtime.identifierPrefix = snapshot.identifierPrefix;\n runtime.idMode = snapshot.idMode;\n runtime.strictModeDepth = snapshot.strictModeDepth;\n runtime.strictReplayDepth = snapshot.strictReplayDepth;\n runtime.strictMemoCapture = snapshot.strictMemoCapture;\n runtime.strictMemoCaptureByHook = snapshot.strictMemoCaptureByHook;\n runtime.strictMemoReplay = snapshot.strictMemoReplay;\n runtime.strictMemoReplayByHook = snapshot.strictMemoReplayByHook;\n runtime.profilerFlushDepth = snapshot.profilerFlushDepth;\n\n for (const key of runtime.instances.keys()) {\n if (!snapshot.instanceKeys.has(key)) {\n runtime.instances.delete(key);\n }\n }\n\n clearRuntimePortalNodesExcept(runtime, snapshot.portalNodes);\n runtime.portalContainers.clear();\n for (const container of snapshot.portalContainers) {\n runtime.portalContainers.add(container);\n }\n runtime.portalNodes = clonePortalNodes(snapshot.portalNodes);\n}\n\nexport function clearRuntimePortalNodes(runtime: RootRuntime): void {\n for (const [container, nodes] of runtime.portalNodes) {\n for (const node of nodes) {\n removeChildIfPresent(container, node);\n }\n }\n\n runtime.portalNodes.clear();\n runtime.portalContainers.clear();\n}\n\nfunction clearRuntimePortalNodesExcept(\n runtime: RootRuntime,\n preserved: Map<Element, Set<Node>>,\n): void {\n for (const [container, nodes] of runtime.portalNodes) {\n const preservedNodes = preserved.get(container);\n\n for (const node of nodes) {\n if (preservedNodes?.has(node) !== true) {\n removeChildIfPresent(container, node);\n }\n }\n }\n}\n\nfunction clonePortalNodes(source: Map<Element, Set<Node>>): Map<Element, Set<Node>> {\n const clone = new Map<Element, Set<Node>>();\n\n for (const [container, nodes] of source) {\n clone.set(container, new Set(nodes));\n }\n\n return clone;\n}\n\nexport function useState<T>(\n initial: T | (() => T),\n): [T, (value: T | ((previous: T) => T)) => void] {\n const runtime = requireRuntime();\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n\n let slot = instance.hooks[index];\n\n if (slot === undefined) {\n slot = {\n kind: \"state\",\n value: typeof initial === \"function\" ? (initial as () => T)() : initial,\n };\n instance.hooks[index] = slot;\n }\n\n if (slot.kind !== \"state\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n const setState = (value: T | ((previous: T) => T)): void => {\n const previousValue = slot.value;\n const nextValue =\n typeof value === \"function\"\n ? (value as (previous: T) => T)(slot.value as T)\n : value;\n\n if (Object.is(slot.value, nextValue)) {\n return;\n }\n\n if (hookRenderState.hostCommitDepth > 0 && !Object.hasOwn(slot, \"hostCommitValue\")) {\n slot.hostCommitValue = previousValue;\n }\n\n slot.value = nextValue;\n const canUseDirectTextBinding =\n hookRenderState.hostCommitDepth === 0 &&\n hookRenderState.currentRuntime !== runtime &&\n hookRenderState.currentInstance !== instance &&\n runtime.effectFlushPhase === undefined &&\n eventBatchDepth === 0 &&\n transitionDepth === 0 &&\n optionsAllowDirectTextBinding(value) &&\n updateDirectTextBinding(slot.textBinding, nextValue);\n\n if (canUseDirectTextBinding) {\n return;\n }\n\n if (hookRenderState.hostCommitDepth > 0) {\n updateHostCommitDirtyState(instance);\n hookRenderState.queuedHostCommitRerenders.add(runtime);\n return;\n }\n\n scheduleInstanceUpdate(runtime, instance, { deferSync: typeof value === \"function\" });\n };\n\n recordDevToolsHook(\"useState\", {\n kind: \"state\",\n value: slot.value,\n });\n\n const result = [slot.value as T, setState] as [\n T,\n (value: T | ((previous: T) => T)) => void,\n ] & Record<PropertyKey, unknown>;\n result[REACTIVE_TEXT_BINDING_META] = getStateTextBinding(slot);\n return result;\n}\n\nexport function subscribeReactiveTextBinding(binding: unknown, node: Text): void {\n if (!isReactiveTextBinding(binding)) {\n clearReactiveTextBinding(node);\n return;\n }\n\n const previous = reactiveTextBindingsByNode.get(node);\n\n if (previous !== undefined && previous !== binding) {\n previous.subscribers.delete(node);\n }\n\n reactiveTextBindingsByNode.set(node, binding);\n binding.subscribers.add(node);\n}\n\nfunction clearReactiveTextBinding(node: Text): void {\n const previous = reactiveTextBindingsByNode.get(node);\n\n if (previous === undefined) {\n return;\n }\n\n previous.subscribers.delete(node);\n reactiveTextBindingsByNode.delete(node);\n}\n\nfunction getStateTextBinding(slot: Extract<HookSlot, { kind: \"state\" }>): ReactiveTextBinding {\n slot.textBinding ??= {\n value: slot.value,\n subscribers: new Set(),\n };\n slot.textBinding.value = slot.value;\n return slot.textBinding;\n}\n\nfunction optionsAllowDirectTextBinding(value: unknown): boolean {\n return typeof value !== \"function\";\n}\n\nfunction updateDirectTextBinding(binding: ReactiveTextBinding | undefined, value: unknown): boolean {\n if (binding === undefined || binding.subscribers.size === 0) {\n return false;\n }\n\n let updated = false;\n const nextText = String(value);\n\n for (const node of binding.subscribers) {\n if (node.parentNode === null) {\n binding.subscribers.delete(node);\n reactiveTextBindingsByNode.delete(node);\n continue;\n }\n\n if (node.data !== nextText) {\n node.data = nextText;\n }\n updated = true;\n }\n\n binding.value = value;\n return updated;\n}\n\nfunction isReactiveTextBinding(value: unknown): value is ReactiveTextBinding {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"subscribers\" in value &&\n (value as { subscribers?: unknown }).subscribers instanceof Set\n );\n}\n\nexport function useReducer<TState, TAction, TInitial = TState>(\n reducer: (state: TState, action: TAction) => TState,\n initialArg: TInitial,\n init?: (initialArg: TInitial) => TState,\n): [TState, (action: TAction) => void] {\n const [state, setState] = runWithoutDevToolsHookTracking(() =>\n useState<TState>(() =>\n init === undefined ? (initialArg as unknown as TState) : init(initialArg),\n ),\n );\n const reducerRef = runWithoutDevToolsHookTracking(() => useRef(reducer));\n const dispatchRef = runWithoutDevToolsHookTracking(() =>\n useRef<((action: TAction) => void) | undefined>(\n undefined,\n )\n );\n reducerRef.current = reducer;\n\n if (dispatchRef.current === undefined) {\n dispatchRef.current = (action: TAction): void => {\n setState((previousState) => reducerRef.current(previousState, action));\n };\n }\n\n recordDevToolsHook(\"useReducer\", {\n kind: \"reducer\",\n value: state,\n });\n\n return [state, dispatchRef.current];\n}\n\nexport function useRef<T>(initial: T): { current: T } {\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n\n let slot = instance.hooks[index];\n\n if (slot === undefined) {\n slot = { kind: \"ref\", value: { current: initial } };\n instance.hooks[index] = slot;\n }\n\n if (slot.kind !== \"ref\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n recordDevToolsHook(\"useRef\", {\n kind: \"ref\",\n value: slot.value,\n });\n\n return slot.value as { current: T };\n}\n\nexport function useId(): string {\n const runtime = requireRuntime();\n const instance = requireInstance();\n const idSlotKey = `${instance.path}:${instance.hookIndex}`;\n const idRef = runWithoutDevToolsHookTracking(() =>\n useRef<string | undefined>(undefined)\n );\n\n if (idRef.current === undefined) {\n const hydratedId = runtime.idMode === \"client\"\n ? hydratedIdsByRuntime.get(runtime)?.get(idSlotKey)\n : undefined;\n\n if (hydratedId !== undefined) {\n idRef.current = hydratedId;\n } else {\n const mode = runtime.idMode === \"server\" ? \"R\" : \"r\";\n idRef.current = `_${runtime.identifierPrefix}${mode}_${runtime.idCounter}_`;\n runtime.idCounter += 1;\n\n if (runtime.idMode === \"server\") {\n const hydratedIds = hydratedIdsByRuntime.get(runtime) ?? new Map<string, string>();\n hydratedIds.set(idSlotKey, idRef.current);\n hydratedIdsByRuntime.set(runtime, hydratedIds);\n }\n }\n }\n\n recordDevToolsHook(\"useId\", {\n kind: \"id\",\n value: idRef.current,\n });\n\n return idRef.current;\n}\n\nexport function useImperativeHandle<T>(\n ref: unknown,\n create: () => T,\n deps?: readonly unknown[],\n): void {\n runWithoutDevToolsHookTracking(() =>\n useInsertionEffect(() => {\n const handle = create();\n assignRef(ref, handle);\n return () => {\n assignRef(ref, null);\n };\n }, deps === undefined ? undefined : [ref, ...deps])\n );\n recordDevToolsHook(\"useImperativeHandle\", deps === undefined\n ? { kind: \"imperative-handle\" }\n : { kind: \"imperative-handle\", deps });\n}\n\nexport function useMemo<T>(factory: () => T, deps?: readonly unknown[]): T {\n const runtime = requireRuntime();\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n\n let slot = instance.hooks[index];\n\n if (slot !== undefined && slot.kind !== \"memo\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n let value: unknown;\n const shouldRecompute =\n slot === undefined ||\n deps === undefined ||\n slot.deps === undefined ||\n !areHookInputsEqual(deps, slot.deps);\n\n if (runtime.strictReplayDepth > 0) {\n const replayValue = factory();\n if (slot === undefined) {\n slot =\n deps === undefined\n ? { kind: \"memo\", value: replayValue }\n : { kind: \"memo\", value: replayValue, deps };\n instance.hooks[index] = slot;\n }\n const hookKey = getStrictMemoHookKey(instance, index);\n const replayByHook = runtime.strictMemoReplayByHook;\n const replay = runtime.strictMemoReplay;\n value = replayByHook?.has(hookKey) === true\n ? replayByHook.get(hookKey)\n : replay === undefined || replay.index >= replay.values.length\n ? slot.value\n : replay.values[replay.index++];\n } else if (shouldRecompute) {\n value = factory();\n slot =\n deps === undefined\n ? { kind: \"memo\", value }\n : { kind: \"memo\", value, deps };\n instance.hooks[index] = slot;\n } else {\n value = slot!.value;\n }\n\n if (runtime.strictModeDepth > 0 && runtime.strictReplayDepth === 0) {\n runtime.strictMemoCapture?.push(value);\n runtime.strictMemoCaptureByHook?.set(getStrictMemoHookKey(instance, index), value);\n }\n\n const memoSlot = slot;\n if (memoSlot === undefined) {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n recordDevToolsHook(\"useMemo\", memoSlot.deps === undefined\n ? { kind: \"memo\", value }\n : { kind: \"memo\", value, deps: memoSlot.deps });\n\n return value as T;\n}\n\nfunction getStrictMemoHookKey(\n instance: ComponentInstance,\n index: number,\n): string {\n return `${instance.path}:${getStrictMemoOwnerId(instance.owner)}:${index}`;\n}\n\nfunction getStrictMemoOwnerId(owner: unknown): number {\n if ((typeof owner === \"object\" && owner !== null) || typeof owner === \"function\") {\n const objectOwner = owner as object;\n let ownerId = strictMemoObjectOwnerIds.get(objectOwner);\n if (ownerId === undefined) {\n ownerId = strictMemoOwnerId++;\n strictMemoObjectOwnerIds.set(objectOwner, ownerId);\n }\n return ownerId;\n }\n\n let ownerId = strictMemoPrimitiveOwnerIds.get(owner);\n if (ownerId === undefined) {\n ownerId = strictMemoOwnerId++;\n strictMemoPrimitiveOwnerIds.set(owner, ownerId);\n }\n return ownerId;\n}\n\nfunction assignRef<T>(ref: unknown, value: T | null): void {\n if (typeof ref === \"function\") {\n ref(value);\n return;\n }\n\n if (typeof ref === \"object\" && ref !== null && \"current\" in ref) {\n (ref as { current: T | null }).current = value;\n }\n}\n\nfunction recordDevToolsHook(type: string, value: DevToolsHookValue): void {\n const instance = hookRenderState.currentInstance;\n\n if (\n instance === undefined ||\n instance.devToolsHookSuppressionDepth > 0 ||\n instance.devToolsHooks === undefined ||\n instance.devToolsHookTypes === undefined\n ) {\n return;\n }\n\n instance.devToolsHookTypes.push(type);\n instance.devToolsHooks.push(value);\n}\n\nfunction hasInstalledDevToolsHook(): boolean {\n return typeof (globalThis as {\n __REACT_DEVTOOLS_GLOBAL_HOOK__?: { inject?: unknown } | undefined;\n }).__REACT_DEVTOOLS_GLOBAL_HOOK__?.inject === \"function\";\n}\n\nfunction runWithoutDevToolsHookTracking<T>(callback: () => T): T {\n const instance = requireInstance();\n instance.devToolsHookSuppressionDepth += 1;\n\n try {\n return callback();\n } finally {\n instance.devToolsHookSuppressionDepth -= 1;\n }\n}\n\nexport function useCallback<T extends (...args: never[]) => unknown>(\n callback: T,\n deps?: readonly unknown[],\n): T {\n const value = runWithoutDevToolsHookTracking(() => useMemo(() => callback, deps));\n recordDevToolsHook(\"useCallback\", deps === undefined\n ? { kind: \"callback\", value }\n : { kind: \"callback\", value, deps });\n return value;\n}\n\nexport function useDebugValue(_value: unknown, _format?: (value: unknown) => unknown): void {\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n\n const value = _format === undefined ? _value : _format(_value);\n let slot = instance.hooks[index];\n\n if (slot !== undefined && slot.kind !== \"debug\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n if (slot === undefined) {\n slot = { kind: \"debug\", value };\n instance.hooks[index] = slot;\n recordDevToolsHook(\"useDebugValue\", {\n kind: \"debug\",\n value,\n });\n return;\n }\n\n slot.value = value;\n recordDevToolsHook(\"useDebugValue\", {\n kind: \"debug\",\n value,\n });\n}\n\nexport function useEffectEvent<TArgs extends unknown[], TResult>(\n callback: (...args: TArgs) => TResult,\n): (...args: TArgs) => TResult {\n const ref = runWithoutDevToolsHookTracking(() => useRef(callback));\n ref.current = callback;\n\n const event = runWithoutDevToolsHookTracking(() =>\n useCallback((...args: TArgs) => ref.current(...args), [])\n );\n recordDevToolsHook(\"useEffectEvent\", {\n kind: \"callback\",\n value: event,\n deps: [],\n });\n return event;\n}\n\nexport function useEffect(\n callback: EffectCallback,\n deps?: readonly unknown[],\n): void {\n useEffectImpl(\"normal\", callback, deps);\n recordDevToolsHook(\"useEffect\", deps === undefined\n ? { kind: \"effect\", effectKind: \"normal\" }\n : { kind: \"effect\", effectKind: \"normal\", deps });\n}\n\nexport function useInsertionEffect(\n callback: EffectCallback,\n deps?: readonly unknown[],\n): void {\n useEffectImpl(\"insertion\", callback, deps);\n recordDevToolsHook(\"useInsertionEffect\", deps === undefined\n ? { kind: \"effect\", effectKind: \"insertion\" }\n : { kind: \"effect\", effectKind: \"insertion\", deps });\n}\n\nexport function useLayoutEffect(\n callback: EffectCallback,\n deps?: readonly unknown[],\n): void {\n useEffectImpl(\"layout\", callback, deps);\n recordDevToolsHook(\"useLayoutEffect\", deps === undefined\n ? { kind: \"effect\", effectKind: \"layout\" }\n : { kind: \"effect\", effectKind: \"layout\", deps });\n}\n\nexport function useSyncExternalStore<T>(\n subscribe: (listener: () => void) => () => void,\n getSnapshot: () => T,\n getServerSnapshot?: () => T,\n): T {\n const runtime = requireRuntime();\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n let slot = instance.hooks[index];\n\n if (slot === undefined) {\n slot = {\n kind: \"store\",\n value: runtime.idMode === \"server\" && getServerSnapshot !== undefined\n ? getServerSnapshot()\n : getSnapshot(),\n };\n instance.hooks[index] = slot;\n }\n\n if (slot.kind !== \"store\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n const isHydrationMount =\n runtime.idMode === \"server\" && slot.hasMounted !== true && getServerSnapshot !== undefined;\n const currentSnapshot = isHydrationMount ? slot.value as T : getSnapshot();\n\n if (!Object.is(slot.value, currentSnapshot)) {\n slot.value = currentSnapshot;\n }\n\n if (!isHydrationMount) {\n recordExternalStoreCheck(getSnapshot, currentSnapshot);\n }\n\n runWithoutDevToolsHookTracking(() => useEffect(() => {\n const checkForUpdates = (): void => {\n if (instance.disposed === true) {\n return;\n }\n\n const nextSnapshot = getSnapshot();\n\n if (!Object.is(slot.value, nextSnapshot)) {\n slot.value = nextSnapshot;\n instance.dirty = true;\n runtime.externalStoreUpdate = true;\n if (runtime.profilerFlushDepth > 0) {\n hookRenderState.queuedEffectFlushRerenders.add(runtime);\n return;\n }\n runtime.rerender(\"sync\");\n }\n };\n\n if (slot.hasMounted !== true) {\n checkForUpdates();\n }\n const unsubscribe = subscribe(checkForUpdates);\n slot.hasMounted = true;\n return () => {\n unsubscribe();\n };\n }, [subscribe, getSnapshot]));\n\n recordDevToolsHook(\"useSyncExternalStore\", {\n kind: \"store\",\n value: slot.value,\n });\n\n return slot.value as T;\n}\n\nexport function useActionState<TState, TPayload>(\n action: (previousState: TState, payload: TPayload) => TState | Promise<TState>,\n initialState: TState,\n): [TState, (payload: TPayload) => void, boolean] {\n const runtime = requireRuntime();\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n let slot = instance.hooks[index];\n\n if (slot !== undefined && slot.kind !== \"action-state\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n if (slot === undefined) {\n slot = {\n kind: \"action-state\",\n state: initialState,\n pendingCount: 0,\n action: action as (previousState: unknown, payload: unknown) => unknown,\n };\n instance.hooks[index] = slot;\n }\n\n if (\"error\" in slot) {\n throw slot.error;\n }\n\n slot.action = action as (previousState: unknown, payload: unknown) => unknown;\n\n if (slot.dispatch === undefined) {\n slot.dispatch = (payload: unknown): void => {\n runActionStateDispatch(slot, runtime, instance, payload);\n };\n }\n\n recordDevToolsHook(\"useActionState\", {\n kind: \"state\",\n value: slot.state,\n });\n\n return [\n slot.state as TState,\n slot.dispatch as (payload: TPayload) => void,\n slot.pendingCount > 0,\n ];\n}\n\nexport function useOptimistic<TState, TPayload>(\n state: TState,\n update?: (state: TState, payload: TPayload) => TState,\n): [TState, (payload: TPayload) => void] {\n const runtime = requireRuntime();\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n let slot = instance.hooks[index];\n const updateFn =\n update === undefined\n ? (_current: unknown, payload: unknown) => payload\n : update as (state: unknown, payload: unknown) => unknown;\n\n if (slot !== undefined && slot.kind !== \"optimistic\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n if (slot === undefined) {\n slot = {\n kind: \"optimistic\",\n baseState: state,\n optimisticState: state,\n update: updateFn,\n };\n instance.hooks[index] = slot;\n }\n\n slot.update = updateFn;\n\n if (!Object.is(slot.baseState, state)) {\n slot.baseState = state;\n slot.optimisticState = state;\n }\n\n if (slot.dispatch === undefined) {\n slot.dispatch = (payload: unknown): void => {\n slot.optimisticState = slot.update(slot.optimisticState, payload);\n scheduleInstanceUpdate(runtime, instance);\n };\n }\n\n recordDevToolsHook(\"useOptimistic\", {\n kind: \"state\",\n value: slot.optimisticState,\n });\n\n return [slot.optimisticState as TState, slot.dispatch as (payload: TPayload) => void];\n}\n\nexport function use<T>(usable: PromiseLike<T> | unknown): T {\n if (isReactCompatContext(usable)) {\n return useContext(usable) as T;\n }\n\n if (isThenable(usable)) {\n return readThenable(usable as PromiseLike<T>);\n }\n\n return usable as T;\n}\n\nexport function cache<TArgs extends unknown[], TResult>(\n callback: (...args: TArgs) => TResult,\n): (...args: TArgs) => TResult {\n return (...args) => {\n const scope = getCurrentCacheScope();\n\n if (scope === undefined) {\n return callback(...args);\n }\n\n const leaf = getCacheLeaf(scope, callback, args);\n\n if (leaf.status === \"fulfilled\") {\n return leaf.value as TResult;\n }\n\n if (leaf.status === \"rejected\") {\n throw leaf.reason;\n }\n\n try {\n const value = callback(...args);\n leaf.status = \"fulfilled\";\n leaf.value = value;\n return value;\n } catch (error) {\n leaf.status = \"rejected\";\n leaf.reason = error;\n throw error;\n }\n };\n}\n\nexport function cacheSignal(): AbortSignal | null {\n return getCurrentCacheScope()?.controller.signal ?? null;\n}\n\nexport function captureOwnerStack(): string | null {\n const stack = getCurrentCacheScope()?.ownerStack ?? emptyCacheOwnerStack;\n return stack.length === 0 ? null : stack.join(\"\\n\");\n}\n\nexport function unstable_useCacheRefresh(): () => void {\n return useCallback(() => undefined, []);\n}\n\nexport function hasStableExternalStores(\n runtime: RootRuntime,\n): boolean {\n return runtime.externalStoreChecks.every((check) =>\n Object.is(check.getSnapshot(), check.value),\n );\n}\n\nfunction readThenable<T>(thenable: PromiseLike<T>): T {\n const record = thenable as PromiseLike<T> & {\n status?: \"pending\" | \"fulfilled\" | \"rejected\";\n value?: T;\n reason?: unknown;\n };\n\n if (record.status === \"fulfilled\") {\n return record.value as T;\n }\n\n if (record.status === \"rejected\") {\n throw record.reason;\n }\n\n if (record.status === undefined) {\n record.status = \"pending\";\n thenable.then(\n (value) => {\n if (record.status === \"pending\") {\n record.status = \"fulfilled\";\n record.value = value;\n }\n },\n (reason) => {\n if (record.status === \"pending\") {\n record.status = \"rejected\";\n record.reason = reason;\n }\n },\n );\n }\n\n throw thenable;\n}\n\nexport type TransitionScope = () => void;\nexport type StartTransition = (scope: TransitionScope) => void;\n\nexport function startTransition(scope: TransitionScope): void {\n const context = {\n syncVersion,\n transitionVersion: ++transitionVersion,\n };\n\n runTransitionScope(scope, context);\n}\n\nexport function runWithEventPriority<T>(\n priority: EventPriority,\n callback: () => T,\n): T {\n const previousPriority = currentEventPriority;\n currentEventPriority = priority;\n eventBatchDepth += 1;\n\n try {\n return callback();\n } finally {\n eventBatchDepth -= 1;\n currentEventPriority = previousPriority;\n\n if (eventBatchDepth === 0) {\n flushEventRerendersForPriority(priority);\n }\n }\n}\n\nexport function flushSyncUpdates<T>(callback: () => T): T {\n const previousEventBatchDepth = eventBatchDepth;\n const previousEventPriority = currentEventPriority;\n eventBatchDepth = 0;\n currentEventPriority = \"discrete\";\n\n try {\n const value = callback();\n // Reactive-core cell/computed updates flush in a scheduled microtask by\n // default; drain them here so flushSync guarantees committed DOM on return\n // for compiled (cell-driven) components as well as compat hook state.\n flushPendingComputed();\n flushQueuedComputations();\n flushQueuedEventRerenders();\n return value;\n } finally {\n eventBatchDepth = previousEventBatchDepth;\n currentEventPriority = previousEventPriority;\n }\n}\n\nexport function runWithHostCommit<T>(callback: () => T): T {\n hookRenderState.hostCommitDepth += 1;\n try {\n return callback();\n } finally {\n hookRenderState.hostCommitDepth -= 1;\n }\n}\n\nexport function useTransition(): [boolean, StartTransition] {\n const [pending, setPending] = runWithoutDevToolsHookTracking(() => useState(false));\n const startTransitionWithPending: StartTransition = (scope) => {\n setPending(true);\n const context = {\n syncVersion,\n transitionVersion: ++transitionVersion,\n };\n scheduleCallback(\"low\", () => {\n if (!isTransitionContextCurrent(context)) {\n setPending(false);\n return;\n }\n\n runTransitionScope(() => {\n scope();\n setPending(false);\n }, context);\n });\n };\n\n recordDevToolsHook(\"useTransition\", {\n kind: \"transition\",\n value: pending,\n });\n\n return [\n pending,\n startTransitionWithPending,\n ];\n}\n\nexport function useDeferredValue<T>(value: T, initialValue?: T): T {\n const [deferredValue, setDeferredValue] = runWithoutDevToolsHookTracking(() =>\n useState(arguments.length > 1 ? (initialValue as T) : value)\n );\n\n runWithoutDevToolsHookTracking(() =>\n useEffect(() => {\n if (Object.is(deferredValue, value)) {\n return;\n }\n\n startTransition(() => {\n setDeferredValue(value);\n });\n }, [value, deferredValue])\n );\n\n const currentValue = Object.is(deferredValue, value) ? value : deferredValue;\n\n recordDevToolsHook(\"useDeferredValue\", {\n kind: \"deferred\",\n value: currentValue,\n });\n\n return currentValue;\n}\n\nfunction runTransitionScope(\n scope: TransitionScope,\n context: TransitionContext,\n): void {\n transitionDepth += 1;\n const previousContext = currentTransitionContext;\n currentTransitionContext = context;\n\n try {\n scope();\n } finally {\n currentTransitionContext = previousContext;\n transitionDepth -= 1;\n }\n}\n\nfunction queueTransitionRerender(\n runtime: RootRuntime,\n context: TransitionContext,\n): void {\n queuedTransitionRerenders.set(runtime, context);\n\n if (transitionRerenderScheduled) {\n return;\n }\n\n transitionRerenderScheduled = true;\n scheduleCallback(\"low\", flushQueuedTransitionRerenders);\n}\n\nfunction queueEventRerender(runtime: RootRuntime): void {\n queuedEventRerenders.add(runtime);\n}\n\nfunction queueAutomaticRerender(runtime: RootRuntime): void {\n queueEventRerender(runtime);\n\n if (automaticRerenderScheduled) {\n return;\n }\n\n automaticRerenderScheduled = true;\n queueMicrotask(() => {\n automaticRerenderScheduled = false;\n flushQueuedEventRerenders(\"sync\");\n });\n}\n\nfunction flushEventRerendersForPriority(priority: EventPriority): void {\n if (priority === \"discrete\") {\n flushQueuedEventRerenders(\"sync\");\n return;\n }\n\n if (eventRerenderScheduled || queuedEventRerenders.size === 0) {\n return;\n }\n\n eventRerenderScheduled = true;\n scheduleCallback(priority === \"continuous\" ? \"normal\" : \"low\", () => {\n eventRerenderScheduled = false;\n flushQueuedEventRerenders(\n priority === \"continuous\" ? \"continuous\" : \"sync\",\n );\n });\n}\n\nfunction flushQueuedEventRerenders(priority: RenderPriority = \"sync\"): void {\n const runtimes = Array.from(queuedEventRerenders);\n queuedEventRerenders.clear();\n\n for (const runtime of runtimes) {\n runtime.rerender(priority);\n }\n}\n\nfunction flushQueuedTransitionRerenders(): void {\n transitionRerenderScheduled = false;\n const entries = Array.from(queuedTransitionRerenders.entries());\n queuedTransitionRerenders.clear();\n\n for (const [runtime, context] of entries) {\n if (isTransitionContextCurrent(context)) {\n runtime.rerender(\"transition\");\n }\n }\n}\n\nfunction isTransitionContextCurrent(context: TransitionContext): boolean {\n return (\n context.syncVersion === syncVersion &&\n context.transitionVersion === transitionVersion\n );\n}\n\nfunction useEffectImpl(\n effectKind: \"insertion\" | \"layout\" | \"normal\",\n callback: EffectCallback,\n deps?: readonly unknown[],\n): void {\n const runtime = requireRuntime();\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n\n let slot = instance.hooks[index];\n\n if (slot !== undefined && slot.kind !== \"effect\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n const shouldRun =\n slot === undefined ||\n slot.mounted !== true ||\n deps === undefined ||\n slot.deps === undefined ||\n !areHookInputsEqual(deps, slot.deps);\n\n if (slot === undefined) {\n slot =\n deps === undefined\n ? { kind: \"effect\", effectKind, callback }\n : { kind: \"effect\", effectKind, callback, deps };\n instance.hooks[index] = slot;\n } else {\n slot.effectKind = effectKind;\n slot.callback = callback;\n slot.disposed = false;\n\n if (deps === undefined) {\n delete slot.deps;\n } else {\n slot.deps = deps;\n }\n }\n\n slot.strictReplay =\n (runtime.strictModeDepth > 0 || runtime.strictReplayDepth > 0) &&\n effectKind !== \"insertion\";\n\n if (shouldRun) {\n const queue =\n effectKind === \"insertion\"\n ? runtime.pendingInsertionEffects\n : effectKind === \"layout\"\n ? runtime.pendingLayoutEffects\n : runtime.pendingEffects;\n queue.push({ slot });\n }\n}\n\nfunction recordExternalStoreCheck<T>(\n getSnapshot: () => T,\n value: T,\n): void {\n hookRenderState.currentRuntime?.externalStoreChecks.push({ getSnapshot, value });\n}\n\nfunction flushPendingEffects(queue: PendingEffect[]): PendingEffect[] {\n const pending = queue.splice(0);\n const strictReplay: PendingEffect[] = [];\n const runnable: { slot: Extract<HookSlot, { kind: \"effect\" }>; shouldReplay: boolean }[] = [];\n\n for (const { slot } of pending) {\n if (slot.disposed === true) {\n continue;\n }\n\n const shouldReplay = slot.strictReplay === true && slot.cleanup === undefined;\n slot.cleanup?.();\n runnable.push({ slot, shouldReplay });\n }\n\n for (const { slot, shouldReplay } of runnable) {\n if (slot.disposed === true) {\n continue;\n }\n\n const cleanup = slot.callback();\n\n if (typeof cleanup === \"function\") {\n slot.cleanup = cleanup;\n } else {\n delete slot.cleanup;\n }\n slot.mounted = true;\n\n if (shouldReplay) {\n strictReplay.push({ slot });\n }\n }\n\n return strictReplay;\n}\n\nfunction replayStrictEffects(effects: PendingEffect[]): void {\n for (const { slot } of effects) {\n if (slot.disposed === true) {\n continue;\n }\n\n const cleanup = slot.callback();\n\n if (typeof cleanup === \"function\") {\n slot.cleanup = cleanup;\n } else {\n delete slot.cleanup;\n }\n }\n}\n\nfunction flushProfilerCommits(\n runtime: RootRuntime,\n commits: PendingProfilerCommit[],\n): void {\n if (commits.length === 0) {\n return;\n }\n\n const commitTime = getCurrentTime();\n runtime.profilerFlushDepth += 1;\n\n try {\n for (const commit of commits) {\n commit.onRender(\n commit.id,\n commit.phase,\n commit.actualDuration,\n commit.baseDuration,\n commit.startTime,\n commitTime,\n );\n }\n } finally {\n runtime.profilerFlushDepth -= 1;\n }\n}\n\nfunction runActionStateDispatch(\n slot: Extract<HookSlot, { kind: \"action-state\" }>,\n runtime: RootRuntime,\n instance: ComponentInstance,\n payload: unknown,\n): void {\n let result: unknown;\n\n try {\n result = slot.action(slot.state, payload);\n } catch (error) {\n slot.error = error;\n scheduleInstanceUpdate(runtime, instance);\n return;\n }\n\n if (!isThenable(result)) {\n slot.state = result;\n scheduleInstanceUpdate(runtime, instance);\n return;\n }\n\n slot.pendingCount += 1;\n scheduleInstanceUpdate(runtime, instance);\n result.then(\n (nextState) => {\n slot.state = nextState;\n slot.pendingCount = Math.max(0, slot.pendingCount - 1);\n scheduleInstanceUpdate(runtime, instance);\n },\n (error) => {\n slot.error = error;\n slot.pendingCount = Math.max(0, slot.pendingCount - 1);\n scheduleInstanceUpdate(runtime, instance);\n },\n );\n}\n\nfunction scheduleInstanceUpdate(\n runtime: RootRuntime,\n instance: ComponentInstance,\n options: { deferSync?: boolean } = {},\n): void {\n if (instance.disposed === true) {\n return;\n }\n\n instance.dirty = true;\n if (\n hookRenderState.currentRuntime === runtime &&\n hookRenderState.currentInstance === instance\n ) {\n runtime.renderPhaseUpdate = true;\n return;\n }\n\n if (transitionDepth === 0) {\n syncVersion += 1;\n if (hookRenderState.hostCommitDepth > 0) {\n hookRenderState.queuedHostCommitRerenders.add(runtime);\n return;\n }\n if (runtime.effectFlushPhase !== undefined) {\n hookRenderState.queuedEffectFlushRerenders.add(runtime);\n return;\n }\n if (eventBatchDepth > 0) {\n queueEventRerender(runtime);\n return;\n }\n if (options.deferSync === true) {\n queueAutomaticRerender(runtime);\n return;\n }\n runtime.rerender(\"sync\");\n return;\n }\n\n if (currentTransitionContext !== undefined) {\n queueTransitionRerender(runtime, currentTransitionContext);\n }\n}\n\nfunction flushHostCommitRerenders(): void {\n if (\n hookRenderState.hostCommitDepth > 0 ||\n hookRenderState.queuedHostCommitRerenders.size === 0\n ) {\n return;\n }\n\n const runtimes = [...hookRenderState.queuedHostCommitRerenders];\n hookRenderState.queuedHostCommitRerenders.clear();\n for (const runtime of runtimes) {\n const hasDirtyInstance = Array.from(runtime.instances.values()).some(\n (instance) => instance.dirty,\n );\n clearHostCommitStateBaselines(runtime);\n\n if (hasDirtyInstance) {\n runtime.rerender(\"sync\");\n }\n }\n}\n\nfunction flushEffectFlushRerenders(): void {\n if (\n effectFlushRerenderDepth > 0 ||\n hookRenderState.queuedEffectFlushRerenders.size === 0\n ) {\n return;\n }\n\n effectFlushRerenderDepth += 1;\n try {\n for (\n let attempt = 0;\n attempt < 3 && hookRenderState.queuedEffectFlushRerenders.size > 0;\n attempt += 1\n ) {\n const runtimes = [...hookRenderState.queuedEffectFlushRerenders];\n hookRenderState.queuedEffectFlushRerenders.clear();\n for (const runtime of runtimes) {\n const hasDirtyInstance = Array.from(runtime.instances.values()).some(\n (instance) => instance.dirty,\n );\n\n if (hasDirtyInstance) {\n runtime.rerender(\"sync\");\n }\n }\n }\n hookRenderState.queuedEffectFlushRerenders.clear();\n } finally {\n effectFlushRerenderDepth -= 1;\n }\n}\n\nfunction updateHostCommitDirtyState(\n instance: ComponentInstance,\n): void {\n instance.dirty = instance.hooks.some(\n (slot) =>\n slot.kind === \"state\" &&\n Object.hasOwn(slot, \"hostCommitValue\") &&\n !Object.is(slot.hostCommitValue, slot.value),\n );\n}\n\nfunction clearHostCommitStateBaselines(runtime: RootRuntime): void {\n for (const instance of runtime.instances.values()) {\n for (const slot of instance.hooks) {\n if (slot.kind === \"state\") {\n delete slot.hostCommitValue;\n }\n }\n }\n}\n\nfunction getCacheLeaf(\n scope: CacheScope,\n callback: (...args: never[]) => unknown,\n args: readonly unknown[],\n): CacheTrieNode {\n let node = scope.functionCaches.get(callback);\n\n if (node === undefined) {\n node = createCacheTrieNode();\n scope.functionCaches.set(callback, node);\n }\n\n for (const arg of args) {\n node = getCacheChild(node, arg);\n }\n\n return node;\n}\n\nfunction getCacheChild(node: CacheTrieNode, key: unknown): CacheTrieNode {\n if ((typeof key === \"object\" && key !== null) || typeof key === \"function\") {\n const objectKey = key as object;\n let child = node.objectChildren.get(objectKey);\n\n if (child === undefined) {\n child = createCacheTrieNode();\n node.objectChildren.set(objectKey, child);\n }\n\n return child;\n }\n\n let child = node.primitiveChildren.get(key);\n\n if (child === undefined) {\n child = createCacheTrieNode();\n node.primitiveChildren.set(key, child);\n }\n\n return child;\n}\n\nfunction createCacheTrieNode(): CacheTrieNode {\n return {\n primitiveChildren: new Map(),\n objectChildren: new WeakMap(),\n };\n}\n\nfunction getCurrentCacheScope(): CacheScope | undefined {\n return hookRenderState.currentCacheScope ?? getGlobalCacheScope();\n}\n\nfunction getGlobalCacheScope(): CacheScope | undefined {\n return (globalThis as { [CACHE_SCOPE_SYMBOL]?: CacheScope })[CACHE_SCOPE_SYMBOL];\n}\n\nfunction setGlobalCacheScope(scope: CacheScope | undefined): void {\n if (scope === undefined) {\n delete (globalThis as { [CACHE_SCOPE_SYMBOL]?: CacheScope })[CACHE_SCOPE_SYMBOL];\n return;\n }\n\n (globalThis as { [CACHE_SCOPE_SYMBOL]?: CacheScope })[CACHE_SCOPE_SYMBOL] = scope;\n}\n\nfunction cleanupStrictEffects(effects: PendingEffect[]): void {\n for (const { slot } of effects) {\n if (slot.disposed !== true) {\n slot.cleanup?.();\n }\n }\n}\n\nfunction cleanupInactiveInstances(runtime: RootRuntime): void {\n const activeInstanceKeys = runtime.activeInstanceKeys;\n\n if (activeInstanceKeys === undefined) {\n return;\n }\n\n for (const [key, instance] of runtime.instances) {\n if (!activeInstanceKeys.has(key)) {\n cleanupInstance(instance);\n runtime.instances.delete(key);\n removeInstanceKeyFromIndex(runtime, key);\n }\n }\n}\n\nfunction indexInstanceKey(runtime: RootRuntime, key: string): void {\n for (const prefix of instanceKeyPrefixes(key)) {\n let keys = runtime.instanceKeysByPrefix.get(prefix);\n\n if (keys === undefined) {\n keys = new Set();\n runtime.instanceKeysByPrefix.set(prefix, keys);\n }\n\n keys.add(key);\n }\n}\n\nfunction removeInstanceKeyFromIndex(runtime: RootRuntime, key: string): void {\n for (const prefix of instanceKeyPrefixes(key)) {\n const keys = runtime.instanceKeysByPrefix.get(prefix);\n\n if (keys === undefined) {\n continue;\n }\n\n keys.delete(key);\n\n if (keys.size === 0) {\n runtime.instanceKeysByPrefix.delete(prefix);\n }\n }\n}\n\nfunction instanceKeyPrefixes(key: string): string[] {\n const parts = key.split(\".\");\n const prefixes: string[] = [];\n\n for (let index = 1; index <= parts.length; index += 1) {\n prefixes.push(parts.slice(0, index).join(\".\"));\n }\n\n return prefixes;\n}\n\nfunction cleanupInstance(instance: ComponentInstance): void {\n instance.disposed = true;\n for (const slot of instance.hooks) {\n if (slot?.kind === \"effect\") {\n slot.disposed = true;\n slot.mounted = false;\n slot.cleanup?.();\n delete slot.cleanup;\n }\n }\n}\n\nfunction requireRuntime(): RootRuntime {\n if (hookRenderState.currentRuntime === undefined) {\n throw new Error(\"Hooks can only be called while rendering.\");\n }\n\n return hookRenderState.currentRuntime;\n}\n\nfunction requireInstance(): ComponentInstance {\n if (hookRenderState.currentInstance === undefined) {\n throw new Error(\"Hooks can only be called while rendering.\");\n }\n\n return hookRenderState.currentInstance;\n}\n\nfunction areHookInputsEqual(\n nextDeps: readonly unknown[],\n previousDeps: readonly unknown[],\n): boolean {\n if (nextDeps.length !== previousDeps.length) {\n return false;\n }\n\n for (let index = 0; index < nextDeps.length; index += 1) {\n if (!Object.is(nextDeps[index], previousDeps[index])) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction getCurrentTime(): number {\n return typeof performance === \"undefined\" ? Date.now() : performance.now();\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-reconciler.d.ts","sourceRoot":"","sources":["../src/host-reconciler.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"host-reconciler.d.ts","sourceRoot":"","sources":["../src/host-reconciler.ts"],"names":[],"mappings":"AAAA,OAAO,EAkBL,KAAK,eAAe,EACrB,MAAM,cAAc,CAAC;AAYtB,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAqC,KAAK,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,EAaL,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAUpB,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,aAAa,EAEnB,MAAM,gBAAgB,CAAC;AAoBxB,UAAU,qBAAsB,SAAQ,aAAa;IACnD,aAAa,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,WAAW,CAAC,EAAE,QAAQ,CAAC;CACxB;AAqBD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAyEjE;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE,WAAW,EACrB,OAAO,GAAE,qBAA0B,GAClC,KAAK,CAeP;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE,qBAA0B,GAClC,KAAK,CAYP;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,SAAS,EACf,YAAY,EAAE,KAAK,EACnB,OAAO,GAAE,aAAkB,GAC1B,IAAI,CAwBN;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,SAAS,EACf,YAAY,EAAE,KAAK,EACnB,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE,qBAA0B,GAClC,IAAI,CAgBN"}
|