@fluixi/reactive 1.0.0-alpha.83 → 1.0.0-alpha.85

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 (167) hide show
  1. package/dist/cdn/reactive.cjs +2722 -1
  2. package/dist/cdn/reactive.global.js +2 -1
  3. package/dist/cdn/reactive.mjs +2706 -1
  4. package/dist/cdn/signal.cjs +299 -1
  5. package/dist/cdn/signal.d.ts +1 -1
  6. package/dist/cdn/signal.global.js +2 -1
  7. package/dist/cdn/signal.js +1 -1
  8. package/dist/cdn/signal.mjs +276 -1
  9. package/dist/index.cjs +2722 -1
  10. package/dist/index.mjs +2706 -1
  11. package/dist/lib/index.cjs +2723 -1
  12. package/dist/lib/index.js +1 -1
  13. package/dist/lib/index.mjs +2708 -1
  14. package/dist/lib/observable/index.cjs +386 -1
  15. package/dist/lib/observable/index.mjs +364 -1
  16. package/dist/lib/observable/observable.cjs +384 -1
  17. package/dist/lib/observable/observable.d.ts +0 -137
  18. package/dist/lib/observable/observable.d.ts.map +1 -1
  19. package/dist/lib/observable/observable.js +0 -71
  20. package/dist/lib/observable/observable.mjs +361 -1
  21. package/dist/lib/observable/subscription.cjs +180 -1
  22. package/dist/lib/observable/subscription.d.ts +0 -12
  23. package/dist/lib/observable/subscription.d.ts.map +1 -1
  24. package/dist/lib/observable/subscription.js +0 -12
  25. package/dist/lib/observable/subscription.mjs +157 -1
  26. package/dist/lib/observable/types.cjs +18 -1
  27. package/dist/lib/observable/types.d.ts.map +1 -1
  28. package/dist/lib/predicates.cjs +44 -1
  29. package/dist/lib/predicates.d.ts +2 -2
  30. package/dist/lib/predicates.js +2 -2
  31. package/dist/lib/predicates.mjs +23 -1
  32. package/dist/lib/signal/api.cjs +571 -1
  33. package/dist/lib/signal/api.d.ts +211 -1
  34. package/dist/lib/signal/api.d.ts.map +1 -1
  35. package/dist/lib/signal/api.js +207 -12
  36. package/dist/lib/signal/api.mjs +548 -1
  37. package/dist/lib/signal/cached-resource.cjs +672 -1
  38. package/dist/lib/signal/cached-resource.d.ts +28 -16
  39. package/dist/lib/signal/cached-resource.d.ts.map +1 -1
  40. package/dist/lib/signal/cached-resource.js +35 -29
  41. package/dist/lib/signal/cached-resource.mjs +650 -1
  42. package/dist/lib/signal/graph/children.cjs +325 -1
  43. package/dist/lib/signal/graph/children.js +1 -1
  44. package/dist/lib/signal/graph/children.mjs +302 -1
  45. package/dist/lib/signal/graph/compat.cjs +578 -1
  46. package/dist/lib/signal/graph/compat.d.ts +13 -13
  47. package/dist/lib/signal/graph/compat.d.ts.map +1 -1
  48. package/dist/lib/signal/graph/compat.js +33 -31
  49. package/dist/lib/signal/graph/compat.mjs +556 -1
  50. package/dist/lib/signal/graph/core.cjs +295 -1
  51. package/dist/lib/signal/graph/core.d.ts +28 -24
  52. package/dist/lib/signal/graph/core.d.ts.map +1 -1
  53. package/dist/lib/signal/graph/core.js +38 -31
  54. package/dist/lib/signal/graph/core.mjs +273 -1
  55. package/dist/lib/signal/graph/debounced.cjs +668 -1
  56. package/dist/lib/signal/graph/debounced.d.ts +5 -5
  57. package/dist/lib/signal/graph/debounced.d.ts.map +1 -1
  58. package/dist/lib/signal/graph/debounced.js +5 -5
  59. package/dist/lib/signal/graph/debounced.mjs +645 -1
  60. package/dist/lib/signal/graph/derived.cjs +496 -1
  61. package/dist/lib/signal/graph/derived.d.ts +1 -1
  62. package/dist/lib/signal/graph/derived.js +1 -1
  63. package/dist/lib/signal/graph/derived.mjs +473 -1
  64. package/dist/lib/signal/graph/detect.cjs +66 -1
  65. package/dist/lib/signal/graph/detect.mjs +45 -1
  66. package/dist/lib/signal/graph/error-boundary.cjs +301 -1
  67. package/dist/lib/signal/graph/error-boundary.js +3 -3
  68. package/dist/lib/signal/graph/error-boundary.mjs +278 -1
  69. package/dist/lib/signal/graph/index.cjs +305 -1
  70. package/dist/lib/signal/graph/index.d.ts +7 -6
  71. package/dist/lib/signal/graph/index.d.ts.map +1 -1
  72. package/dist/lib/signal/graph/index.js +7 -6
  73. package/dist/lib/signal/graph/index.mjs +283 -1
  74. package/dist/lib/signal/graph/observe.cjs +163 -1
  75. package/dist/lib/signal/graph/observe.d.ts +8 -8
  76. package/dist/lib/signal/graph/observe.js +5 -5
  77. package/dist/lib/signal/graph/observe.mjs +140 -1
  78. package/dist/lib/signal/graph/resource.cjs +620 -1
  79. package/dist/lib/signal/graph/resource.d.ts +1 -1
  80. package/dist/lib/signal/graph/resource.js +7 -8
  81. package/dist/lib/signal/graph/resource.mjs +597 -1
  82. package/dist/lib/signal/graph/runtime.cjs +501 -1
  83. package/dist/lib/signal/graph/runtime.d.ts +7 -7
  84. package/dist/lib/signal/graph/runtime.d.ts.map +1 -1
  85. package/dist/lib/signal/graph/runtime.js +34 -30
  86. package/dist/lib/signal/graph/runtime.mjs +478 -1
  87. package/dist/lib/signal/graph/signal-next.cjs +1208 -1
  88. package/dist/lib/signal/graph/signal-next.d.ts +5 -5
  89. package/dist/lib/signal/graph/signal-next.d.ts.map +1 -1
  90. package/dist/lib/signal/graph/signal-next.js +14 -12
  91. package/dist/lib/signal/graph/signal-next.mjs +1186 -1
  92. package/dist/lib/signal/graph/ssr-hooks.cjs +60 -1
  93. package/dist/lib/signal/graph/ssr-hooks.d.ts +6 -7
  94. package/dist/lib/signal/graph/ssr-hooks.d.ts.map +1 -1
  95. package/dist/lib/signal/graph/ssr-hooks.js +6 -7
  96. package/dist/lib/signal/graph/ssr-hooks.mjs +39 -1
  97. package/dist/lib/signal/graph/state.cjs +72 -1
  98. package/dist/lib/signal/graph/state.d.ts +41 -10
  99. package/dist/lib/signal/graph/state.d.ts.map +1 -1
  100. package/dist/lib/signal/graph/state.js +83 -22
  101. package/dist/lib/signal/graph/state.mjs +49 -1
  102. package/dist/lib/signal/graph/suspense.cjs +301 -1
  103. package/dist/lib/signal/graph/suspense.js +4 -4
  104. package/dist/lib/signal/graph/suspense.mjs +278 -1
  105. package/dist/lib/signal/index-legacy.cjs +2540 -1
  106. package/dist/lib/signal/index-legacy.d.ts +1 -1
  107. package/dist/lib/signal/index-legacy.js +1 -1
  108. package/dist/lib/signal/index-legacy.mjs +2518 -1
  109. package/dist/lib/signal/index.cjs +1275 -1
  110. package/dist/lib/signal/index.d.ts +3 -2
  111. package/dist/lib/signal/index.d.ts.map +1 -1
  112. package/dist/lib/signal/index.js +7 -4
  113. package/dist/lib/signal/index.mjs +1253 -1
  114. package/dist/lib/signal/list.cjs +549 -1
  115. package/dist/lib/signal/list.d.ts +5 -5
  116. package/dist/lib/signal/list.js +5 -5
  117. package/dist/lib/signal/list.mjs +526 -1
  118. package/dist/lib/signal/resource-api.cjs +626 -1
  119. package/dist/lib/signal/resource-api.d.ts +5 -5
  120. package/dist/lib/signal/resource-api.js +5 -5
  121. package/dist/lib/signal/resource-api.mjs +603 -1
  122. package/dist/lib/signal/signal.cjs +2023 -1
  123. package/dist/lib/signal/signal.d.ts +4 -4
  124. package/dist/lib/signal/signal.d.ts.map +1 -1
  125. package/dist/lib/signal/signal.js +22 -23
  126. package/dist/lib/signal/signal.mjs +2000 -1
  127. package/dist/lib/signal/types.cjs +38 -1
  128. package/dist/lib/signal/types.d.ts.map +1 -1
  129. package/dist/lib/signal/types.js +2 -2
  130. package/dist/lib/signal/types.mjs +17 -1
  131. package/dist/lib/signal/utilities.cjs +1012 -1
  132. package/dist/lib/signal/utilities.d.ts +0 -108
  133. package/dist/lib/signal/utilities.d.ts.map +1 -1
  134. package/dist/lib/signal/utilities.js +0 -158
  135. package/dist/lib/signal/utilities.mjs +990 -1
  136. package/dist/lib/store/api.cjs +661 -1
  137. package/dist/lib/store/api.d.ts +33 -0
  138. package/dist/lib/store/api.d.ts.map +1 -1
  139. package/dist/lib/store/api.js +41 -8
  140. package/dist/lib/store/api.mjs +645 -1
  141. package/dist/lib/store/index.cjs +740 -1
  142. package/dist/lib/store/index.js +1 -1
  143. package/dist/lib/store/index.mjs +725 -1
  144. package/dist/lib/store/setter.types.cjs +18 -1
  145. package/dist/lib/store/setter.types.d.ts +43 -3
  146. package/dist/lib/store/setter.types.d.ts.map +1 -1
  147. package/dist/lib/store/store.cjs +707 -1
  148. package/dist/lib/store/store.d.ts +72 -0
  149. package/dist/lib/store/store.d.ts.map +1 -1
  150. package/dist/lib/store/store.js +238 -8
  151. package/dist/lib/store/store.mjs +693 -1
  152. package/dist/lib/store/types.cjs +18 -1
  153. package/dist/lib/store/types.d.ts +1 -1
  154. package/dist/lib/store/types.d.ts.map +1 -1
  155. package/dist/lib/store/utils.cjs +43 -1
  156. package/dist/lib/store/utils.d.ts +1 -1
  157. package/dist/lib/store/utils.js +1 -1
  158. package/dist/lib/store/utils.mjs +22 -1
  159. package/dist/lib/subject.cjs +450 -1
  160. package/dist/lib/subject.js +3 -91
  161. package/dist/lib/subject.mjs +427 -1
  162. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  163. package/dist/version.generated.cjs +27 -1
  164. package/dist/version.generated.d.ts +1 -1
  165. package/dist/version.generated.js +2 -2
  166. package/dist/version.generated.mjs +7 -1
  167. package/package.json +5 -4
