kiru 1.0.1 → 1.1.0

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 (145) hide show
  1. package/dist/appHandle.js +2 -2
  2. package/dist/appHandle.js.map +1 -1
  3. package/dist/components/lazy.d.ts.map +1 -1
  4. package/dist/components/lazy.js +2 -2
  5. package/dist/components/lazy.js.map +1 -1
  6. package/dist/components/transition.js +1 -5
  7. package/dist/components/transition.js.map +1 -1
  8. package/dist/devtools.d.ts.map +1 -1
  9. package/dist/devtools.js +6 -2
  10. package/dist/devtools.js.map +1 -1
  11. package/dist/dom/commit.d.ts +5 -0
  12. package/dist/dom/commit.d.ts.map +1 -0
  13. package/dist/dom/commit.js +94 -0
  14. package/dist/dom/commit.js.map +1 -0
  15. package/dist/dom/focus.d.ts +4 -0
  16. package/dist/dom/focus.d.ts.map +1 -0
  17. package/dist/dom/focus.js +32 -0
  18. package/dist/dom/focus.js.map +1 -0
  19. package/dist/dom/index.d.ts +4 -0
  20. package/dist/dom/index.d.ts.map +1 -0
  21. package/dist/dom/index.js +4 -0
  22. package/dist/dom/index.js.map +1 -0
  23. package/dist/dom/nodes.d.ts +12 -0
  24. package/dist/dom/nodes.d.ts.map +1 -0
  25. package/dist/dom/nodes.js +165 -0
  26. package/dist/dom/nodes.js.map +1 -0
  27. package/dist/dom/props.d.ts +8 -0
  28. package/dist/dom/props.d.ts.map +1 -0
  29. package/dist/dom/props.js +675 -0
  30. package/dist/dom/props.js.map +1 -0
  31. package/dist/env.d.ts +2 -0
  32. package/dist/env.d.ts.map +1 -1
  33. package/dist/env.js +2 -0
  34. package/dist/env.js.map +1 -1
  35. package/dist/globalContext.d.ts +3 -8
  36. package/dist/globalContext.d.ts.map +1 -1
  37. package/dist/globalContext.js +4 -16
  38. package/dist/globalContext.js.map +1 -1
  39. package/dist/globals.d.ts +21 -1
  40. package/dist/globals.d.ts.map +1 -1
  41. package/dist/globals.js +22 -2
  42. package/dist/globals.js.map +1 -1
  43. package/dist/hmr.d.ts +17 -2
  44. package/dist/hmr.d.ts.map +1 -1
  45. package/dist/hmr.js +31 -5
  46. package/dist/hmr.js.map +1 -1
  47. package/dist/hooks/index.d.ts +1 -0
  48. package/dist/hooks/index.d.ts.map +1 -1
  49. package/dist/hooks/index.js +1 -0
  50. package/dist/hooks/index.js.map +1 -1
  51. package/dist/hooks/onBeforeMount.d.ts +1 -1
  52. package/dist/hooks/onBeforeMount.d.ts.map +1 -1
  53. package/dist/hooks/onBeforeMount.js +10 -3
  54. package/dist/hooks/onBeforeMount.js.map +1 -1
  55. package/dist/hooks/onCleanup.d.ts +1 -1
  56. package/dist/hooks/onCleanup.d.ts.map +1 -1
  57. package/dist/hooks/onCleanup.js +7 -4
  58. package/dist/hooks/onCleanup.js.map +1 -1
  59. package/dist/hooks/onMount.d.ts +2 -2
  60. package/dist/hooks/onMount.d.ts.map +1 -1
  61. package/dist/hooks/onMount.js +11 -4
  62. package/dist/hooks/onMount.js.map +1 -1
  63. package/dist/hooks/setup.d.ts +13 -0
  64. package/dist/hooks/setup.d.ts.map +1 -0
  65. package/dist/hooks/setup.js +54 -0
  66. package/dist/hooks/setup.js.map +1 -0
  67. package/dist/hooks/utils.d.ts +2 -3
  68. package/dist/hooks/utils.d.ts.map +1 -1
  69. package/dist/hooks/utils.js +9 -14
  70. package/dist/hooks/utils.js.map +1 -1
  71. package/dist/index.d.ts +1 -0
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +4 -3
  74. package/dist/index.js.map +1 -1
  75. package/dist/reconciler.js +3 -3
  76. package/dist/reconciler.js.map +1 -1
  77. package/dist/router/head.js +2 -2
  78. package/dist/router/head.js.map +1 -1
  79. package/dist/router/pageConfig.js +2 -2
  80. package/dist/router/pageConfig.js.map +1 -1
  81. package/dist/scheduler.js +62 -57
  82. package/dist/scheduler.js.map +1 -1
  83. package/dist/signals/base.js +3 -3
  84. package/dist/signals/base.js.map +1 -1
  85. package/dist/signals/effect.d.ts.map +1 -1
  86. package/dist/signals/effect.js +6 -6
  87. package/dist/signals/effect.js.map +1 -1
  88. package/dist/signals/tracking.d.ts +3 -2
  89. package/dist/signals/tracking.d.ts.map +1 -1
  90. package/dist/signals/tracking.js.map +1 -1
  91. package/dist/statefulPromise.js +2 -2
  92. package/dist/statefulPromise.js.map +1 -1
  93. package/dist/types.d.ts +5 -1
  94. package/dist/types.d.ts.map +1 -1
  95. package/dist/types.dom.d.ts +1 -1
  96. package/dist/types.dom.d.ts.map +1 -1
  97. package/dist/utils/format.d.ts.map +1 -1
  98. package/dist/utils/format.js +4 -1
  99. package/dist/utils/format.js.map +1 -1
  100. package/dist/utils/vdom.d.ts +2 -2
  101. package/dist/utils/vdom.d.ts.map +1 -1
  102. package/dist/utils/vdom.js +2 -2
  103. package/dist/utils/vdom.js.map +1 -1
  104. package/dist/viewTransitions.d.ts.map +1 -1
  105. package/dist/viewTransitions.js +2 -1
  106. package/dist/viewTransitions.js.map +1 -1
  107. package/package.json +1 -1
  108. package/src/appHandle.ts +2 -2
  109. package/src/components/lazy.ts +5 -6
  110. package/src/components/transition.ts +2 -6
  111. package/src/devtools.ts +4 -2
  112. package/src/dom/commit.ts +133 -0
  113. package/src/dom/focus.ts +34 -0
  114. package/src/dom/index.ts +3 -0
  115. package/src/dom/nodes.ts +204 -0
  116. package/src/dom/props.ts +818 -0
  117. package/src/env.ts +3 -0
  118. package/src/globalContext.ts +7 -24
  119. package/src/globals.ts +25 -2
  120. package/src/hmr.ts +32 -5
  121. package/src/hooks/index.ts +1 -0
  122. package/src/hooks/onBeforeMount.ts +9 -3
  123. package/src/hooks/onCleanup.ts +10 -4
  124. package/src/hooks/onMount.ts +10 -4
  125. package/src/hooks/setup.ts +70 -0
  126. package/src/hooks/utils.ts +14 -19
  127. package/src/index.ts +4 -2
  128. package/src/reconciler.ts +3 -3
  129. package/src/router/head.ts +2 -2
  130. package/src/router/pageConfig.ts +2 -2
  131. package/src/scheduler.ts +79 -64
  132. package/src/signals/base.ts +3 -3
  133. package/src/signals/effect.ts +5 -7
  134. package/src/signals/tracking.ts +3 -2
  135. package/src/statefulPromise.ts +2 -2
  136. package/src/types.dom.ts +2 -2
  137. package/src/types.ts +7 -1
  138. package/src/utils/format.ts +3 -1
  139. package/src/utils/vdom.ts +2 -2
  140. package/src/viewTransitions.ts +2 -1
  141. package/dist/dom.d.ts +0 -10
  142. package/dist/dom.d.ts.map +0 -1
  143. package/dist/dom.js +0 -601
  144. package/dist/dom.js.map +0 -1
  145. package/src/dom.ts +0 -775
