@faiwer/react 0.9.0 → 19.0.2

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 (182) hide show
  1. package/README.md +61 -10
  2. package/dist/core/actions/applyAction.d.ts.map +1 -1
  3. package/dist/core/actions/applyAction.js +4 -0
  4. package/dist/core/actions/applyAction.js.map +1 -1
  5. package/dist/core/actions/catchError.action.d.ts +10 -0
  6. package/dist/core/actions/catchError.action.d.ts.map +1 -0
  7. package/dist/core/actions/catchError.action.js +51 -0
  8. package/dist/core/actions/catchError.action.js.map +1 -0
  9. package/dist/core/actions/dom/value.d.ts +3 -2
  10. package/dist/core/actions/dom/value.d.ts.map +1 -1
  11. package/dist/core/actions/dom/value.js +20 -13
  12. package/dist/core/actions/dom/value.js.map +1 -1
  13. package/dist/core/actions/helpers.d.ts +6 -1
  14. package/dist/core/actions/helpers.d.ts.map +1 -1
  15. package/dist/core/actions/helpers.js +20 -3
  16. package/dist/core/actions/helpers.js.map +1 -1
  17. package/dist/core/actions/remove.action.d.ts.map +1 -1
  18. package/dist/core/actions/remove.action.js +4 -3
  19. package/dist/core/actions/remove.action.js.map +1 -1
  20. package/dist/core/actions/replace.action.d.ts.map +1 -1
  21. package/dist/core/actions/replace.action.js +4 -0
  22. package/dist/core/actions/replace.action.js.map +1 -1
  23. package/dist/core/actions/scheduleEffect.action.d.ts +7 -0
  24. package/dist/core/actions/scheduleEffect.action.d.ts.map +1 -0
  25. package/dist/core/actions/scheduleEffect.action.js +8 -0
  26. package/dist/core/actions/scheduleEffect.action.js.map +1 -0
  27. package/dist/core/actions/setAttr.action.d.ts.map +1 -1
  28. package/dist/core/actions/setAttr.action.js +2 -3
  29. package/dist/core/actions/setAttr.action.js.map +1 -1
  30. package/dist/core/actions/setRef.action.d.ts.map +1 -1
  31. package/dist/core/actions/setRef.action.js +1 -2
  32. package/dist/core/actions/setRef.action.js.map +1 -1
  33. package/dist/core/classComponent.d.ts +2 -1
  34. package/dist/core/classComponent.d.ts.map +1 -1
  35. package/dist/core/classComponent.js +17 -10
  36. package/dist/core/classComponent.js.map +1 -1
  37. package/dist/core/components.d.ts +5 -3
  38. package/dist/core/components.d.ts.map +1 -1
  39. package/dist/core/components.js +17 -4
  40. package/dist/core/components.js.map +1 -1
  41. package/dist/core/devTools/devTools.d.ts +2 -0
  42. package/dist/core/devTools/devTools.d.ts.map +1 -0
  43. package/dist/core/devTools/devTools.js +43 -0
  44. package/dist/core/devTools/devTools.js.map +1 -0
  45. package/dist/core/devTools/hmr.d.ts +6 -0
  46. package/dist/core/devTools/hmr.d.ts.map +1 -0
  47. package/dist/core/devTools/hmr.js +55 -0
  48. package/dist/core/devTools/hmr.js.map +1 -0
  49. package/dist/core/devTools/toRFiber.d.ts +7 -0
  50. package/dist/core/devTools/toRFiber.d.ts.map +1 -0
  51. package/dist/core/devTools/toRFiber.js +143 -0
  52. package/dist/core/devTools/toRFiber.js.map +1 -0
  53. package/dist/core/devTools/toRJsx.d.ts +10 -0
  54. package/dist/core/devTools/toRJsx.d.ts.map +1 -0
  55. package/dist/core/devTools/toRJsx.js +62 -0
  56. package/dist/core/devTools/toRJsx.js.map +1 -0
  57. package/dist/core/devTools/types.d.ts +157 -0
  58. package/dist/core/devTools/types.d.ts.map +1 -0
  59. package/dist/core/devTools/types.js +19 -0
  60. package/dist/core/devTools/types.js.map +1 -0
  61. package/dist/core/preact/connect.d.ts +3 -0
  62. package/dist/core/preact/connect.d.ts.map +1 -0
  63. package/dist/core/preact/connect.js +162 -0
  64. package/dist/core/preact/connect.js.map +1 -0
  65. package/dist/core/preact/helpers.d.ts +12 -0
  66. package/dist/core/preact/helpers.d.ts.map +1 -0
  67. package/dist/core/preact/helpers.js +52 -0
  68. package/dist/core/preact/helpers.js.map +1 -0
  69. package/dist/core/preact/inspect.d.ts +9 -0
  70. package/dist/core/preact/inspect.d.ts.map +1 -0
  71. package/dist/core/preact/inspect.js +169 -0
  72. package/dist/core/preact/inspect.js.map +1 -0
  73. package/dist/core/preact/toVNode.d.ts +11 -0
  74. package/dist/core/preact/toVNode.d.ts.map +1 -0
  75. package/dist/core/preact/toVNode.js +150 -0
  76. package/dist/core/preact/toVNode.js.map +1 -0
  77. package/dist/core/preact/types.d.ts +180 -0
  78. package/dist/core/preact/types.d.ts.map +1 -0
  79. package/dist/core/preact/types.js +29 -0
  80. package/dist/core/preact/types.js.map +1 -0
  81. package/dist/core/preact/update.d.ts +13 -0
  82. package/dist/core/preact/update.d.ts.map +1 -0
  83. package/dist/core/preact/update.js +40 -0
  84. package/dist/core/preact/update.js.map +1 -0
  85. package/dist/core/reactNodeToFiberNode.d.ts +3 -1
  86. package/dist/core/reactNodeToFiberNode.d.ts.map +1 -1
  87. package/dist/core/reactNodeToFiberNode.js +79 -16
  88. package/dist/core/reactNodeToFiberNode.js.map +1 -1
  89. package/dist/core/reconciliation/applyActions.d.ts.map +1 -1
  90. package/dist/core/reconciliation/applyActions.js +1 -0
  91. package/dist/core/reconciliation/applyActions.js.map +1 -1
  92. package/dist/core/reconciliation/collect/fromApp.d.ts +2 -1
  93. package/dist/core/reconciliation/collect/fromApp.d.ts.map +1 -1
  94. package/dist/core/reconciliation/collect/fromApp.js +15 -1
  95. package/dist/core/reconciliation/collect/fromApp.js.map +1 -1
  96. package/dist/core/reconciliation/collect/fromChildrenPair.d.ts +2 -1
  97. package/dist/core/reconciliation/collect/fromChildrenPair.d.ts.map +1 -1
  98. package/dist/core/reconciliation/collect/fromChildrenPair.js +26 -4
  99. package/dist/core/reconciliation/collect/fromChildrenPair.js.map +1 -1
  100. package/dist/core/reconciliation/collect/fromComponent.d.ts +2 -1
  101. package/dist/core/reconciliation/collect/fromComponent.d.ts.map +1 -1
  102. package/dist/core/reconciliation/collect/fromComponent.js +25 -3
  103. package/dist/core/reconciliation/collect/fromComponent.js.map +1 -1
  104. package/dist/core/reconciliation/collect/fromFiberPair.d.ts +2 -1
  105. package/dist/core/reconciliation/collect/fromFiberPair.d.ts.map +1 -1
  106. package/dist/core/reconciliation/collect/fromFiberPair.js +6 -1
  107. package/dist/core/reconciliation/collect/fromFiberPair.js.map +1 -1
  108. package/dist/core/reconciliation/compare/areFiberNodesEq.d.ts.map +1 -1
  109. package/dist/core/reconciliation/compare/areFiberNodesEq.js +4 -0
  110. package/dist/core/reconciliation/compare/areFiberNodesEq.js.map +1 -1
  111. package/dist/core/reconciliation/effects.d.ts +2 -2
  112. package/dist/core/reconciliation/effects.d.ts.map +1 -1
  113. package/dist/core/reconciliation/effects.js +53 -4
  114. package/dist/core/reconciliation/effects.js.map +1 -1
  115. package/dist/core/reconciliation/errors/ReactError.d.ts +8 -0
  116. package/dist/core/reconciliation/errors/ReactError.d.ts.map +1 -1
  117. package/dist/core/reconciliation/errors/ReactError.js +33 -0
  118. package/dist/core/reconciliation/errors/ReactError.js.map +1 -1
  119. package/dist/core/reconciliation/errors/stack.d.ts +1 -1
  120. package/dist/core/reconciliation/errors/stack.d.ts.map +1 -1
  121. package/dist/core/reconciliation/errors/stack.js +3 -3
  122. package/dist/core/reconciliation/errors/stack.js.map +1 -1
  123. package/dist/core/reconciliation/fibers.d.ts +12 -2
  124. package/dist/core/reconciliation/fibers.d.ts.map +1 -1
  125. package/dist/core/reconciliation/fibers.js +60 -1
  126. package/dist/core/reconciliation/fibers.js.map +1 -1
  127. package/dist/core/reconciliation/invalidateFiber.js +2 -2
  128. package/dist/core/reconciliation/invalidateFiber.js.map +1 -1
  129. package/dist/core/reconciliation/mount.d.ts.map +1 -1
  130. package/dist/core/reconciliation/mount.js +32 -2
  131. package/dist/core/reconciliation/mount.js.map +1 -1
  132. package/dist/core/reconciliation/postCommit.d.ts.map +1 -1
  133. package/dist/core/reconciliation/postCommit.js +1 -0
  134. package/dist/core/reconciliation/postCommit.js.map +1 -1
  135. package/dist/core/reconciliation/render.d.ts.map +1 -1
  136. package/dist/core/reconciliation/render.js +8 -2
  137. package/dist/core/reconciliation/render.js.map +1 -1
  138. package/dist/core/reconciliation/runFiberComponents.d.ts +3 -1
  139. package/dist/core/reconciliation/runFiberComponents.d.ts.map +1 -1
  140. package/dist/core/reconciliation/runFiberComponents.js +31 -4
  141. package/dist/core/reconciliation/runFiberComponents.js.map +1 -1
  142. package/dist/debug.d.ts +2 -0
  143. package/dist/debug.d.ts.map +1 -0
  144. package/dist/debug.js +2 -0
  145. package/dist/debug.js.map +1 -0
  146. package/dist/hooks/helpers.d.ts +2 -2
  147. package/dist/hooks/helpers.d.ts.map +1 -1
  148. package/dist/hooks/index.d.ts +1 -0
  149. package/dist/hooks/index.d.ts.map +1 -1
  150. package/dist/hooks/index.js +1 -0
  151. package/dist/hooks/index.js.map +1 -1
  152. package/dist/hooks/useEffect.d.ts.map +1 -1
  153. package/dist/hooks/useEffect.js +20 -6
  154. package/dist/hooks/useEffect.js.map +1 -1
  155. package/dist/hooks/useError.d.ts +5 -0
  156. package/dist/hooks/useError.d.ts.map +1 -0
  157. package/dist/hooks/useError.js +19 -0
  158. package/dist/hooks/useError.js.map +1 -0
  159. package/dist/hooks/useReducer.d.ts +7 -0
  160. package/dist/hooks/useReducer.d.ts.map +1 -0
  161. package/dist/hooks/useReducer.js +10 -0
  162. package/dist/hooks/useReducer.js.map +1 -0
  163. package/dist/hooks/useState.d.ts.map +1 -1
  164. package/dist/hooks/useState.js +0 -1
  165. package/dist/hooks/useState.js.map +1 -1
  166. package/dist/index.d.ts +40 -0
  167. package/dist/index.d.ts.map +1 -1
  168. package/dist/index.js +22 -0
  169. package/dist/index.js.map +1 -1
  170. package/dist/types/actions.d.ts +12 -1
  171. package/dist/types/actions.d.ts.map +1 -1
  172. package/dist/types/app.d.ts +14 -1
  173. package/dist/types/app.d.ts.map +1 -1
  174. package/dist/types/component.d.ts +8 -0
  175. package/dist/types/component.d.ts.map +1 -1
  176. package/dist/types/fiber.d.ts +1 -1
  177. package/dist/types/fiber.d.ts.map +1 -1
  178. package/dist/types/hooks.d.ts +12 -2
  179. package/dist/types/hooks.d.ts.map +1 -1
  180. package/dist/types/react.d.ts +0 -4
  181. package/dist/types/react.d.ts.map +1 -1
  182. package/package.json +14 -1