@@ -1 +1,578 @@
1
- "use strict";var R=Object.defineProperty;var $=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var B=Object.prototype.hasOwnProperty;var X=(e,n)=>{for(var t in n)R(e,t,{get:n[t],enumerable:!0})},J=(e,n,t,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let i of U(n))!B.call(e,i)&&i!==t&&R(e,i,{get:()=>n[i],enumerable:!(o=$(n,i))||o.enumerable});return e};var Q=e=>J(R({},"__esModule",{value:!0}),e);var Te={};X(Te,{batch:()=>pe,createComputed:()=>de,createEffect:()=>le,createMemo:()=>ce,createRenderEffect:()=>fe,createRoot:()=>z,createSignal:()=>ae,flush:()=>we,flushSync:()=>d,getOwner:()=>y,on:()=>be,onCleanup:()=>w,runWithOwner:()=>h,setOwner:()=>H,startTransition:()=>Y,untrack:()=>ve,useTransition:()=>he});module.exports=Q(Te);var Z="__fluixi_signal_next_state__",ee=e=>{typeof queueMicrotask=="function"?queueMicrotask(e):Promise.resolve().then(e)},r=globalThis[Z]??={consumer:null,untracked:!1,owner:null,queue:[],scheduled:!1,flushing:!1,batchDepth:0,hostSchedule:ee,onSuspend:null,onError:null,observer:null};var N="1.0.0-alpha.83";function ne(e){return r.observer=e,()=>{r.observer===e&&(r.observer=null)}}var O=[],te;function f(e){let n=r.observer;n&&n.created(e.parents===void 0?{...e,parents:O,origin:e.origin??te}:e)}function E(e){return r.observer?(O.push(e),!0):!1}function A(){O.pop()}function I(e){r.observer?.ran?.(e)}function M(e,n){r.observer?.wrote?.(e,n)}function p(e){r.observer?.disposed?.(e)}var re="__FLUIXI_DEVTOOLS_HOOK__",P=globalThis[re];if(typeof P?.inject=="function")try{P.inject({observeReactiveNodes:ne,version:N})}catch{}function _(){return r.observer!=null}var W=0,j=1,v=2,b=class{constructor(){this.observers=null;this.watchers=null;this.version=0}updateIfNecessary(){}track(){if(r.untracked)return;let n=r.consumer;n&&((this.observers??=new Set).add(n),(n.sources??=new Set).add(this))}},T=class extends b{constructor(n,t){super(),this._value=n,this._equals=t?.equals===!1?()=>!1:t?.equals??Object.is}get(){return this.track(),this._value}set(n){if(!this._equals(this._value,n)){if(this._value=n,this.version++,M(this,r.consumer),this.observers)for(let t of[...this.observers])t.markDirty(v);S(this)}}peek(){return this._value}},l=class extends b{constructor(t,o){super();this._threw=!1;this._initialized=!1;this.state=v;this.sources=null;this._fn=t,this._equals=o?.equals===!1?()=>!1:o?.equals??Object.is}get(){if(r.consumer===this)throw new Error("Signal.Computed cannot read itself");if(this.track(),this.updateIfNecessary(),this._threw)throw this._error;return this._value}updateIfNecessary(){if(this.state===j&&this.sources){for(let t of this.sources)if(t.updateIfNecessary(),this.state===v)break}(this.state===v||!this._initialized)&&this.recompute(),this.state=W}recompute(){if(this.sources){for(let c of this.sources)c.observers?.delete(this);this.sources.clear()}let t=r.consumer,o=r.untracked,i=E(this);r.consumer=this,r.untracked=!1;let s,u=!1,a;try{s=this._fn()}catch(c){u=!0,a=c,s=this._value}finally{r.consumer=t,r.untracked=o,i&&A()}let g=!this._initialized||this._threw!==u||(u?a!==this._error:!this._equals(this._value,s));if(this._initialized=!0,this._threw=u,this._error=a,this._value=s,I(this),g){if(this.version++,this.observers)for(let c of[...this.observers])c.markDirty(v);S(this)}}markDirty(t){if(this.state>=t)return;let o=this.state===W;if(this.state=t,o){if(this.observers)for(let i of[...this.observers])i.markDirty(j);S(this)}}peek(){if(this.updateIfNecessary(),this._threw)throw this._error;return this._value}};function S(e){if(e.watchers)for(let n of[...e.watchers])n._notify(e)}var m=class{constructor(n){this._watched=new Set;this._pending=new Set;this._notifyFn=n}watch(...n){for(let t of n)this._watched.add(t),(t.watchers??=new Set).add(this)}unwatch(...n){for(let t of n)this._watched.delete(t),t.watchers?.delete(this),this._pending.delete(t)}getPending(){let n=[...this._pending];return this._pending.clear(),n}_notify(n){if(!this._watched.has(n)||this._pending.has(n))return;let t=this._pending.size===0;this._pending.add(n),t&&this._notifyFn()}};function C(e){if(r.untracked)return e();r.untracked=!0;try{return e()}finally{r.untracked=!1}}function V(e){return{cleanups:null,owned:null,parent:e,contexts:null}}function G(e){return r.onSuspend?(r.onSuspend(e,r.owner),!0):!1}function y(){return r.owner}function H(e){let n=r.owner;return r.owner=e,n}function h(e,n){let t=r.owner;r.owner=e;try{return n()}finally{r.owner=t}}function w(e){if(r.owner){if(r.owner.disposed){e();return}(r.owner.cleanups??=[]).push(e)}}function k(e,n=!0){if(!e.disposed){if(e.owned){for(let t=e.owned.length-1;t>=0;t--)k(e.owned[t]);e.owned=null}if(e.cleanups){for(let t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null}n&&(e.disposed=!0)}}function z(e){let n=V(r.owner);r.owner&&(r.owner.owned??=[]).push(n);let t=r.owner;r.owner=n;try{return e(()=>k(n))}finally{r.owner=t}}function K(e){r.hostSchedule=e??(n=>{Promise.resolve().then(n)})}function oe(e){e.queued||(e.queued=!0,r.queue.push(e),!r.scheduled&&r.batchDepth===0&&(r.scheduled=!0,r.hostSchedule(d)))}function d(){if(r.scheduled=!1,r.flushing)return;r.flushing=!0;let e=0;try{for(;r.queue.length;){if(++e>1e5)throw new Error("[fluixi] effect flush did not settle (cycle?)");let n=r.queue;r.queue=[];for(let t of n)t.queued=!1,t.disposed||t.run()}}finally{r.flushing=!1}}function F(){r.batchDepth===0&&d()}function D(e){r.batchDepth++;try{return e()}finally{--r.batchDepth===0&&d()}}var q=class{constructor(n,t=!1){this.queued=!1;this.disposed=!1;this.owner=V(r.owner),r.owner&&(r.owner.cleanups??=[]).push(()=>this.dispose()),this.computed=new l(()=>{k(this.owner,!1),h(this.owner,()=>{let o=n();typeof o=="function"&&(this.owner.cleanups??=[]).push(o)})}),f({kind:"effect",node:this.computed,handle:this,internal:!t}),this.watcher=new m(()=>oe(this)),this.run(),this.watcher.watch(this.computed)}run(){if(!this.disposed){this.watcher.getPending();try{this.computed.get()}catch(n){if(n&&typeof n.then=="function"&&r.onSuspend){r.onSuspend(n,this.owner);return}if(r.onError&&r.onError(n,this.owner))return;throw n}}}dispose(){this.disposed||(this.disposed=!0,p(this.computed),this.watcher.unwatch(this.computed),k(this.owner))}};function x(e,n=!1){let t=new q(e,n);return()=>t.dispose()}function ie(e){return!!e&&typeof e.then=="function"}K(()=>{});var L=Symbol.for("signal"),se=Symbol.for("memo"),ue=Symbol.for("signal-node");function ae(e,n){let t=new T(e,{equals:n?.equals}),o=(()=>t.get()),i=(s=>{let u=typeof s=="function"?s(t.peek()):s;return t.set(u),F(),u});return Object.defineProperty(o,L,{value:!0,enumerable:!0}),Object.defineProperty(o,ue,{value:{get value(){return t.peek()},get version(){return t.version}},enumerable:!1}),f({kind:"signal",node:t,handle:o,name:n?.name,set:i}),_()&&w(()=>p(t)),[o,i]}function ce(e,n,t){let o=n,i=y(),s=new l(()=>h(i,()=>{try{return o=e(o)}catch(a){if(ie(a))return G(a),o;throw a}}),{equals:t?.equals}),u=(()=>s.get());return Object.defineProperty(u,L,{value:!0,enumerable:!0}),Object.defineProperty(u,se,{value:!0,enumerable:!0}),f({kind:"memo",node:s,handle:u,name:t?.name}),_()&&w(()=>p(s)),u}function le(e,n){let t=n;return x(()=>{t=e(t)},!0)}function de(e,n){let t=n;x(()=>{t=e(t)})}function fe(e,n){let t=n;return x(()=>{t=e(t)})}function pe(e){return D(e)}function ve(e){return C(e)}function Y(e){return D(e),Promise.resolve()}function he(){return[()=>!1,Y]}function we(){return d(),Promise.resolve()}function be(e,n,t){let o=Array.isArray(e),i,s=t?.defer??!1;return u=>{let a=o?e.map(c=>c()):e();if(s){s=!1,i=a;return}let g=C(()=>n(a,i,u));return i=a,g}}
1
+ /*! @fluixi/reactive v1.0.0-alpha.85 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
+ "use strict";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/lib/signal/graph/compat.ts
22
+ var compat_exports = {};
23
+ __export(compat_exports, {
24
+ batch: () => batch2,
25
+ createComputed: () => createComputed,
26
+ createEffect: () => createEffect,
27
+ createMemo: () => createMemo,
28
+ createRenderEffect: () => createRenderEffect,
29
+ createRoot: () => createRoot,
30
+ createSignal: () => createSignal,
31
+ flush: () => flush,
32
+ flushSync: () => flushSync,
33
+ getOwner: () => getOwner,
34
+ on: () => on,
35
+ onCleanup: () => onCleanup,
36
+ runWithOwner: () => runWithOwner,
37
+ setOwner: () => setOwner,
38
+ startTransition: () => startTransition,
39
+ untrack: () => untrack2,
40
+ useTransition: () => useTransition
41
+ });
42
+ module.exports = __toCommonJS(compat_exports);
43
+
44
+ // src/version.generated.ts
45
+ var VERSION = "1.0.0-alpha.85";
46
+
47
+ // src/lib/signal/graph/state.ts
48
+ var MAJOR = VERSION.split(".")[0];
49
+ var KEY = `__fluixi_signal_state_v${MAJOR}__`;
50
+ var VERSIONS_KEY = `__fluixi_signal_builds_v${MAJOR}__`;
51
+ var defaultSchedule = (run) => {
52
+ if (typeof queueMicrotask === "function") queueMicrotask(run);
53
+ else void Promise.resolve().then(run);
54
+ };
55
+ function defaults() {
56
+ return {
57
+ consumer: null,
58
+ untracked: false,
59
+ owner: null,
60
+ queue: [],
61
+ scheduled: false,
62
+ flushing: false,
63
+ batchDepth: 0,
64
+ hostSchedule: defaultSchedule,
65
+ onSuspend: null,
66
+ onError: null,
67
+ observer: null
68
+ };
69
+ }
70
+ var realm = globalThis;
71
+ function backfillState(existing) {
72
+ const fresh = defaults();
73
+ const target = existing;
74
+ for (const field of Object.keys(fresh)) {
75
+ if (!(field in existing)) target[field] = fresh[field];
76
+ }
77
+ return existing;
78
+ }
79
+ function claim() {
80
+ const existing = realm[KEY];
81
+ return existing ? backfillState(existing) : realm[KEY] = defaults();
82
+ }
83
+ var G = claim();
84
+ (realm[VERSIONS_KEY] ??= []).push(VERSION);
85
+
86
+ // src/lib/signal/graph/observe.ts
87
+ function observeReactiveNodes(next) {
88
+ G.observer = next;
89
+ return () => {
90
+ if (G.observer === next) G.observer = null;
91
+ };
92
+ }
93
+ var running = [];
94
+ var origin;
95
+ function reportReactiveNode(report) {
96
+ const observer = G.observer;
97
+ if (observer) {
98
+ observer.created(
99
+ report.parents === void 0 ? { ...report, parents: running, origin: report.origin ?? origin } : report
100
+ );
101
+ }
102
+ }
103
+ function enterReactiveRun(node) {
104
+ if (!G.observer) return false;
105
+ running.push(node);
106
+ return true;
107
+ }
108
+ function exitReactiveRun() {
109
+ running.pop();
110
+ }
111
+ function reportReactiveRun(node) {
112
+ G.observer?.ran?.(node);
113
+ }
114
+ function reportReactiveWrite(node, by) {
115
+ G.observer?.wrote?.(node, by);
116
+ }
117
+ function reportReactiveDispose(node) {
118
+ G.observer?.disposed?.(node);
119
+ }
120
+ var HOOK = "__FLUIXI_DEVTOOLS_HOOK__";
121
+ var hook = globalThis[HOOK];
122
+ if (typeof hook?.inject === "function") {
123
+ try {
124
+ hook.inject({ observeReactiveNodes, version: VERSION });
125
+ } catch {
126
+ }
127
+ }
128
+ function isObserved() {
129
+ return G.observer != null;
130
+ }
131
+
132
+ // src/lib/signal/graph/core.ts
133
+ var CLEAN = 0;
134
+ var CHECK = 1;
135
+ var DIRTY = 2;
136
+ var Source = class {
137
+ constructor() {
138
+ /** Computeds, and watched leaves, that read this node. */
139
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
140
+ this.observers = null;
141
+ /** Watchers eagerly observing this node, which is how `runtime.ts` schedules effects. */
142
+ this.watchers = null;
143
+ /** Bumped whenever this node's value actually changes (equality-gated). */
144
+ this.version = 0;
145
+ }
146
+ /** Settle this node so a reader sees a current value/version. Overridden by Computed. */
147
+ updateIfNecessary() {
148
+ }
149
+ /** Link the current consumer (if any) as an observer of this node. */
150
+ track() {
151
+ if (G.untracked) return;
152
+ const consumer = G.consumer;
153
+ if (!consumer) return;
154
+ (this.observers ??= /* @__PURE__ */ new Set()).add(consumer);
155
+ (consumer.sources ??= /* @__PURE__ */ new Set()).add(this);
156
+ }
157
+ };
158
+ var State = class extends Source {
159
+ constructor(value, options) {
160
+ super();
161
+ this._value = value;
162
+ this._equals = options?.equals === false ? () => false : options?.equals ?? Object.is;
163
+ }
164
+ get() {
165
+ this.track();
166
+ return this._value;
167
+ }
168
+ set(next) {
169
+ if (this._equals(this._value, next)) return;
170
+ this._value = next;
171
+ this.version++;
172
+ reportReactiveWrite(this, G.consumer);
173
+ if (this.observers) for (const o of [...this.observers]) o.markDirty(DIRTY);
174
+ notifyWatchers(this);
175
+ }
176
+ /** Read without subscribing (peek). */
177
+ peek() {
178
+ return this._value;
179
+ }
180
+ };
181
+ var Computed = class extends Source {
182
+ constructor(fn, options) {
183
+ super();
184
+ this._threw = false;
185
+ this._initialized = false;
186
+ this.state = DIRTY;
187
+ /** Nodes this computation read on its last run. Rebuilt on every run. */
188
+ this.sources = null;
189
+ this._fn = fn;
190
+ this._equals = options?.equals === false ? () => false : options?.equals ?? Object.is;
191
+ }
192
+ get() {
193
+ if (G.consumer === this) {
194
+ throw new Error("Signal.Computed cannot read itself");
195
+ }
196
+ this.track();
197
+ this.updateIfNecessary();
198
+ if (this._threw) throw this._error;
199
+ return this._value;
200
+ }
201
+ /** Settle, if CHECK, verify sources; if DIRTY (or never run), recompute. */
202
+ updateIfNecessary() {
203
+ if (this.state === CHECK) {
204
+ if (this.sources) {
205
+ for (const s of this.sources) {
206
+ s.updateIfNecessary();
207
+ if (this.state === DIRTY) break;
208
+ }
209
+ }
210
+ }
211
+ if (this.state === DIRTY || !this._initialized) this.recompute();
212
+ this.state = CLEAN;
213
+ }
214
+ recompute() {
215
+ if (this.sources) {
216
+ for (const s of this.sources) s.observers?.delete(this);
217
+ this.sources.clear();
218
+ }
219
+ const prevConsumer = G.consumer;
220
+ const prevUntracked = G.untracked;
221
+ const watched = enterReactiveRun(this);
222
+ G.consumer = this;
223
+ G.untracked = false;
224
+ let next;
225
+ let threw = false;
226
+ let err;
227
+ try {
228
+ next = this._fn();
229
+ } catch (e) {
230
+ threw = true;
231
+ err = e;
232
+ next = this._value;
233
+ } finally {
234
+ G.consumer = prevConsumer;
235
+ G.untracked = prevUntracked;
236
+ if (watched) exitReactiveRun();
237
+ }
238
+ const changed = !this._initialized || this._threw !== threw || (threw ? err !== this._error : !this._equals(this._value, next));
239
+ this._initialized = true;
240
+ this._threw = threw;
241
+ this._error = err;
242
+ this._value = next;
243
+ reportReactiveRun(this);
244
+ if (changed) {
245
+ this.version++;
246
+ if (this.observers) for (const o of [...this.observers]) o.markDirty(DIRTY);
247
+ notifyWatchers(this);
248
+ }
249
+ }
250
+ /**
251
+ * Push a maybe-dirty mark. A direct observer of a changed node gets DIRTY; its
252
+ * own observers get CHECK (recurse), stopping where already marked, so the
253
+ * push is O(newly-dirtied) and never recomputes.
254
+ */
255
+ markDirty(level) {
256
+ if (this.state >= level) return;
257
+ const wasClean = this.state === CLEAN;
258
+ this.state = level;
259
+ if (wasClean) {
260
+ if (this.observers) for (const o of [...this.observers]) o.markDirty(CHECK);
261
+ notifyWatchers(this);
262
+ }
263
+ }
264
+ peek() {
265
+ this.updateIfNecessary();
266
+ if (this._threw) throw this._error;
267
+ return this._value;
268
+ }
269
+ };
270
+ function notifyWatchers(node) {
271
+ if (!node.watchers) return;
272
+ for (const w of [...node.watchers]) w._notify(node);
273
+ }
274
+ var Watcher = class {
275
+ constructor(notify) {
276
+ this._watched = /* @__PURE__ */ new Set();
277
+ this._pending = /* @__PURE__ */ new Set();
278
+ this._notifyFn = notify;
279
+ }
280
+ watch(...nodes) {
281
+ for (const n of nodes) {
282
+ this._watched.add(n);
283
+ (n.watchers ??= /* @__PURE__ */ new Set()).add(this);
284
+ }
285
+ }
286
+ unwatch(...nodes) {
287
+ for (const n of nodes) {
288
+ this._watched.delete(n);
289
+ n.watchers?.delete(this);
290
+ this._pending.delete(n);
291
+ }
292
+ }
293
+ /** Watched nodes that may have changed since the last getPending(). */
294
+ getPending() {
295
+ const out = [...this._pending];
296
+ this._pending.clear();
297
+ return out;
298
+ }
299
+ /** @internal, a watched node became non-clean. Edge-triggered: notify once. */
300
+ _notify(node) {
301
+ if (!this._watched.has(node) || this._pending.has(node)) return;
302
+ const wasEmpty = this._pending.size === 0;
303
+ this._pending.add(node);
304
+ if (wasEmpty) this._notifyFn();
305
+ }
306
+ };
307
+ function untrack(fn) {
308
+ if (G.untracked) return fn();
309
+ G.untracked = true;
310
+ try {
311
+ return fn();
312
+ } finally {
313
+ G.untracked = false;
314
+ }
315
+ }
316
+
317
+ // src/lib/signal/graph/runtime.ts
318
+ function makeOwner(parent) {
319
+ return { cleanups: null, owned: null, parent, contexts: null };
320
+ }
321
+ function reportSuspend(promise) {
322
+ if (G.onSuspend) {
323
+ G.onSuspend(promise, G.owner);
324
+ return true;
325
+ }
326
+ return false;
327
+ }
328
+ function getOwner() {
329
+ return G.owner;
330
+ }
331
+ function setOwner(owner) {
332
+ const prev = G.owner;
333
+ G.owner = owner;
334
+ return prev;
335
+ }
336
+ function runWithOwner(owner, fn) {
337
+ const prev = G.owner;
338
+ G.owner = owner;
339
+ try {
340
+ return fn();
341
+ } finally {
342
+ G.owner = prev;
343
+ }
344
+ }
345
+ function onCleanup(fn) {
346
+ if (!G.owner) return;
347
+ if (G.owner.disposed) {
348
+ fn();
349
+ return;
350
+ }
351
+ (G.owner.cleanups ??= []).push(fn);
352
+ }
353
+ function disposeOwner(owner, final = true) {
354
+ if (owner.disposed) return;
355
+ if (owner.owned) {
356
+ for (let i = owner.owned.length - 1; i >= 0; i--) disposeOwner(owner.owned[i]);
357
+ owner.owned = null;
358
+ }
359
+ if (owner.cleanups) {
360
+ for (let i = owner.cleanups.length - 1; i >= 0; i--) owner.cleanups[i]();
361
+ owner.cleanups = null;
362
+ }
363
+ if (final) owner.disposed = true;
364
+ }
365
+ function createRoot(fn) {
366
+ const owner = makeOwner(G.owner);
367
+ if (G.owner) (G.owner.owned ??= []).push(owner);
368
+ const prev = G.owner;
369
+ G.owner = owner;
370
+ try {
371
+ return fn(() => disposeOwner(owner));
372
+ } finally {
373
+ G.owner = prev;
374
+ }
375
+ }
376
+ function setScheduler(fn) {
377
+ G.hostSchedule = fn ?? ((run) => void Promise.resolve().then(run));
378
+ }
379
+ function enqueue(e) {
380
+ if (e.queued) return;
381
+ e.queued = true;
382
+ G.queue.push(e);
383
+ if (!G.scheduled && G.batchDepth === 0) {
384
+ G.scheduled = true;
385
+ G.hostSchedule(flushSync);
386
+ }
387
+ }
388
+ function flushSync() {
389
+ G.scheduled = false;
390
+ if (G.flushing) return;
391
+ G.flushing = true;
392
+ let guard = 0;
393
+ try {
394
+ while (G.queue.length) {
395
+ if (++guard > 1e5) throw new Error("[fluixi] effect flush did not settle (cycle?)");
396
+ const batchOf = G.queue;
397
+ G.queue = [];
398
+ for (const e of batchOf) {
399
+ e.queued = false;
400
+ if (!e.disposed) e.run();
401
+ }
402
+ }
403
+ } finally {
404
+ G.flushing = false;
405
+ }
406
+ }
407
+ function afterWrite() {
408
+ if (G.batchDepth === 0) flushSync();
409
+ }
410
+ function batch(fn) {
411
+ G.batchDepth++;
412
+ try {
413
+ return fn();
414
+ } finally {
415
+ if (--G.batchDepth === 0) flushSync();
416
+ }
417
+ }
418
+ var EffectNode = class {
419
+ constructor(fn, report = false) {
420
+ this.queued = false;
421
+ this.disposed = false;
422
+ this.owner = makeOwner(G.owner);
423
+ if (G.owner) (G.owner.cleanups ??= []).push(() => this.dispose());
424
+ this.computed = new Computed(() => {
425
+ disposeOwner(this.owner, false);
426
+ runWithOwner(this.owner, () => {
427
+ const r = fn();
428
+ if (typeof r === "function") (this.owner.cleanups ??= []).push(r);
429
+ });
430
+ });
431
+ reportReactiveNode({ kind: "effect", node: this.computed, handle: this, internal: !report });
432
+ this.watcher = new Watcher(() => enqueue(this));
433
+ this.run();
434
+ this.watcher.watch(this.computed);
435
+ }
436
+ run() {
437
+ if (this.disposed) return;
438
+ this.watcher.getPending();
439
+ try {
440
+ this.computed.get();
441
+ } catch (e) {
442
+ if (e && typeof e.then === "function" && G.onSuspend) {
443
+ G.onSuspend(e, this.owner);
444
+ return;
445
+ }
446
+ if (G.onError && G.onError(e, this.owner)) return;
447
+ throw e;
448
+ }
449
+ }
450
+ dispose() {
451
+ if (this.disposed) return;
452
+ this.disposed = true;
453
+ reportReactiveDispose(this.computed);
454
+ this.watcher.unwatch(this.computed);
455
+ disposeOwner(this.owner);
456
+ }
457
+ };
458
+ function effect(fn, report = false) {
459
+ const node = new EffectNode(fn, report);
460
+ return () => node.dispose();
461
+ }
462
+
463
+ // src/lib/signal/graph/compat.ts
464
+ function isThenable(v) {
465
+ return !!v && typeof v.then === "function";
466
+ }
467
+ setScheduler(() => {
468
+ });
469
+ var $SIGNAL = /* @__PURE__ */ Symbol.for("signal");
470
+ var $MEMO = /* @__PURE__ */ Symbol.for("memo");
471
+ var $NODE = /* @__PURE__ */ Symbol.for("signal-node");
472
+ function createSignal(value, options) {
473
+ const state = new State(value, { equals: options?.equals });
474
+ const read = (() => state.get());
475
+ const write = ((next) => {
476
+ const v = typeof next === "function" ? next(state.peek()) : next;
477
+ state.set(v);
478
+ afterWrite();
479
+ return v;
480
+ });
481
+ Object.defineProperty(read, $SIGNAL, { value: true, enumerable: true });
482
+ Object.defineProperty(read, $NODE, {
483
+ value: {
484
+ get value() {
485
+ return state.peek();
486
+ },
487
+ get version() {
488
+ return state.version;
489
+ }
490
+ },
491
+ enumerable: false
492
+ });
493
+ reportReactiveNode({
494
+ kind: "signal",
495
+ node: state,
496
+ handle: read,
497
+ name: options?.name,
498
+ set: write
499
+ });
500
+ if (isObserved()) onCleanup(() => reportReactiveDispose(state));
501
+ return [read, write];
502
+ }
503
+ function createMemo(fn, value, options) {
504
+ let prev = value;
505
+ const owner = getOwner();
506
+ const c = new Computed(
507
+ () => runWithOwner(owner, () => {
508
+ try {
509
+ return prev = fn(prev);
510
+ } catch (e) {
511
+ if (isThenable(e)) {
512
+ reportSuspend(e);
513
+ return prev;
514
+ }
515
+ throw e;
516
+ }
517
+ }),
518
+ { equals: options?.equals }
519
+ );
520
+ const read = (() => c.get());
521
+ Object.defineProperty(read, $SIGNAL, { value: true, enumerable: true });
522
+ Object.defineProperty(read, $MEMO, { value: true, enumerable: true });
523
+ reportReactiveNode({ kind: "memo", node: c, handle: read, name: options?.name });
524
+ if (isObserved()) onCleanup(() => reportReactiveDispose(c));
525
+ return read;
526
+ }
527
+ function createEffect(fn, value) {
528
+ let prev = value;
529
+ return effect(() => {
530
+ const r = fn(prev);
531
+ prev = r;
532
+ }, true);
533
+ }
534
+ function createComputed(fn, value) {
535
+ let prev = value;
536
+ effect(() => {
537
+ prev = fn(prev);
538
+ });
539
+ }
540
+ function createRenderEffect(fn, value) {
541
+ let prev = value;
542
+ return effect(() => {
543
+ prev = fn(prev);
544
+ });
545
+ }
546
+ function batch2(fn) {
547
+ return batch(fn);
548
+ }
549
+ function untrack2(fn) {
550
+ return untrack(fn);
551
+ }
552
+ function startTransition(fn) {
553
+ batch(fn);
554
+ return Promise.resolve();
555
+ }
556
+ function useTransition() {
557
+ return [() => false, startTransition];
558
+ }
559
+ function flush() {
560
+ flushSync();
561
+ return Promise.resolve();
562
+ }
563
+ function on(deps, fn, options) {
564
+ const isArray = Array.isArray(deps);
565
+ let prevValue;
566
+ let defer = options?.defer ?? false;
567
+ return (prevResult) => {
568
+ const value = isArray ? deps.map((d) => d()) : deps();
569
+ if (defer) {
570
+ defer = false;
571
+ prevValue = value;
572
+ return void 0;
573
+ }
574
+ const result = untrack(() => fn(value, prevValue, prevResult));
575
+ prevValue = value;
576
+ return result;
577
+ };
578
+ }
@@ -12,50 +12,50 @@ export interface SignalOptions<T> {
12
12
  export interface MemoOptions<T> extends SignalOptions<T> {
13
13
  initial?: T;
14
14
  }
15
- /** createSignal a writable cell, returned as the legacy `[get, set]` tuple. */
15
+ /** createSignal, a writable cell, returned as the legacy `[get, set]` tuple. */
16
16
  export declare function createSignal<T>(value: T, options?: SignalOptions<T>): Signal<T>;
17
- /** createMemo a lazy, cached derived value (legacy accessor). */
17
+ /** createMemo, a lazy, cached derived value (legacy accessor). */
18
18
  export declare function createMemo<T>(fn: (prev?: T) => T, value?: T, options?: SignalOptions<T>): Accessor<T>;
19
19
  /**
20
- * createEffect a re-running side effect. The fn receives the previous return
20
+ * createEffect, a re-running side effect. The fn receives the previous return
21
21
  * value and may return a new one (legacy signature) or a cleanup function.
22
22
  */
23
23
  export declare function createEffect<T>(fn: (prev?: T) => T | (() => void), value?: T): () => void;
24
24
  /**
25
- * createComputed an EAGER, owner-managed reactive computation (returns void).
25
+ * createComputed, an EAGER, owner-managed reactive computation (returns void).
26
26
  * Unlike a lazy memo it runs immediately and re-runs eagerly when a dep changes;
27
- * used for derivations with side effects (e.g. store internals). On L1 that is an
28
- * eager effect whose dispose is owned by the current scope.
27
+ * used for derivations with side effects, such as store internals. It is an eager
28
+ * effect whose dispose is owned by the current scope.
29
29
  */
30
30
  export declare function createComputed<T>(fn: (prev?: T) => T, value?: T): void;
31
31
  /**
32
- * createRenderEffect an effect that runs in the render phase. For the reactive
32
+ * createRenderEffect, an effect that runs in the render phase. For the reactive
33
33
  * core this is an eager effect (the render-vs-commit timing distinction is a DOM-
34
34
  * layer concern); returns a dispose like createEffect.
35
35
  */
36
36
  export declare function createRenderEffect<T>(fn: (prev?: T) => T | (() => void), value?: T): () => void;
37
- /** batch coalesce writes so dependent effects flush once. */
37
+ /** batch: coalesce writes so dependent effects flush once. */
38
38
  export declare function batch<T>(fn: () => T): T;
39
- /** untrack read without subscribing. */
39
+ /** untrack: read without subscribing. */
40
40
  export declare function untrack<T>(fn: () => T): T;
41
41
  /**
42
- * startTransition run `fn`'s updates as one batch. (Minimal port: the concurrent
42
+ * startTransition: run `fn`'s updates as one batch. (Minimal port, the concurrent
43
43
  * time-slicing/deferral of the legacy implementation is a later refinement; the
44
44
  * batched-commit semantics that callers rely on are preserved.)
45
45
  */
46
46
  export declare function startTransition(fn: () => void): Promise<void>;
47
- /** useTransition `[isPending, startTransition]`. isPending is synchronous here (no deferral). */
47
+ /** useTransition: `[isPending, startTransition]`. isPending is synchronous here (no deferral). */
48
48
  export declare function useTransition(): [() => boolean, (fn: () => void) => Promise<void>];
49
49
  /** Force any pending effects to run now. */
50
50
  export { flushSync };
51
51
  /**
52
- * flush drain pending effects, returning a Promise (legacy `flush()` is async; many
52
+ * flush: drain pending effects, returning a Promise (legacy `flush()` is async; many
53
53
  * callers do `flush().then(...)`). Effects already flush synchronously on each write via
54
54
  * afterWrite, so this just settles any remainder and resolves.
55
55
  */
56
56
  export declare function flush(): Promise<void>;
57
57
  /**
58
- * on(deps, fn, { defer }) an explicit-dependency helper. Reads `deps` (tracked),
58
+ * on(deps, fn, { defer }), an explicit-dependency helper. Reads `deps` (tracked),
59
59
  * then runs `fn(value, prevValue, prevResult)` untracked. `defer` skips the first run.
60
60
  */
61
61
  export declare function on<D, R>(deps: Accessor<D> | Array<Accessor<unknown>>, fn: (value: D, prev: D | undefined, prevResult: R | undefined) => R, options?: {
@@ -1 +1 @@
1
- {"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../../../../src/lib/signal/graph/compat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../../../../src/lib/signal/graph/compat.ts"],"names":[],"mappings":"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"}