kiru 0.54.3 → 1.0.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 (335) hide show
  1. package/dist/{appContext.d.ts → appHandle.d.ts} +4 -4
  2. package/dist/appHandle.d.ts.map +1 -0
  3. package/dist/{appContext.js → appHandle.js} +12 -9
  4. package/dist/appHandle.js.map +1 -0
  5. package/dist/components/derive.d.ts +10 -8
  6. package/dist/components/derive.d.ts.map +1 -1
  7. package/dist/components/derive.js +50 -47
  8. package/dist/components/derive.js.map +1 -1
  9. package/dist/components/index.d.ts +0 -1
  10. package/dist/components/index.d.ts.map +1 -1
  11. package/dist/components/index.js +0 -1
  12. package/dist/components/index.js.map +1 -1
  13. package/dist/components/lazy.d.ts.map +1 -1
  14. package/dist/components/lazy.js +5 -4
  15. package/dist/components/lazy.js.map +1 -1
  16. package/dist/components/portal.d.ts.map +1 -1
  17. package/dist/components/portal.js +2 -3
  18. package/dist/components/portal.js.map +1 -1
  19. package/dist/components/transition.d.ts +3 -2
  20. package/dist/components/transition.d.ts.map +1 -1
  21. package/dist/components/transition.js +29 -26
  22. package/dist/components/transition.js.map +1 -1
  23. package/dist/constants.d.ts +1 -5
  24. package/dist/constants.d.ts.map +1 -1
  25. package/dist/constants.js +1 -5
  26. package/dist/constants.js.map +1 -1
  27. package/dist/context.d.ts +1 -1
  28. package/dist/context.d.ts.map +1 -1
  29. package/dist/context.js +25 -19
  30. package/dist/context.js.map +1 -1
  31. package/dist/devtools.d.ts +7 -0
  32. package/dist/devtools.d.ts.map +1 -0
  33. package/dist/devtools.js +15 -0
  34. package/dist/devtools.js.map +1 -0
  35. package/dist/dom.d.ts.map +1 -1
  36. package/dist/dom.js +25 -58
  37. package/dist/dom.js.map +1 -1
  38. package/dist/globalContext.d.ts +15 -16
  39. package/dist/globalContext.d.ts.map +1 -1
  40. package/dist/globalContext.js +36 -46
  41. package/dist/globalContext.js.map +1 -1
  42. package/dist/globals.d.ts +1 -4
  43. package/dist/globals.d.ts.map +1 -1
  44. package/dist/globals.js +1 -4
  45. package/dist/globals.js.map +1 -1
  46. package/dist/headlessRender.d.ts +6 -0
  47. package/dist/headlessRender.d.ts.map +1 -0
  48. package/dist/{recursiveRender.js → headlessRender.js} +17 -16
  49. package/dist/headlessRender.js.map +1 -0
  50. package/dist/hmr.d.ts +5 -7
  51. package/dist/hmr.d.ts.map +1 -1
  52. package/dist/hmr.js +27 -32
  53. package/dist/hmr.js.map +1 -1
  54. package/dist/hooks/index.d.ts +3 -14
  55. package/dist/hooks/index.d.ts.map +1 -1
  56. package/dist/hooks/index.js +3 -14
  57. package/dist/hooks/index.js.map +1 -1
  58. package/dist/hooks/onBeforeMount.d.ts +9 -0
  59. package/dist/hooks/onBeforeMount.d.ts.map +1 -0
  60. package/dist/hooks/onBeforeMount.js +12 -0
  61. package/dist/hooks/onBeforeMount.js.map +1 -0
  62. package/dist/hooks/onCleanup.d.ts +8 -0
  63. package/dist/hooks/onCleanup.d.ts.map +1 -0
  64. package/dist/hooks/onCleanup.js +15 -0
  65. package/dist/hooks/onCleanup.js.map +1 -0
  66. package/dist/hooks/onMount.d.ts +9 -0
  67. package/dist/hooks/onMount.d.ts.map +1 -0
  68. package/dist/hooks/onMount.js +12 -0
  69. package/dist/hooks/onMount.js.map +1 -0
  70. package/dist/hooks/utils.d.ts +2 -62
  71. package/dist/hooks/utils.d.ts.map +1 -1
  72. package/dist/hooks/utils.js +22 -144
  73. package/dist/hooks/utils.js.map +1 -1
  74. package/dist/index.d.ts +8 -4
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +8 -6
  77. package/dist/index.js.map +1 -1
  78. package/dist/profiling.d.ts +15 -14
  79. package/dist/profiling.d.ts.map +1 -1
  80. package/dist/profiling.js +9 -4
  81. package/dist/profiling.js.map +1 -1
  82. package/dist/reconciler.d.ts.map +1 -1
  83. package/dist/reconciler.js +12 -25
  84. package/dist/reconciler.js.map +1 -1
  85. package/dist/ref.d.ts +4 -0
  86. package/dist/ref.d.ts.map +1 -0
  87. package/dist/ref.js +4 -0
  88. package/dist/ref.js.map +1 -0
  89. package/dist/renderToString.js +1 -1
  90. package/dist/renderToString.js.map +1 -1
  91. package/dist/router/context.d.ts.map +1 -1
  92. package/dist/router/context.js +1 -2
  93. package/dist/router/context.js.map +1 -1
  94. package/dist/router/fileRouter.d.ts +1 -1
  95. package/dist/router/fileRouter.d.ts.map +1 -1
  96. package/dist/router/fileRouter.js +17 -11
  97. package/dist/router/fileRouter.js.map +1 -1
  98. package/dist/router/fileRouterController.d.ts.map +1 -1
  99. package/dist/router/fileRouterController.js +68 -55
  100. package/dist/router/fileRouterController.js.map +1 -1
  101. package/dist/router/link.d.ts.map +1 -1
  102. package/dist/router/link.js +19 -23
  103. package/dist/router/link.js.map +1 -1
  104. package/dist/router/server/index.d.ts.map +1 -1
  105. package/dist/router/server/index.js +14 -11
  106. package/dist/router/server/index.js.map +1 -1
  107. package/dist/router/types.d.ts +11 -6
  108. package/dist/router/types.d.ts.map +1 -1
  109. package/dist/scheduler.d.ts +1 -0
  110. package/dist/scheduler.d.ts.map +1 -1
  111. package/dist/scheduler.js +65 -52
  112. package/dist/scheduler.js.map +1 -1
  113. package/dist/signals/base.d.ts +0 -1
  114. package/dist/signals/base.d.ts.map +1 -1
  115. package/dist/signals/base.js +13 -36
  116. package/dist/signals/base.js.map +1 -1
  117. package/dist/signals/computed.d.ts +0 -2
  118. package/dist/signals/computed.d.ts.map +1 -1
  119. package/dist/signals/computed.js +1 -40
  120. package/dist/signals/computed.js.map +1 -1
  121. package/dist/signals/effect.d.ts +15 -14
  122. package/dist/signals/effect.d.ts.map +1 -1
  123. package/dist/signals/effect.js +65 -37
  124. package/dist/signals/effect.js.map +1 -1
  125. package/dist/signals/globals.d.ts +0 -5
  126. package/dist/signals/globals.d.ts.map +1 -1
  127. package/dist/signals/globals.js +0 -6
  128. package/dist/signals/globals.js.map +1 -1
  129. package/dist/signals/index.d.ts +4 -4
  130. package/dist/signals/index.d.ts.map +1 -1
  131. package/dist/signals/index.js +4 -4
  132. package/dist/signals/index.js.map +1 -1
  133. package/dist/signals/{for.d.ts → jsx.d.ts} +8 -1
  134. package/dist/signals/jsx.d.ts.map +1 -0
  135. package/dist/signals/{for.js → jsx.js} +4 -1
  136. package/dist/signals/jsx.js.map +1 -0
  137. package/dist/signals/tracking.d.ts +23 -0
  138. package/dist/signals/tracking.d.ts.map +1 -0
  139. package/dist/signals/tracking.js +51 -0
  140. package/dist/signals/tracking.js.map +1 -0
  141. package/dist/signals/types.d.ts +1 -1
  142. package/dist/signals/types.d.ts.map +1 -1
  143. package/dist/signals/utils.d.ts +2 -1
  144. package/dist/signals/utils.d.ts.map +1 -1
  145. package/dist/signals/utils.js +9 -2
  146. package/dist/signals/utils.js.map +1 -1
  147. package/dist/ssr/client.d.ts +3 -3
  148. package/dist/ssr/client.d.ts.map +1 -1
  149. package/dist/ssr/client.js.map +1 -1
  150. package/dist/ssr/server.js +1 -1
  151. package/dist/ssr/server.js.map +1 -1
  152. package/dist/statefulPromise.d.ts +22 -0
  153. package/dist/statefulPromise.d.ts.map +1 -0
  154. package/dist/statefulPromise.js +94 -0
  155. package/dist/statefulPromise.js.map +1 -0
  156. package/dist/types.d.ts +36 -50
  157. package/dist/types.d.ts.map +1 -1
  158. package/dist/types.dom.d.ts +4 -7
  159. package/dist/types.dom.d.ts.map +1 -1
  160. package/dist/types.utils.d.ts +3 -4
  161. package/dist/types.utils.d.ts.map +1 -1
  162. package/dist/utils/vdom.d.ts +8 -6
  163. package/dist/utils/vdom.d.ts.map +1 -1
  164. package/dist/utils/vdom.js +32 -9
  165. package/dist/utils/vdom.js.map +1 -1
  166. package/dist/viewTransitions.d.ts +7 -0
  167. package/dist/viewTransitions.d.ts.map +1 -0
  168. package/dist/viewTransitions.js +71 -0
  169. package/dist/viewTransitions.js.map +1 -0
  170. package/package.json +1 -1
  171. package/src/{appContext.ts → appHandle.ts} +21 -16
  172. package/src/components/derive.ts +74 -69
  173. package/src/components/index.ts +0 -1
  174. package/src/components/lazy.ts +5 -4
  175. package/src/components/portal.ts +2 -3
  176. package/src/components/transition.ts +33 -35
  177. package/src/constants.ts +0 -8
  178. package/src/context.ts +30 -23
  179. package/src/devtools.ts +16 -0
  180. package/src/dom.ts +29 -63
  181. package/src/globalContext.ts +57 -74
  182. package/src/globals.ts +1 -5
  183. package/src/{recursiveRender.ts → headlessRender.ts} +18 -18
  184. package/src/hmr.ts +29 -38
  185. package/src/hooks/index.ts +3 -14
  186. package/src/hooks/onBeforeMount.ts +12 -0
  187. package/src/hooks/onCleanup.ts +15 -0
  188. package/src/hooks/onMount.ts +12 -0
  189. package/src/hooks/utils.ts +28 -238
  190. package/src/index.ts +14 -6
  191. package/src/profiling.ts +22 -20
  192. package/src/reconciler.ts +18 -30
  193. package/src/ref.ts +6 -0
  194. package/src/renderToString.ts +1 -1
  195. package/src/router/context.ts +1 -2
  196. package/src/router/fileRouter.ts +23 -13
  197. package/src/router/fileRouterController.ts +72 -64
  198. package/src/router/link.ts +11 -25
  199. package/src/router/server/index.ts +24 -13
  200. package/src/router/types.ts +15 -8
  201. package/src/scheduler.ts +74 -71
  202. package/src/signals/base.ts +12 -41
  203. package/src/signals/computed.ts +1 -62
  204. package/src/signals/effect.ts +95 -48
  205. package/src/signals/globals.ts +0 -7
  206. package/src/signals/index.ts +4 -4
  207. package/src/signals/{for.ts → jsx.ts} +10 -0
  208. package/src/signals/tracking.ts +69 -0
  209. package/src/signals/types.ts +1 -1
  210. package/src/signals/utils.ts +9 -1
  211. package/src/ssr/client.ts +4 -4
  212. package/src/ssr/server.ts +2 -2
  213. package/src/statefulPromise.ts +136 -0
  214. package/src/types.dom.ts +4 -8
  215. package/src/types.ts +45 -58
  216. package/src/types.utils.ts +3 -4
  217. package/src/utils/vdom.ts +44 -15
  218. package/src/viewTransitions.ts +88 -0
  219. package/dist/appContext.d.ts.map +0 -1
  220. package/dist/appContext.js.map +0 -1
  221. package/dist/components/memo.d.ts +0 -10
  222. package/dist/components/memo.d.ts.map +0 -1
  223. package/dist/components/memo.js +0 -23
  224. package/dist/components/memo.js.map +0 -1
  225. package/dist/form/index.d.ts +0 -4
  226. package/dist/form/index.d.ts.map +0 -1
  227. package/dist/form/index.js +0 -518
  228. package/dist/form/index.js.map +0 -1
  229. package/dist/form/types.d.ts +0 -122
  230. package/dist/form/types.d.ts.map +0 -1
  231. package/dist/form/types.js +0 -2
  232. package/dist/form/types.js.map +0 -1
  233. package/dist/form/utils.d.ts +0 -3
  234. package/dist/form/utils.d.ts.map +0 -1
  235. package/dist/form/utils.js +0 -16
  236. package/dist/form/utils.js.map +0 -1
  237. package/dist/hooks/useAsync.d.ts +0 -18
  238. package/dist/hooks/useAsync.d.ts.map +0 -1
  239. package/dist/hooks/useAsync.js +0 -96
  240. package/dist/hooks/useAsync.js.map +0 -1
  241. package/dist/hooks/useCallback.d.ts +0 -7
  242. package/dist/hooks/useCallback.d.ts.map +0 -1
  243. package/dist/hooks/useCallback.js +0 -30
  244. package/dist/hooks/useCallback.js.map +0 -1
  245. package/dist/hooks/useContext.d.ts +0 -7
  246. package/dist/hooks/useContext.d.ts.map +0 -1
  247. package/dist/hooks/useContext.js +0 -59
  248. package/dist/hooks/useContext.js.map +0 -1
  249. package/dist/hooks/useEffect.d.ts +0 -8
  250. package/dist/hooks/useEffect.d.ts.map +0 -1
  251. package/dist/hooks/useEffect.js +0 -34
  252. package/dist/hooks/useEffect.js.map +0 -1
  253. package/dist/hooks/useEffectEvent.d.ts +0 -8
  254. package/dist/hooks/useEffectEvent.d.ts.map +0 -1
  255. package/dist/hooks/useEffectEvent.js +0 -23
  256. package/dist/hooks/useEffectEvent.js.map +0 -1
  257. package/dist/hooks/useId.d.ts +0 -8
  258. package/dist/hooks/useId.d.ts.map +0 -1
  259. package/dist/hooks/useId.js +0 -35
  260. package/dist/hooks/useId.js.map +0 -1
  261. package/dist/hooks/useLayoutEffect.d.ts +0 -8
  262. package/dist/hooks/useLayoutEffect.d.ts.map +0 -1
  263. package/dist/hooks/useLayoutEffect.js +0 -34
  264. package/dist/hooks/useLayoutEffect.js.map +0 -1
  265. package/dist/hooks/useMemo.d.ts +0 -8
  266. package/dist/hooks/useMemo.d.ts.map +0 -1
  267. package/dist/hooks/useMemo.js +0 -31
  268. package/dist/hooks/useMemo.js.map +0 -1
  269. package/dist/hooks/usePromise.d.ts +0 -8
  270. package/dist/hooks/usePromise.d.ts.map +0 -1
  271. package/dist/hooks/usePromise.js +0 -90
  272. package/dist/hooks/usePromise.js.map +0 -1
  273. package/dist/hooks/useReducer.d.ts +0 -7
  274. package/dist/hooks/useReducer.d.ts.map +0 -1
  275. package/dist/hooks/useReducer.js +0 -44
  276. package/dist/hooks/useReducer.js.map +0 -1
  277. package/dist/hooks/useRef.d.ts +0 -10
  278. package/dist/hooks/useRef.d.ts.map +0 -1
  279. package/dist/hooks/useRef.js +0 -29
  280. package/dist/hooks/useRef.js.map +0 -1
  281. package/dist/hooks/useState.d.ts +0 -7
  282. package/dist/hooks/useState.d.ts.map +0 -1
  283. package/dist/hooks/useState.js +0 -54
  284. package/dist/hooks/useState.js.map +0 -1
  285. package/dist/hooks/useSyncExternalStore.d.ts +0 -8
  286. package/dist/hooks/useSyncExternalStore.d.ts.map +0 -1
  287. package/dist/hooks/useSyncExternalStore.js +0 -50
  288. package/dist/hooks/useSyncExternalStore.js.map +0 -1
  289. package/dist/hooks/useViewTransition.d.ts +0 -10
  290. package/dist/hooks/useViewTransition.d.ts.map +0 -1
  291. package/dist/hooks/useViewTransition.js +0 -27
  292. package/dist/hooks/useViewTransition.js.map +0 -1
  293. package/dist/recursiveRender.d.ts +0 -7
  294. package/dist/recursiveRender.d.ts.map +0 -1
  295. package/dist/recursiveRender.js.map +0 -1
  296. package/dist/signals/for.d.ts.map +0 -1
  297. package/dist/signals/for.js.map +0 -1
  298. package/dist/signals/watch.d.ts +0 -21
  299. package/dist/signals/watch.d.ts.map +0 -1
  300. package/dist/signals/watch.js +0 -86
  301. package/dist/signals/watch.js.map +0 -1
  302. package/dist/store.d.ts +0 -28
  303. package/dist/store.d.ts.map +0 -1
  304. package/dist/store.js +0 -166
  305. package/dist/store.js.map +0 -1
  306. package/dist/swr.d.ts +0 -63
  307. package/dist/swr.d.ts.map +0 -1
  308. package/dist/swr.js +0 -236
  309. package/dist/swr.js.map +0 -1
  310. package/dist/utils/promise.d.ts +0 -16
  311. package/dist/utils/promise.d.ts.map +0 -1
  312. package/dist/utils/promise.js +0 -14
  313. package/dist/utils/promise.js.map +0 -1
  314. package/src/components/memo.ts +0 -39
  315. package/src/form/index.ts +0 -676
  316. package/src/form/types.ts +0 -262
  317. package/src/form/utils.ts +0 -19
  318. package/src/hooks/useAsync.ts +0 -121
  319. package/src/hooks/useCallback.ts +0 -32
  320. package/src/hooks/useContext.ts +0 -79
  321. package/src/hooks/useEffect.ts +0 -40
  322. package/src/hooks/useEffectEvent.ts +0 -24
  323. package/src/hooks/useId.ts +0 -42
  324. package/src/hooks/useLayoutEffect.ts +0 -43
  325. package/src/hooks/useMemo.ts +0 -34
  326. package/src/hooks/usePromise.ts +0 -126
  327. package/src/hooks/useReducer.ts +0 -50
  328. package/src/hooks/useRef.ts +0 -41
  329. package/src/hooks/useState.ts +0 -62
  330. package/src/hooks/useSyncExternalStore.ts +0 -59
  331. package/src/hooks/useViewTransition.ts +0 -25
  332. package/src/signals/watch.ts +0 -139
  333. package/src/store.ts +0 -245
  334. package/src/swr.ts +0 -351
  335. package/src/utils/promise.ts +0 -26