package/README.md CHANGED
@@ -2,6 +2,24 @@
2
2
 
3
3
  A naive React implementation. Why? What's wrong with the existing one? Nothing. I just wanted to implement it from scratch by myself. It can be used as a drop-in replacement for some simple React apps. May require some trivial changes, though.
4
4
 
5
+ A few stats:
6
+
7
+ - ~5.5k LoC in TypeScript
8
+ - ~122 KiB: transpiled JS code
9
+ - ~44 KiB: minified by `terser`
10
+ - ~16 KiB: minified gzipped
11
+ - `preact` is about ~10 KiB
12
+
13
+ - areFiberNodesEq
14
+ // what if a context's ctx was changed? switch one context to another
15
+ // how does it work in React?
16
+
17
+ - Multiple setState work?
18
+ setNumber(n => n + 1);
19
+ setNumber(n => n + 1);
20
+ setNumber(n => n + 1);
21
+ = +3
22
+
5
23
  ## It supports
6
24
 
7
25
  - JSX
@@ -11,7 +29,7 @@ A naive React implementation. Why? What's wrong with the existing one? Nothing.
11
29
  - `useState`
12
30
  - `useRef`
13
31
  - `useMemo`, `useCallback`
14
- - `useStableCallback` (better version of `useEffectEvent`)
32
+ - `useStableCallback` (a better version of `useEffectEvent`)
15
33
  - `useLayoutEffect`, `useEffect` (improved versions)
