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
package/dist/context.js CHANGED
@@ -1,24 +1,30 @@
1
- import { $CONTEXT, $CONTEXT_PROVIDER } from "./constants.js";
1
+ import { $CONTEXT } from "./constants.js";
2
2
  import { createElement } from "./element.js";
3
- import { useState } from "./hooks/useState.js";
3
+ import { node } from "./globals.js";
4
4
  export function createContext(defaultValue) {
5
- const ctx = {
6
- [$CONTEXT]: true,
7
- Provider: ({ value, children }) => {
8
- const [dependents] = useState(() => new Set());
9
- return createElement($CONTEXT_PROVIDER, { value, ctx, dependents }, typeof children === "function" ? children(value) : children);
10
- },
11
- default: () => defaultValue,
12
- set displayName(name) {
13
- this.Provider.displayName = name;
14
- },
15
- get displayName() {
16
- return this.Provider.displayName || "Anonymous Context";
17
- },
18
- };
19
- return ctx;
5
+ const Context = Object.assign(({ value, children }) => createElement($CONTEXT, { value, ctx: Context }, children), { [$CONTEXT]: () => defaultValue });
6
+ Context.displayName = "Anonymous Context";
7
+ return Context;
20
8
  }
21
- export function isContext(thing) {
22
- return typeof thing === "object" && !!thing && $CONTEXT in thing;
9
+ function getContextValue(vNode, context) {
10
+ let n = vNode.parent;
11
+ while (n) {
12
+ if (n.type === $CONTEXT) {
13
+ const provider = n;
14
+ const { ctx, value } = provider.props;
15
+ if (ctx === context) {
16
+ return value;
17
+ }
18
+ }
19
+ n = n.parent;
20
+ }
21
+ return context[$CONTEXT]();
22
+ }
23
+ export function useContext(context) {
24
+ const n = node.current;
25
+ if (!n) {
26
+ throw new Error("useContext must be called inside a Kiru component");
27
+ }
28
+ return getContextValue(n, context);
23
29
  }
24
30
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,MAAM,UAAU,aAAa,CAAI,YAAe;IAC9C,MAAM,GAAG,GAAoB;QAC3B,CAAC,QAAQ,CAAC,EAAE,IAAI;QAChB,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAyB,EAAE,EAAE;YACvD,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,EAAc,CAAC,CAAA;YAC1D,OAAO,aAAa,CAClB,iBAAiB,EACjB,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,EAC1B,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAC5D,CAAA;QACH,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY;QAC3B,IAAI,WAAW,CAAC,IAAY;YAC1B,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAA;QAClC,CAAC;QACD,IAAI,WAAW;YACb,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,mBAAmB,CAAA;QACzD,CAAC;KACF,CAAA;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,SAAS,CAAI,KAAc;IACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,IAAI,QAAQ,IAAI,KAAK,CAAA;AAClE,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAEnC,MAAM,UAAU,aAAa,CAAI,YAAe;IAC9C,MAAM,OAAO,GAAoB,MAAM,CAAC,MAAM,CAC5C,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAwB,EAAE,EAAE,CAC5C,aAAa,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,QAAQ,CAAC,EAC5D,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,CACnC,CAAA;IACD,OAAO,CAAC,WAAW,GAAG,mBAAmB,CAAA;IACzC,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,eAAe,CAAI,KAAiB,EAAE,OAAwB;IACrE,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,CAAC;QACT,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,CAAyB,CAAA;YAC1C,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAA;YACrC,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBACpB,OAAO,KAAU,CAAA;YACnB,CAAC;QACH,CAAC;QACD,CAAC,GAAG,CAAC,CAAC,MAAM,CAAA;IACd,CAAC;IACD,OAAO,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,UAAU,CAAI,OAAwB;IACpD,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAA;IACtB,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;IACtE,CAAC;IACD,OAAO,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;AACpC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { DebuggerEntry } from "./globalContext";
2
+ export declare namespace DevTools {
3
+ const track: (signal: Kiru.Signal<unknown>, label?: string) => void;
4
+ const untrack: (signal: Kiru.Signal<unknown>) => void;
5
+ const subscribe: (callback: (entries: Set<DebuggerEntry>) => void) => () => void;
6
+ }
7
+ //# sourceMappingURL=devtools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../src/devtools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEpD,yBAAiB,QAAQ,CAAC;IACjB,MAAM,KAAK,GAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,MAAM,SAEjE,CAAA;IACM,MAAM,OAAO,GAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAEnD,CAAA;IACM,MAAM,SAAS,GACpB,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,KAAK,IAAI,eAIhD,CAAA;CACF"}
@@ -0,0 +1,15 @@
1
+ export var DevTools;
2
+ (function (DevTools) {
3
+ DevTools.track = (signal, label) => {
4
+ window.__kiru.devtools?.track(signal, label);
5
+ };
6
+ DevTools.untrack = (signal) => {
7
+ window.__kiru.devtools?.untrack(signal);
8
+ };
9
+ DevTools.subscribe = (callback) => {
10
+ if (!window.__kiru.devtools)
11
+ return () => { };
12
+ return window.__kiru.devtools?.subscribe(callback);
13
+ };
14
+ })(DevTools || (DevTools = {}));
15
+ //# sourceMappingURL=devtools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools.js","sourceRoot":"","sources":["../src/devtools.ts"],"names":[],"mappings":"AAEA,MAAM,KAAW,QAAQ,CAaxB;AAbD,WAAiB,QAAQ;IACV,cAAK,GAAG,CAAC,MAA4B,EAAE,KAAc,EAAE,EAAE;QACpE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC9C,CAAC,CAAA;IACY,gBAAO,GAAG,CAAC,MAA4B,EAAE,EAAE;QACtD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC,CAAA;IACY,kBAAS,GAAG,CACvB,QAA+C,EAC/C,EAAE;QACF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ;YAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;QAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;IACpD,CAAC,CAAA;AACH,CAAC,EAbgB,QAAQ,KAAR,QAAQ,QAaxB"}
package/dist/dom.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EACV,QAAQ,EAGR,OAAO,EAER,MAAM,eAAe,CAAA;AAGtB,OAAO,EACL,UAAU,EACV,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,SAAS,EACT,UAAU,GACX,CAAA;AAED,KAAK,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;AAevB,iBAAS,uBAAuB,SAM/B;AAED,iBAAS,sBAAsB,SAS9B;AAED,iBAAS,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAU3C;AA2TD,iBAAS,UAAU,CAAC,KAAK,EAAE,KAAK,QA+C/B;AAuND,iBAAS,UAAU,CAAC,KAAK,EAAE,KAAK,QAa/B;AAsDD,iBAAS,cAAc,CAAC,KAAK,EAAE,KAAK,QAwCnC"}
1
+ {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EACV,QAAQ,EAGR,OAAO,EAER,MAAM,eAAe,CAAA;AAGtB,OAAO,EACL,UAAU,EACV,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,SAAS,EACT,UAAU,GACX,CAAA;AAED,KAAK,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;AAiBvB,iBAAS,uBAAuB,SAM/B;AAED,iBAAS,sBAAsB,SAa9B;AAED,iBAAS,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAU3C;AA0TD,iBAAS,UAAU,CAAC,KAAK,EAAE,KAAK,QA+C/B;AAuND,iBAAS,UAAU,CAAC,KAAK,EAAE,KAAK,QAa/B;AA6CD,iBAAS,cAAc,CAAC,KAAK,EAAE,KAAK,QA8CnC"}
package/dist/dom.js CHANGED
@@ -1,5 +1,5 @@
1
- import { traverseApply, commitSnapshot, propFilters, propToHtmlAttr, getVNodeAppContext, setRef, isValidTextChild, } from "./utils/index.js";
2
- import { booleanAttributes, FLAG_PLACEMENT, FLAG_UPDATE, FLAG_STATIC_DOM, svgTags, FLAG_NOOP, EVENT_PREFIX_REGEX, } from "./constants.js";
1
+ import { traverseApply, commitSnapshot, propFilters, propToHtmlAttr, getVNodeApp, setRef, isValidTextChild, registerVNodeCleanup, call, } from "./utils/index.js";
2
+ import { booleanAttributes, FLAG_PLACEMENT, FLAG_UPDATE, FLAG_STATIC_DOM, svgTags, EVENT_PREFIX_REGEX, } from "./constants.js";
3
3
  import { Signal } from "./signals/base.js";
4
4
  import { unwrap } from "./signals/utils.js";
5
5
  import { renderMode } from "./globals.js";
@@ -9,6 +9,7 @@ import { KiruError } from "./error.js";
9
9
  export { commitWork, onBeforeFlushDomChanges, onAfterFlushDomChanges, commitDeletion, createDom, hydrateDom, };
10
10
  let persistingFocus = false;
11
11
  let didBlurActiveElement = false;
12
+ const postHookCleanups = [];
12
13
  const placementBlurHandler = (event) => {
13
14
  event.preventDefault();
14
15
  event.stopPropagation();
@@ -32,6 +33,10 @@ function onAfterFlushDomChanges() {
32
33
  didBlurActiveElement = false;
33
34
  }
34
35
  persistingFocus = false;
36
+ queueMicrotask(() => {
37
+ postHookCleanups.forEach(call);
38
+ postHookCleanups.length = 0;
39
+ });
35
40
  }
36
41
  function createDom(vNode) {
37
42
  const t = vNode.type;
@@ -171,9 +176,8 @@ const bindAttrToEventMap = {
171
176
  const numericValueInputTypes = new Set(["progress", "meter", "number", "range"]);
172
177
  function setSignalProp(vNode, dom, key, signal, prevValue) {
173
178
  const [modifier, attr] = key.split(":");
174
- const cleanups = (vNode.cleanups ?? (vNode.cleanups = {}));
175
179
  if (modifier !== "bind") {
176
- cleanups[key] = signal.subscribe((value, prev) => {
180
+ const unsub = signal.subscribe((value, prev) => {
177
181
  if (value === prev)
178
182
  return;
179
183
  setProp(dom, key, value, prev);
@@ -181,6 +185,7 @@ function setSignalProp(vNode, dom, key, signal, prevValue) {
181
185
  emitSignalAttrUpdate(vNode);
182
186
  }
183
187
  });
188
+ registerVNodeCleanup(vNode, key, unsub);
184
189
  }
185
190
  else {
186
191
  const evtName = bindAttrToEventMap[attr];
@@ -190,7 +195,8 @@ function setSignalProp(vNode, dom, key, signal, prevValue) {
190
195
  }
191
196
  return;
192
197
  }
193
- cleanups[key] = bindElementProp(vNode, dom, attr, evtName, signal);
198
+ const cleanup = bindElementProp(vNode, dom, attr, evtName, signal);
199
+ registerVNodeCleanup(vNode, key, cleanup);
194
200
  }
195
201
  const value = signal.peek();
196
202
  const prev = unwrap(prevValue);
@@ -259,18 +265,18 @@ function createInputValueReader(dom, signal) {
259
265
  return () => dom.value;
260
266
  }
261
267
  function emitSignalAttrUpdate(vNode) {
262
- window.__kiru.profilingContext?.emit("signalAttrUpdate", getVNodeAppContext(vNode));
268
+ window.__kiru.profilingContext?.emit("signalAttrUpdate", getVNodeApp(vNode));
263
269
  }
264
270
  function subTextNode(vNode, textNode, signal) {
265
- ;
266
- (vNode.cleanups ?? (vNode.cleanups = {})).nodeValue = signal.subscribe((value, prev) => {
271
+ const cleanup = signal.subscribe((value, prev) => {
267
272
  if (value === prev)
268
273
  return;
269
274
  textNode.nodeValue = value;
270
275
  if (__DEV__) {
271
- window.__kiru.profilingContext?.emit("signalTextUpdate", getVNodeAppContext(vNode));
276
+ window.__kiru.profilingContext?.emit("signalTextUpdate", getVNodeApp(vNode));
272
277
  }
273
278
  });
279
+ registerVNodeCleanup(vNode, "nodeValue", cleanup);
274
280
  }
275
281
  /**
276
282
  * Creates and inserts an empty signal-bound text node into
@@ -531,14 +537,6 @@ function commitWork(vNode) {
531
537
  function commitWork_impl(vNode, currentHostNode, inheritsPlacement) {
532
538
  let child = vNode.child;
533
539
  while (child) {
534
- if (child.flags & FLAG_NOOP) {
535
- if (child.flags & FLAG_PLACEMENT) {
536
- placeAndCommitNoopChildren(child, currentHostNode);
537
- }
538
- commitSnapshot(child);
539
- child = child.sibling;
540
- continue;
541
- }
542
540
  if (child.dom) {
543
541
  commitWork_impl(child, { node: child }, false);
544
542
  if (!(child.flags & FLAG_STATIC_DOM)) {
@@ -567,19 +565,23 @@ function commitDeletion(vNode) {
567
565
  if (vNode === vNode.parent?.child) {
568
566
  vNode.parent.child = vNode.sibling;
569
567
  }
570
- let ctx;
568
+ let app;
571
569
  if (__DEV__) {
572
- ctx = getVNodeAppContext(vNode);
570
+ app = getVNodeApp(vNode);
573
571
  }
574
572
  traverseApply(vNode, (node) => {
575
- const { hooks, subs, cleanups, dom, props: { ref }, } = node;
573
+ const { subs, cleanups, dom, props: { ref }, hooks, } = node;
576
574
  subs?.forEach((unsub) => unsub());
577
575
  if (cleanups)
578
576
  Object.values(cleanups).forEach((c) => c());
579
- while (hooks?.length)
580
- hooks.pop().cleanup?.();
577
+ if (hooks) {
578
+ const { preCleanups, postCleanups } = hooks;
579
+ preCleanups.forEach(call);
580
+ postHookCleanups.push(...postCleanups);
581
+ preCleanups.length = postCleanups.length = 0;
582
+ }
581
583
  if (__DEV__) {
582
- window.__kiru.profilingContext?.emit("removeNode", ctx);
584
+ window.__kiru.profilingContext?.emit("removeNode", app);
583
585
  if (dom instanceof Element) {
584
586
  delete dom.__kiruNode;
585
587
  }
@@ -596,39 +598,4 @@ function commitDeletion(vNode) {
596
598
  });
597
599
  vNode.parent = null;
598
600
  }
599
- function placeAndCommitNoopChildren(parent, currentHostNode) {
600
- if (!parent.child)
601
- return;
602
- const domChildren = [];
603
- collectDomNodes(parent.child, domChildren);
604
- if (domChildren.length === 0)
605
- return;
606
- const { node, lastChild } = currentHostNode;
607
- if (lastChild) {
608
- lastChild.after(...domChildren);
609
- }
610
- else {
611
- const nextSiblingDom = getNextSiblingDom(parent, node);
612
- const parentDom = node.dom;
613
- if (nextSiblingDom) {
614
- nextSiblingDom.before(...domChildren);
615
- }
616
- else {
617
- parentDom.append(...domChildren);
618
- }
619
- }
620
- currentHostNode.lastChild = domChildren[domChildren.length - 1];
621
- }
622
- function collectDomNodes(firstChild, children) {
623
- let child = firstChild;
624
- while (child) {
625
- if (child.dom) {
626
- children.push(child.dom);
627
- }
628
- else if (child.child) {
629
- collectDomNodes(child.child, children);
630
- }
631
- child = child.sibling;
632
- }
633
- }
634
601
  //# sourceMappingURL=dom.js.map
package/dist/dom.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dom.js","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dom.js","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,9 @@
1
1
  import { createHMRContext } from "./hmr.js";
2
2
  import { createProfilingContext } from "./profiling.js";
3
3
  import type { FileRouterController } from "./router/fileRouterController";
4
- import type { AppContext } from "./appContext";
5
- import type { Store } from "./store";
6
- import type { SWRCache } from "./swr";
4
+ import type { AppHandle } from "./appHandle";
7
5
  import type { requestUpdate } from "./index.js";
8
6
  export { createKiruGlobalContext, type GlobalKiruEvent, type KiruGlobalContext };
9
- interface ReactiveMap<V> {
10
- add(key: string, value: V): void;
11
- delete(key: string): void;
12
- subscribe(cb: (value: Record<string, V>) => void): () => void;
13
- readonly size: number;
14
- }
15
7
  type Evt = {
16
8
  name: "mount";
17
9
  data?: typeof requestUpdate;
@@ -29,19 +21,26 @@ type GlobalKiruEvent = Evt["name"];
29
21
  interface SchedulerInterface {
30
22
  requestUpdate: (vNode: Kiru.VNode) => void;
31
23
  }
24
+ export type DebuggerEntry = {
25
+ label: string;
26
+ signal: Kiru.Signal<unknown>;
27
+ };
32
28
  interface KiruGlobalContext {
33
- readonly apps: AppContext[];
34
- emit<T extends Evt>(event: T["name"], ctx: AppContext, data?: T["data"]): void;
35
- on<T extends Evt>(event: T["name"], callback: (ctx: AppContext, data: T["data"]) => void): void;
36
- off<T extends Evt>(event: T["name"], callback: (ctx: AppContext, data?: T["data"]) => void): void;
37
- stores?: ReactiveMap<Store<any, any>>;
29
+ readonly apps: AppHandle[];
30
+ emit<T extends Evt>(event: T["name"], app: AppHandle, data?: T["data"]): void;
31
+ on<T extends Evt>(event: T["name"], callback: (app: AppHandle, data: T["data"]) => void): void;
32
+ off<T extends Evt>(event: T["name"], callback: (app: AppHandle, data?: T["data"]) => void): void;
33
+ devtools?: {
34
+ track: (signal: Kiru.Signal<unknown>, label?: string) => void;
35
+ untrack: (signal: Kiru.Signal<unknown>) => void;
36
+ subscribe: (callback: (entries: Set<DebuggerEntry>) => void) => () => void;
37
+ };
38
38
  HMRContext?: ReturnType<typeof createHMRContext>;
39
39
  profilingContext?: ReturnType<typeof createProfilingContext>;
40
- SWRGlobalCache?: SWRCache;
41
40
  fileRouterInstance?: {
42
41
  current: FileRouterController | null;
43
42
  };
44
- getSchedulerInterface?: (app: AppContext) => SchedulerInterface | null;
43
+ getSchedulerInterface?: (app: AppHandle) => SchedulerInterface | null;
45
44
  }
46
45
  declare function createKiruGlobalContext(): KiruGlobalContext;
47
46
  //# sourceMappingURL=globalContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"globalContext.d.ts","sourceRoot":"","sources":["../src/globalContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"globalContext.d.ts","sourceRoot":"","sources":["../src/globalContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAEvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C,OAAO,EAAE,uBAAuB,EAAE,KAAK,eAAe,EAAE,KAAK,iBAAiB,EAAE,CAAA;AAEhF,KAAK,GAAG,GACJ;IACE,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,aAAa,CAAA;CAC5B,GACD;IACE,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB,GACD;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB,GACD;IACE,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAEL,KAAK,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;AAElC,UAAU,kBAAkB;IAC1B,aAAa,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,CAAA;CAC3C;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;CAC7B,CAAA;AAED,UAAU,iBAAiB;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,CAAA;IAC1B,IAAI,CAAC,CAAC,SAAS,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IAC7E,EAAE,CAAC,CAAC,SAAS,GAAG,EACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAChB,QAAQ,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,GAClD,IAAI,CAAA;IACP,GAAG,CAAC,CAAC,SAAS,GAAG,EACf,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAChB,QAAQ,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,GACnD,IAAI,CAAA;IACP,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;QAC7D,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,CAAA;QAC/C,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,KAAK,IAAI,KAAK,MAAM,IAAI,CAAA;KAC3E,CAAA;IACD,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAA;IAChD,gBAAgB,CAAC,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAA;IAC5D,kBAAkB,CAAC,EAAE;QACnB,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAA;KACrC,CAAA;IACD,qBAAqB,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,kBAAkB,GAAG,IAAI,CAAA;CACtE;AAED,iBAAS,uBAAuB,IAAI,iBAAiB,CAwFpD"}
@@ -3,45 +3,12 @@ import { createHMRContext } from "./hmr.js";
3
3
  import { createProfilingContext } from "./profiling.js";
4
4
  import { fileRouterInstance } from "./router/globals.js";
5
5
  export { createKiruGlobalContext };
6
- function createReactiveMap() {
7
- const map = new Map();
8
- const listeners = new Set();
9
- function add(key, value) {
10
- if (map.has(key))
11
- return;
12
- map.set(key, value);
13
- notify();
14
- }
15
- function deleteKey(key) {
16
- if (!map.has(key))
17
- return;
18
- map.delete(key);
19
- notify();
20
- }
21
- function notify() {
22
- const val = Object.fromEntries(map);
23
- listeners.forEach((cb) => cb(val));
24
- }
25
- function subscribe(cb) {
26
- listeners.add(cb);
27
- cb(Object.fromEntries(map));
28
- return () => listeners.delete(cb);
29
- }
30
- return {
31
- add,
32
- delete: deleteKey,
33
- subscribe,
34
- get size() {
35
- return map.size;
36
- },
37
- };
38
- }
39
6
  function createKiruGlobalContext() {
40
- const contexts = new Set();
41
- const contextToSchedulerInterface = new WeakMap();
7
+ const apps = new Set();
8
+ const appToSchedulerInterface = new WeakMap();
42
9
  const listeners = new Map();
43
- function emit(event, ctx, data) {
44
- listeners.get(event)?.forEach((cb) => cb(ctx, data));
10
+ function emit(event, app, data) {
11
+ listeners.get(event)?.forEach((cb) => cb(app, data));
45
12
  }
46
13
  function on(event, callback) {
47
14
  if (!listeners.has(event)) {
@@ -54,30 +21,53 @@ function createKiruGlobalContext() {
54
21
  }
55
22
  const globalContext = {
56
23
  get apps() {
57
- return Array.from(contexts);
24
+ return Array.from(apps);
58
25
  },
59
26
  emit,
60
27
  on,
61
28
  off,
62
29
  };
63
30
  // Initialize event listeners
64
- on("mount", (ctx, requestUpdate) => {
65
- contexts.add(ctx);
31
+ on("mount", (app, requestUpdate) => {
32
+ apps.add(app);
66
33
  if (requestUpdate && typeof requestUpdate === "function") {
67
- contextToSchedulerInterface.set(ctx, { requestUpdate });
34
+ appToSchedulerInterface.set(app, { requestUpdate });
68
35
  }
69
36
  });
70
- on("unmount", (ctx) => {
71
- contexts.delete(ctx);
72
- contextToSchedulerInterface.delete(ctx);
37
+ on("unmount", (app) => {
38
+ apps.delete(app);
39
+ appToSchedulerInterface.delete(app);
73
40
  });
74
41
  if (__DEV__) {
75
42
  globalContext.HMRContext = createHMRContext();
76
43
  globalContext.profilingContext = createProfilingContext();
77
- globalContext.stores = createReactiveMap();
78
44
  globalContext.fileRouterInstance = fileRouterInstance;
79
45
  globalContext.getSchedulerInterface = (app) => {
80
- return contextToSchedulerInterface.get(app) ?? null;
46
+ return appToSchedulerInterface.get(app) ?? null;
47
+ };
48
+ const debuggerEntries = new Set();
49
+ const subscribers = new Set();
50
+ globalContext.devtools = {
51
+ track: (signal, label) => {
52
+ debuggerEntries.add({
53
+ label: label ?? signal.displayName ?? "Unnamed Signal",
54
+ signal,
55
+ });
56
+ subscribers.forEach((cb) => cb(debuggerEntries));
57
+ },
58
+ untrack: (signal) => {
59
+ debuggerEntries.forEach((entry) => {
60
+ if (entry.signal === signal) {
61
+ debuggerEntries.delete(entry);
62
+ }
63
+ });
64
+ subscribers.forEach((cb) => cb(debuggerEntries));
65
+ },
66
+ subscribe: (cb) => {
67
+ subscribers.add(cb);
68
+ cb(debuggerEntries);
69
+ return () => subscribers.delete(cb);
70
+ },
81
71
  };
82
72
  }
83
73
  return globalContext;
@@ -1 +1 @@
1
- {"version":3,"file":"globalContext.js","sourceRoot":"","sources":["../src/globalContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"globalContext.js","sourceRoot":"","sources":["../src/globalContext.ts"],"names":[],"mappings":"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"}
package/dist/globals.d.ts CHANGED
@@ -1,10 +1,7 @@
1
- export { node, hookIndex, renderMode, hydrationMode };
1
+ export { node, renderMode, hydrationMode };
2
2
  declare const node: {
3
3
  current: Kiru.VNode | null;
4
4
  };
5
- declare const hookIndex: {
6
- current: number;
7
- };
8
5
  declare const renderMode: {
9
6
  current: Kiru.RenderMode;
10
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../src/globals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,CAAA;AAErD,QAAA,MAAM,IAAI;aACS,IAAI,CAAC,KAAK,GAAG,IAAI;CACnC,CAAA;AAED,QAAA,MAAM,SAAS;;CAEd,CAAA;AAED,QAAA,MAAM,UAAU;aAC0C,IAAI,CAAC,UAAU;CACxE,CAAA;AAED,QAAA,MAAM,aAAa;aACK,QAAQ,GAAG,SAAS;CAC3C,CAAA"}
1
+ {"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../src/globals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,CAAA;AAE1C,QAAA,MAAM,IAAI;aACS,IAAI,CAAC,KAAK,GAAG,IAAI;CACnC,CAAA;AAED,QAAA,MAAM,UAAU;aAC0C,IAAI,CAAC,UAAU;CACxE,CAAA;AAED,QAAA,MAAM,aAAa;aACK,QAAQ,GAAG,SAAS;CAC3C,CAAA"}
package/dist/globals.js CHANGED
@@ -1,10 +1,7 @@
1
- export { node, hookIndex, renderMode, hydrationMode };
1
+ export { node, renderMode, hydrationMode };
2
2
  const node = {
3
3
  current: null,
4
4
  };
5
- const hookIndex = {
6
- current: 0,
7
- };
8
5
  const renderMode = {
9
6
  current: ("window" in globalThis ? "dom" : "string"),
10
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"globals.js","sourceRoot":"","sources":["../src/globals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,CAAA;AAErD,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,IAAyB;CACnC,CAAA;AAED,MAAM,SAAS,GAAG;IAChB,OAAO,EAAE,CAAC;CACX,CAAA;AAED,MAAM,UAAU,GAAG;IACjB,OAAO,EAAE,CAAC,QAAQ,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAoB;CACxE,CAAA;AAED,MAAM,aAAa,GAAG;IACpB,OAAO,EAAE,SAAiC;CAC3C,CAAA"}
1
+ {"version":3,"file":"globals.js","sourceRoot":"","sources":["../src/globals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,CAAA;AAE1C,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,IAAyB;CACnC,CAAA;AAED,MAAM,UAAU,GAAG;IACjB,OAAO,EAAE,CAAC,QAAQ,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAoB;CACxE,CAAA;AAED,MAAM,aAAa,GAAG;IACpB,OAAO,EAAE,SAAiC;CAC3C,CAAA"}
@@ -0,0 +1,6 @@
1
+ export interface HeadlessRenderContext {
2
+ write(chunk: string): void;
3
+ onStreamData?: (data: Kiru.StatefulPromiseBase<unknown>[]) => void;
4
+ }
5
+ export declare function headlessRender(ctx: HeadlessRenderContext, el: unknown, parent: Kiru.VNode | null, idx: number): void;
6
+ //# sourceMappingURL=headlessRender.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headlessRender.d.ts","sourceRoot":"","sources":["../src/headlessRender.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAA;CACnE;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,qBAAqB,EAC1B,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,EACzB,GAAG,EAAE,MAAM,GACV,IAAI,CAmHN"}