@lynx-js/react-canary 0.114.0-canary-20250919-ec5579fc → 0.114.0-canary-20250919-e2993a0b

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # @lynx-js/react
2
2
 
3
- ## 0.114.0-canary-20250919083519-ec5579fc1c0a382fc654095b4beba2ac40887fa2
3
+ ## 0.114.0-canary-20250919093329-e2993a0b3e94ec18d4b0e582aabb3f37e6c75a85
4
4
 
5
5
  ### Minor Changes
6
6
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lynx-js/react-canary",
3
- "version": "0.114.0-canary-20250919-ec5579fc",
3
+ "version": "0.114.0-canary-20250919-e2993a0b",
4
4
  "description": "ReactLynx is a framework for developing Lynx applications with familiar React.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -2,11 +2,11 @@
2
2
  > @lynx-js/react-refresh@0.1.0 build /home/runner/work/lynx-stack/lynx-stack/packages/react/refresh
3
3
  > rslib build
4
4
 
5
- Rslib v0.13.1
5
+ Rslib v0.13.3
6
6
 
7
7
  info build started...
8
- ready built in 0.12 s
8
+ ready built in 0.19 s
9
9
 
10
10
  File (esm) Size 
11
- dist/index.js 10.1 kB
11
+ dist/index.js 11.1 kB
12
12
 
@@ -1,18 +1,29 @@
1
1
  import { Component, options } from "@lynx-js/react/internal";
2
+ const VNODE_COMPONENT = '__c';
2
3
  const NAMESPACE = '__PREFRESH__';
4
+ const COMPONENT_HOOKS = '__H';
5
+ const HOOKS_LIST = '__';
6
+ const EFFECTS_LIST = '__h';
7
+ const RERENDER_COUNT = '__r';
8
+ const CATCH_ERROR_OPTION = '__e';
9
+ const COMPONENT_DIRTY = '__d';
10
+ const COMPONENT_BITS = '__g';
11
+ const HOOK_VALUE = '__';
12
+ const HOOK_ARGS = '__H';
13
+ const HOOK_CLEANUP = '__c';
3
14
  const COMPONENT_DIRTY_BIT = 8;
4
15
  const isDirty = (vnode)=>{
5
- if (vnode["__c"] && vnode["__c"]["__d"]) return true;
6
- if (vnode["__c"] && vnode["__c"]["__g"] & COMPONENT_DIRTY_BIT) return true;
16
+ if (vnode[VNODE_COMPONENT] && vnode[VNODE_COMPONENT][COMPONENT_DIRTY]) return true;
17
+ if (vnode[VNODE_COMPONENT] && vnode[VNODE_COMPONENT][COMPONENT_BITS] & COMPONENT_DIRTY_BIT) return true;
7
18
  };
8
19
  const unsetDirty = (vnode)=>{
9
- if (vnode["__c"]) {
10
- if (vnode["__c"]["__d"]) vnode["__c"]["__d"] = false;
11
- if (vnode["__c"]["__g"]) vnode["__c"]["__g"] &= ~COMPONENT_DIRTY_BIT;
20
+ if (vnode[VNODE_COMPONENT]) {
21
+ if (vnode[VNODE_COMPONENT][COMPONENT_DIRTY]) vnode[VNODE_COMPONENT][COMPONENT_DIRTY] = false;
22
+ if (vnode[VNODE_COMPONENT][COMPONENT_BITS]) vnode[VNODE_COMPONENT][COMPONENT_BITS] &= ~COMPONENT_DIRTY_BIT;
12
23
  }
13
24
  };
14
- const oldCatchError = options["__e"];
15
- options["__e"] = (error, vnode, oldVNode, info)=>{
25
+ const oldCatchError = options[CATCH_ERROR_OPTION];
26
+ options[CATCH_ERROR_OPTION] = (error, vnode, oldVNode, info)=>{
16
27
  if (isDirty(vnode)) unsetDirty(vnode);
17
28
  if (oldCatchError) oldCatchError(error, vnode, oldVNode, info);
18
29
  };
@@ -22,7 +33,7 @@ options.debounceRendering = (process)=>{
22
33
  try {
23
34
  process();
24
35
  } catch (e) {
25
- process["__r"] = 0;
36
+ process[RERENDER_COUNT] = 0;
26
37
  throw e;
27
38
  }
28
39
  });
@@ -57,7 +68,7 @@ options.vnode = (vnode)=>{
57
68
  ]);
58
69
  }
59
70
  vnode.type = foundType;
60
- if (vnode["__c"] && 'prototype' in vnode.type && vnode.type.prototype.render) vnode["__c"].constructor = vnode.type;
71
+ if (vnode[VNODE_COMPONENT] && 'prototype' in vnode.type && vnode.type.prototype.render) vnode[VNODE_COMPONENT].constructor = vnode.type;
61
72
  }
62
73
  if (oldVnode) oldVnode(vnode);
63
74
  };
@@ -144,13 +155,13 @@ function replaceComponent(OldType, NewType, resetHookState) {
144
155
  }
145
156
  if (!vnode || !vnode.__c || !vnode.__c.__P) return;
146
157
  vnode.type = NewType;