@@ -1,148 +1,26 @@
1
- import { KiruError } from "../error.js";
2
- import { __DEV__ } from "../env.js";
3
- import { hookIndex, node } from "../globals.js";
4
- import { noop } from "../utils/index.js";
5
- import { requestUpdate } from "../scheduler.js";
6
- import { isHmrUpdate } from "../hmr.js";
7
- export { cleanupHook, depsRequireChange, useHook, useVNode, useHookDebugGroup, useRequestUpdate, HookDebugGroupAction, };
8
- var HookDebugGroupAction;
9
- (function (HookDebugGroupAction) {
10
- HookDebugGroupAction["Start"] = "start";
11
- HookDebugGroupAction["End"] = "end";
12
- })(HookDebugGroupAction || (HookDebugGroupAction = {}));
13
- /**
14
- * **dev only - this is a no-op in production.**
15
- *
16
- * Used to create 'groups' of hooks in the devtools.
17
- * Useful for debugging and profiling.
18
- */
19
- const useHookDebugGroup = (name, action) => {
20
- if (__DEV__) {
21
- return useHook("devtools:useHookDebugGroup", { displayName: name, action }, noop);
22
- }
23
- };
24
- /**
25
- * Used obtain an 'requestUpdate' function for the current component.
26
- */
27
- const useRequestUpdate = () => {
28
- const vNode = getVNodeOrError("useRequestUpdate");
29
- return () => requestUpdate(vNode);
30
- };
31
- /**
32
- * Used to obtain the 'VNode' for the current component.
33
- */
34
- const useVNode = () => {
35
- return getVNodeOrError("useVNode");
36
- };
37
- let currentHookName = null;
38
- const nestedHookWarnings = new Set();
39
- function useHook(hookName, hookDataOrInitializer, callback) {
40
- const vNode = getVNodeOrError(hookName);
41
- if (__DEV__ &&
42
- currentHookName !== null &&
43
- !nestedHookWarnings.has(hookName + currentHookName)) {
44
- nestedHookWarnings.add(hookName + currentHookName);
45
- throw new KiruError({
46
- message: `Nested primitive "useHook" calls are not supported. "${hookName}" was called inside "${currentHookName}". Strange will most certainly happen.`,
47
- vNode,
48
- });
49
- }
50
- const queueEffect = (callback, opts) => {
51
- if (opts?.immediate) {
52
- ;
53
- (vNode.immediateEffects ?? (vNode.immediateEffects = [])).push(callback);
54
- return;
1
+ import { node } from "../globals.js";
2
+ import { sideEffectsEnabled } from "../utils/index.js";
3
+ export function queueSetupEffect(effect, opts) {
4
+ if (!sideEffectsEnabled())
5
+ return;
6
+ const vNode = node.current;
7
+ if (!vNode)
8
+ throw new Error("Cannot queue setup effect outside of a component");
9
+ const hooks = (vNode.hooks ?? (vNode.hooks = {
10
+ pre: [],
11
+ preCleanups: [],
12
+ post: [],
13
+ postCleanups: [],
14
+ }));
15
+ const [bag, cleanups] = opts?.immediate
16
+ ? [hooks.pre, hooks.preCleanups]
17
+ : [hooks.post, hooks.postCleanups];
18
+ const wrapped = () => {
19
+ const ret = effect();
20
+ if (typeof ret === "function") {
21
+ cleanups.push(ret);
55
22
  }
56
- ;
57
- (vNode.effects ?? (vNode.effects = [])).push(callback);
58
23
  };
59
- const index = hookIndex.current++;
60
- let oldHook = vNode.hooks?.at(index);
61
- if (__DEV__) {
62
- currentHookName = hookName;
63
- vNode.hooks ?? (vNode.hooks = []);
64
- vNode.hookSig ?? (vNode.hookSig = []);
65
- if (!vNode.hookSig[index]) {
66
- vNode.hookSig[index] = hookName;
67
- }
68
- else {
69
- if (vNode.hookSig[index] !== hookName) {
70
- console.warn(`[kiru]: hooks must be called in the same order. Hook "${hookName}" was called in place of "${vNode.hookSig[index]}". Strange things may happen.`);
71
- oldHook?.cleanup?.();
72
- vNode.hooks.length = index;
73
- vNode.hookSig.length = index;
74
- oldHook = undefined;
75
- }
76
- }
77
- let hook;
78
- if (!oldHook) {
79
- hook =
80
- typeof hookDataOrInitializer === "function"
81
- ? hookDataOrInitializer()
82
- : { ...hookDataOrInitializer };
83
- hook.name = hookName;
84
- }
85
- else {
86
- hook = oldHook;
87
- }
88
- vNode.hooks[index] = hook;
89
- try {
90
- const res = callback({
91
- hook,
92
- isInit: !oldHook,
93
- isHMR: isHmrUpdate(),
94
- update: () => requestUpdate(vNode),
95
- queueEffect,
96
- vNode,
97
- index,
98
- });
99
- return res;
100
- }
101
- catch (error) {
102
- throw error;
103
- }
104
- finally {
105
- currentHookName = null;
106
- }
107
- }
108
- try {
109
- const hook = oldHook ??
110
- (typeof hookDataOrInitializer === "function"
111
- ? hookDataOrInitializer()
112
- : { ...hookDataOrInitializer });
113
- vNode.hooks ?? (vNode.hooks = []);
114
- vNode.hooks[index] = hook;
115
- const res = callback({
116
- hook,
117
- isInit: !oldHook,
118
- update: () => requestUpdate(vNode),
119
- queueEffect,
120
- vNode,
121
- index,
122
- });
123
- return res;
124
- }
125
- catch (error) {
126
- throw error;
127
- }
128
- }
129
- function getVNodeOrError(hookName) {
130
- const vNode = node.current;
131
- if (!vNode) {
132
- throw new KiruError(`Hook "${hookName}" must be used at the top level of a component or inside another composite hook.`);
133
- }
134
- return vNode;
135
- }
136
- function cleanupHook(hook) {
137
- if (hook.cleanup) {
138
- hook.cleanup();
139
- hook.cleanup = undefined;
140
- }
141
- }
142
- function depsRequireChange(a, b) {
143
- return (a === undefined ||
144
- b === undefined ||
145
- a.length !== b.length ||
146
- (a.length > 0 && b.some((dep, i) => !Object.is(dep, a[i]))));
24
+ bag.push(wrapped);
147
25
  }
148
26
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/hooks/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/hooks/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAEtD,MAAM,UAAU,gBAAgB,CAC9B,MAAkC,EAClC,IAA8B;IAE9B,IAAI,CAAC,kBAAkB,EAAE;QAAE,OAAM;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAQ,CAAA;IAC3B,IAAI,CAAC,KAAK;QACR,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IAErE,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,KAAX,KAAK,CAAC,KAAK,GAAK;QAC7B,GAAG,EAAE,EAAE;QACP,WAAW,EAAE,EAAE;QACf,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,EAAE;KACjB,EAAC,CAAA;IAEF,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,EAAE,SAAS;QACrC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC;QAChC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,CAAA;IAEpC,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAA;QACpB,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACpB,CAAC;IACH,CAAC,CAAA;IAED,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACnB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,14 +1,18 @@
1
1
  export type * from "./types";
2
2
  export * from "./signals/index.js";
3
3
  export * from "./action.js";
4
- export * from "./appContext.js";
4
+ export * from "./appHandle.js";
5
+ export * from "./components/index.js";
5
6
  export * from "./context.js";
6
7
  export * from "./customEvents.js";
8
+ export * from "./devtools.js";
7
9
  export * from "./element.js";
8
10
  export * from "./error.js";
9
11
  export * from "./hooks/index.js";
10
- export * from "./components/index.js";
12
+ export type { ProfilingEvent, AppStats } from "./profiling.js";
11
13
  export * from "./renderToString.js";
12
- export { nextIdle, flushSync, requestUpdate } from "./scheduler.js";
13
- export * from "./store.js";
14
+ export * from "./ref.js";
15
+ export { nextIdle, flushSync, requestUpdate, useRequestUpdate, } from "./scheduler.js";
16
+ export * from "./statefulPromise.js";
17
+ export * from "./viewTransitions.js";
14
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,mBAAmB,SAAS,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACnE,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,mBAAmB,SAAS,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9D,cAAc,qBAAqB,CAAA;AACnC,cAAc,UAAU,CAAA;AACxB,OAAO,EACL,QAAQ,EACR,SAAS,EACT,aAAa,EACb,gBAAgB,GACjB,MAAM,gBAAgB,CAAA;AACvB,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA"}
package/dist/index.js CHANGED
@@ -2,18 +2,20 @@ var _a;
2
2
  import { createKiruGlobalContext } from "./globalContext.js";
3
3
  export * from "./signals/index.js";
4
4
  export * from "./action.js";
5
- export * from "./appContext.js";
5
+ export * from "./appHandle.js";
6
+ export * from "./components/index.js";
6
7
  export * from "./context.js";
7
8
  export * from "./customEvents.js";
9
+ export * from "./devtools.js";
8
10
  export * from "./element.js";
9
11
  export * from "./error.js";
10
12
  export * from "./hooks/index.js";
11
- export * from "./components/index.js";
12
13
  export * from "./renderToString.js";
13
- export { nextIdle, flushSync, requestUpdate } from "./scheduler.js";
14
- export * from "./store.js";
15
- // @ts-ignore
16
- if ("window" in globalThis && !globalThis.__KIRU_DEVTOOLS__) {
14
+ export * from "./ref.js";
15
+ export { nextIdle, flushSync, requestUpdate, useRequestUpdate, } from "./scheduler.js";
16
+ export * from "./statefulPromise.js";
17
+ export * from "./viewTransitions.js";
18
+ if ("window" in globalThis) {
17
19
  (_a = globalThis.window).__kiru ?? (_a.__kiru = createKiruGlobalContext());
18
20
  }
19
21
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAG5D,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACnE,cAAc,YAAY,CAAA;AAE1B,aAAa;AACb,IAAI,QAAQ,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;IAC5D,MAAA,UAAU,CAAC,MAAM,EAAC,MAAM,QAAN,MAAM,GAAK,uBAAuB,EAAE,EAAA;AACxD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAG5D,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAEhC,cAAc,qBAAqB,CAAA;AACnC,cAAc,UAAU,CAAA;AACxB,OAAO,EACL,QAAQ,EACR,SAAS,EACT,aAAa,EACb,gBAAgB,GACjB,MAAM,gBAAgB,CAAA;AACvB,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AAEpC,IAAI,QAAQ,IAAI,UAAU,EAAE,CAAC;IAC3B,MAAA,UAAU,CAAC,MAAM,EAAC,MAAM,QAAN,MAAM,GAAK,uBAAuB,EAAE,EAAA;AACxD,CAAC"}
@@ -1,26 +1,27 @@
1
- import type { AppContext } from "./appContext";
1
+ import type { AppHandle } from "./appHandle";
2
2
  declare const ProfilingEvents: readonly ["updateNode", "createNode", "removeNode", "update", "updateDirtied", "signalTextUpdate", "signalAttrUpdate"];
3
3
  export type ProfilingEvent = (typeof ProfilingEvents)[number];
4
+ export interface AppStats {
5
+ timestamps: TickTS[];
6
+ mountDuration: number;
7
+ totalTicks: number;
8
+ }
4
9
  interface TickTS {
5
10
  start: number;
6
11
  end: number;
7
12
  }
8
- type ProfilingEventListener = (app: AppContext) => void;
13
+ type ProfilingEventListener = (app: AppHandle) => void;
9
14
  export declare function createProfilingContext(): {
10
- appStats: Map<AppContext, {
11
- timestamps: TickTS[];
12
- mountDuration: number;
13
- totalTicks: number;
14
- }>;
15
- emit: (event: ProfilingEvent, app: AppContext) => void;
15
+ appStats: Map<AppHandle, AppStats>;
16
+ emit: (event: ProfilingEvent, app: AppHandle) => void;
16
17
  addEventListener: (event: ProfilingEvent, listener: ProfilingEventListener) => void;
17
18
  removeEventListener: (event: ProfilingEvent, listener: ProfilingEventListener) => void;
18
- mountDuration: (app: AppContext) => number;
19
- totalTicks: (app: AppContext) => number;
20
- lastTickDuration: (app: AppContext) => number;
21
- averageTickDuration: (app: AppContext) => number;
22
- beginTick: (app: AppContext) => void;
23
- endTick: (app: AppContext) => void;
19
+ mountDuration: (app: AppHandle) => number;
20
+ totalTicks: (app: AppHandle) => number;
21
+ lastTickDuration: (app: AppHandle) => number;
22
+ averageTickDuration: (app: AppHandle) => number;
23
+ beginTick: (app: AppHandle) => void;
24
+ endTick: (app: AppHandle) => void;
24
25
  };
25
26
  export {};
26
27
  //# sourceMappingURL=profiling.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"profiling.d.ts","sourceRoot":"","sources":["../src/profiling.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAI9C,QAAA,MAAM,eAAe,wHAQX,CAAA;AAEV,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAE7D,UAAU,MAAM;IACd,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,KAAK,sBAAsB,GAAG,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAA;AAEvD,wBAAgB,sBAAsB;;oBAKpB,MAAM,EAAE;uBACL,MAAM;oBACT,MAAM;;kBAKN,cAAc,OAAO,UAAU;8BAIpC,cAAc,YACX,sBAAsB;iCAQzB,cAAc,YACX,sBAAsB;yBAKb,UAAU;sBAKb,UAAU;4BAKJ,UAAU;+BAMP,UAAU;qBASpB,UAAU;mBAYZ,UAAU;EAa5B"}
1
+ {"version":3,"file":"profiling.d.ts","sourceRoot":"","sources":["../src/profiling.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAI5C,QAAA,MAAM,eAAe,wHAQX,CAAA;AAEV,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAC7D,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,UAAU,MAAM;IACd,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,KAAK,sBAAsB,GAAG,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAA;AAEtD,wBAAgB,sBAAsB;;kBAKpB,cAAc,OAAO,SAAS;8BAInC,cAAc,YACX,sBAAsB;iCAQzB,cAAc,YACX,sBAAsB;yBAKb,SAAS;sBAKZ,SAAS;4BAKH,SAAS;+BAWN,SAAS;qBASnB,SAAS;mBAYX,SAAS;EAY3B"}
package/dist/profiling.js CHANGED
@@ -42,8 +42,15 @@ export function createProfilingContext() {
42
42
  lastTickDuration: (app) => {
43
43
  const stats = appStats.get(app);
44
44
  if (!stats)
45
- return 0;
46
- const last = stats.timestamps[stats.timestamps.length - 1];
45
+ return Infinity;
46
+ let last = stats.timestamps[stats.timestamps.length - 1];
47
+ if (!last)
48
+ return Infinity;
49
+ if (last.end === Infinity) {
50
+ last = stats.timestamps[stats.timestamps.length - 2];
51
+ }
52
+ if (!last)
53
+ return Infinity;
47
54
  return last.end - last.start;
48
55
  },
49
56
  averageTickDuration: (app) => {
@@ -67,8 +74,6 @@ export function createProfilingContext() {
67
74
  stats.timestamps.push({ start: performance.now(), end: Infinity });
68
75
  },
69
76
  endTick: (app) => {
70
- if (!appStats.has(app))
71
- return;
72
77
  const stats = appStats.get(app);
73
78
  const last = stats.timestamps[stats.timestamps.length - 1];
74
79
  last.end = performance.now();
@@ -1 +1 @@
1
- {"version":3,"file":"profiling.js","sourceRoot":"","sources":["../src/profiling.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profiling.js","sourceRoot":"","sources":["../src/profiling.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"reconciler.d.ts","sourceRoot":"","sources":["../src/reconciler.ts"],"names":[],"mappings":"AAkBA,KAAK,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;AAIvB,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,KAAK,EACb,QAAQ,EAAE,OAAO,GAChB,KAAK,GAAG,IAAI,CAed"}
1
+ {"version":3,"file":"reconciler.d.ts","sourceRoot":"","sources":["../src/reconciler.ts"],"names":[],"mappings":"AAaA,KAAK,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;AAIvB,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,KAAK,EACb,QAAQ,EAAE,OAAO,GAChB,KAAK,GAAG,IAAI,CAed"}
@@ -1,13 +1,12 @@
1
- import { $FRAGMENT, FLAG_MEMO, FLAG_PLACEMENT, FLAG_UPDATE, } from "./constants.js";
2
- import { getVNodeAppContext, isElement, isValidTextChild, latest, } from "./utils/index.js";
1
+ import { $FRAGMENT, FLAG_PLACEMENT, FLAG_UPDATE } from "./constants.js";
2
+ import { getVNodeApp, isElement, isValidTextChild, latest, propsChanged, } from "./utils/index.js";
3
3
  import { Signal } from "./signals/base.js";
4
4
  import { __DEV__ } from "./env.js";
5
- import { isMemoFn } from "./components/memo.js";
6
5
  import { createVNode as createBaseVNode } from "./vNode.js";
7
- let appCtx;
6
+ let app;
8
7
  export function reconcileChildren(parent, children) {
9
8
  if (__DEV__) {
10
- appCtx = getVNodeAppContext(parent);
9
+ app = getVNodeApp(parent);
11
10
  }
12
11
  if (Array.isArray(children)) {
13
12
  if (__DEV__) {
@@ -197,7 +196,7 @@ function updateNode(parent, oldChild, newChild) {
197
196
  oldChild.index = 0;
198
197
  oldChild.sibling = null;
199
198
  if (typeof type === "string") {
200
- if (propsChanged(oldChild.props, props)) {
199
+ if (domNodePropsChanged(oldChild.props, props)) {
201
200
  oldChild.flags |= FLAG_UPDATE;
202
201
  }
203
202
  }
@@ -280,7 +279,7 @@ function updateFromMap(existingChildren, parent, index, child) {
280
279
  dev_emitUpdateNode();
281
280
  }
282
281
  if (typeof type === "string") {
283
- if (propsChanged(oldChild.props, props)) {
282
+ if (domNodePropsChanged(oldChild.props, props)) {
284
283
  oldChild.flags |= FLAG_UPDATE;
285
284
  }
286
285
  }
@@ -312,23 +311,10 @@ function updateFromMap(existingChildren, parent, index, child) {
312
311
  }
313
312
  return null;
314
313
  }
315
- function propsChanged(oldProps, newProps) {
316
- const aKeys = Object.keys(oldProps);
317
- const bKeys = Object.keys(newProps);
318
- if (aKeys.length !== bKeys.length)
319
- return true;
320
- for (let key of aKeys) {
321
- if (key === "children" || key === "key")
322
- continue;
323
- if (oldProps[key] !== newProps[key])
324
- return true;
325
- }
326
- return false;
327
- }
328
314
  function dev_emitUpdateNode() {
329
315
  if (!("window" in globalThis))
330
316
  return;
331
- window.__kiru.profilingContext?.emit("updateNode", appCtx);
317
+ window.__kiru.profilingContext?.emit("updateNode", app);
332
318
  }
333
319
  const $LIST_CHILD = Symbol("kiru:marked-list-child");
334
320
  function markListChild(children) {
@@ -415,12 +401,13 @@ function getNearestParentFcTag(vNode) {
415
401
  function createVNode(parent, type, props, key = null, index = 0) {
416
402
  const node = createBaseVNode(type, parent, props, key, index);
417
403
  node.flags |= FLAG_PLACEMENT;
418
- if (typeof type === "function" && isMemoFn(type)) {
419
- node.flags |= FLAG_MEMO;
420
- }
421
404
  if (__DEV__ && "window" in globalThis) {
422
- window.__kiru.profilingContext?.emit("createNode", appCtx);
405
+ window.__kiru.profilingContext?.emit("createNode", app);
423
406
  }
424
407
  return node;
425
408
  }
409
+ const IGNORED_DOM_NODE_PROPS = ["children", "key"];
410
+ function domNodePropsChanged(oldProps, newProps) {
411
+ return propsChanged(oldProps, newProps, IGNORED_DOM_NODE_PROPS);
412
+ }
426
413
  //# sourceMappingURL=reconciler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../src/reconciler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../src/reconciler.ts"],"names":[],"mappings":"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"}
package/dist/ref.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export declare function ref<T>(initialValue: T): Kiru.RefObject<T>;
2
+ export declare function ref<T>(initialValue: T | null): Kiru.RefObject<T | null>;
3
+ export declare function ref<T = undefined>(): Kiru.RefObject<T | undefined>;
4
+ //# sourceMappingURL=ref.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../src/ref.ts"],"names":[],"mappings":"AAAA,wBAAgB,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAC1D,wBAAgB,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;AACxE,wBAAgB,GAAG,CAAC,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA"}
package/dist/ref.js ADDED
@@ -0,0 +1,4 @@
1
+ export function ref(initialValue) {
2
+ return { current: initialValue };
3
+ }
4
+ //# sourceMappingURL=ref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ref.js","sourceRoot":"","sources":["../src/ref.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,GAAG,CAAI,YAAuB;IAC5C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAA;AAClC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { renderMode } from "./globals.js";
2
2
  import { Fragment } from "./element.js";
3
- import { headlessRender } from "./recursiveRender.js";
3
+ import { headlessRender } from "./headlessRender.js";
4
4
  export function renderToString(element) {
5
5
  const prev = renderMode.current;
6
6
  renderMode.current = "string";
@@ -1 +1 @@
1
- {"version":3,"file":"renderToString.js","sourceRoot":"","sources":["../src/renderToString.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,cAAc,EAAyB,MAAM,sBAAsB,CAAA;AAE5E,MAAM,UAAU,cAAc,CAAC,OAAoB;IACjD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAA;IAC/B,UAAU,CAAC,OAAO,GAAG,QAAQ,CAAA;IAC7B,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,MAAM,GAAG,GAA0B;QACjC,KAAK,CAAC,KAAK;YACT,MAAM,IAAI,KAAK,CAAA;QACjB,CAAC;KACF,CAAA;IACD,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAC7D,UAAU,CAAC,OAAO,GAAG,IAAI,CAAA;IACzB,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"renderToString.js","sourceRoot":"","sources":["../src/renderToString.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,cAAc,EAAyB,MAAM,qBAAqB,CAAA;AAE3E,MAAM,UAAU,cAAc,CAAC,OAAoB;IACjD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAA;IAC/B,UAAU,CAAC,OAAO,GAAG,QAAQ,CAAA;IAC7B,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,MAAM,GAAG,GAA0B;QACjC,KAAK,CAAC,KAAK;YACT,MAAM,IAAI,KAAK,CAAA;QACjB,CAAC;KACF,CAAA;IACD,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAC7D,UAAU,CAAC,OAAO,GAAG,IAAI,CAAA;IACzB,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/router/context.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAEzD,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;;;;OAMG;IACH,UAAU,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C;;OAEG;IACH,KAAK,EAAE,WAAW,CAAA;IAElB;;;OAGG;IACH,QAAQ,EAAE,CACR,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,KAClD,OAAO,CAAC,IAAI,CAAC,CAAA;IAElB;;OAEG;IACH,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAE5C;;OAEG;IACH,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE;QACjB,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,UAAU,CAAC,EAAE,OAAO,CAAA;KACrB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAEnB;;OAEG;IACH,QAAQ,EAAE,CACR,KAAK,EAAE,UAAU,EACjB,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAC5B,OAAO,CAAC,IAAI,CAAC,CAAA;IAElB;;OAEG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1E;AAED,eAAO,MAAM,aAAa,qCAA8C,CAAA;AAKxE,wBAAgB,aAAa,IAAI,qBAAqB,CAErD"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/router/context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAEzD,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;;;;OAMG;IACH,UAAU,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C;;OAEG;IACH,KAAK,EAAE,WAAW,CAAA;IAElB;;;OAGG;IACH,QAAQ,EAAE,CACR,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,KAClD,OAAO,CAAC,IAAI,CAAC,CAAA;IAElB;;OAEG;IACH,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAE5C;;OAEG;IACH,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE;QACjB,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,UAAU,CAAC,EAAE,OAAO,CAAA;KACrB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAEnB;;OAEG;IACH,QAAQ,EAAE,CACR,KAAK,EAAE,UAAU,EACjB,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAC5B,OAAO,CAAC,IAAI,CAAC,CAAA;IAElB;;OAEG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1E;AAED,eAAO,MAAM,aAAa,qCAA8C,CAAA;AAKxE,wBAAgB,aAAa,IAAI,qBAAqB,CAErD"}
@@ -1,6 +1,5 @@
1
- import { createContext } from "../context.js";
1
+ import { createContext, useContext } from "../context.js";
2
2
  import { __DEV__ } from "../env.js";
3
- import { useContext } from "../hooks/index.js";
4
3
  export const RouterContext = createContext(null);
5
4
  if (__DEV__) {
6
5
  RouterContext.displayName = "RouterContext";
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/router/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAuE9C,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAwB,IAAK,CAAC,CAAA;AACxE,IAAI,OAAO,EAAE,CAAC;IACZ,aAAa,CAAC,WAAW,GAAG,eAAe,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,UAAU,CAAC,aAAa,CAAC,CAAA;AAClC,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/router/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAuEnC,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAwB,IAAK,CAAC,CAAA;AACxE,IAAI,OAAO,EAAE,CAAC;IACZ,aAAa,CAAC,WAAW,GAAG,eAAe,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,UAAU,CAAC,aAAa,CAAC,CAAA;AAClC,CAAC"}
@@ -17,5 +17,5 @@ export interface FileRouterProps {
17
17
  */
18
18
  config: FileRouterConfig;
19
19
  }
20
- export declare function FileRouter({ config }: FileRouterProps): JSX.Element;
20
+ export declare const FileRouter: Kiru.FC<FileRouterProps>;
21
21
  //# sourceMappingURL=fileRouter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fileRouter.d.ts","sourceRoot":"","sources":["../../src/router/fileRouter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAGlD,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;;;;;OAcG;IACH,MAAM,EAAE,gBAAgB,CAAA;CACzB;AAED,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAcnE"}
1
+ {"version":3,"file":"fileRouter.d.ts","sourceRoot":"","sources":["../../src/router/fileRouter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAIlD,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;;;;;OAcG;IACH,MAAM,EAAE,gBAAgB,CAAA;CACzB;AAED,eAAO,MAAM,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,eAAe,CAwB/C,CAAA"}
@@ -1,16 +1,22 @@
1
1
  import { createElement } from "../element.js";
2
- import { useState, useEffect } from "../hooks/index.js";
3
2
  import { RouterContext } from "./context.js";
4
3
  import { FileRouterController } from "./fileRouterController.js";
5
4
  import { fileRouterInstance } from "./globals.js";
6
- export function FileRouter({ config }) {
7
- const [controller] = useState(() => {
8
- fileRouterInstance.current?.dispose();
9
- const router = (fileRouterInstance.current = new FileRouterController());
10
- router.init(config);
11
- return router;
12
- });
13
- useEffect(() => () => controller.dispose(), [controller]);
14
- return createElement(RouterContext.Provider, { value: controller.contextValue }, controller.getChildren());
15
- }
5
+ import { onCleanup } from "../hooks/onCleanup.js";
6
+ export const FileRouter = ({ config }) => {
7
+ fileRouterInstance.current?.dispose();
8
+ let router = (fileRouterInstance.current = new FileRouterController());
9
+ let configStr = "";
10
+ onCleanup(() => router.dispose());
11
+ const onUpdate = (props) => {
12
+ const newConfigStr = JSON.stringify(props.config);
13
+ if (newConfigStr !== configStr) {
14
+ config = props.config;
15
+ configStr = newConfigStr;
16
+ router.init(config);
17
+ }
18
+ };
19
+ return (nextProps) => (onUpdate(nextProps),
20
+ createElement(RouterContext, { value: router.contextValue }, router.getChildren()));
21
+ };
16
22
  //# sourceMappingURL=fileRouter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fileRouter.js","sourceRoot":"","sources":["../../src/router/fileRouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAqBjD,MAAM,UAAU,UAAU,CAAC,EAAE,MAAM,EAAmB;IACpD,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE;QACjC,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,CAAA;QACrC,MAAM,MAAM,GAAG,CAAC,kBAAkB,CAAC,OAAO,GAAG,IAAI,oBAAoB,EAAE,CAAC,CAAA;QACxE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACnB,OAAO,MAAM,CAAA;IACf,CAAC,CAAC,CAAA;IACF,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAEzD,OAAO,aAAa,CAClB,aAAa,CAAC,QAAQ,EACtB,EAAE,KAAK,EAAE,UAAU,CAAC,YAAY,EAAE,EAClC,UAAU,CAAC,WAAW,EAAE,CACzB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"fileRouter.js","sourceRoot":"","sources":["../../src/router/fileRouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAqBjD,MAAM,CAAC,MAAM,UAAU,GAA6B,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;IACjE,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,CAAA;IACrC,IAAI,MAAM,GAAG,CAAC,kBAAkB,CAAC,OAAO,GAAG,IAAI,oBAAoB,EAAE,CAAC,CAAA;IACtE,IAAI,SAAS,GAAG,EAAE,CAAA;IAElB,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;IAEjC,MAAM,QAAQ,GAAG,CAAC,KAAsB,EAAE,EAAE;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACjD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;YACrB,SAAS,GAAG,YAAY,CAAA;YACxB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACrB,CAAC;IACH,CAAC,CAAA;IAED,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CACpB,QAAQ,CAAC,SAAS,CAAC;QACnB,aAAa,CACX,aAAa,EACb,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,EAC9B,MAAM,CAAC,WAAW,EAAE,CACrB,CACF,CAAA;AACH,CAAC,CAAA"}