@lynx-js/react 0.109.2 → 0.110.1

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.
Files changed (202) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/components/lib/Page.js.map +1 -1
  3. package/components/src/Page.ts +1 -1
  4. package/package.json +1 -1
  5. package/refresh/.turbo/turbo-build.log +1 -1
  6. package/runtime/lib/backgroundSnapshot.d.ts +2 -1
  7. package/runtime/lib/backgroundSnapshot.js +66 -42
  8. package/runtime/lib/backgroundSnapshot.js.map +1 -1
  9. package/runtime/lib/compat/initData.d.ts +7 -5
  10. package/runtime/lib/compat/initData.js +1 -2
  11. package/runtime/lib/compat/initData.js.map +1 -1
  12. package/runtime/lib/compat/lynxComponent.js +10 -12
  13. package/runtime/lib/compat/lynxComponent.js.map +1 -1
  14. package/runtime/lib/debug/profile.js +1 -0
  15. package/runtime/lib/debug/profile.js.map +1 -1
  16. package/runtime/lib/gesture/processGestureBagkround.d.ts +1 -1
  17. package/runtime/lib/gesture/processGestureBagkround.js +4 -1
  18. package/runtime/lib/gesture/processGestureBagkround.js.map +1 -1
  19. package/runtime/lib/gesture/types.js.map +1 -1
  20. package/runtime/lib/hooks/react.js +3 -3
  21. package/runtime/lib/hooks/react.js.map +1 -1
  22. package/runtime/lib/hooks/useLynxGlobalEventListener.d.ts +1 -1
  23. package/runtime/lib/hydrate.d.ts +1 -1
  24. package/runtime/lib/hydrate.js +5 -4
  25. package/runtime/lib/hydrate.js.map +1 -1
  26. package/runtime/lib/internal.d.ts +3 -2
  27. package/runtime/lib/internal.js +3 -2
  28. package/runtime/lib/internal.js.map +1 -1
  29. package/runtime/lib/legacy-react-runtime/index.js +1 -1
  30. package/runtime/lib/legacy-react-runtime/index.js.map +1 -1
  31. package/runtime/lib/lifecycle/destroy.js +1 -0
  32. package/runtime/lib/lifecycle/destroy.js.map +1 -1
  33. package/runtime/lib/lifecycle/event/delayEvents.js +3 -0
  34. package/runtime/lib/lifecycle/event/delayEvents.js.map +1 -1
  35. package/runtime/lib/lifecycle/event/delayLifecycleEvents.d.ts +3 -2
  36. package/runtime/lib/lifecycle/event/delayLifecycleEvents.js +1 -12
  37. package/runtime/lib/lifecycle/event/delayLifecycleEvents.js.map +1 -1
  38. package/runtime/lib/lifecycle/event/jsReady.d.ts +1 -1
  39. package/runtime/lib/lifecycle/event/jsReady.js +3 -2
  40. package/runtime/lib/lifecycle/event/jsReady.js.map +1 -1
  41. package/runtime/lib/lifecycle/patch/commit.d.ts +0 -2
  42. package/runtime/lib/lifecycle/patch/commit.js +8 -36
  43. package/runtime/lib/lifecycle/patch/commit.js.map +1 -1
  44. package/runtime/lib/lifecycle/patch/error.d.ts +8 -0
  45. package/runtime/lib/lifecycle/patch/error.js +47 -0
  46. package/runtime/lib/lifecycle/patch/error.js.map +1 -0
  47. package/runtime/lib/lifecycle/patch/isMainThreadHydrationFinished.js +3 -0
  48. package/runtime/lib/lifecycle/patch/isMainThreadHydrationFinished.js.map +1 -1
  49. package/runtime/lib/lifecycle/patch/snapshotPatch.d.ts +2 -2
  50. package/runtime/lib/lifecycle/patch/snapshotPatch.js.map +1 -1
  51. package/runtime/lib/lifecycle/patch/snapshotPatchApply.js +10 -10
  52. package/runtime/lib/lifecycle/patch/snapshotPatchApply.js.map +1 -1
  53. package/runtime/lib/lifecycle/patch/updateMainThread.d.ts +0 -1
  54. package/runtime/lib/lifecycle/patch/updateMainThread.js +7 -14
  55. package/runtime/lib/lifecycle/patch/updateMainThread.js.map +1 -1
  56. package/runtime/lib/lifecycle/ref/delay.d.ts +31 -0
  57. package/runtime/lib/lifecycle/ref/delay.js +80 -0
  58. package/runtime/lib/lifecycle/ref/delay.js.map +1 -0
  59. package/runtime/lib/lifecycle/reload.d.ts +1 -1
  60. package/runtime/lib/lifecycle/reload.js +8 -5
  61. package/runtime/lib/lifecycle/reload.js.map +1 -1
  62. package/runtime/lib/lifecycle/render.js +3 -2
  63. package/runtime/lib/lifecycle/render.js.map +1 -1
  64. package/runtime/lib/lifecycleConstant.d.ts +10 -7
  65. package/runtime/lib/lifecycleConstant.js +8 -8
  66. package/runtime/lib/lifecycleConstant.js.map +1 -1
  67. package/runtime/lib/list.d.ts +1 -45
  68. package/runtime/lib/list.js +31 -206
  69. package/runtime/lib/list.js.map +1 -1
  70. package/runtime/lib/listUpdateInfo.d.ts +38 -0
  71. package/runtime/lib/listUpdateInfo.js +152 -0
  72. package/runtime/lib/listUpdateInfo.js.map +1 -0
  73. package/runtime/lib/lynx/calledByNative.js +9 -6
  74. package/runtime/lib/lynx/calledByNative.js.map +1 -1
  75. package/runtime/lib/lynx/component.js +7 -0
  76. package/runtime/lib/lynx/component.js.map +1 -1
  77. package/runtime/lib/lynx/dynamic-js.d.ts +5 -1
  78. package/runtime/lib/lynx/dynamic-js.js +1 -0
  79. package/runtime/lib/lynx/dynamic-js.js.map +1 -1
  80. package/runtime/lib/lynx/env.d.ts +1 -1
  81. package/runtime/lib/lynx/env.js +13 -13
  82. package/runtime/lib/lynx/env.js.map +1 -1
  83. package/runtime/lib/lynx/lazy-bundle.js +7 -5
  84. package/runtime/lib/lynx/lazy-bundle.js.map +1 -1
  85. package/runtime/lib/lynx/performance.js +1 -1
  86. package/runtime/lib/lynx/performance.js.map +1 -1
  87. package/runtime/lib/lynx/runWithForce.js +3 -0
  88. package/runtime/lib/lynx/runWithForce.js.map +1 -1
  89. package/runtime/lib/lynx/tt.js +12 -33
  90. package/runtime/lib/lynx/tt.js.map +1 -1
  91. package/runtime/lib/lynx-api.d.ts +1 -1
  92. package/runtime/lib/lynx-api.js +3 -0
  93. package/runtime/lib/lynx-api.js.map +1 -1
  94. package/runtime/lib/lynx.js +6 -6
  95. package/runtime/lib/lynx.js.map +1 -1
  96. package/runtime/lib/opcodes.js +2 -1
  97. package/runtime/lib/opcodes.js.map +1 -1
  98. package/runtime/lib/pendingListUpdates.d.ts +6 -0
  99. package/runtime/lib/pendingListUpdates.js +16 -0
  100. package/runtime/lib/pendingListUpdates.js.map +1 -0
  101. package/runtime/lib/renderToOpcodes/index.js +7 -7
  102. package/runtime/lib/renderToOpcodes/index.js.map +1 -1
  103. package/runtime/lib/snapshot/dynamicPartType.d.ts +12 -0
  104. package/runtime/lib/snapshot/dynamicPartType.js +17 -0
  105. package/runtime/lib/snapshot/dynamicPartType.js.map +1 -0
  106. package/runtime/lib/snapshot/gesture.js +3 -0
  107. package/runtime/lib/snapshot/gesture.js.map +1 -1
  108. package/runtime/lib/snapshot/list.d.ts +3 -0
  109. package/runtime/lib/snapshot/list.js +23 -0
  110. package/runtime/lib/snapshot/list.js.map +1 -0
  111. package/runtime/lib/snapshot/platformInfo.d.ts +10 -0
  112. package/runtime/lib/snapshot/platformInfo.js +6 -3
  113. package/runtime/lib/snapshot/platformInfo.js.map +1 -1
  114. package/runtime/lib/snapshot/ref.d.ts +17 -9
  115. package/runtime/lib/snapshot/ref.js +64 -73
  116. package/runtime/lib/snapshot/ref.js.map +1 -1
  117. package/runtime/lib/snapshot/spread.d.ts +2 -2
  118. package/runtime/lib/snapshot/spread.js +12 -12
  119. package/runtime/lib/snapshot/spread.js.map +1 -1
  120. package/runtime/lib/snapshot/workletEvent.js +1 -1
  121. package/runtime/lib/snapshot/workletEvent.js.map +1 -1
  122. package/runtime/lib/snapshot/workletRef.d.ts +3 -3
  123. package/runtime/lib/snapshot/workletRef.js +27 -8
  124. package/runtime/lib/snapshot/workletRef.js.map +1 -1
  125. package/runtime/lib/snapshot.d.ts +9 -18
  126. package/runtime/lib/snapshot.js +46 -40
  127. package/runtime/lib/snapshot.js.map +1 -1
  128. package/runtime/lib/snapshotInstanceHydrationMap.d.ts +9 -0
  129. package/runtime/lib/snapshotInstanceHydrationMap.js +16 -0
  130. package/runtime/lib/snapshotInstanceHydrationMap.js.map +1 -0
  131. package/runtime/lib/utils.js +1 -1
  132. package/runtime/lib/utils.js.map +1 -1
  133. package/runtime/lib/worklet/workletRef.js +1 -2
  134. package/runtime/lib/worklet/workletRef.js.map +1 -1
  135. package/runtime/src/backgroundSnapshot.ts +75 -52
  136. package/runtime/src/compat/initData.ts +10 -9
  137. package/runtime/src/compat/lynxComponent.ts +12 -13
  138. package/runtime/src/debug/profile.ts +1 -0
  139. package/runtime/src/gesture/processGestureBagkround.ts +5 -1
  140. package/runtime/src/gesture/types.ts +3 -0
  141. package/runtime/src/hooks/react.ts +3 -3
  142. package/runtime/src/hooks/useLynxGlobalEventListener.ts +1 -1
  143. package/runtime/src/hydrate.ts +6 -4
  144. package/runtime/src/internal.ts +3 -2
  145. package/runtime/src/legacy-react-runtime/index.ts +1 -1
  146. package/runtime/src/lifecycle/destroy.ts +1 -0
  147. package/runtime/src/lifecycle/event/delayEvents.ts +3 -0
  148. package/runtime/src/lifecycle/event/delayLifecycleEvents.ts +7 -13
  149. package/runtime/src/lifecycle/event/jsReady.ts +4 -3
  150. package/runtime/src/lifecycle/patch/commit.ts +10 -41
  151. package/runtime/src/lifecycle/patch/error.ts +61 -0
  152. package/runtime/src/lifecycle/patch/isMainThreadHydrationFinished.ts +3 -0
  153. package/runtime/src/lifecycle/patch/snapshotPatch.ts +2 -2
  154. package/runtime/src/lifecycle/patch/snapshotPatchApply.ts +28 -28
  155. package/runtime/src/lifecycle/patch/updateMainThread.ts +7 -16
  156. package/runtime/src/lifecycle/ref/delay.ts +99 -0
  157. package/runtime/src/lifecycle/reload.ts +10 -7
  158. package/runtime/src/lifecycle/render.ts +3 -2
  159. package/runtime/src/lifecycleConstant.ts +11 -7
  160. package/runtime/src/list.ts +33 -269
  161. package/runtime/src/listUpdateInfo.ts +221 -0
  162. package/runtime/src/lynx/calledByNative.ts +15 -10
  163. package/runtime/src/lynx/component.ts +9 -0
  164. package/runtime/src/lynx/dynamic-js.ts +5 -1
  165. package/runtime/src/lynx/env.ts +17 -17
  166. package/runtime/src/lynx/lazy-bundle.ts +22 -14
  167. package/runtime/src/lynx/performance.ts +1 -1
  168. package/runtime/src/lynx/runWithForce.ts +9 -5
  169. package/runtime/src/lynx/tt.ts +19 -37
  170. package/runtime/src/lynx-api.ts +5 -2
  171. package/runtime/src/lynx.ts +7 -6
  172. package/runtime/src/opcodes.ts +2 -1
  173. package/runtime/src/pendingListUpdates.ts +18 -0
  174. package/runtime/src/renderToOpcodes/index.ts +7 -7
  175. package/runtime/src/snapshot/dynamicPartType.ts +16 -0
  176. package/runtime/src/snapshot/gesture.ts +3 -0
  177. package/runtime/src/snapshot/list.ts +36 -0
  178. package/runtime/src/snapshot/platformInfo.ts +19 -5
  179. package/runtime/src/snapshot/ref.ts +78 -87
  180. package/runtime/src/snapshot/spread.ts +47 -22
  181. package/runtime/src/snapshot/workletEvent.ts +1 -1
  182. package/runtime/src/snapshot/workletRef.ts +36 -10
  183. package/runtime/src/snapshot.ts +62 -51
  184. package/runtime/src/snapshotInstanceHydrationMap.ts +17 -0
  185. package/runtime/src/utils.ts +3 -3
  186. package/runtime/src/worklet/workletRef.ts +1 -2
  187. package/testing-library/dist/env/vitest.js +8 -6
  188. package/testing-library/dist/pure.js +4 -3
  189. package/testing-library/dist/vitest.config.js +7 -7
  190. package/transform/cjs/main.cjs +4 -0
  191. package/transform/dist/wasm.cjs +1 -1
  192. package/worklet-runtime/dist/dev.js +1 -4
  193. package/worklet-runtime/dist/main.js +0 -3
  194. package/worklet-runtime/lib/bindings/observers.d.ts +14 -1
  195. package/worklet-runtime/lib/bindings/observers.js +7 -7
  196. package/worklet-runtime/lib/bindings/observers.js.map +1 -1
  197. package/worklet-runtime/lib/hydrate.js +0 -5
  198. package/worklet-runtime/lib/hydrate.js.map +1 -1
  199. package/runtime/lib/lifecycle/delayUnmount.d.ts +0 -8
  200. package/runtime/lib/lifecycle/delayUnmount.js +0 -65
  201. package/runtime/lib/lifecycle/delayUnmount.js.map +0 -1
  202. package/runtime/src/lifecycle/delayUnmount.ts +0 -77