147
- if (vnode["__c"]) {
148
- vnode["__c"].constructor = vnode.type;
158
+ if (vnode[VNODE_COMPONENT]) {
159
+ vnode[VNODE_COMPONENT].constructor = vnode.type;
149
160
  try {
150
- if (vnode["__c"] instanceof OldType) {
151
- const oldInst = vnode["__c"];
152
- const newInst = new NewType(vnode["__c"].props, vnode["__c"].context);
153
- vnode["__c"] = newInst;
161
+ if (vnode[VNODE_COMPONENT] instanceof OldType) {
162
+ const oldInst = vnode[VNODE_COMPONENT];
163
+ const newInst = new NewType(vnode[VNODE_COMPONENT].props, vnode[VNODE_COMPONENT].context);
164
+ vnode[VNODE_COMPONENT] = newInst;
154
165
  for(let i in oldInst){
155
166
  const type = typeof oldInst[i];
156
167
  if (i in newInst) {
@@ -160,41 +171,41 @@ function replaceComponent(OldType, NewType, resetHookState) {
160
171
  }
161
172
  }
162
173
  } catch (e) {
163
- vnode["__c"].constructor = NewType;
174
+ vnode[VNODE_COMPONENT].constructor = NewType;
164
175
  }
165
176
  if (resetHookState) {
166
- if (vnode["__c"]["__H"] && vnode["__c"]["__H"]["__"] && vnode["__c"]["__H"]["__"].length) vnode["__c"]["__H"]["__"].forEach((possibleEffect)=>{
167
- if (possibleEffect["__c"] && 'function' == typeof possibleEffect["__c"]) {
168
- possibleEffect["__c"]();
169
- possibleEffect["__c"] = void 0;
170
- } else if (possibleEffect["__H"] && possibleEffect["__"] && 3 === Object.keys(possibleEffect).length) {
171
- const cleanupKey = Object.keys(possibleEffect).find((key)=>"__H" !== key && "__" !== key);
177
+ if (vnode[VNODE_COMPONENT][COMPONENT_HOOKS] && vnode[VNODE_COMPONENT][COMPONENT_HOOKS][HOOKS_LIST] && vnode[VNODE_COMPONENT][COMPONENT_HOOKS][HOOKS_LIST].length) vnode[VNODE_COMPONENT][COMPONENT_HOOKS][HOOKS_LIST].forEach((possibleEffect)=>{
178
+ if (possibleEffect[HOOK_CLEANUP] && 'function' == typeof possibleEffect[HOOK_CLEANUP]) {
179
+ possibleEffect[HOOK_CLEANUP]();
180
+ possibleEffect[HOOK_CLEANUP] = void 0;
181
+ } else if (possibleEffect[HOOK_ARGS] && possibleEffect[HOOK_VALUE] && 3 === Object.keys(possibleEffect).length) {
182
+ const cleanupKey = Object.keys(possibleEffect).find((key)=>key !== HOOK_ARGS && key !== HOOK_VALUE);
172
183
  if (cleanupKey && 'function' == typeof possibleEffect[cleanupKey]) {
173
184
  possibleEffect[cleanupKey]();
174
185
  possibleEffect[cleanupKey] = void 0;
175
186
  }
176
187
  }
177
188
  });
178
- vnode["__c"]["__H"] = {
179
- ["__"]: [],
180
- ["__h"]: []
189
+ vnode[VNODE_COMPONENT][COMPONENT_HOOKS] = {
190
+ [HOOKS_LIST]: [],
191
+ [EFFECTS_LIST]: []
181
192
  };
182
- } else if (vnode["__c"]["__H"] && vnode["__c"]["__H"]["__"] && vnode["__c"]["__H"]["__"].length) {
183
- vnode["__c"]["__H"]["__"].forEach((possibleEffect)=>{
184
- if (possibleEffect["__c"] && 'function' == typeof possibleEffect["__c"]) {
185
- possibleEffect["__c"]();
186
- possibleEffect["__c"] = void 0;
187
- } else if (possibleEffect["__H"] && possibleEffect["__"] && 3 === Object.keys(possibleEffect).length) {
188
- const cleanupKey = Object.keys(possibleEffect).find((key)=>"__H" !== key && "__" !== key);
193
+ } else if (vnode[VNODE_COMPONENT][COMPONENT_HOOKS] && vnode[VNODE_COMPONENT][COMPONENT_HOOKS][HOOKS_LIST] && vnode[VNODE_COMPONENT][COMPONENT_HOOKS][HOOKS_LIST].length) {
194
+ vnode[VNODE_COMPONENT][COMPONENT_HOOKS][HOOKS_LIST].forEach((possibleEffect)=>{
195
+ if (possibleEffect[HOOK_CLEANUP] && 'function' == typeof possibleEffect[HOOK_CLEANUP]) {
196
+ possibleEffect[HOOK_CLEANUP]();
197
+ possibleEffect[HOOK_CLEANUP] = void 0;
198
+ } else if (possibleEffect[HOOK_ARGS] && possibleEffect[HOOK_VALUE] && 3 === Object.keys(possibleEffect).length) {
199
+ const cleanupKey = Object.keys(possibleEffect).find((key)=>key !== HOOK_ARGS && key !== HOOK_VALUE);
189
200
  if (cleanupKey && 'function' == typeof possibleEffect[cleanupKey]) possibleEffect[cleanupKey]();
190
201
  possibleEffect[cleanupKey] = void 0;
191
202
  }
192
203
  });
193
- vnode["__c"]["__H"]["__"].forEach((hook)=>{
204
+ vnode[VNODE_COMPONENT][COMPONENT_HOOKS][HOOKS_LIST].forEach((hook)=>{
194
205
  if (hook.__H && Array.isArray(hook.__H)) hook.__H = void 0;
195
206
  });
196
207
  }
197
- Component.prototype.forceUpdate.call(vnode["__c"]);
208
+ Component.prototype.forceUpdate.call(vnode[VNODE_COMPONENT]);
198
209
  }
199
210
  });
200
211
  }