@@ -0,0 +1 @@
1
+ {"version":3,"file":"props.js","sourceRoot":"","sources":["../../src/dom/props.ts"],"names":[],"mappings":"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"}
package/dist/env.d.ts CHANGED
@@ -1,2 +1,4 @@
1
1
  export declare const __DEV__: boolean;
2
+ export declare const isBrowser: boolean;
3
+ export declare const isServer: boolean;
2
4
  //# sourceMappingURL=env.d.ts.map
package/dist/env.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,OAAO,SAA6B,CAAA"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,OAAO,SAA6B,CAAA;AAEjD,eAAO,MAAM,SAAS,SAA0D,CAAA;AAChF,eAAO,MAAM,QAAQ,SAAa,CAAA"}
package/dist/env.js CHANGED
@@ -3,4 +3,6 @@ if (NODE_ENV !== "development" && NODE_ENV !== "production") {
3
3
  throw new Error("NODE_ENV must either be set to development or production.");
4
4
  }
5
5
  export const __DEV__ = NODE_ENV === "development";
6
+ export const isBrowser = "window" in globalThis && typeof window !== "undefined";
7
+ export const isServer = !isBrowser;
6
8
  //# sourceMappingURL=env.js.map
package/dist/env.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAA;AACrC,IAAI,QAAQ,KAAK,aAAa,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;IAC5D,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;AAC9E,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,KAAK,aAAa,CAAA"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAA;AACrC,IAAI,QAAQ,KAAK,aAAa,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;IAC5D,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;AAC9E,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,KAAK,aAAa,CAAA;AAEjD,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,IAAI,UAAU,IAAI,OAAO,MAAM,KAAK,WAAW,CAAA;AAChF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,SAAS,CAAA"}
@@ -1,12 +1,11 @@
1
- import { createHMRContext } from "./hmr.js";
1
+ import { createHmrContext } from "./hmr.js";
2
2
  import { createProfilingContext } from "./profiling.js";