@@ -1,15 +1,8 @@
1
- import { nextCommitTaskId } from '../lifecycle/patch/commit.js';
2
- import { SnapshotInstance, backgroundSnapshotInstanceManager } from '../snapshot.js';
3
1
  import { workletUnRef } from './workletRef.js';
4
- let globalRefPatch = {};
5
- const globalRefsToRemove = /* @__PURE__ */ new Map();
6
- const globalRefsToSet = /* @__PURE__ */ new Map();
7
- let nextRefId = 1;
2
+ import { RefProxy } from '../lifecycle/ref/delay.js';
3
+ const refsToClear = [];
4
+ const refsToApply = [];
8
5
  function unref(snapshot, recursive) {
9
- snapshot.__ref_set?.forEach(v => {
10
- globalRefPatch[v] = null;
11
- });
12
- snapshot.__ref_set?.clear();
13
6
  snapshot.__worklet_ref_set?.forEach(v => {
14
7
  if (v) {
15
8
  workletUnRef(v);
@@ -22,74 +15,50 @@ function unref(snapshot, recursive) {
22
15
  });
23
16
  }
24
17
  }
18
+ // This function is modified from preact source code.
25
19
  function applyRef(ref, value) {
26
- // TODO: ref: exceptions thrown in user functions should be able to be caught by an Error Boundary
27
- if (typeof ref == 'function') {
28
- const hasRefUnmount = typeof ref._unmount == 'function';
29
- if (hasRefUnmount) {
30
- // @ts-ignore TS doesn't like moving narrowing checks into variables
31
- ref._unmount();
32
- }
33
- if (!hasRefUnmount || value != null) {
34
- // Store the cleanup function on the function
35
- // instance object itself to avoid shape
36
- // transitioning vnode
37
- ref._unmount = ref(value);
38
- }
39
- }
40
- else
41
- ref.current = value;
42
- }
43
- function updateBackgroundRefs(commitId) {
44
- const oldRefMap = globalRefsToRemove.get(commitId);
45
- if (oldRefMap) {
46
- globalRefsToRemove.delete(commitId);
47
- for (const ref of oldRefMap.values()) {
48
- applyRef(ref, null);
49
- }
50
- }
51
- const newRefMap = globalRefsToSet.get(commitId);
52
- if (newRefMap) {
53
- globalRefsToSet.delete(commitId);
54
- for (const sign in newRefMap) {
55
- const ref = backgroundSnapshotInstanceManager.getValueBySign(sign);
56
- if (ref) {
57
- // TODO: ref: support __REF_FIRE_IMMEDIATELY__
58
- const v = newRefMap[sign] && lynx.createSelectorQuery().selectUniqueID(newRefMap[sign]);
59
- applyRef(ref, v);
20
+ const newRef = value && new RefProxy(value);
21
+ try {
22
+ if (typeof ref == 'function') {
23
+ const hasRefUnmount = typeof ref._unmount == 'function';
24
+ if (hasRefUnmount) {
25
+ ref._unmount();
26
+ }
27
+ if (!hasRefUnmount || newRef != null) {
28
+ // Store the cleanup function on the function
29
+ // instance object itself to avoid shape
30
+ // transitioning vnode
31
+ ref._unmount = ref(newRef);
60
32
  }
61
33
  }
34
+ else
35
+ ref.current = newRef;
36
+ /* v8 ignore start */
62
37
  }
38
+ catch (e) {
39
+ lynx.reportError(e);
40
+ }
41
+ /* v8 ignore stop */
63
42
  }
64
- function updateRef(snapshot, expIndex, oldValue, elementIndex, spreadKey) {
43
+ function updateRef(snapshot, expIndex, oldValue, elementIndex) {
65
44
  const value = snapshot.__values[expIndex];
66
45
  let ref;
67
- if (!value) {
68
- ref = undefined;
69
- }
70
- else if (typeof value === 'string') {
46
+ if (typeof value === 'string') {
71
47
  ref = value;
72
48
  }
73
49
  else {
74
- ref = `${snapshot.__id}:${expIndex}:${spreadKey}`;
50
+ ref = `react-ref-${snapshot.__id}-${expIndex}`;
75
51
  }
76
52
  snapshot.__values[expIndex] = ref;
77
- if (snapshot.__elements && ref) {
78
- __SetAttribute(snapshot.__elements[elementIndex], 'has-react-ref', true);
79
- const uid = __GetElementUniqueID(snapshot.__elements[elementIndex]);
80
- globalRefPatch[ref] = uid;
81
- snapshot.__ref_set ??= new Set();
82
- snapshot.__ref_set.add(ref);
83
- }
84
- if (oldValue !== ref) {
85
- snapshot.__ref_set?.delete(oldValue);
53
+ if (snapshot.__elements && oldValue !== ref) {
54
+ if (oldValue) {
55
+ __SetAttribute(snapshot.__elements[elementIndex], oldValue, undefined);
56
+ }
57
+ if (ref) {
58
+ __SetAttribute(snapshot.__elements[elementIndex], ref, 1);
59
+ }
86
60
  }
87
61
  }
88
- function takeGlobalRefPatchMap() {
89
- const patch = globalRefPatch;
90
- globalRefPatch = {};
91
- return patch;
92
- }
93
62
  function transformRef(ref) {
94
63
  if (ref === undefined || ref === null) {
95
64
  return ref;
@@ -98,21 +67,43 @@ function transformRef(ref) {
98
67
  if ('__ref' in ref) {
99
68
  return ref;
100
69
  }
101
- return Object.defineProperty(ref, '__ref', { value: nextRefId++ });
70
+ return Object.defineProperty(ref, '__ref', { value: 1 });
102
71
  }
103
72
  throw new Error(`Elements' "ref" property should be a function, or an object created `
104
73
  + `by createRef(), but got [${typeof ref}] instead`);
105
74
  }
106
- function markRefToRemove(sign, ref) {
107
- if (!ref) {
75
+ function applyQueuedRefs() {
76
+ try {
77
+ for (const ref of refsToClear) {
78
+ applyRef(ref, null);
79
+ }
80
+ for (let i = 0; i < refsToApply.length; i += 2) {
81
+ const ref = refsToApply[i];
82
+ const value = refsToApply[i + 1];
83
+ applyRef(ref, value);
84
+ }
85
+ }
86
+ finally {
87
+ clearQueuedRefs();
88
+ }
89
+ }
90
+ function queueRefAttrUpdate(oldRef, newRef, snapshotInstanceId, expIndex) {
91
+ if (oldRef === newRef) {
108
92
  return;
109
93
  }
110
- let oldRefs = globalRefsToRemove.get(nextCommitTaskId);
111
- if (!oldRefs) {
112
- oldRefs = new Map();
113
- globalRefsToRemove.set(nextCommitTaskId, oldRefs);
94
+ if (oldRef) {
95
+ refsToClear.push(oldRef);
114
96
  }
115
- oldRefs.set(sign, ref);
97
+ if (newRef) {
98
+ refsToApply.push(newRef, [snapshotInstanceId, expIndex]);
99
+ }
100
+ }
101
+ function clearQueuedRefs() {
102
+ refsToClear.length = 0;
103
+ refsToApply.length = 0;
116
104
  }
117
- export { globalRefsToRemove, globalRefsToSet, markRefToRemove, takeGlobalRefPatchMap, transformRef, unref, updateBackgroundRefs, updateRef, };
105
+ /**
106
+ * @internal
107
+ */
108
+ export { queueRefAttrUpdate, updateRef, unref, transformRef, applyRef, applyQueuedRefs, clearQueuedRefs };
118
109
  //# sourceMappingURL=ref.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ref.js","sourceRoot":"","sources":["../../src/snapshot/ref.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ref.js","sourceRoot":"","sources":["../../src/snapshot/ref.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { BackgroundSnapshotInstance } from '../backgroundSnapshot.js';
1
+ import type { BackgroundSnapshotInstance } from '../backgroundSnapshot.js';
2
2
  import { SnapshotInstance } from '../snapshot.js';
3
- declare function updateSpread(snapshot: SnapshotInstance, index: number, oldValue: any, elementIndex: number): void;
3
+ declare function updateSpread(snapshot: SnapshotInstance, index: number, oldValue: Record<string, unknown> | undefined | null, elementIndex: number): void;
4
4
  declare function transformSpread(snapshot: BackgroundSnapshotInstance | SnapshotInstance, index: number, spread: Record<string, unknown>): Record<string, unknown>;
5
5
  export { transformSpread, updateSpread };
@@ -1,8 +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
- import { BackgroundSnapshotInstance } from '../backgroundSnapshot.js';
5
- import { ListUpdateInfoRecording, __pendingListUpdates } from '../list.js';
4
+ import { ListUpdateInfoRecording } from '../listUpdateInfo.js';
5
+ import { __pendingListUpdates } from '../pendingListUpdates.js';
6
6
  import { SnapshotInstance } from '../snapshot.js';
7
7
  import { isDirectOrDeepEqual, isEmptyObject, pick } from '../utils.js';
8
8
  import { updateEvent } from './event.js';
@@ -11,6 +11,7 @@ import { platformInfoAttributes, updateListItemPlatformInfo } from './platformIn
11
11
  import { transformRef, updateRef } from './ref.js';
12
12
  import { updateWorkletEvent } from './workletEvent.js';
13
13
  import { updateWorkletRef } from './workletRef.js';
14
+ // eslint-disable-next-line regexp/no-unused-capturing-group
14
15
  const eventRegExp = /^(([A-Za-z-]*):)?(bind|catch|capture-bind|capture-catch|global-bind)([A-Za-z]+)$/;
15
16
  const eventTypeMap = {
16
17
  bind: 'bindEvent',
@@ -29,8 +30,7 @@ const noFlattenAttributes = /* @__PURE__ */ new Set([
29
30
  function updateSpread(snapshot, index, oldValue, elementIndex) {
30
31
  oldValue ??= {};
31
32
  let newValue = snapshot.__values[index]; // compiler guarantee this must be an object;
32
- // @ts-ignore
33
- const list = snapshot.__parent;
33
+ const list = snapshot.parentNode;
34
34
  if (list?.__snapshot_def.isListHolder) {
35
35
  const oldPlatformInfo = pick(oldValue, platformInfoAttributes);
36
36
  const platformInfo = pick(newValue, platformInfoAttributes);
@@ -76,7 +76,6 @@ function updateSpread(snapshot, index, oldValue, elementIndex) {
76
76
  // collected below
77
77
  }
78
78
  else if (key === 'ref') {
79
- snapshot.__ref_set ??= new Set();
80
79
  const fakeSnapshot = {
81
80
  __values: {
82
81
  get [index]() {
@@ -89,9 +88,8 @@ function updateSpread(snapshot, index, oldValue, elementIndex) {
89
88
  },
90
89
  __id: snapshot.__id,
91
90
  __elements: snapshot.__elements,
92
- __ref_set: snapshot.__ref_set,
93
91
  };
94
- updateRef(fakeSnapshot, index, oldValue[key], elementIndex, key);
92
+ updateRef(fakeSnapshot, index, oldValue[key], elementIndex);
95
93
  }
96
94
  else if (key.endsWith(':ref')) {
97
95
  snapshot.__worklet_ref_set ??= new Set();
@@ -172,7 +170,6 @@ function updateSpread(snapshot, index, oldValue, elementIndex) {
172
170
  // collected below
173
171
  }
174
172
  else if (key === 'ref') {
175
- snapshot.__ref_set ??= new Set();
176
173
  const fakeSnapshot = {
177
174
  __values: {
178
175
  get [index]() {
@@ -185,9 +182,8 @@ function updateSpread(snapshot, index, oldValue, elementIndex) {
185
182
  },
186
183
  __id: snapshot.__id,
187
184
  __elements: snapshot.__elements,
188
- __ref_set: snapshot.__ref_set,
189
185
  };
190
- updateRef(fakeSnapshot, index, oldValue[key], elementIndex, key);
186
+ updateRef(fakeSnapshot, index, oldValue[key], elementIndex);
191
187
  }
192
188
  else if (key.endsWith(':ref')) {
193
189
  snapshot.__worklet_ref_set ??= new Set();
@@ -267,8 +263,12 @@ function transformSpread(snapshot, index, spread) {
267
263
  result['className'] = value;
268
264
  }
269
265
  else if (key === 'ref') {
270
- // @ts-ignore
271
- result[key] = transformRef(value)?.__ref;
266
+ if (__LEPUS__) {
267
+ result[key] = value ? 1 : undefined;
268
+ }
269
+ else {
270
+ result[key] = transformRef(value)?.__ref;
271
+ }
272
272
  }
273
273
  else if (typeof value === 'function') {
274
274
  result[key] = `${snapshot.__id}:${index}:${key}`;
@@ -1 +1 @@
1
- {"version":3,"file":"spread.js","sourceRoot":"","sources":["../../src/snapshot/spread.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spread.js","sourceRoot":"","sources":["../../src/snapshot/spread.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@
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 { onWorkletCtxUpdate } from '@lynx-js/react/worklet-runtime/bindings';
5
- import { SnapshotInstance } from '../snapshot.js';
6
5
  import { isMainThreadHydrationFinished } from '../lifecycle/patch/isMainThreadHydrationFinished.js';
6
+ import { SnapshotInstance } from '../snapshot.js';
7
7
  function updateWorkletEvent(snapshot, expIndex, oldValue, elementIndex, workletType, eventType, eventName) {
8
8
  if (!snapshot.__elements) {
9
9
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"workletEvent.js","sourceRoot":"","sources":["../../src/snapshot/workletEvent.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAG7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,6BAA6B,EAAE,MAAM,qDAAqD,CAAC;AAEpG,SAAS,kBAAkB,CACzB,QAA0B,EAC1B,QAAgB,EAChB,QAAiB,EACjB,YAAoB,EACpB,WAAmB,EACnB,SAAiB,EACjB,SAAiB;IAEjB,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,QAAS,CAAC,QAAQ,CAAY,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;IAC3E,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;IAEjC,IAAI,WAAW,KAAK,aAAa,EAAE,CAAC;QAClC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,6BAA6B,EAAE,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAE,CAAC,CAAC;QACxG,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE,SAAS;YACf,KAAK;SACN,CAAC;QACF,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAE,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"workletEvent.js","sourceRoot":"","sources":["../../src/snapshot/workletEvent.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAG7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,qDAAqD,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,SAAS,kBAAkB,CACzB,QAA0B,EAC1B,QAAgB,EAChB,QAAiB,EACjB,YAAoB,EACpB,WAAmB,EACnB,SAAiB,EACjB,SAAiB;IAEjB,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,QAAS,CAAC,QAAQ,CAAY,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;IAC3E,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;IAEjC,IAAI,WAAW,KAAK,aAAa,EAAE,CAAC;QAClC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,6BAA6B,EAAE,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAE,CAAC,CAAC;QACxG,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE,SAAS;YACf,KAAK;SACN,CAAC;QACF,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAE,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Element, Worklet, WorkletRefImpl } from '@lynx-js/react/worklet-runtime/bindings';
2
2
  import type { SnapshotInstance } from '../snapshot.js';
3
- declare function workletUnRef(value: Worklet | WorkletRefImpl<Element>): void;
4
- declare function updateWorkletRef(snapshot: SnapshotInstance, expIndex: number, oldValue: WorkletRefImpl<Element> | Worklet | undefined, elementIndex: number, _workletType: string): void;
5
- export { updateWorkletRef, workletUnRef };
3
+ export declare function applyRefQueue(): void;
4
+ export declare function workletUnRef(value: Worklet | WorkletRefImpl<Element>): void;
5
+ export declare function updateWorkletRef(snapshot: SnapshotInstance, expIndex: number, oldValue: WorkletRefImpl<Element> | Worklet | null | undefined, elementIndex: number, _workletType: string): void;
@@ -1,8 +1,27 @@
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
- import { runWorkletCtx, updateWorkletRef as update } from '@lynx-js/react/worklet-runtime/bindings';
5
- function workletUnRef(value) {
4
+ import { onWorkletCtxUpdate, runWorkletCtx, updateWorkletRef as update } from '@lynx-js/react/worklet-runtime/bindings';
5
+ import { isMainThreadHydrationFinished } from '../lifecycle/patch/isMainThreadHydrationFinished.js';
6
+ let mtRefQueue = [];
7
+ export function applyRefQueue() {
8
+ const queue = mtRefQueue;
9
+ mtRefQueue = [];
10
+ for (let i = 0; i < queue.length; i += 2) {
11
+ const worklet = queue[i];
12
+ const element = queue[i + 1];
13
+ if ('_wvid' in worklet) {
14
+ update(worklet, element);
15
+ }
16
+ else if ('_wkltId' in worklet) {
17
+ worklet._unmount = runWorkletCtx(worklet, [{ elementRefptr: element }]);
18
+ }
19
+ }
20
+ }
21
+ function addToRefQueue(worklet, element) {
22
+ mtRefQueue.push(worklet, element);
23
+ }
24
+ export function workletUnRef(value) {
6
25
  if ('_wvid' in value) {
7
26
  update(value, null);
8
27
  }
@@ -15,7 +34,7 @@ function workletUnRef(value) {
15
34
  }
16
35
  }
17
36
  }
18
- function updateWorkletRef(snapshot, expIndex, oldValue, elementIndex, _workletType) {
37
+ export function updateWorkletRef(snapshot, expIndex, oldValue, elementIndex, _workletType) {
19
38
  if (!snapshot.__elements) {
20
39
  return;
21
40
  }
@@ -28,12 +47,13 @@ function updateWorkletRef(snapshot, expIndex, oldValue, elementIndex, _workletTy
28
47
  // do nothing
29
48
  }
30
49
  else if (value._wvid) {
31
- update(value, snapshot.__elements[elementIndex]);
50
+ const element = snapshot.__elements[elementIndex];
51
+ addToRefQueue(value, element);
32
52
  }
33
53
  else if (value._wkltId) {
34
- value._unmount = runWorkletCtx(value, [{
35
- elementRefptr: (snapshot.__elements[elementIndex]),
36
- }]);
54
+ const element = snapshot.__elements[elementIndex];
55
+ onWorkletCtxUpdate(value, oldValue, !isMainThreadHydrationFinished, element);
56
+ addToRefQueue(value, element);
37
57
  /* v8 ignore next 3 */
38
58
  }
39
59
  else if (value._type === '__LEPUS__' || value._lepusWorkletHash) {
@@ -50,5 +70,4 @@ function updateWorkletRef(snapshot, expIndex, oldValue, elementIndex, _workletTy
50
70
  // Add an arbitrary attribute to avoid this element being layout-only
51
71
  __SetAttribute(snapshot.__elements[elementIndex], 'has-react-ref', true);
52
72
  }
53
- export { updateWorkletRef, workletUnRef };
54
73
  //# sourceMappingURL=workletRef.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workletRef.js","sourceRoot":"","sources":["../../src/snapshot/workletRef.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,aAAa,EAAE,gBAAgB,IAAI,MAAM,EAAE,MAAM,yCAAyC,CAAC;AAKpG,SAAS,YAAY,CAAC,KAAwC;IAC5D,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QACrB,MAAM,CAAC,KAAgC,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;SAAM,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QAC9B,IAAI,OAAO,KAAK,CAAC,QAAQ,IAAI,UAAU,EAAE,CAAC;YACvC,KAAK,CAAC,QAAuB,EAAE,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,QAA0B,EAC1B,QAAgB,EAChB,QAAuD,EACvD,YAAoB,EACpB,YAAoB;IAEpB,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IAED,IAAI,QAAQ,IAAI,QAAQ,CAAC,iBAAiB,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,YAAY,CAAC,QAAQ,CAAC,CAAC;QACvB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAS,CAAC,QAAQ,CAAoD,CAAC;IAC9F,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,aAAa;IACf,CAAC;SAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,KAAgC,EAAE,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAE,CAAC,CAAC;IAC/E,CAAC;SAAM,IAAK,KAAiB,CAAC,OAAO,EAAE,CAAC;QACrC,KAAiB,CAAC,QAAQ,GAAG,aAAa,CAAC,KAAgB,EAAE,CAAC;gBAC7D,aAAa,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAE,CAAQ;aAC3D,CAAC,CAAe,CAAC;QAClB,sBAAsB;IACxB,CAAC;SAAM,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,IAAK,KAAiB,CAAC,iBAAiB,EAAE,CAAC;QAC/E,6BAA6B;QAC7B,+GAA+G;IACjH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;IAC3G,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,QAAQ,CAAC,iBAAiB,KAAK,IAAI,GAAG,EAAE,CAAC;QACzC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IACD,qEAAqE;IACrE,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAE,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"workletRef.js","sourceRoot":"","sources":["../../src/snapshot/workletRef.ts"],"names":[],"mappings":"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"}
@@ -11,29 +11,20 @@
11
11
  */
12
12
  import type { Worklet, WorkletRefImpl } from '@lynx-js/react/worklet-runtime/bindings';
13
13
  import type { BackgroundSnapshotInstance } from './backgroundSnapshot.js';
14
- /**
15
- * Types of dynamic parts that can be updated in a snapshot
16
- * These are determined at compile time through static analysis
17
- */
18
- export declare const enum DynamicPartType {
19
- Attr = 0,// Regular attribute updates
20
- Spread = 1,// Spread operator in JSX
21
- Slot = 2,// Slot for component children
22
- Children = 3,// Regular children updates
23
- ListChildren = 4,// List/array children updates
24
- MultiChildren = 5
25
- }
14
+ import { DynamicPartType } from './snapshot/dynamicPartType.js';
15
+ import type { PlatformInfo } from './snapshot/platformInfo.js';
26
16
  /**
27
17
  * A snapshot definition that contains all the information needed to create and update elements
28
18
  * This is generated at compile time through static analysis of the JSX
29
19
  */
30
- interface Snapshot {
20
+ export interface Snapshot {
31
21
  create: null | ((ctx: SnapshotInstance) => FiberElement[]);
32
22
  update: null | ((ctx: SnapshotInstance, index: number, oldValue: any) => void)[];
33
23
  slot: [DynamicPartType, number][];
34
24
  isListHolder?: boolean;
35
25
  cssId?: number | undefined;
36
26
  entryName?: string | undefined;
27
+ refAndSpreadIndexes?: number[] | null;
37
28
  }
38
29
  export declare let __page: FiberElement;
39
30
  export declare let __pageId: number;
@@ -55,7 +46,7 @@ export declare const backgroundSnapshotInstanceManager: {
55
46
  getValueBySign(str: string): unknown;
56
47
  };
57
48
  export declare function entryUniqID(uniqID: string, entryName?: string): string;
58
- export declare function createSnapshot(uniqID: string, create: Snapshot['create'] | null, update: Snapshot['update'] | null, slot: Snapshot['slot'], cssId?: number, entryName?: string): string;
49
+ export declare function createSnapshot(uniqID: string, create: Snapshot['create'] | null, update: Snapshot['update'] | null, slot: Snapshot['slot'], cssId: number | undefined, entryName: string | undefined, refAndSpreadIndexes: number[] | null): string;
59
50
  export interface WithChildren {
60
51
  childNodes: WithChildren[];
61
52
  }
@@ -79,15 +70,15 @@ export declare class SnapshotInstance {
79
70
  __snapshot_def: Snapshot;
80
71
  __elements?: FiberElement[] | undefined;
81
72
  __element_root?: FiberElement | undefined;
82
- __values?: any[] | undefined;
73
+ __values?: unknown[] | undefined;
83
74
  __current_slot_index: number;
84
- __ref_set?: Set<string>;
85
75
  __worklet_ref_set?: Set<WorkletRefImpl<any> | Worklet>;
86
- __listItemPlatformInfo?: any;
76
+ __listItemPlatformInfo?: PlatformInfo;
87
77
  constructor(type: string, id?: number);
88
78
  ensureElements(): void;
89
79
  unRenderElements(): void;
90
80
  takeElements(): SnapshotInstance;
81
+ tearDown(): void;
91
82
  private __parent;
92
83
  private __firstChild;
93
84
  private __lastChild;
@@ -105,5 +96,5 @@ export declare class SnapshotInstance {
105
96
  toJSON(): Omit<SerializedSnapshotInstance, 'children'> & {
106
97
  children: SnapshotInstance[] | undefined;
107
98
  };
99
+ callUpdateIfNotDirectOrDeepEqual(index: number, oldValue: any, newValue: any): void;
108
100
  }
109
- export {};