16
34
  - `useId`
17
35
  - `useContext`
@@ -19,6 +37,8 @@ A naive React implementation. Why? What's wrong with the existing one? Nothing.
19
37
  - Context
20
38
  - Portals
21
39
  - Fragments
40
+ - Hot Module Replacement
41
+ - Preact Dev Tools (partially)
22
42
 
23
43
  ## Installation
24
44
 
@@ -49,16 +69,47 @@ const container = document.getElementById('root');
49
69
  createRoot(container).render(<App />);
50
70
  ```
51
71
 
72
+ To show your app in the Preact DevTools:
73
+
74
+ ```tsx
75
+ import { preactDevTools } from 'react/debug';
76
+ // …
77
+ createRoot(container).render(
78
+ <App />,
79
+ import.meta.env.DEV ? { preactDevTools } : undefined
80
+ ```
81
+
82
+ The 2nd argument also supports:
83
+
84
+ ```tsx
85
+ {
86
+ // If `true` the lib will make more checks and add the `__fiber` field for each
87
+ // generated DOM Node to simplify debugging
88
+ testMode: boolean,
89
+ // A hook to improve local error stack traces. Provide a method that converts
90
+ // __filename into an internal URL that your DevTools can handle.
91
+ // E.g., this worked out for Vite:
92
+ transformSource: source => ({
93
+ ...source,
94
+ fileName: source.fileName.replace(/^.+\/src/, location.origin),
95
+ }),
96
+ // And this worked out for Webpack:
97
+ transformSource: source => ({
98
+ ...source,
99
+ fileName: source.fileName.replace(
100
+ /^.+\/src/,
101
+ 'webpack://your-project-package-name/src'
102
+ ),
103
+ }),
104
+ ```
105
+
52
106
  ## TODO
53
107
 
54
- - 1st line
55
- - Error handling
56
- - `useReducer`
57
- - 2rd line
58
- - HMR
59
- - Resolve "TODO: add a test" comments
60
- - `runComponent` is not pure. Some hooks change the state during the rendering phase. Fix it.
61
- - leverage `isStaticChildren` in `jsx()`
108
+ - JSX: Math namespace
109
+ - `<Lazy/>`
110
+ - Make all hooks pure
111
+ - Resolve "TODO: add a test" comments
112
+ - leverage `isStaticChildren` in `jsx()`
62
113
 
63
114
  ## It does NOT support
64
115
 
@@ -91,5 +142,5 @@ createRoot(container).render(<App />);
91
142
  - It renders HTML-comment for nullable nodes and some fragments. Why? It helps a lot to keep the reconciliation algorithm simple. Took this idea from Angular.
92
143
  - No synthetic events. I don't see any reason to implement them.
93
144
  - All components are memoized by default. Why not?
94
- - No custom DOM-related code. This library is supposed to be simple and silly. Whereas React-DOM lib is huge.
145
+ - Not too much custom DOM-related code. This library is supposed to be simple and silly. Whereas React-DOM lib is huge.
95
146
  - No modern fiber-driven stuff like `<Suspense>`, `cacheSignal`, or `use`. Too much work. It took React many years to cook it well :)
@@ -1 +1 @@
1
- {"version":3,"file":"applyAction.d.ts","sourceRoot":"","sources":["../../../src/core/actions/applyAction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAazD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,0BAGvB,CAAC"}
1
+ {"version":3,"file":"applyAction.d.ts","sourceRoot":"","sources":["../../../src/core/actions/applyAction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAezD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,0BAGvB,CAAC"}
@@ -9,6 +9,8 @@ import { removeAction } from './remove.action';
9
9
  import { replaceAction } from './replace.action';
10
10
  import { relayoutAction } from './relayout.action';
11
11
  import { createContainerAction } from './createContainer.action';
12
+ import { scheduleEffectAction } from './scheduleEffect.action';
13
+ import { catchErrorAction } from './catchError.action';
12
14
  /**
13
15
  * The commit phase of the rendering process contains two parts:
14
16
  * - Applying DOM changes
@@ -33,5 +35,7 @@ const actionHandlers = {
33
35
  Remove: removeAction,
34
36
  Replace: replaceAction,
35
37
  Relayout: relayoutAction,
38
+ ScheduleEffect: scheduleEffectAction,
39
+ CatchError: catchErrorAction,
36
40
  };
37
41
  //# sourceMappingURL=applyAction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"applyAction.js","sourceRoot":"","sources":["../../../src/core/actions/applyAction.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAc,EAAQ,EAAE,CAAC;IACnD,kCAAkC;IAClC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAa,CAAC,CAAC;AAAA,CAC1D,CAAC;AAEF,MAAM,cAAc,GAKhB;IACF,SAAS,EAAE,eAAe;IAC1B,UAAU,EAAE,gBAAgB;IAC5B,aAAa,EAAE,mBAAmB;IAClC,eAAe,EAAE,qBAAqB;IACtC,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,aAAa;IACtB,OAAO,EAAE,aAAa;IACtB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,cAAc;CACzB,CAAC"}
1
+ {"version":3,"file":"applyAction.js","sourceRoot":"","sources":["../../../src/core/actions/applyAction.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAc,EAAQ,EAAE,CAAC;IACnD,kCAAkC;IAClC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAa,CAAC,CAAC;AAAA,CAC1D,CAAC;AAEF,MAAM,cAAc,GAKhB;IACF,SAAS,EAAE,eAAe;IAC1B,UAAU,EAAE,gBAAgB;IAC5B,aAAa,EAAE,mBAAmB;IAClC,eAAe,EAAE,qBAAqB;IACtC,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,aAAa;IACtB,OAAO,EAAE,aAAa;IACtB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,cAAc;IACxB,cAAc,EAAE,oBAAoB;IACpC,UAAU,EAAE,gBAAgB;CAC7B,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type FiberNode } from '../../types';
2
+ import type { CatchErrorAction } from '../../types/actions';
3
+ /**
4
+ * During the current render one of the components failed. This is the error
5
+ * handler for the closest error boundary component.
6
+ * - It removes the existing content
7
+ * - Runs the error handler
8
+ */
9
+ export declare function catchErrorAction(fiber: FiberNode, { error }: Pick<CatchErrorAction, 'error'>): void;
10
+ //# sourceMappingURL=catchError.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catchError.action.d.ts","sourceRoot":"","sources":["../../../src/core/actions/catchError.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAMnE;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,EAChB,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,QA4C3C"}
@@ -0,0 +1,51 @@
1
+ import { removeAction } from './remove.action';
2
+ import { scheduleEffect } from '../reconciliation/effects';
3
+ import { tryFixContainerType } from './relayout.action';
4
+ import { isFiberDead } from '../reconciliation/fibers';
5
+ import { getAppByFiber } from '../reconciliation/app';
6
+ import { ReactError } from '../reconciliation/errors/ReactError';
7
+ /**
8
+ * During the current render one of the components failed. This is the error
9
+ * handler for the closest error boundary component.
10
+ * - It removes the existing content
11
+ * - Runs the error handler
12
+ */
13
+ export function catchErrorAction(fiber, { error }) {
14
+ scheduleEffect(fiber, () => {
15
+ const compFiber = fiber;
16
+ // Disable this node as an error boundary for one render cycle to avoid
17
+ // an eternal loop if the sequential render again leads to an error.
18
+ compFiber.data.isErrorBoundary = false;
19
+ const info = {
20
+ componentStack: error.fullStack,
21
+ };
22
+ const handlers = compFiber.data.hooks.filter((h) => h.type === 'error');
23
+ for (const { fn } of handlers) {
24
+ fn(error, info);
25
+ }
26
+ if (!getAppByFiber(fiber).invalidatedComponents.has(compFiber)) {
27
+ throw new ReactError(compFiber, `ErrorBoundaries must update their state on error`);
28
+ }
29
+ // Recover `isErrorBoundary` after a sucessful rerender.
30
+ scheduleEffect(fiber, () => {
31
+ if (!isFiberDead(compFiber)) {
32
+ compFiber.data.isErrorBoundary = true;
33
+ }
34
+ }, 'afterActions');
35
+ }, 'normal');
36
+ if (fiber.element) {
37
+ killChildrenOnError(fiber);
38
+ }
39
+ // else: fiber.children === [nullNode].
40
+ }
41
+ const killChildrenOnError = (fiber) => {
42
+ // Not the 1st render. Nodes are mounted. Must be removed.
43
+ for (const [idx, child] of fiber.children.entries()) {
44
+ removeAction(child, { last: idx === fiber.children.length - 1 });
45
+ }
46
+ fiber.children = [];
47
+ if (fiber.parent.type === 'component') {
48
+ tryFixContainerType(fiber.parent);
49
+ }
50
+ };
51
+ //# sourceMappingURL=catchError.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catchError.action.js","sourceRoot":"","sources":["../../../src/core/actions/catchError.action.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAgB,EAChB,EAAE,KAAK,EAAmC,EAC1C;IACA,cAAc,CACZ,KAAK,EACL,GAAG,EAAE,CAAC;QACJ,MAAM,SAAS,GAAG,KAA2B,CAAC;QAC9C,uEAAuE;QACvE,oEAAoE;QACpE,SAAS,CAAC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAEvC,MAAM,IAAI,GAAc;YACtB,cAAc,EAAE,KAAK,CAAC,SAAS;SAChC,CAAC;QAEF,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,KAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QACzE,KAAK,MAAM,EAAE,EAAE,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC9B,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,UAAU,CAClB,SAAS,EACT,kDAAkD,CACnD,CAAC;QACJ,CAAC;QAED,wDAAwD;QACxD,cAAc,CACZ,KAAK,EACL,GAAG,EAAE,CAAC;YACJ,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5B,SAAS,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YACxC,CAAC;QAAA,CACF,EACD,cAAc,CACf,CAAC;IAAA,CACH,EACD,QAAQ,CACT,CAAC;IAEF,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,uCAAuC;AADtC,CAEF;AAED,MAAM,mBAAmB,GAAG,CAAC,KAAgB,EAAE,EAAE,CAAC;IAChD,0DAA0D;IAC1D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QACpD,YAAY,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,KAAK,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;IACpB,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACtC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;AAAA,CACF,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { App, TagAttrValue, TagFiberNode } from '../../../types';
1
+ import type { FiberNode, TagAttrValue, TagFiberNode } from '../../../types';
2
2
  /**
3
3
  * Original React has a very special behavior for the "onChange" event:
4
4
  * - It treats "onChange" as an "onInput" event for form controls
@@ -11,7 +11,8 @@ import type { App, TagAttrValue, TagFiberNode } from '../../../types';
11
11
  * element to intercept and track all value changes
12
12
  */
13
13
  export declare const setValueAttr: (fiber: TagFiberNode, attrName: "checked" | "value", attrValue: TagAttrValue) => void;
14
- export declare const changeControlValue: (app: App, element: FormControl, attrName: "checked" | "value", valueRaw: unknown, restoreCursor?: boolean) => void;
14
+ export declare const changeControlValue: (fiber: FiberNode, element: FormControl, attrName: "checked" | "value", valueRaw: unknown, restoreCursor?: boolean) => void;
15
15
  type FormControl = HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement;
16
+ export declare const updateValueStore: (fiber: FiberNode) => void;
16
17
  export {};
17
18
  //# sourceMappingURL=value.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../../../src/core/actions/dom/value.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAI1E;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,uFAsCxB,CAAC;AAmBF,eAAO,MAAM,kBAAkB,qHAiC9B,CAAC;AA2KF,KAAK,WAAW,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,iBAAiB,CAAC"}
1
+ {"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../../../src/core/actions/dom/value.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,SAAS,EACT,YAAY,EACZ,YAAY,EACb,MAAM,oBAAoB,CAAC;AAI5B;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,uFAsCxB,CAAC;AA2BF,eAAO,MAAM,kBAAkB,6HAiC9B,CAAC;AAgLF,KAAK,WAAW,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;AAE9E,eAAO,MAAM,gBAAgB,4BAK5B,CAAC"}
@@ -20,7 +20,7 @@ export const setValueAttr = (fiber, attrName, attrValue) => {
20
20
  // `displaceFiber`, so this assumption should hold
21
21
  const { events } = fiber.data;
22
22
  if (!events[VALUE_EVENT]) {
23
- const store = setUpStore(app, element, attrName);
23
+ const store = setUpStore(fiber, element, attrName);
24
24
  const onInput = createOnInputHandler(app, element, attrName, store);
25
25
  events[VALUE_EVENT] = {
26
26
  name: 'input',
@@ -39,19 +39,20 @@ export const setValueAttr = (fiber, attrName, attrValue) => {
39
39
  }
40
40
  };
41
41
  const VALUE_EVENT = 'x:input';
42
- const setUpStore = (app, element, attrName) => {
42
+ const setUpStore = (fiber, element, attrName) => {
43
43
  const store = {
44
+ fiber,
44
45
  prev: null,
45
46
  cursor: null,
46
- set: changeControlValue.bind(null, app, element, attrName),
47
+ set: (valueRaw, restoreCursor) => changeControlValue(store.fiber, element, attrName, valueRaw, restoreCursor),
47
48
  };
48
49
  stores.set(element, store);
49
50
  return store;
50
51
  };
51
- export const changeControlValue = (app, element, attrName, valueRaw, restoreCursor = false) => {
52
+ export const changeControlValue = (fiber, element, attrName, valueRaw, restoreCursor = false) => {
52
53
  const value = toNativeValue(attrName, valueRaw);
53
54
  if (element instanceof HTMLSelectElement) {
54
- setSelectValue(app, element, value);
55
+ setSelectValue(fiber, element, value);
55
56
  return;
56
57
  }
57
58
  if (element[attrName] === value) {
@@ -76,7 +77,7 @@ const createOnInputHandler = (app, element, attrName, store) => {
76
77
  element.type === 'radio' &&
77
78
  element.name) {
78
79
  // Radio buttons require special group-based handling
79
- onRadioClick(app, element);
80
+ onRadioClick(app, store.fiber, element);
80
81
  return;
81
82
  }
82
83
  const newValue = element[attrName];
@@ -84,7 +85,7 @@ const createOnInputHandler = (app, element, attrName, store) => {
84
85
  return; // Uncontrolled component - allow changes
85
86
  if (store.prev === newValue)
86
87
  return; // No actual change occurred
87
- scheduleResetValueEffect(app, () => {
88
+ scheduleResetValueEffect(store.fiber, () => {
88
89
  // The following render could make the control uncontrolled. In such a
89
90
  // case we shouldn't restore the value. Now it's in free flight.
90
91
  if (store.prev == null)
@@ -116,8 +117,8 @@ const createOnInputHandler = (app, element, attrName, store) => {
116
117
  * radio buttons in the group must have "checked=false", even if they don't
117
118
  * explicitly define a "checked" attribute (React assumes they do).
118
119
  */
119
- const onRadioClick = (app, element) => {
120
- scheduleResetValueEffect(app, () => {
120
+ const onRadioClick = (app, fiber, element) => {
121
+ scheduleResetValueEffect(fiber, () => {
121
122
  // Find all radio buttons in the same group (same name within the form)
122
123
  const form = element.closest('form') ?? app.root.element;
123
124
  const radios = form.querySelectorAll(`input[type="radio"]`);
@@ -161,7 +162,7 @@ const toNativeValue = (attrName, newValue) => attrName === 'checked'
161
162
  * where the new value hasn't been reset yet. This function ensures the callback
162
163
  * runs at the appropriate time to restore the controlled value.
163
164
  */
164
- const scheduleResetValueEffect = (app, fn) => {
165
+ const scheduleResetValueEffect = (fiber, fn) => {
165
166
  let executed = false;
166
167
  requestAnimationFrame(() => {
167
168
  if (!executed) {
@@ -169,7 +170,7 @@ const scheduleResetValueEffect = (app, fn) => {
169
170
  fn();
170
171
  }
171
172
  });
172
- scheduleEffect(app, () => {
173
+ scheduleEffect(fiber, () => {
173
174
  if (!executed) {
174
175
  executed = true;
175
176
  fn();
@@ -186,11 +187,11 @@ const scheduleResetValueEffect = (app, fn) => {
186
187
  * So, how do we handle it without `value`? We just need to update `selected`
187
188
  * for each of the <option/>s.
188
189
  */
189
- const setSelectValue = (app, element, value) => {
190
+ const setSelectValue = (fiber, element, value) => {
190
191
  // Unfortunately, we can't do it right away, because:
191
192
  // 1. on the 1st render we have no inner options here yet
192
193
  // 2. on subsequent render the inner options may not be fully updated yet.
193
- scheduleResetValueEffect(app, () => {
194
+ scheduleResetValueEffect(fiber, () => {
194
195
  const arr = Array.isArray(value) ? value : [value];
195
196
  const set = new Set(arr.map((v) => String(v)));
196
197
  for (const option of element.options) {
@@ -201,4 +202,10 @@ const setSelectValue = (app, element, value) => {
201
202
  }
202
203
  });
203
204
  };
205
+ export const updateValueStore = (fiber) => {
206
+ const store = stores.get(fiber.element);
207
+ if (store) {
208
+ store.fiber = fiber;
209
+ }
210
+ };
204
211
  //# sourceMappingURL=value.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"value.js","sourceRoot":"","sources":["../../../../src/core/actions/dom/value.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"value.js","sourceRoot":"","sources":["../../../../src/core/actions/dom/value.ts"],"names":[],"mappings":"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"}
@@ -46,5 +46,10 @@ export declare const emptyFiberNode: (fiber: FiberNode) => void;
46
46
  * Calls the given fn against every single child in the fiben fiber tree.
47
47
  * Return `false` to stop traversing right away.
48
48
  */
49
- export declare const traverseFiberTree: (fiber: FiberNode, fn: (fiber: FiberNode) => void | boolean) => boolean;
49
+ export declare const traverseFiberTree: (fiber: FiberNode, fn: (fiber: FiberNode) => void | "SKIP_CHILDREN" | boolean) => boolean;
50
+ /**
51
+ * Do not use this method anywhere where performance matters. O(n).
52
+ */
53
+ export declare const findFiberById: (root: FiberNode, id: number) => FiberNode | null;
54
+ export declare const SKIP_CHILDREN = "SKIP_CHILDREN";
50
55
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/core/actions/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,YAAY,EAClB,MAAM,oBAAoB,CAAC;AAc5B;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,2BAAmD,CAAC;AAE5E;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,+BAa5B,CAAC;AAEF,eAAO,MAAM,SAAS,gCAMrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,uDAUpC,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,uBAAuB,+BAOnC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,iCAuC5B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,mDAsBpB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,4BAW1B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,yEAe7B,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/core/actions/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,YAAY,EAClB,MAAM,oBAAoB,CAAC;AAa5B;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,2BAAmD,CAAC;AAE5E;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,+BAa5B,CAAC;AAEF,eAAO,MAAM,SAAS,gCAMrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,uDAUpC,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,uBAAuB,+BAOnC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,iCAuC5B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,mDAsBpB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,4BAW1B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,2FAmB7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,mDAazB,CAAC;AAEF,eAAO,MAAM,aAAa,kBAAkB,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import { isEmptyContainer, isSingleChildContainer, isAutoContainer, } from '../compact';
2
2
  import { isFiberDead, NULL_FIBER } from '../reconciliation/fibers';
3
3
  import { scheduleEffect } from '../reconciliation/effects';
4
- import { getAppByFiber } from '../reconciliation/app';
5
4
  import { nullthrowsForFiber, ReactError, } from '../reconciliation/errors/ReactError';
6
5
  /**
7
6
  * Determines if a prop name represents an event handler by checking if it
@@ -109,7 +108,7 @@ export const unsetRef = (fiber, immediate) => {
109
108
  // It can be a setter (e.g., <div onRef={setContainer}/>). Since we
110
109
  // shouldn't allow invalidating components during commit phase we need
111
110
  // to schedule an async update.
112
- scheduleEffect(getAppByFiber(fiber), () => {
111
+ scheduleEffect(fiber, () => {
113
112
  ref(null);
114
113
  }, 'refsUnmount');
115
114
  }
@@ -138,9 +137,13 @@ export const emptyFiberNode = (fiber) => {
138
137
  * Return `false` to stop traversing right away.
139
138
  */
140
139
  export const traverseFiberTree = (fiber, fn) => {
141
- if (fn(fiber) === false) {
140
+ const result = fn(fiber);
141
+ if (result === false) {
142
142
  return false;
143
143
  }
144
+ else if (result === SKIP_CHILDREN) {
145
+ return true;
146
+ }
144
147
  for (const child of fiber.children) {
145
148
  if (traverseFiberTree(child, fn) === false) {
146
149
  return false;
@@ -148,4 +151,18 @@ export const traverseFiberTree = (fiber, fn) => {
148
151
  }
149
152
  return true;
150
153
  };
154
+ /**
155
+ * Do not use this method anywhere where performance matters. O(n).
156
+ */
157
+ export const findFiberById = (root, id) => {
158
+ let result = null;
159
+ traverseFiberTree(root, (fiber) => {
160
+ if (fiber.id === id) {
161
+ result = fiber;
162
+ return false; // Early exit.
163
+ }
164
+ });
165
+ return result;
166
+ };
167
+ export const SKIP_CHILDREN = 'SKIP_CHILDREN';
151
168
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/core/actions/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/core/actions/helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"remove.action.d.ts","sourceRoot":"","sources":["../../../src/core/actions/remove.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EAEf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI/D;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,EAChB,EAAE,SAAS,EAAE,IAAI,EAAE,GAAE,IAAI,CAAC,YAAY,EAAE,WAAW,GAAG,MAAM,CAAM,QA2CnE"}
1
+ {"version":3,"file":"remove.action.d.ts","sourceRoot":"","sources":["../../../src/core/actions/remove.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EAEf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAK/D;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,EAChB,EAAE,SAAS,EAAE,IAAI,EAAE,GAAE,IAAI,CAAC,YAAY,EAAE,WAAW,GAAG,MAAM,CAAM,QA2CnE"}
@@ -1,17 +1,17 @@
1
1
  import { emptyFiberNode, unsetRef } from './helpers';
2
2
  import { ReactError } from '../reconciliation/errors/ReactError';
3
3
  import { buildComment } from '../reconciliation/comments';
4
+ import { getAppByFiber } from '../reconciliation/app';
4
5
  /**
5
6
  * This action can be called directly (<div/> -> []), or indirectly (<div/> ->
6
7
  * false) from the replace action. `replaced` is `true` in the 2nd scenario.
7
8
  */
8
9
  export function removeAction(fiber, { immediate, last } = {}) {
9
- const lastChild = fiber.children.at(-1);
10
- for (const child of fiber.children) {
10
+ for (const [idx, child] of fiber.children.entries()) {
11
11
  // Recursively remove all children before removing the parent node. This is
12
12
  // critical for components with effects - we must run cleanup effects
13
13
  // before removing their parent nodes.
14
- removeAction(child, { immediate, last: child === lastChild });
14
+ removeAction(child, { immediate, last: idx === fiber.children.length - 1 });
15
15
  }
16
16
  if (fiber.type === 'component') {
17
17
  destroyHooks(fiber);
@@ -39,6 +39,7 @@ export function removeAction(fiber, { immediate, last } = {}) {
39
39
  if (fiber.ref) {
40
40
  unsetRef(fiber, !!immediate);
41
41
  }
42
+ getAppByFiber(fiber).preact?.api.unmount(fiber);
42
43
  emptyFiberNode(fiber); // Help with garbage collection.
43
44
  }
44
45
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"remove.action.js","sourceRoot":"","sources":["../../../src/core/actions/remove.action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remove.action.js","sourceRoot":"","sources":["../../../src/core/actions/remove.action.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"replace.action.d.ts","sourceRoot":"","sources":["../../../src/core/actions/replace.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EAEf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAKhE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,aAAa,QAgB1E"}
1
+ {"version":3,"file":"replace.action.d.ts","sourceRoot":"","sources":["../../../src/core/actions/replace.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EAEf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAMhE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,aAAa,QAgB1E"}
@@ -1,6 +1,7 @@
1
1
  import { getFiberDomNodes } from './helpers';
2
2
  import { removeAction } from './remove.action';
3
3
  import { nullthrowsForFiber } from '../reconciliation/errors/ReactError';
4
+ import { updateValueStore } from './dom/value';
4
5
  /**
5
6
  * Handles fiber replacement when a component with the same key renders a
6
7
  * completely different node. This happens when the `type`, `tag`, or
@@ -52,6 +53,9 @@ const displaceFiber = (before, after) => {
52
53
  else if (after.role === 'context') {
53
54
  updateContext(before, after);
54
55
  }
56
+ else if (after.type === 'tag') {
57
+ updateValueStore(before);
58
+ }
55
59
  // For debug purposes mark dead nodes with a negative number.
56
60
  after.id = -after.id;
57
61
  };
@@ -1 +1 @@
1
- {"version":3,"file":"replace.action.js","sourceRoot":"","sources":["../../../src/core/actions/replace.action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replace.action.js","sourceRoot":"","sources":["../../../src/core/actions/replace.action.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type FiberNode } from '../../types';
2
+ import type { ScheduleEffectAction } from '../../types/actions';
3
+ /**
4
+ * Adds the given effect to the appropriate effect queue.
5
+ */
6
+ export declare function scheduleEffectAction(fiber: FiberNode, { fn, mode }: Pick<ScheduleEffectAction, 'fn' | 'mode'>): void;
7
+ //# sourceMappingURL=scheduleEffect.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduleEffect.action.d.ts","sourceRoot":"","sources":["../../../src/core/actions/scheduleEffect.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGvE;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,GAAG,MAAM,CAAC,QAGxD"}
@@ -0,0 +1,8 @@
1
+ import { scheduleEffect } from '../reconciliation/effects';
2
+ /**
3
+ * Adds the given effect to the appropriate effect queue.
4
+ */
5
+ export function scheduleEffectAction(fiber, { fn, mode }) {
6
+ scheduleEffect(fiber, fn, mode);
7
+ }
8
+ //# sourceMappingURL=scheduleEffect.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduleEffect.action.js","sourceRoot":"","sources":["../../../src/core/actions/scheduleEffect.action.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAgB,EAChB,EAAE,EAAE,EAAE,IAAI,EAA6C,EACvD;IACA,cAAc,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AAAA,CACjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"setAttr.action.d.ts","sourceRoot":"","sources":["../../../src/core/actions/setAttr.action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAchE;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,EAChB,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC,QA+C9E"}
1
+ {"version":3,"file":"setAttr.action.d.ts","sourceRoot":"","sources":["../../../src/core/actions/setAttr.action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAahE;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,EAChB,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC,QA+C9E"}
@@ -4,7 +4,6 @@ import { setTagStyles } from './dom/css';
4
4
  import { setEventHandler } from './dom/events';
5
5
  import { setHtmlAttribute } from './dom/attributes';
6
6
  import { changeControlValue, setValueAttr } from './dom/value';
7
- import { getAppByFiber } from '../reconciliation/app';
8
7
  import { nullthrowsForFiber, ReactError, } from '../reconciliation/errors/ReactError';
9
8
  import { isSetHtml } from '../reconciliation/typeGuards';
10
9
  /**
@@ -25,7 +24,7 @@ export function setAttrAction(fiber, { name, value, creation }) {
25
24
  }
26
25
  else if (name === 'defaultChecked' && element instanceof HTMLInputElement) {
27
26
  if (creation) {
28
- changeControlValue(getAppByFiber(fiber), element, 'checked', value);
27
+ changeControlValue(fiber, element, 'checked', value);
29
28
  }
30
29
  }
31
30
  else if (name === 'defaultValue' &&
@@ -33,7 +32,7 @@ export function setAttrAction(fiber, { name, value, creation }) {
33
32
  element instanceof HTMLTextAreaElement ||
34
33
  element instanceof HTMLSelectElement)) {
35
34
  if (creation) {
36
- changeControlValue(getAppByFiber(fiber), element, 'value', value);
35
+ changeControlValue(fiber, element, 'value', value);
37
36
  }
38
37
  }
39
38
  else if (isEventName(name) || name in fiber.data.events) {
@@ -1 +1 @@
1
- {"version":3,"file":"setAttr.action.js","sourceRoot":"","sources":["../../../src/core/actions/setAttr.action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setAttr.action.js","sourceRoot":"","sources":["../../../src/core/actions/setAttr.action.ts"],"names":[],"mappings":"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"}