3
3
  import type { FileRouterController } from "./router/fileRouterController";
4
4
  import type { AppHandle } from "./appHandle";
5
- import type { requestUpdate } from "./index.js";
6
5
  export { createKiruGlobalContext, type GlobalKiruEvent, type KiruGlobalContext };
7
6
  type Evt = {
8
7
  name: "mount";
9
- data?: typeof requestUpdate;
8
+ data?: undefined;
10
9
  } | {
11
10
  name: "unmount";
12
11
  data?: undefined;
@@ -18,9 +17,6 @@ type Evt = {
18
17
  data: Error;
19
18
  };
20
19
  type GlobalKiruEvent = Evt["name"];
21
- interface SchedulerInterface {
22
- requestUpdate: (vNode: Kiru.VNode) => void;
23
- }
24
20
  export type DebuggerEntry = {
25
21
  label: string;
26
22
  signal: Kiru.Signal<unknown>;
@@ -35,12 +31,11 @@ interface KiruGlobalContext {
35
31
  untrack: (signal: Kiru.Signal<unknown>) => void;
36
32
  subscribe: (callback: (entries: Set<DebuggerEntry>) => void) => () => void;
37
33
  };
38
- HMRContext?: ReturnType<typeof createHMRContext>;
34
+ HMRContext?: ReturnType<typeof createHmrContext>;
39
35
  profilingContext?: ReturnType<typeof createProfilingContext>;
40
36
  fileRouterInstance?: {
41
37
  current: FileRouterController | null;
42
38
  };
43
- getSchedulerInterface?: (app: AppHandle) => SchedulerInterface | null;
44
39
  }
45
40
  declare function createKiruGlobalContext(): KiruGlobalContext;
46
41
  //# sourceMappingURL=globalContext.d.ts.map
@@ -1 +1 @@
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"}
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;AAE5C,OAAO,EAAE,uBAAuB,EAAE,KAAK,eAAe,EAAE,KAAK,iBAAiB,EAAE,CAAA;AAEhF,KAAK,GAAG,GACJ;IACE,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB,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,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;CACF;AAED,iBAAS,uBAAuB,IAAI,iBAAiB,CA6EpD"}
@@ -1,11 +1,10 @@
1
1
  import { __DEV__ } from "./env.js";
2
- import { createHMRContext } from "./hmr.js";
2
+ 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
6
  function createKiruGlobalContext() {
7
7
  const apps = new Set();
8
- const appToSchedulerInterface = new WeakMap();
9
8
  const listeners = new Map();
10
9
  function emit(event, app, data) {
11
10
  listeners.get(event)?.forEach((cb) => cb(app, data));
@@ -28,23 +27,12 @@ function createKiruGlobalContext() {
28
27
  off,
29
28
  };
30
29
  // Initialize event listeners
31
- on("mount", (app, requestUpdate) => {
32
- apps.add(app);
33
- if (requestUpdate && typeof requestUpdate === "function") {
34
- appToSchedulerInterface.set(app, { requestUpdate });
35
- }
36
- });
37
- on("unmount", (app) => {
38
- apps.delete(app);
39
- appToSchedulerInterface.delete(app);
40
- });
30
+ on("mount", (app) => apps.add(app));
31
+ on("unmount", (app) => apps.delete(app));
41
32
  if (__DEV__) {
42
- globalContext.HMRContext = createHMRContext();
33
+ globalContext.HMRContext = createHmrContext();
43
34
  globalContext.profilingContext = createProfilingContext();
44
35
  globalContext.fileRouterInstance = fileRouterInstance;
45
- globalContext.getSchedulerInterface = (app) => {
46
- return appToSchedulerInterface.get(app) ?? null;
47
- };
48
36
  const debuggerEntries = new Set();
49
37
  const subscribers = new Set();
50
38
  globalContext.devtools = {
@@ -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,11 +1,31 @@
1
- export { node, renderMode, hydrationMode };
1
+ import { Setup } from "./hooks/index.js";
2
+ export { node, renderMode, hydrationMode, setups, postEffectCleanups };
3
+ /**
4
+ * A reference to the current VNode (always a component) being rendered.
5
+ */
2
6
  declare const node: {
3
7
  current: Kiru.VNode | null;
4
8
  };
9
+ /**
10
+ * The current render mode. Can be "dom" "string", "stream", or "hydrate".
11
+ */
5
12
  declare const renderMode: {
6
13
  current: Kiru.RenderMode;
7
14
  };
15
+ /**
16
+ * The current hydration mode. Can be "static" or "dynamic".
17
+ * Used to indicate whether the page being hydrated will contain streamed content.
18
+ */
8
19
  declare const hydrationMode: {
9
20
  current: "static" | "dynamic";
10
21
  };
22
+ /**
23
+ * A map of VNodes (components) to their setup functions.
24
+ */
25
+ declare const setups: WeakMap<Kiru.VNode, Setup<any>>;
26
+ /**
27
+ * Cleanup functions from onMount() that run after components
28
+ * have been unmounted and the browser has painted.
29
+ */
30
+ declare const postEffectCleanups: (() => void)[];
11
31
  //# sourceMappingURL=globals.d.ts.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../src/globals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAExC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAA;AAEtE;;GAEG;AACH,QAAA,MAAM,IAAI;aACS,IAAI,CAAC,KAAK,GAAG,IAAI;CACnC,CAAA;AAED;;GAEG;AACH,QAAA,MAAM,UAAU;aAC6B,IAAI,CAAC,UAAU;CAC3D,CAAA;AAED;;;GAGG;AACH,QAAA,MAAM,aAAa;aACK,QAAQ,GAAG,SAAS;CAC3C,CAAA;AAED;;GAEG;AACH,QAAA,MAAM,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAiB,CAAA;AAE7D;;;GAGG;AACH,QAAA,MAAM,kBAAkB,EAAE,CAAC,MAAM,IAAI,CAAC,EAAO,CAAA"}
package/dist/globals.js CHANGED
@@ -1,11 +1,31 @@
1
- export { node, renderMode, hydrationMode };
1
+ import { isBrowser } from "./env.js";
2
+ export { node, renderMode, hydrationMode, setups, postEffectCleanups };
3
+ /**
4
+ * A reference to the current VNode (always a component) being rendered.
5
+ */
2
6
  const node = {
3
7
  current: null,
4
8
  };
9
+ /**
10
+ * The current render mode. Can be "dom" "string", "stream", or "hydrate".
11
+ */
5
12
  const renderMode = {
6
- current: ("window" in globalThis ? "dom" : "string"),
13
+ current: (isBrowser ? "dom" : "string"),
7
14
  };
15
+ /**
16
+ * The current hydration mode. Can be "static" or "dynamic".
17
+ * Used to indicate whether the page being hydrated will contain streamed content.
18
+ */
8
19
  const hydrationMode = {
9
20
  current: "dynamic",
10
21
  };
22
+ /**
23
+ * A map of VNodes (components) to their setup functions.
24
+ */
25
+ const setups = new WeakMap();
26
+ /**
27
+ * Cleanup functions from onMount() that run after components
28
+ * have been unmounted and the browser has painted.
29
+ */
30
+ const postEffectCleanups = [];
11
31
  //# sourceMappingURL=globals.js.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"globals.js","sourceRoot":"","sources":["../src/globals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAA;AAEtE;;GAEG;AACH,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,IAAyB;CACnC,CAAA;AAED;;GAEG;AACH,MAAM,UAAU,GAAG;IACjB,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAoB;CAC3D,CAAA;AAED;;;GAGG;AACH,MAAM,aAAa,GAAG;IACpB,OAAO,EAAE,SAAiC;CAC3C,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,GAAoC,IAAI,OAAO,EAAE,CAAA;AAE7D;;;GAGG;AACH,MAAM,kBAAkB,GAAmB,EAAE,CAAA"}
package/dist/hmr.d.ts CHANGED
@@ -9,7 +9,7 @@ export type HMRAccept<T = {}> = {
9
9
  export type GenericHMRAcceptor<T = {}> = {
10
10
  [$HMR_ACCEPT]: HMRAccept<T>;
11
11
  };
12
- type HotVar = Kiru.FC | Signal<any> | Kiru.ContextBase<any>;
12
+ type HotVar = Kiru.FC | Signal<any> | Kiru.Context<any>;
13
13
  export declare function isHmrUpdate(): boolean;
14
14
  export declare function isGenericHmrAcceptor(thing: unknown): thing is GenericHMRAcceptor<any>;
15
15
  type HotVarRegistrationEntry = {
@@ -17,7 +17,7 @@ type HotVarRegistrationEntry = {
17
17
  value: HotVar;
18
18
  link: string;
19
19
  };
20
- export declare function createHMRContext(): {
20
+ export declare function createHmrContext(): {
21
21
  register: (hotVarRegistrationEntries: Record<string, HotVarRegistrationEntry>) => void;
22
22
  prepare: (filePath: string) => void;
23
23
  isReplacement: () => boolean;
@@ -28,5 +28,20 @@ export declare function createHMRContext(): {
28
28
  onHmr: (callback: () => void) => void;
29
29
  getCurrentFilePath(): string | null;
30
30
  };
31
+ /**
32
+ * Queues a callback to be fired when HMR is triggered. This is a no-op in non-browser environments or in production.
33
+ * - If called during current module evaluation, the callback will be fired the next time the current module is evaluated.
34
+ * - If called at any other time, the callback will be fired the next time HMR is triggered.
35
+ * @see https://kirujs.dev/docs/api/lifecycles#onHmr
36
+ *
37
+ * ```ts
38
+ * import { onHmr } from "kiru"
39
+ * // start an interval in the module scope
40
+ * const interval = setInterval(() => {...}, 1000)
41
+ * // stop the interval when this file is reloaded
42
+ * onHmr(() => clearInterval(interval))
43
+ ```
44
+ */
45
+ export declare function onHmr(callback: () => void): void;
31
46
  export {};
32
47
  //# sourceMappingURL=hmr.d.ts.map
package/dist/hmr.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hmr.d.ts","sourceRoot":"","sources":["../src/hmr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,gBAAgB,CAAA;AAG5D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAEjD,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,EAAE,IAAI;IAC9B,OAAO,EAAE,MAAM,CAAC,CAAA;IAChB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;IACzB,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,kBAAkB,CAAC,CAAC,GAAG,EAAE,IAAI;IACvC,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;CAC5B,CAAA;AACD,KAAK,MAAM,GAAG,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;AAU3D,wBAAgB,WAAW,YAE1B;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAQlC;AAOD,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,wBAAgB,gBAAgB;0CAoCD,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC;wBAtBzC,MAAM;;;;qBAmFlB,MAAM,CAAC,GAAG,CAAC;;sBAvFD,MAAM,IAAI;;EAwGpC"}
1
+ {"version":3,"file":"hmr.d.ts","sourceRoot":"","sources":["../src/hmr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,gBAAgB,CAAA;AAG5D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAEjD,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,EAAE,IAAI;IAC9B,OAAO,EAAE,MAAM,CAAC,CAAA;IAChB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;IACzB,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,kBAAkB,CAAC,CAAC,GAAG,EAAE,IAAI;IACvC,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;CAC5B,CAAA;AACD,KAAK,MAAM,GAAG,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;AAUvD,wBAAgB,WAAW,YAE1B;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAQlC;AAQD,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,wBAAgB,gBAAgB;0CA0CD,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC;wBAxBzC,MAAM;;;;qBAqFlB,MAAM,CAAC,GAAG,CAAC;;sBA7FD,MAAM,IAAI;;EA8GpC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAIhD"}
package/dist/hmr.js CHANGED
@@ -12,16 +12,20 @@ export function isGenericHmrAcceptor(thing) {
12
12
  typeof thing[$HMR_ACCEPT] === "object" &&
13
13
  !!thing[$HMR_ACCEPT]);
14
14
  }
15
- export function createHMRContext() {
15
+ export function createHmrContext() {
16
16
  const moduleMap = new Map();
17
17
  let currentModuleFilePath = null;
18
18
  let currentModuleMemory = null;
19
19
  let isModuleReplacementExecution = false;
20
20
  const isReplacement = () => isModuleReplacementExecution;
21
21
  let isWaitingForNextEffect = false;
22
- const onHmrCallbacks = [];
22
+ const globalHmrCallbacks = [];
23
23
  const onHmr = (callback) => {
24
- onHmrCallbacks.push(callback);
24
+ if (currentModuleMemory) {
25
+ currentModuleMemory.hmrCallbacks.push(callback);
26
+ return;
27
+ }
28
+ globalHmrCallbacks.push(callback);
25
29
  };
26
30
  const prepare = (filePath) => {
27
31
  let mod = moduleMap.get(filePath);
@@ -30,12 +34,15 @@ export function createHMRContext() {
30
34
  mod = {
31
35
  hotVars: new Map(),
32
36
  unnamedEffects: [],
37
+ hmrCallbacks: [],
33
38
  };
34
39
  moduleMap.set(filePath, mod);
35
40
  }
36
41
  else {
37
- while (onHmrCallbacks.length)
38
- onHmrCallbacks.shift()();
42
+ while (mod.hmrCallbacks.length)
43
+ mod.hmrCallbacks.shift()();
44
+ while (globalHmrCallbacks.length)
45
+ globalHmrCallbacks.shift()();
39
46
  for (const effect of mod.unnamedEffects) {
40
47
  effect.stop();
41
48
  }
@@ -112,4 +119,23 @@ export function createHMRContext() {
112
119
  },
113
120
  };
114
121
  }
122
+ /**
123
+ * Queues a callback to be fired when HMR is triggered. This is a no-op in non-browser environments or in production.
124
+ * - If called during current module evaluation, the callback will be fired the next time the current module is evaluated.
125
+ * - If called at any other time, the callback will be fired the next time HMR is triggered.
126
+ * @see https://kirujs.dev/docs/api/lifecycles#onHmr
127
+ *
128
+ * ```ts
129
+ * import { onHmr } from "kiru"
130
+ * // start an interval in the module scope
131
+ * const interval = setInterval(() => {...}, 1000)
132
+ * // stop the interval when this file is reloaded
133
+ * onHmr(() => clearInterval(interval))
134
+ ```
135
+ */
136
+ export function onHmr(callback) {
137
+ if ("window" in globalThis && window.__kiru.HMRContext) {
138
+ window.__kiru.HMRContext.onHmr(callback);
139
+ }
140
+ }
115
141
  //# sourceMappingURL=hmr.js.map
package/dist/hmr.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hmr.js","sourceRoot":"","sources":["../src/hmr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hmr.js","sourceRoot":"","sources":["../src/hmr.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export * from "./onCleanup.js";
2
2
  export * from "./onMount.js";
3
3
  export * from "./onBeforeMount.js";
4
+ export * from "./setup.js";
4
5
  export * from "./utils.js";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA"}
@@ -1,5 +1,6 @@
1
1
  export * from "./onCleanup.js";
2
2
  export * from "./onMount.js";
3
3
  export * from "./onBeforeMount.js";
4
+ export * from "./setup.js";
4
5
  export * from "./utils.js";
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA"}
@@ -3,7 +3,7 @@
3
3
  * Optionally returns a cleanup function that will run when the component unmounts.
4
4
  * Intended for use during component setup when the component returns a render function.
5
5
  *
6
- * @see https://kirujs.dev/docs/hooks/onBeforeMount
6
+ * @see https://kirujs.dev/docs/api/lifecycles#onBeforeMount
7
7
  */
8
8
  export declare function onBeforeMount(fn: () => (() => void) | void): void;
9
9
  //# sourceMappingURL=onBeforeMount.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"onBeforeMount.d.ts","sourceRoot":"","sources":["../../src/hooks/onBeforeMount.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAEjE"}
1
+ {"version":3,"file":"onBeforeMount.d.ts","sourceRoot":"","sources":["../../src/hooks/onBeforeMount.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAOjE"}
@@ -1,12 +1,19 @@
1
- import { queueSetupEffect } from "./utils.js";
1
+ import { sideEffectsEnabled } from "../utils/index.js";
2
+ import { getVNodeLifecycleHooks, wrapLifecycleHookCallback } from "./utils.js";
2
3
  /**
3
4
  * Registers a callback that runs after the component is first mounted to the DOM, but before the DOM is painted.
4
5
  * Optionally returns a cleanup function that will run when the component unmounts.
5
6
  * Intended for use during component setup when the component returns a render function.
6
7
  *
7
- * @see https://kirujs.dev/docs/hooks/onBeforeMount
8
+ * @see https://kirujs.dev/docs/api/lifecycles#onBeforeMount
8
9
  */
9
10
  export function onBeforeMount(fn) {
10
- queueSetupEffect(fn, { immediate: true });
11
+ if (!sideEffectsEnabled())
12
+ return;
13
+ const hooks = getVNodeLifecycleHooks();
14
+ if (!hooks) {
15
+ throw new Error("Cannot queue beforeMount effect outside of a component");
16
+ }
17
+ hooks.pre.push(wrapLifecycleHookCallback(fn, hooks.preCleanups));
11
18
  }
12
19
  //# sourceMappingURL=onBeforeMount.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"onBeforeMount.js","sourceRoot":"","sources":["../../src/hooks/onBeforeMount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE7C;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,EAA6B;IACzD,gBAAgB,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;AAC3C,CAAC"}
1
+ {"version":3,"file":"onBeforeMount.js","sourceRoot":"","sources":["../../src/hooks/onBeforeMount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAE9E;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,EAA6B;IACzD,IAAI,CAAC,kBAAkB,EAAE;QAAE,OAAM;IACjC,MAAM,KAAK,GAAG,sBAAsB,EAAE,CAAA;IACtC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;IAC3E,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;AAClE,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * Registers a cleanup function that runs when the component unmounts.
3
3
  * Intended for use during component setup when the component returns a render function.
4
4
  *
5
- * @see https://kirujs.dev/docs/hooks/onCleanup
5
+ * @see https://kirujs.dev/docs/api/lifecycles#onCleanup
6
6
  */
7
7
  export declare function onCleanup(fn: () => void): void;
8
8
  //# sourceMappingURL=onCleanup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"onCleanup.d.ts","sourceRoot":"","sources":["../../src/hooks/onCleanup.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAK9C"}
1
+ {"version":3,"file":"onCleanup.d.ts","sourceRoot":"","sources":["../../src/hooks/onCleanup.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAO9C"}
@@ -1,15 +1,18 @@
1
1
  import { node } from "../globals.js";
2
- import { generateRandomID, registerVNodeCleanup } from "../utils/index.js";
2
+ import { generateRandomID, registerVNodeCleanup, sideEffectsEnabled, } from "../utils/index.js";
3
3
  /**
4
4
  * Registers a cleanup function that runs when the component unmounts.
5
5
  * Intended for use during component setup when the component returns a render function.
6
6
  *
7
- * @see https://kirujs.dev/docs/hooks/onCleanup
7
+ * @see https://kirujs.dev/docs/api/lifecycles#onCleanup
8
8
  */
9
9
  export function onCleanup(fn) {
10
+ if (!sideEffectsEnabled())
11
+ return;
10
12
  const vNode = node.current;
11
- if (!vNode)
12
- throw new Error("Cannot queue cleanup effect outside of a component");
13
+ if (!vNode) {
14
+ throw new Error("Cannot queue onCleanup effect outside of a component");
15
+ }
13
16
  registerVNodeCleanup(vNode, generateRandomID(10), fn);
14
17
  }
15
18
  //# sourceMappingURL=onCleanup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"onCleanup.js","sourceRoot":"","sources":["../../src/hooks/onCleanup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAE1E;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,EAAc;IACtC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAQ,CAAA;IAC3B,IAAI,CAAC,KAAK;QACR,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;IACvE,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;AACvD,CAAC"}
1
+ {"version":3,"file":"onCleanup.js","sourceRoot":"","sources":["../../src/hooks/onCleanup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAE1B;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,EAAc;IACtC,IAAI,CAAC,kBAAkB,EAAE;QAAE,OAAM;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAQ,CAAA;IAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;IACzE,CAAC;IACD,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;AACvD,CAAC"}
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * Registers a callback that runs after the component is first mounted to the DOM.
3
- * Optionally returns a cleanup function that will run when the component unmounts.
3
+ * Optionally returns a cleanup function that will run after the component unmounts.
4
4
  * Intended for use during component setup when the component returns a render function.
5
5
  *
6
- * @see https://kirujs.dev/docs/hooks/onMount
6
+ * @see https://kirujs.dev/docs/api/lifecycles#onMount
7
7
  */
8
8
  export declare function onMount(fn: () => (() => void) | void): void;
9
9
  //# sourceMappingURL=onMount.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"onMount.d.ts","sourceRoot":"","sources":["../../src/hooks/onMount.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAE3D"}
1
+ {"version":3,"file":"onMount.d.ts","sourceRoot":"","sources":["../../src/hooks/onMount.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAO3D"}
@@ -1,12 +1,19 @@
1
- import { queueSetupEffect } from "./utils.js";
1
+ import { sideEffectsEnabled } from "../utils/index.js";
2
+ import { getVNodeLifecycleHooks, wrapLifecycleHookCallback } from "./utils.js";
2
3
  /**
3
4
  * Registers a callback that runs after the component is first mounted to the DOM.
4
- * Optionally returns a cleanup function that will run when the component unmounts.
5
+ * Optionally returns a cleanup function that will run after the component unmounts.
5
6
  * Intended for use during component setup when the component returns a render function.
6
7
  *
7
- * @see https://kirujs.dev/docs/hooks/onMount
8
+ * @see https://kirujs.dev/docs/api/lifecycles#onMount
8
9
  */
9
10
  export function onMount(fn) {
10
- queueSetupEffect(fn);
11
+ if (!sideEffectsEnabled())
12
+ return;
13
+ const hooks = getVNodeLifecycleHooks();
14
+ if (!hooks) {
15
+ throw new Error("Cannot queue onMount effect outside of a component");
16
+ }
17
+ hooks.post.push(wrapLifecycleHookCallback(fn, hooks.postCleanups));
11
18
  }
12
19
  //# sourceMappingURL=onMount.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"onMount.js","sourceRoot":"","sources":["../../src/hooks/onMount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE7C;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,EAA6B;IACnD,gBAAgB,CAAC,EAAE,CAAC,CAAA;AACtB,CAAC"}
1
+ {"version":3,"file":"onMount.js","sourceRoot":"","sources":["../../src/hooks/onMount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAE9E;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,EAA6B;IACnD,IAAI,CAAC,kBAAkB,EAAE;QAAE,OAAM;IACjC,MAAM,KAAK,GAAG,sBAAsB,EAAE,CAAA;IACtC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;IACvE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAA;AACpE,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Signal } from "../signals/base.js";
2
+ export interface Setup<Props extends {}> {
3
+ readonly derive: <T>(selector: (props: Props extends Kiru.FC<infer P> ? P : Props) => T) => Signal<T>;
4
+ readonly id: Signal<string>;
5
+ }
6
+ /**
7
+ * Creates a per‑VNode setup context that can be used during
8
+ * component setup to derive props into signals.
9
+ *
10
+ * @see https://kirujs.dev/docs/api/lifecycles#setup
11
+ */
12
+ export declare function setup<Props extends {}>(): Setup<Props>;
13
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/hooks/setup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAIhD,MAAM,WAAW,KAAK,CAAC,KAAK,SAAS,EAAE;IACrC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,SAAS,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,CAAC,KAC/D,MAAM,CAAC,CAAC,CAAC,CAAA;IACd,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,KAAK,SAAS,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,CAkBtD"}