@lynx-js/react 0.117.1 → 0.119.0
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/CHANGELOG.md +62 -0
- package/package.json +37 -15
- package/refresh/.turbo/turbo-build.log +1 -1
- package/runtime/lib/alog/elementPAPICall.js +1 -0
- package/runtime/lib/alog/elementPAPICall.js.map +1 -1
- package/runtime/lib/debug/component-stack.d.ts +0 -6
- package/runtime/lib/debug/component-stack.js.map +1 -1
- package/runtime/lib/debug/profile.js +1 -2
- package/runtime/lib/debug/profile.js.map +1 -1
- package/runtime/lib/gesture/processGesture.js +103 -11
- package/runtime/lib/gesture/processGesture.js.map +1 -1
- package/runtime/lib/hooks/mainThread.d.ts +17 -0
- package/runtime/lib/hooks/mainThread.js +152 -0
- package/runtime/lib/hooks/mainThread.js.map +1 -0
- package/runtime/lib/hooks/react.js +3 -3
- package/runtime/lib/hooks/react.js.map +1 -1
- package/runtime/lib/{lifecycleConstant.js → lifecycle/constant.js} +1 -1
- package/runtime/lib/lifecycle/constant.js.map +1 -0
- package/runtime/lib/lifecycle/event/delayLifecycleEvents.d.ts +1 -1
- package/runtime/lib/lifecycle/event/jsReady.js +4 -2
- package/runtime/lib/lifecycle/event/jsReady.js.map +1 -1
- package/runtime/lib/lifecycle/patch/commit.js +1 -1
- package/runtime/lib/lifecycle/patch/commit.js.map +1 -1
- package/runtime/lib/lifecycle/patch/updateMainThread.js +2 -2
- package/runtime/lib/lifecycle/patch/updateMainThread.js.map +1 -1
- package/runtime/lib/lifecycle/reload.js +8 -8
- package/runtime/lib/lifecycle/reload.js.map +1 -1
- package/runtime/lib/lifecycle/render.js +2 -20
- package/runtime/lib/lifecycle/render.js.map +1 -1
- package/runtime/lib/{list.d.ts → list/list.d.ts} +1 -1
- package/runtime/lib/{list.js → list/list.js} +3 -3
- package/runtime/lib/list/list.js.map +1 -0
- package/runtime/lib/{listUpdateInfo.d.ts → list/listUpdateInfo.d.ts} +1 -1
- package/runtime/lib/{listUpdateInfo.js → list/listUpdateInfo.js} +2 -2
- package/runtime/lib/list/listUpdateInfo.js.map +1 -0
- package/runtime/lib/list/pendingListUpdates.js.map +1 -0
- package/runtime/lib/lynx/calledByNative.js +5 -5
- package/runtime/lib/lynx/calledByNative.js.map +1 -1
- package/runtime/lib/lynx/suspense.js +2 -2
- package/runtime/lib/lynx/suspense.js.map +1 -1
- package/runtime/lib/lynx/tt.js +1 -1
- package/runtime/lib/lynx/tt.js.map +1 -1
- package/runtime/lib/lynx-api.js +1 -1
- package/runtime/lib/lynx-api.js.map +1 -1
- package/runtime/lib/renderToOpcodes/constants.d.ts +1 -0
- package/runtime/lib/renderToOpcodes/constants.js +1 -0
- package/runtime/lib/renderToOpcodes/constants.js.map +1 -1
- package/runtime/lib/{hydrate.d.ts → renderToOpcodes/hydrate.d.ts} +2 -2
- package/runtime/lib/{hydrate.js → renderToOpcodes/hydrate.js} +6 -6
- package/runtime/lib/renderToOpcodes/hydrate.js.map +1 -0
- package/runtime/lib/renderToOpcodes/index.d.ts +2 -1
- package/runtime/lib/renderToOpcodes/index.js +82 -25
- package/runtime/lib/renderToOpcodes/index.js.map +1 -1
- package/runtime/lib/{opcodes.d.ts → renderToOpcodes/opcodes.d.ts} +1 -2
- package/runtime/lib/{opcodes.js → renderToOpcodes/opcodes.js} +54 -54
- package/runtime/lib/renderToOpcodes/opcodes.js.map +1 -0
- package/runtime/lib/snapshot/backgroundSnapshot.js +4 -4
- package/runtime/lib/snapshot/backgroundSnapshot.js.map +1 -1
- package/runtime/lib/snapshot/list.js +2 -2
- package/runtime/lib/snapshot/list.js.map +1 -1
- package/runtime/lib/snapshot/platformInfo.js +2 -2
- package/runtime/lib/snapshot/platformInfo.js.map +1 -1
- package/runtime/lib/snapshot/snapshot.d.ts +1 -0
- package/runtime/lib/snapshot/snapshot.js +17 -4
- package/runtime/lib/snapshot/snapshot.js.map +1 -1
- package/runtime/lib/snapshot/spread.js +2 -2
- package/runtime/lib/snapshot/spread.js.map +1 -1
- package/runtime/lib/tsconfig.tsbuildinfo +1 -0
- package/runtime/lib/utils.d.ts +1 -0
- package/runtime/lib/utils.js +3 -0
- package/runtime/lib/utils.js.map +1 -1
- package/runtime/lib/worklet/ref/updateInitValue.js +1 -1
- package/runtime/lib/worklet/ref/updateInitValue.js.map +1 -1
- package/runtime/lib/worklet-runtime/api/animation/animation.js.map +1 -0
- package/runtime/lib/worklet-runtime/api/animation/effect.js.map +1 -0
- package/runtime/lib/worklet-runtime/api/element.js.map +1 -0
- package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/api/lepusQuerySelector.js +10 -2
- package/runtime/lib/worklet-runtime/api/lepusQuerySelector.js.map +1 -0
- package/runtime/lib/worklet-runtime/api/lynxApi.js.map +1 -0
- package/runtime/lib/worklet-runtime/bindings/bindings.js.map +1 -0
- package/runtime/lib/worklet-runtime/bindings/events.js.map +1 -0
- package/runtime/lib/worklet-runtime/bindings/index.js.map +1 -0
- package/runtime/lib/worklet-runtime/bindings/loadRuntime.js.map +1 -0
- package/runtime/lib/worklet-runtime/bindings/observers.js.map +1 -0
- package/runtime/lib/worklet-runtime/bindings/types.js.map +1 -0
- package/runtime/lib/worklet-runtime/delayRunOnBackground.js.map +1 -0
- package/runtime/lib/worklet-runtime/delayWorkletEvent.js.map +1 -0
- package/runtime/lib/worklet-runtime/eomImpl.js.map +1 -0
- package/runtime/lib/worklet-runtime/eventPropagation.js.map +1 -0
- package/runtime/lib/worklet-runtime/global.js.map +1 -0
- package/runtime/lib/worklet-runtime/hydrate.js.map +1 -0
- package/runtime/lib/worklet-runtime/index.js.map +1 -0
- package/runtime/lib/worklet-runtime/jsFunctionLifecycle.js.map +1 -0
- package/runtime/lib/worklet-runtime/listeners.js.map +1 -0
- package/runtime/lib/worklet-runtime/runOnMainThread.js.map +1 -0
- package/runtime/lib/worklet-runtime/utils/mainThreadFlushLoopGuard.js.map +1 -0
- package/runtime/lib/worklet-runtime/utils/profile.js.map +1 -0
- package/runtime/lib/worklet-runtime/utils/version.js.map +1 -0
- package/runtime/lib/worklet-runtime/workletRef.js.map +1 -0
- package/runtime/lib/worklet-runtime/workletRuntime.js.map +1 -0
- package/{worklet-runtime/dist → runtime/worklet-runtime}/dev.js +7 -3
- package/{worklet-runtime/dist → runtime/worklet-runtime}/main.js +1 -1
- package/testing-library/README.md +48 -9
- package/testing-library/dist/0~123.js +43 -0
- package/testing-library/dist/881.js +1 -0
- package/testing-library/dist/entry.d.ts +1 -0
- package/testing-library/dist/env/index.d.ts +2 -0
- package/testing-library/dist/env/index.js +661 -0
- package/testing-library/dist/env/rstest.d.ts +1 -0
- package/testing-library/dist/env/rstest.js +6 -0
- package/testing-library/dist/env/vitest.d.ts +3 -0
- package/testing-library/dist/env/vitest.js +8 -662
- package/testing-library/dist/fire-event.d.ts +111 -0
- package/testing-library/dist/index.d.ts +18 -6
- package/testing-library/dist/plugins/index.d.ts +2 -0
- package/testing-library/dist/plugins/index.js +282 -0
- package/testing-library/dist/plugins/vitest.d.ts +26 -0
- package/testing-library/dist/pure.js +2 -2
- package/testing-library/dist/rstest-config.d.ts +25 -0
- package/testing-library/dist/rstest-config.js +61 -0
- package/testing-library/dist/setupFiles/common/bootstrap.js +2 -0
- package/testing-library/dist/{vitest-global-setup.js → setupFiles/common/runtime-setup.js} +25 -39
- package/testing-library/dist/setupFiles/inner/rstest.js +7 -0
- package/testing-library/dist/setupFiles/inner/vitest.js +11 -0
- package/testing-library/dist/setupFiles/rstest.js +21 -0
- package/testing-library/dist/setupFiles/vitest.js +20 -0
- package/testing-library/dist/vitest.config.d.ts +6 -0
- package/testing-library/dist/vitest.config.js +4 -257
- package/transform/dist/wasm.cjs +1 -1
- package/transform/index.d.ts +37 -1
- package/runtime/lib/hydrate.js.map +0 -1
- package/runtime/lib/lifecycleConstant.js.map +0 -1
- package/runtime/lib/list.js.map +0 -1
- package/runtime/lib/listUpdateInfo.js.map +0 -1
- package/runtime/lib/opcodes.js.map +0 -1
- package/runtime/lib/pendingListUpdates.js.map +0 -1
- package/testing-library/types/vitest-config.d.ts +0 -20
- package/worklet-runtime/lib/api/animation/animation.js.map +0 -1
- package/worklet-runtime/lib/api/animation/effect.js.map +0 -1
- package/worklet-runtime/lib/api/element.js.map +0 -1
- package/worklet-runtime/lib/api/lepusQuerySelector.js.map +0 -1
- package/worklet-runtime/lib/api/lynxApi.js.map +0 -1
- package/worklet-runtime/lib/bindings/bindings.js.map +0 -1
- package/worklet-runtime/lib/bindings/events.js.map +0 -1
- package/worklet-runtime/lib/bindings/index.js.map +0 -1
- package/worklet-runtime/lib/bindings/loadRuntime.js.map +0 -1
- package/worklet-runtime/lib/bindings/observers.js.map +0 -1
- package/worklet-runtime/lib/bindings/types.js.map +0 -1
- package/worklet-runtime/lib/delayRunOnBackground.js.map +0 -1
- package/worklet-runtime/lib/delayWorkletEvent.js.map +0 -1
- package/worklet-runtime/lib/eomImpl.js.map +0 -1
- package/worklet-runtime/lib/eventPropagation.js.map +0 -1
- package/worklet-runtime/lib/global.js.map +0 -1
- package/worklet-runtime/lib/hydrate.js.map +0 -1
- package/worklet-runtime/lib/index.js.map +0 -1
- package/worklet-runtime/lib/jsFunctionLifecycle.js.map +0 -1
- package/worklet-runtime/lib/listeners.js.map +0 -1
- package/worklet-runtime/lib/runOnMainThread.js.map +0 -1
- package/worklet-runtime/lib/utils/mainThreadFlushLoopGuard.js.map +0 -1
- package/worklet-runtime/lib/utils/profile.js.map +0 -1
- package/worklet-runtime/lib/utils/version.js.map +0 -1
- package/worklet-runtime/lib/workletRef.js.map +0 -1
- package/worklet-runtime/lib/workletRuntime.js.map +0 -1
- /package/runtime/lib/{lifecycleConstant.d.ts → lifecycle/constant.d.ts} +0 -0
- /package/runtime/lib/{pendingListUpdates.d.ts → list/pendingListUpdates.d.ts} +0 -0
- /package/runtime/lib/{pendingListUpdates.js → list/pendingListUpdates.js} +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/api/animation/animation.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/api/animation/animation.js +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/api/animation/effect.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/api/animation/effect.js +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/api/element.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/api/element.js +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/api/lepusQuerySelector.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/api/lynxApi.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/api/lynxApi.js +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/bindings/bindings.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/bindings/bindings.js +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/bindings/events.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/bindings/events.js +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/bindings/index.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/bindings/index.js +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/bindings/loadRuntime.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/bindings/loadRuntime.js +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/bindings/observers.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/bindings/observers.js +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/bindings/types.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/bindings/types.js +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/delayRunOnBackground.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/delayRunOnBackground.js +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/delayWorkletEvent.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/delayWorkletEvent.js +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/eomImpl.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/eomImpl.js +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/eventPropagation.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/eventPropagation.js +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/global.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/global.js +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/hydrate.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/hydrate.js +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/index.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/index.js +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/jsFunctionLifecycle.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/jsFunctionLifecycle.js +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/listeners.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/listeners.js +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/runOnMainThread.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/runOnMainThread.js +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/utils/mainThreadFlushLoopGuard.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/utils/mainThreadFlushLoopGuard.js +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/utils/profile.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/utils/profile.js +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/utils/version.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/utils/version.js +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/workletRef.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/workletRef.js +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/workletRuntime.d.ts +0 -0
- /package/{worklet-runtime/lib → runtime/lib/worklet-runtime}/workletRuntime.js +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,67 @@
|
|
|
1
1
|
# @lynx-js/react
|
|
2
2
|
|
|
3
|
+
## 0.119.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Simplify hooks for main-thread runtime, which only can run during the first screen. ([#2441](https://github.com/lynx-family/lynx-stack/pull/2441))
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Remove stale gestures when gestures are removed ([#2297](https://github.com/lynx-family/lynx-stack/pull/2297))
|
|
12
|
+
|
|
13
|
+
- Trace refactor ([#2466](https://github.com/lynx-family/lynx-stack/pull/2466))
|
|
14
|
+
|
|
15
|
+
- Remove `ReactLynx::renderOpcodes` from the trace
|
|
16
|
+
- Use `ReactLynx::transferRoot` to measure the time spent transferring the root to the background thread
|
|
17
|
+
|
|
18
|
+
- refactor: set state of suspense to render fallback ([#2450](https://github.com/lynx-family/lynx-stack/pull/2450))
|
|
19
|
+
|
|
20
|
+
- Support rstest for testing library, you can use rstest with RLTL now: ([#2328](https://github.com/lynx-family/lynx-stack/pull/2328))
|
|
21
|
+
|
|
22
|
+
Create a config file `rstest.config.ts` with the following content:
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
import { defineConfig } from '@rstest/core';
|
|
26
|
+
import { withLynxConfig } from '@lynx-js/react/testing-library/rstest-config';
|
|
27
|
+
|
|
28
|
+
export default defineConfig({
|
|
29
|
+
extends: withLynxConfig(),
|
|
30
|
+
});
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
`@lynx-js/react/testing-library/rstest-config` will automatically load your `lynx.config.ts` and apply the same configuration to rstest, so you can keep your test environment consistent with your development environment.
|
|
34
|
+
|
|
35
|
+
And then use rstest as usual:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
$ rstest
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
For more usage detail, see https://rstest.rs/
|
|
42
|
+
|
|
43
|
+
- Update preact version ([#2456](https://github.com/lynx-family/lynx-stack/pull/2456))
|
|
44
|
+
|
|
45
|
+
- Add `nodeIndex` to generated FiberElement creation calls and expose React transform debug metadata as `uiSourceMapRecords`. ([#2402](https://github.com/lynx-family/lynx-stack/pull/2402))
|
|
46
|
+
|
|
47
|
+
## 0.118.0
|
|
48
|
+
|
|
49
|
+
### Minor Changes
|
|
50
|
+
|
|
51
|
+
- refactor: create SnapshotInstance in renderToString directly ([#2393](https://github.com/lynx-family/lynx-stack/pull/2393))
|
|
52
|
+
|
|
53
|
+
- Add `removeCall` for shake function calls. Its initial default value matches the hooks that were previously in `removeCallParams`, and `removeCallParams` now defaults to empty. ([#2423](https://github.com/lynx-family/lynx-stack/pull/2423))
|
|
54
|
+
|
|
55
|
+
`removeCall` removes matched runtime hook calls entirely, replacing them with `undefined` in expression positions and dropping them in statement positions. `removeCallParams` keeps the existing behavior of preserving the call while stripping its arguments.
|
|
56
|
+
|
|
57
|
+
### Patch Changes
|
|
58
|
+
|
|
59
|
+
- Improve `shake.removeCall` and `shake.removeCallParams` in the React transform so they also match aliased runtime imports such as `import { useEffect as myUseEffect } ...` and member calls such as `ReactLynxRuntime.useEffect(...)` from default or namespace runtime imports. ([#2437](https://github.com/lynx-family/lynx-stack/pull/2437))
|
|
60
|
+
|
|
61
|
+
- Create element without ref for suspense in main thread. ([#2426](https://github.com/lynx-family/lynx-stack/pull/2426))
|
|
62
|
+
|
|
63
|
+
- refactor: make `useEffect`, `useLayoutEffect` and `useImperativeHandle` no-op on the main thread ([#2424](https://github.com/lynx-family/lynx-stack/pull/2424))
|
|
64
|
+
|
|
3
65
|
## 0.117.1
|
|
4
66
|
|
|
5
67
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lynx-js/react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.119.0",
|
|
4
4
|
"description": "ReactLynx is a framework for developing Lynx applications with familiar React.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -55,6 +55,14 @@
|
|
|
55
55
|
"types": "./runtime/jsx-runtime/index.d.ts",
|
|
56
56
|
"default": "./runtime/lepus/jsx-runtime/index.js"
|
|
57
57
|
},
|
|
58
|
+
"./hooks": {
|
|
59
|
+
"types": "./runtime/lib/hooks/react.d.ts",
|
|
60
|
+
"default": "./runtime/lib/hooks/react.js"
|
|
61
|
+
},
|
|
62
|
+
"./lepus/hooks": {
|
|
63
|
+
"types": "./runtime/lib/hooks/react.d.ts",
|
|
64
|
+
"default": "./runtime/lib/hooks/mainThread.js"
|
|
65
|
+
},
|
|
58
66
|
"./lepus": {
|
|
59
67
|
"types": "./runtime/lepus/index.d.ts",
|
|
60
68
|
"lazy": "./runtime/lazy/react-lepus.js",
|
|
@@ -76,16 +84,16 @@
|
|
|
76
84
|
}
|
|
77
85
|
},
|
|
78
86
|
"./worklet-runtime": {
|
|
79
|
-
"types": "./worklet-runtime/
|
|
80
|
-
"default": "./worklet-runtime/
|
|
87
|
+
"types": "./runtime/lib/worklet-runtime/index.d.ts",
|
|
88
|
+
"default": "./runtime/worklet-runtime/main.js"
|
|
81
89
|
},
|
|
82
90
|
"./worklet-dev-runtime": {
|
|
83
|
-
"types": "./worklet-runtime/
|
|
84
|
-
"default": "./worklet-runtime/
|
|
91
|
+
"types": "./runtime/lib/worklet-runtime/index.d.ts",
|
|
92
|
+
"default": "./runtime/worklet-runtime/dev.js"
|
|
85
93
|
},
|
|
86
94
|
"./worklet-runtime/bindings": {
|
|
87
|
-
"types": "./worklet-runtime/
|
|
88
|
-
"default": "./worklet-runtime/
|
|
95
|
+
"types": "./runtime/lib/worklet-runtime/bindings/index.d.ts",
|
|
96
|
+
"default": "./runtime/lib/worklet-runtime/bindings/index.js"
|
|
89
97
|
},
|
|
90
98
|
"./legacy-react-runtime": {
|
|
91
99
|
"types": "./runtime/lib/legacy-react-runtime/index.d.ts",
|
|
@@ -101,9 +109,17 @@
|
|
|
101
109
|
"default": "./testing-library/dist/pure.js"
|
|
102
110
|
},
|
|
103
111
|
"./testing-library/vitest-config": {
|
|
104
|
-
"types": "./testing-library/
|
|
112
|
+
"types": "./testing-library/dist/vitest.config.d.ts",
|
|
105
113
|
"default": "./testing-library/dist/vitest.config.js"
|
|
106
114
|
},
|
|
115
|
+
"./testing-library/plugins": {
|
|
116
|
+
"types": "./testing-library/dist/plugins/index.d.ts",
|
|
117
|
+
"default": "./testing-library/dist/plugins/index.js"
|
|
118
|
+
},
|
|
119
|
+
"./testing-library/rstest-config": {
|
|
120
|
+
"types": "./testing-library/dist/rstest-config.d.ts",
|
|
121
|
+
"default": "./testing-library/dist/rstest-config.js"
|
|
122
|
+
},
|
|
107
123
|
"./package.json": "./package.json"
|
|
108
124
|
},
|
|
109
125
|
"types": "./types/react.d.ts",
|
|
@@ -115,6 +131,12 @@
|
|
|
115
131
|
"experimental/lazy/import": [
|
|
116
132
|
"./runtime/lazy/import.d.ts"
|
|
117
133
|
],
|
|
134
|
+
"hooks": [
|
|
135
|
+
"./runtime/lib/hooks/react.d.ts"
|
|
136
|
+
],
|
|
137
|
+
"lepus/hooks": [
|
|
138
|
+
"./runtime/lib/hooks/react.d.ts"
|
|
139
|
+
],
|
|
118
140
|
"internal": [
|
|
119
141
|
"./runtime/lib/internal.d.ts"
|
|
120
142
|
],
|
|
@@ -143,13 +165,13 @@
|
|
|
143
165
|
"./components/lib/index.d.ts"
|
|
144
166
|
],
|
|
145
167
|
"worklet-runtime": [
|
|
146
|
-
"./worklet-runtime/
|
|
168
|
+
"./runtime/lib/worklet-runtime/index.d.ts"
|
|
147
169
|
],
|
|
148
170
|
"worklet-dev-runtime": [
|
|
149
|
-
"./worklet-runtime/
|
|
171
|
+
"./runtime/lib/worklet-runtime/index.d.ts"
|
|
150
172
|
],
|
|
151
173
|
"worklet-runtime/bindings": [
|
|
152
|
-
"./worklet-runtime/
|
|
174
|
+
"./runtime/lib/worklet-runtime/bindings/index.d.ts"
|
|
153
175
|
],
|
|
154
176
|
"legacy-react-runtime": [
|
|
155
177
|
"./runtime/lib/legacy-react-runtime/index.d.ts"
|
|
@@ -163,7 +185,6 @@
|
|
|
163
185
|
"transform",
|
|
164
186
|
"types",
|
|
165
187
|
"docs",
|
|
166
|
-
"worklet-runtime",
|
|
167
188
|
"testing-library",
|
|
168
189
|
"CHANGELOG.md",
|
|
169
190
|
"internal.js",
|
|
@@ -171,11 +192,11 @@
|
|
|
171
192
|
"README.zh.md"
|
|
172
193
|
],
|
|
173
194
|
"dependencies": {
|
|
174
|
-
"preact": "npm:@lynx-js/internal-preact@10.28.4-
|
|
195
|
+
"preact": "npm:@lynx-js/internal-preact@10.28.4-2d1d67a"
|
|
175
196
|
},
|
|
176
197
|
"devDependencies": {
|
|
177
198
|
"@lynx-js/types": "3.7.0",
|
|
178
|
-
"@microsoft/api-extractor": "7.
|
|
199
|
+
"@microsoft/api-extractor": "7.58.2",
|
|
179
200
|
"@types/react": "^18.3.28"
|
|
180
201
|
},
|
|
181
202
|
"peerDependencies": {
|
|
@@ -188,6 +209,7 @@
|
|
|
188
209
|
}
|
|
189
210
|
},
|
|
190
211
|
"scripts": {
|
|
191
|
-
"api-extractor": "api-extractor run --verbose"
|
|
212
|
+
"api-extractor": "api-extractor run --verbose",
|
|
213
|
+
"build": "rslib build"
|
|
192
214
|
}
|
|
193
215
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elementPAPICall.js","sourceRoot":"","sources":["../../src/alog/elementPAPICall.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,wBAAwB,GAAG;IAC/B,cAAc;IACd,iBAAiB;IACjB,wBAAwB;IACxB,cAAc;IACd,eAAe;IACf,cAAc;IACd,iBAAiB;IACjB,cAAc;IACd,iBAAiB;IACjB,uBAAuB;IACvB,iBAAiB;IACjB,kBAAkB;IAClB,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,kBAAkB;IAClB,oBAAoB;IACpB,cAAc;IACd,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,iBAAiB;IACjB,sBAAsB;IACtB,qBAAqB;IACrB,cAAc;IACd,YAAY;IACZ,kBAAkB;IAClB,mBAAmB;IACnB,YAAY;IACZ,SAAS;IACT,sBAAsB;IACtB,UAAU;IACV,oBAAoB;IACpB,uBAAuB;IACvB,oBAAoB;IACpB,kBAAkB;IAClB,sBAAsB;
|
|
1
|
+
{"version":3,"file":"elementPAPICall.js","sourceRoot":"","sources":["../../src/alog/elementPAPICall.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-stack.js","sourceRoot":"","sources":["../../src/debug/component-stack.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAG3C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"component-stack.js","sourceRoot":"","sources":["../../src/debug/component-stack.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
// Copyright 2024 The Lynx Authors. All rights reserved.
|
|
2
2
|
// Licensed under the Apache License Version 2.0 that can be found in the
|
|
3
3
|
// LICENSE file in the root directory of this source tree.
|
|
4
|
-
|
|
4
|
+
import { noop } from '../utils.js';
|
|
5
5
|
export const isProfiling = /* @__PURE__ */ Boolean(lynx.performance?.isProfileRecording?.());
|
|
6
|
-
const noop = () => { };
|
|
7
6
|
const noopFlowId = () => 0;
|
|
8
7
|
export const profileStart = /* @__PURE__ */ ((() => {
|
|
9
8
|
let p;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/debug/profile.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D,
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/debug/profile.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,MAAM,CAAC,MAAM,WAAW,GAAY,eAAe,CAAC,OAAO,CACzD,IAAI,CAAC,WAAW,EAAE,kBAAkB,EAAE,EAAE,CACzC,CAAC;AAEF,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;AAE3B,MAAM,CAAC,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE;IACjD,IAAI,CAAC,CAAC;IACN,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,EAAE,CAAyC,CAAC;AAE9C,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE;IAC/C,IAAI,CAAC,CAAC;IACN,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,EAAE,CAAuC,CAAC;AAE5C,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE;IAClD,IAAI,CAAC,CAAC;IACN,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;QACrE,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,EAAE,CAA0C,CAAC"}
|
|
@@ -6,6 +6,76 @@ import { GestureTypeInner } from './types.js';
|
|
|
6
6
|
function isSerializedGesture(gesture) {
|
|
7
7
|
return gesture.__isSerialized ?? false;
|
|
8
8
|
}
|
|
9
|
+
function getSerializedBaseGesture(gesture) {
|
|
10
|
+
if (!gesture || !isSerializedGesture(gesture)) {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
if (gesture.type !== GestureTypeInner.COMPOSED) {
|
|
14
|
+
return gesture;
|
|
15
|
+
}
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
function appendUniqueSerializedBaseGestures(gesture, out, seenIds) {
|
|
19
|
+
if (!gesture || !isSerializedGesture(gesture)) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
if (gesture.type === GestureTypeInner.COMPOSED) {
|
|
23
|
+
for (const subGesture of gesture.gestures) {
|
|
24
|
+
appendUniqueSerializedBaseGestures(subGesture, out, seenIds);
|
|
25
|
+
}
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const baseGesture = gesture;
|
|
29
|
+
if (seenIds.has(baseGesture.id)) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
seenIds.add(baseGesture.id);
|
|
33
|
+
out.push(baseGesture);
|
|
34
|
+
}
|
|
35
|
+
function collectOldGestureInfo(oldGesture) {
|
|
36
|
+
const uniqOldBaseGestures = [];
|
|
37
|
+
const oldBaseGesturesById = new Map();
|
|
38
|
+
appendOldGestureInfo(oldGesture, uniqOldBaseGestures, oldBaseGesturesById);
|
|
39
|
+
return {
|
|
40
|
+
uniqOldBaseGestures,
|
|
41
|
+
oldBaseGesturesById,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
function appendOldGestureInfo(gesture, out, byId) {
|
|
45
|
+
if (!gesture || !isSerializedGesture(gesture)) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
if (gesture.type === GestureTypeInner.COMPOSED) {
|
|
49
|
+
for (const subGesture of gesture.gestures) {
|
|
50
|
+
appendOldGestureInfo(subGesture, out, byId);
|
|
51
|
+
}
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const oldBaseGesture = gesture;
|
|
55
|
+
if (!byId.has(oldBaseGesture.id)) {
|
|
56
|
+
byId.set(oldBaseGesture.id, oldBaseGesture);
|
|
57
|
+
out.push(oldBaseGesture);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
function consumeOldBaseGesture(baseGesture, uniqOldBaseGestures, oldBaseGesturesById) {
|
|
61
|
+
const idMatchedOldBaseGesture = oldBaseGesturesById.get(baseGesture.id);
|
|
62
|
+
if (idMatchedOldBaseGesture) {
|
|
63
|
+
oldBaseGesturesById.delete(baseGesture.id);
|
|
64
|
+
return idMatchedOldBaseGesture;
|
|
65
|
+
}
|
|
66
|
+
const fallbackOldBaseGesture = uniqOldBaseGestures.find(oldBaseGesture => oldBaseGesturesById.has(oldBaseGesture.id));
|
|
67
|
+
if (!fallbackOldBaseGesture) {
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
oldBaseGesturesById.delete(fallbackOldBaseGesture.id);
|
|
71
|
+
return fallbackOldBaseGesture;
|
|
72
|
+
}
|
|
73
|
+
function removeGestureDetector(dom, id) {
|
|
74
|
+
// Keep compatibility with old runtimes where remove API is not exposed.
|
|
75
|
+
if (typeof __RemoveGestureDetector === 'function') {
|
|
76
|
+
__RemoveGestureDetector(dom, id);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
9
79
|
function getGestureInfo(gesture, oldGesture, isFirstScreen, dom) {
|
|
10
80
|
const config = {
|
|
11
81
|
callbacks: [],
|
|
@@ -34,23 +104,45 @@ function getGestureInfo(gesture, oldGesture, isFirstScreen, dom) {
|
|
|
34
104
|
};
|
|
35
105
|
}
|
|
36
106
|
export function processGesture(dom, gesture, oldGesture, isFirstScreen, gestureOptions) {
|
|
37
|
-
|
|
107
|
+
const domSet = gestureOptions?.domSet === true;
|
|
108
|
+
const { uniqOldBaseGestures, oldBaseGesturesById } = collectOldGestureInfo(oldGesture);
|
|
109
|
+
// Fast path for the most common case: single base gesture update.
|
|
110
|
+
const singleBaseGesture = getSerializedBaseGesture(gesture);
|
|
111
|
+
const singleOldBaseGesture = getSerializedBaseGesture(oldGesture);
|
|
112
|
+
if (singleBaseGesture && (!oldGesture || singleOldBaseGesture)) {
|
|
113
|
+
if (!domSet) {
|
|
114
|
+
__SetAttribute(dom, 'has-react-gesture', true);
|
|
115
|
+
__SetAttribute(dom, 'flatten', false);
|
|
116
|
+
}
|
|
117
|
+
if (singleOldBaseGesture) {
|
|
118
|
+
// On update, remove old detector first to avoid stale callbacks.
|
|
119
|
+
removeGestureDetector(dom, singleOldBaseGesture.id);
|
|
120
|
+
}
|
|
121
|
+
const { config, relationMap } = getGestureInfo(singleBaseGesture, singleOldBaseGesture, isFirstScreen, dom);
|
|
122
|
+
__SetGestureDetector(dom, singleBaseGesture.id, singleBaseGesture.type, config, relationMap);
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
const uniqBaseGestures = [];
|
|
126
|
+
appendUniqueSerializedBaseGestures(gesture, uniqBaseGestures, new Set());
|
|
127
|
+
if (uniqBaseGestures.length === 0) {
|
|
128
|
+
for (const oldBaseGesture of oldBaseGesturesById.values()) {
|
|
129
|
+
removeGestureDetector(dom, oldBaseGesture.id);
|
|
130
|
+
}
|
|
131
|
+
if (!domSet) {
|
|
132
|
+
__SetAttribute(dom, 'has-react-gesture', null);
|
|
133
|
+
}
|
|
38
134
|
return;
|
|
39
135
|
}
|
|
40
|
-
if (!
|
|
136
|
+
if (!domSet) {
|
|
41
137
|
__SetAttribute(dom, 'has-react-gesture', true);
|
|
42
138
|
__SetAttribute(dom, 'flatten', false);
|
|
43
139
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
domSet: true,
|
|
48
|
-
});
|
|
49
|
-
}
|
|
140
|
+
// On update, remove old detectors first to avoid stale callbacks.
|
|
141
|
+
for (const oldBaseGesture of oldBaseGesturesById.values()) {
|
|
142
|
+
removeGestureDetector(dom, oldBaseGesture.id);
|
|
50
143
|
}
|
|
51
|
-
|
|
52
|
-
const
|
|
53
|
-
const oldBaseGesture = oldGesture;
|
|
144
|
+
for (const baseGesture of uniqBaseGestures) {
|
|
145
|
+
const oldBaseGesture = consumeOldBaseGesture(baseGesture, uniqOldBaseGestures, oldBaseGesturesById);
|
|
54
146
|
const { config, relationMap } = getGestureInfo(baseGesture, oldBaseGesture, isFirstScreen, dom);
|
|
55
147
|
__SetGestureDetector(dom, baseGesture.id, baseGesture.type, config, relationMap);
|
|
56
148
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processGesture.js","sourceRoot":"","sources":["../../src/gesture/processGesture.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,SAAS,mBAAmB,CAAC,OAAoB;IAC/C,OAAO,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC;AACzC,CAAC;AAED,SAAS,cAAc,CACrB,OAAoB,EACpB,UAAmC,EACnC,aAAsB,EACtB,GAAiB;IAEjB,MAAM,MAAM,GAAG;QACb,SAAS,EAAE,EAAE;KACG,CAAC;IACnB,MAAM,WAAW,GAAG,OAAO,CAAC;IAE5B,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IACrC,CAAC;IAED,KACE,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAC/C,CAAC;QACD,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,CAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QAC/C,kBAAkB,CAAC,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAC9D,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;YACpB,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAG;QAClB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE;QACrE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE;QACnF,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE;KAChF,CAAC;IAEF,OAAO;QACL,MAAM;QACN,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,GAAiB,EACjB,OAAoB,EACpB,UAAmC,EACnC,aAAsB,EACtB,cAEC;IAED,
|
|
1
|
+
{"version":3,"file":"processGesture.js","sourceRoot":"","sources":["../../src/gesture/processGesture.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,SAAS,mBAAmB,CAAC,OAAoB;IAC/C,OAAO,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC;AACzC,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAgC;IAChE,IAAI,CAAC,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QAC/C,OAAO,OAAsB,CAAC;IAChC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kCAAkC,CACzC,OAAgC,EAChC,GAAkB,EAClB,OAAoB;IAEpB,IAAI,CAAC,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QAC/C,KAAK,MAAM,UAAU,IAAK,OAA2B,CAAC,QAAQ,EAAE,CAAC;YAC/D,kCAAkC,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,OAAsB,CAAC;IAC3C,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;QAChC,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC5B,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,qBAAqB,CAC5B,UAAmC;IAKnC,MAAM,mBAAmB,GAAkB,EAAE,CAAC;IAC9C,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC3D,oBAAoB,CAAC,UAAU,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;IAE3E,OAAO;QACL,mBAAmB;QACnB,mBAAmB;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAAgC,EAChC,GAAkB,EAClB,IAA8B;IAE9B,IAAI,CAAC,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QAC/C,KAAK,MAAM,UAAU,IAAK,OAA2B,CAAC,QAAQ,EAAE,CAAC;YAC/D,oBAAoB,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAAG,OAAsB,CAAC;IAC9C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;QAC5C,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,WAAwB,EACxB,mBAAkC,EAClC,mBAA6C;IAE7C,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACxE,IAAI,uBAAuB,EAAE,CAAC;QAC5B,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC3C,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;IACtH,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,mBAAmB,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;IACtD,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAiB,EAAE,EAAU;IAC1D,wEAAwE;IACxE,IAAI,OAAO,uBAAuB,KAAK,UAAU,EAAE,CAAC;QAClD,uBAAuB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,OAAoB,EACpB,UAAmC,EACnC,aAAsB,EACtB,GAAiB;IAEjB,MAAM,MAAM,GAAG;QACb,SAAS,EAAE,EAAE;KACG,CAAC;IACnB,MAAM,WAAW,GAAG,OAAO,CAAC;IAE5B,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IACrC,CAAC;IAED,KACE,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAC/C,CAAC;QACD,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,CAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QAC/C,kBAAkB,CAAC,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAC9D,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;YACpB,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAG;QAClB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE;QACrE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE;QACnF,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE;KAChF,CAAC;IAEF,OAAO;QACL,MAAM;QACN,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,GAAiB,EACjB,OAAoB,EACpB,UAAmC,EACnC,aAAsB,EACtB,cAEC;IAED,MAAM,MAAM,GAAG,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAEvF,kEAAkE;IAClE,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC5D,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAClE,IAAI,iBAAiB,IAAI,CAAC,CAAC,UAAU,IAAI,oBAAoB,CAAC,EAAE,CAAC;QAC/D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,cAAc,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;YAC/C,cAAc,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,oBAAoB,EAAE,CAAC;YACzB,iEAAiE;YACjE,qBAAqB,CAAC,GAAG,EAAE,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAC5G,oBAAoB,CAClB,GAAG,EACH,iBAAiB,CAAC,EAAE,EACpB,iBAAiB,CAAC,IAAI,EACtB,MAAM,EACN,WAAW,CACZ,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,gBAAgB,GAAkB,EAAE,CAAC;IAC3C,kCAAkC,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,GAAG,EAAU,CAAC,CAAC;IAEjF,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,KAAK,MAAM,cAAc,IAAI,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1D,qBAAqB,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,cAAc,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,cAAc,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAC/C,cAAc,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,kEAAkE;IAClE,KAAK,MAAM,cAAc,IAAI,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1D,qBAAqB,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,MAAM,WAAW,IAAI,gBAAgB,EAAE,CAAC;QAC3C,MAAM,cAAc,GAAG,qBAAqB,CAC1C,WAAW,EACX,mBAAmB,EACnB,mBAAmB,CACpB,CAAC;QAEF,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAChG,oBAAoB,CAClB,GAAG,EACH,WAAW,CAAC,EAAE,EACd,WAAW,CAAC,IAAI,EAChB,MAAM,EACN,WAAW,CACZ,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ErrorInfo, PreactContext } from 'preact';
|
|
2
|
+
import type { Dispatch, useEffect as useEffectType, useErrorBoundary as useErrorBoundaryType, useImperativeHandle as useImperativeHandleType, useLayoutEffect as useLayoutEffectType } from 'preact/hooks';
|
|
3
|
+
declare function useState<S>(initialState: S | (() => S)): [S, Dispatch<unknown>];
|
|
4
|
+
declare function useReducer<S, A>(_reducer: (prevState: S, action: A) => S, initialState: S | (() => S), init?: (initialState: S) => S): [S, Dispatch<A>];
|
|
5
|
+
declare function useRef<T>(initialValue?: T): {
|
|
6
|
+
current: T | undefined;
|
|
7
|
+
};
|
|
8
|
+
declare function useMemo<T>(factory: () => T, _args: ReadonlyArray<unknown>): T;
|
|
9
|
+
declare function useCallback<T>(callback: T, args: ReadonlyArray<unknown>): T;
|
|
10
|
+
declare function useContext<T>(context: PreactContext<T>): T;
|
|
11
|
+
declare function useDebugValue<T>(value: T, formatter?: (value: T) => string | number): void;
|
|
12
|
+
declare function useErrorBoundary(cb: (error: any, errorInfo: ErrorInfo) => Promise<void> | void): ReturnType<typeof useErrorBoundaryType>;
|
|
13
|
+
declare function useId(): string;
|
|
14
|
+
declare const useEffect: typeof useEffectType;
|
|
15
|
+
declare const useLayoutEffect: typeof useLayoutEffectType;
|
|
16
|
+
declare const useImperativeHandle: typeof useImperativeHandleType;
|
|
17
|
+
export { useCallback, useContext, useDebugValue, useEffect, useErrorBoundary, useId, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, };
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
// Copyright 2026 The Lynx Authors. All rights reserved.
|
|
2
|
+
// Licensed under the Apache License Version 2.0 that can be found in the
|
|
3
|
+
// LICENSE file in the root directory of this source tree.
|
|
4
|
+
/**
|
|
5
|
+
* Implements hooks in main thread.
|
|
6
|
+
* This module is modified from preact/hooks
|
|
7
|
+
*
|
|
8
|
+
* internal-preact/hooks/dist/hooks.mjs
|
|
9
|
+
*/
|
|
10
|
+
import { options } from 'preact';
|
|
11
|
+
import { CHILDREN, COMPONENT, DIFF, DIFFED, HOOK, HOOKS, LIST, MASK, PARENT, PENDING_EFFECTS, RENDER, ROOT, VALUE, VNODE, } from '../renderToOpcodes/constants.js';
|
|
12
|
+
import { noop } from '../utils.js';
|
|
13
|
+
let currentIndex;
|
|
14
|
+
let currentComponent;
|
|
15
|
+
let currentHook;
|
|
16
|
+
const oldBeforeDiff = options[DIFF];
|
|
17
|
+
const oldBeforeRender = options[RENDER];
|
|
18
|
+
const oldAfterDiff = options[DIFFED];
|
|
19
|
+
const oldRoot = options[ROOT];
|
|
20
|
+
options[DIFF] = function (vnode) {
|
|
21
|
+
currentComponent = null;
|
|
22
|
+
if (oldBeforeDiff)
|
|
23
|
+
oldBeforeDiff(vnode);
|
|
24
|
+
};
|
|
25
|
+
/* v8 ignore start */
|
|
26
|
+
options[ROOT] = function (vnode, parentDom) {
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
28
|
+
if (vnode && parentDom[CHILDREN] && parentDom[CHILDREN][MASK]) {
|
|
29
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
30
|
+
vnode[MASK] = parentDom[CHILDREN][MASK];
|
|
31
|
+
}
|
|
32
|
+
if (oldRoot)
|
|
33
|
+
oldRoot(vnode, parentDom);
|
|
34
|
+
};
|
|
35
|
+
/* v8 ignore stop */
|
|
36
|
+
options[RENDER] = function (vnode) {
|
|
37
|
+
if (oldBeforeRender)
|
|
38
|
+
oldBeforeRender(vnode);
|
|
39
|
+
currentComponent = vnode[COMPONENT];
|
|
40
|
+
currentIndex = 0;
|
|
41
|
+
};
|
|
42
|
+
options[DIFFED] = function (vnode) {
|
|
43
|
+
if (oldAfterDiff)
|
|
44
|
+
oldAfterDiff(vnode);
|
|
45
|
+
currentComponent = null;
|
|
46
|
+
};
|
|
47
|
+
function getHookState(index, type) {
|
|
48
|
+
if (options[HOOK]) {
|
|
49
|
+
options[HOOK](currentComponent, index, currentHook || type);
|
|
50
|
+
}
|
|
51
|
+
currentHook = 0;
|
|
52
|
+
const hooks = currentComponent[HOOKS] ?? (currentComponent[HOOKS] = {
|
|
53
|
+
[LIST]: [],
|
|
54
|
+
[PENDING_EFFECTS]: [],
|
|
55
|
+
});
|
|
56
|
+
if (index >= hooks[LIST].length) {
|
|
57
|
+
hooks[LIST].push({});
|
|
58
|
+
}
|
|
59
|
+
return hooks[LIST][index];
|
|
60
|
+
}
|
|
61
|
+
function invokeOrReturn(arg, f) {
|
|
62
|
+
return typeof f == 'function' ? f(arg) : f;
|
|
63
|
+
}
|
|
64
|
+
function useState(initialState) {
|
|
65
|
+
currentHook = 1;
|
|
66
|
+
return useReducer(noop, initialState);
|
|
67
|
+
}
|
|
68
|
+
function useReducer(_reducer, initialState, init) {
|
|
69
|
+
const hookState = getHookState(currentIndex++, 2);
|
|
70
|
+
if (!hookState[COMPONENT]) {
|
|
71
|
+
hookState[VALUE] = [
|
|
72
|
+
/* v8 ignore start */
|
|
73
|
+
init ? init(initialState) : invokeOrReturn(undefined, initialState),
|
|
74
|
+
/* v8 ignore stop */
|
|
75
|
+
function (_action) {
|
|
76
|
+
if (__DEV__) {
|
|
77
|
+
console.error('Cannot update state in main thread!');
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
];
|
|
81
|
+
hookState[COMPONENT] = currentComponent;
|
|
82
|
+
}
|
|
83
|
+
return hookState[VALUE];
|
|
84
|
+
}
|
|
85
|
+
function useRef(initialValue) {
|
|
86
|
+
currentHook = 5;
|
|
87
|
+
return useMemo(function () {
|
|
88
|
+
return {
|
|
89
|
+
current: initialValue,
|
|
90
|
+
};
|
|
91
|
+
}, []);
|
|
92
|
+
}
|
|
93
|
+
// used for first screen and need not to cache value by args
|
|
94
|
+
function useMemo(factory, _args) {
|
|
95
|
+
const state = getHookState(currentIndex++, 7);
|
|
96
|
+
state[VALUE] = factory();
|
|
97
|
+
return state[VALUE];
|
|
98
|
+
}
|
|
99
|
+
function useCallback(callback, args) {
|
|
100
|
+
currentHook = 8;
|
|
101
|
+
return useMemo(function () {
|
|
102
|
+
return callback;
|
|
103
|
+
}, args);
|
|
104
|
+
}
|
|
105
|
+
function useContext(context) {
|
|
106
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
107
|
+
const provider = currentComponent.context[context.__c];
|
|
108
|
+
const state = getHookState(currentIndex++, 9);
|
|
109
|
+
state['c'] = context;
|
|
110
|
+
/* v8 ignore start */
|
|
111
|
+
if (!provider)
|
|
112
|
+
return context.__;
|
|
113
|
+
/* v8 ignore stop */
|
|
114
|
+
state[VALUE] = true;
|
|
115
|
+
return provider.props.value;
|
|
116
|
+
}
|
|
117
|
+
function useDebugValue(value, formatter) {
|
|
118
|
+
if (options.useDebugValue) {
|
|
119
|
+
/* v8 ignore start */
|
|
120
|
+
options.useDebugValue(formatter ? formatter(value) : value);
|
|
121
|
+
/* v8 ignore stop */
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
function useErrorBoundary(cb) {
|
|
125
|
+
const state = getHookState(currentIndex++, 10);
|
|
126
|
+
state[VALUE] = cb;
|
|
127
|
+
return [undefined, noop];
|
|
128
|
+
}
|
|
129
|
+
function useId() {
|
|
130
|
+
const state = getHookState(currentIndex++, 11);
|
|
131
|
+
if (!state[VALUE]) {
|
|
132
|
+
// Grab either the root node or the nearest async boundary node.
|
|
133
|
+
let root = currentComponent[VNODE];
|
|
134
|
+
while (root !== null && !root[MASK] && root[PARENT] !== null) {
|
|
135
|
+
root = root[PARENT];
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* init mask to [0, 0]
|
|
139
|
+
* mask[0] will not change
|
|
140
|
+
* mask[1] will auto increase
|
|
141
|
+
*/
|
|
142
|
+
const mask = root[MASK] ?? (root[MASK] = [0, 0]);
|
|
143
|
+
state[VALUE] = 'P' + mask[0] + '-' + mask[1]++;
|
|
144
|
+
}
|
|
145
|
+
return state[VALUE];
|
|
146
|
+
}
|
|
147
|
+
// background hooks
|
|
148
|
+
const useEffect = noop;
|
|
149
|
+
const useLayoutEffect = noop;
|
|
150
|
+
const useImperativeHandle = noop;
|
|
151
|
+
export { useCallback, useContext, useDebugValue, useEffect, useErrorBoundary, useId, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, };
|
|
152
|
+
//# sourceMappingURL=mainThread.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mainThread.js","sourceRoot":"","sources":["../../src/hooks/mainThread.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAUjC,OAAO,EACL,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,eAAe,EACf,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,GACN,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,IAAI,YAAoB,CAAC;AACzB,IAAI,gBAA8C,CAAC;AACnD,IAAI,WAAmB,CAAC;AAExB,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACpC,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AACxC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AACrC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9B,OAAO,CAAC,IAAI,CAAC,GAAG,UAAS,KAAK;IAC5B,gBAAgB,GAAG,IAAI,CAAC;IACxB,IAAI,aAAa;QAAE,aAAa,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,qBAAqB;AACrB,OAAO,CAAC,IAAI,CAAC,GAAG,UAAS,KAAK,EAAE,SAAS;IACvC,sEAAsE;IACtE,IAAI,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9D,sEAAsE;QACtE,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAqB,CAAC;IAC9D,CAAC;IACD,IAAI,OAAO;QAAE,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AACzC,CAAC,CAAC;AACF,oBAAoB;AAEpB,OAAO,CAAC,MAAM,CAAC,GAAG,UAAS,KAAK;IAC9B,IAAI,eAAe;QAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IAC5C,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IACpC,YAAY,GAAG,CAAC,CAAC;AACnB,CAAC,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC,GAAG,UAAS,KAAK;IAC9B,IAAI,YAAY;QAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IACtC,gBAAgB,GAAG,IAAI,CAAC;AAC1B,CAAC,CAAC;AAEF,SAAS,YAAY,CAAC,KAAa,EAAE,IAAY;IAC/C,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,gBAAiB,EAAE,KAAK,EAAE,WAAW,IAAI,IAAI,CAAC,CAAC;IAC/D,CAAC;IACD,WAAW,GAAG,CAAC,CAAC;IAChB,MAAM,KAAK,GAAG,gBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAiB,CAAC,KAAK,CAAC,GAAG;QACpE,CAAC,IAAI,CAAC,EAAE,EAAE;QACV,CAAC,eAAe,CAAC,EAAE,EAAE;KACtB,CAAC,CAAC;IACH,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,CAAE,CAAC,MAAM,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAE,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,cAAc,CAAC,GAAY,EAAE,CAAkC;IACtE,OAAO,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,QAAQ,CAAI,YAA2B;IAC9C,WAAW,GAAG,CAAC,CAAC;IAChB,OAAO,UAAU,CAAC,IAAI,EAAE,YAAY,CAA2B,CAAC;AAClE,CAAC;AAED,SAAS,UAAU,CACjB,QAAwC,EACxC,YAA2B,EAC3B,IAA6B;IAE7B,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,EAAE,CAAC,CAAE,CAAC;IACnD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,SAAS,CAAC,KAAK,CAAC,GAAG;YACjB,qBAAqB;YACrB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAiB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,YAAyB,CAAC;YACrF,oBAAoB;YACpB,UAAS,OAAU;gBACjB,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;SACF,CAAC;QACF,SAAS,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC,KAAK,CAAqB,CAAC;AAC9C,CAAC;AAED,SAAS,MAAM,CAAI,YAAgB;IACjC,WAAW,GAAG,CAAC,CAAC;IAChB,OAAO,OAAO,CAAC;QACb,OAAO;YACL,OAAO,EAAE,YAAY;SACtB,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED,4DAA4D;AAC5D,SAAS,OAAO,CAAI,OAAgB,EAAE,KAA6B;IACjE,MAAM,KAAK,GAAG,YAAY,CAAC,YAAY,EAAE,EAAE,CAAC,CAAE,CAAC;IAC/C,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,EAAE,CAAC;IACzB,OAAO,KAAK,CAAC,KAAK,CAAM,CAAC;AAC3B,CAAC;AAED,SAAS,WAAW,CAAI,QAAW,EAAE,IAA4B;IAC/D,WAAW,GAAG,CAAC,CAAC;IAChB,OAAO,OAAO,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC,EAAE,IAAI,CAAC,CAAC;AACX,CAAC;AAED,SAAS,UAAU,CAAI,OAAyB;IAC9C,sEAAsE;IACtE,MAAM,QAAQ,GAAG,gBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAIrD,CAAC;IACF,MAAM,KAAK,GAAG,YAAY,CAAC,YAAY,EAAE,EAAE,CAAC,CAAE,CAAC;IAC/C,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;IACrB,qBAAqB;IACrB,IAAI,CAAC,QAAQ;QAAE,OAAO,OAAO,CAAC,EAAE,CAAC;IACjC,oBAAoB;IACpB,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACpB,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;AAC9B,CAAC;AAED,SAAS,aAAa,CAAI,KAAQ,EAAE,SAAyC;IAC3E,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,qBAAqB;QACrB,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAwB,CAAC,CAAC;QAC/E,oBAAoB;IACtB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,EAA8D;IACtF,MAAM,KAAK,GAAG,YAAY,CAAC,YAAY,EAAE,EAAE,EAAE,CAAE,CAAC;IAChD,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAClB,OAAO,CAAC,SAAS,EAAE,IAAI,CAA4C,CAAC;AACtE,CAAC;AAED,SAAS,KAAK;IACZ,MAAM,KAAK,GAAG,YAAY,CAAC,YAAY,EAAE,EAAE,EAAE,CAAE,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAClB,gEAAgE;QAChE,IAAI,IAAI,GAAG,gBAAiB,CAAC,KAAK,CAAC,CAAC;QACpC,OAAO,IAAI,KAAK,IAAI,IAAI,CAAC,IAAK,CAAC,IAAI,CAAC,IAAI,IAAK,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YAC/D,IAAI,GAAG,IAAK,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QACD;;;;WAIG;QACH,MAAM,IAAI,GAAG,IAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnD,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAW,CAAC;AAChC,CAAC;AAED,mBAAmB;AACnB,MAAM,SAAS,GAAG,IAA4B,CAAC;AAC/C,MAAM,eAAe,GAAG,IAAkC,CAAC;AAC3D,MAAM,mBAAmB,GAAG,IAAsC,CAAC;AAEnE,OAAO,EACL,WAAW,EACX,UAAU,EACV,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,KAAK,EACL,mBAAmB,EACnB,eAAe,EACf,OAAO,EACP,UAAU,EACV,MAAM,EACN,QAAQ,GACT,CAAC"}
|
|
@@ -86,7 +86,7 @@ function useStateWithProfile(initialState) {
|
|
|
86
86
|
stateSetterTraceCache?.set(genericSetState, tracedSetState);
|
|
87
87
|
return [state, tracedSetState];
|
|
88
88
|
}
|
|
89
|
-
const useState = isProfiling
|
|
89
|
+
const useState = (__BACKGROUND__ && isProfiling)
|
|
90
90
|
? useStateWithProfile
|
|
91
91
|
: usePreactState;
|
|
92
92
|
/**
|
|
@@ -98,7 +98,7 @@ const useState = isProfiling
|
|
|
98
98
|
*
|
|
99
99
|
* @public
|
|
100
100
|
*/
|
|
101
|
-
const useEffect = isProfiling
|
|
101
|
+
const useEffect = (__BACKGROUND__ && isProfiling)
|
|
102
102
|
? useEffectProfiled
|
|
103
103
|
: usePreactEffect;
|
|
104
104
|
/**
|
|
@@ -113,7 +113,7 @@ const useEffect = isProfiling
|
|
|
113
113
|
*
|
|
114
114
|
* @deprecated `useLayoutEffect` in the background thread cannot offer the precise timing for reading layout information and synchronously re-render, which is different from React.
|
|
115
115
|
*/
|
|
116
|
-
const useLayoutEffect = isProfiling
|
|
116
|
+
const useLayoutEffect = (__BACKGROUND__ && isProfiling)
|
|
117
117
|
? useLayoutEffectProfiled
|
|
118
118
|
: usePreactEffect;
|
|
119
119
|
export {
|