@ersbeth/picoflow 2.0.3 → 2.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 (94) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +15 -0
  3. package/dist/picoflow.js +204 -60
  4. package/dist/types/api/base/flowObservable.d.ts +3 -3
  5. package/dist/types/api/base/flowObservable.d.ts.map +1 -1
  6. package/dist/types/api/base/flowSubscribable.d.ts +2 -2
  7. package/dist/types/api/base/flowSubscribable.d.ts.map +1 -1
  8. package/dist/types/api/base/flowTracker.d.ts +1 -1
  9. package/dist/types/api/base/flowTracker.d.ts.map +1 -1
  10. package/dist/types/api/base/index.d.ts +4 -4
  11. package/dist/types/api/base/index.d.ts.map +1 -1
  12. package/dist/types/api/index.d.ts +2 -2
  13. package/dist/types/api/index.d.ts.map +1 -1
  14. package/dist/types/api/nodes/async/flowConstantAsync.d.ts +1 -1
  15. package/dist/types/api/nodes/async/flowConstantAsync.d.ts.map +1 -1
  16. package/dist/types/api/nodes/async/flowDerivationAsync.d.ts +3 -3
  17. package/dist/types/api/nodes/async/flowDerivationAsync.d.ts.map +1 -1
  18. package/dist/types/api/nodes/async/flowStateAsync.d.ts +3 -3
  19. package/dist/types/api/nodes/async/flowStateAsync.d.ts.map +1 -1
  20. package/dist/types/api/nodes/async/flowWritableDerivationAsync.d.ts +2 -2
  21. package/dist/types/api/nodes/async/flowWritableDerivationAsync.d.ts.map +1 -1
  22. package/dist/types/api/nodes/async/index.d.ts +4 -4
  23. package/dist/types/api/nodes/async/index.d.ts.map +1 -1
  24. package/dist/types/api/nodes/collections/flowArray.d.ts +7 -4
  25. package/dist/types/api/nodes/collections/flowArray.d.ts.map +1 -1
  26. package/dist/types/api/nodes/collections/flowMap.d.ts +3 -2
  27. package/dist/types/api/nodes/collections/flowMap.d.ts.map +1 -1
  28. package/dist/types/api/nodes/collections/index.d.ts +2 -2
  29. package/dist/types/api/nodes/collections/index.d.ts.map +1 -1
  30. package/dist/types/api/nodes/flowEffect.d.ts +2 -2
  31. package/dist/types/api/nodes/flowEffect.d.ts.map +1 -1
  32. package/dist/types/api/nodes/flowSignal.d.ts +1 -1
  33. package/dist/types/api/nodes/flowSignal.d.ts.map +1 -1
  34. package/dist/types/api/nodes/flowValue.d.ts +2 -2
  35. package/dist/types/api/nodes/flowValue.d.ts.map +1 -1
  36. package/dist/types/api/nodes/index.d.ts +7 -7
  37. package/dist/types/api/nodes/index.d.ts.map +1 -1
  38. package/dist/types/api/nodes/sync/flowConstant.d.ts +2 -2
  39. package/dist/types/api/nodes/sync/flowConstant.d.ts.map +1 -1
  40. package/dist/types/api/nodes/sync/flowDerivation.d.ts +3 -3
  41. package/dist/types/api/nodes/sync/flowDerivation.d.ts.map +1 -1
  42. package/dist/types/api/nodes/sync/flowState.d.ts +3 -3
  43. package/dist/types/api/nodes/sync/flowState.d.ts.map +1 -1
  44. package/dist/types/api/nodes/sync/flowWritableDerivation.d.ts +2 -2
  45. package/dist/types/api/nodes/sync/flowWritableDerivation.d.ts.map +1 -1
  46. package/dist/types/api/nodes/sync/index.d.ts +4 -4
  47. package/dist/types/api/nodes/sync/index.d.ts.map +1 -1
  48. package/dist/types/api/nodes/utils.d.ts +1 -1
  49. package/dist/types/api/nodes/utils.d.ts.map +1 -1
  50. package/dist/types/base/disposable.d.ts +1 -1
  51. package/dist/types/base/disposable.d.ts.map +1 -1
  52. package/dist/types/base/executionStack.d.ts +22 -1
  53. package/dist/types/base/executionStack.d.ts.map +1 -1
  54. package/dist/types/base/index.d.ts +5 -5
  55. package/dist/types/base/index.d.ts.map +1 -1
  56. package/dist/types/base/node.d.ts +4 -4
  57. package/dist/types/base/node.d.ts.map +1 -1
  58. package/dist/types/base/observable.d.ts +3 -3
  59. package/dist/types/base/observable.d.ts.map +1 -1
  60. package/dist/types/base/observer.d.ts +2 -2
  61. package/dist/types/base/observer.d.ts.map +1 -1
  62. package/dist/types/converters/index.d.ts +1 -1
  63. package/dist/types/converters/index.d.ts.map +1 -1
  64. package/dist/types/converters/solid.d.ts +12 -8
  65. package/dist/types/converters/solid.d.ts.map +1 -1
  66. package/dist/types/index.d.ts +2 -2
  67. package/dist/types/index.d.ts.map +1 -1
  68. package/dist/types/nodes/actionNode.d.ts +23 -0
  69. package/dist/types/nodes/actionNode.d.ts.map +1 -0
  70. package/dist/types/nodes/arrayNode.d.ts +4 -3
  71. package/dist/types/nodes/arrayNode.d.ts.map +1 -1
  72. package/dist/types/nodes/effectNode.d.ts +18 -2
  73. package/dist/types/nodes/effectNode.d.ts.map +1 -1
  74. package/dist/types/nodes/index.d.ts +8 -7
  75. package/dist/types/nodes/index.d.ts.map +1 -1
  76. package/dist/types/nodes/mapNode.d.ts +4 -3
  77. package/dist/types/nodes/mapNode.d.ts.map +1 -1
  78. package/dist/types/nodes/signalNode.d.ts +2 -2
  79. package/dist/types/nodes/signalNode.d.ts.map +1 -1
  80. package/dist/types/nodes/valueAsyncNode.d.ts +3 -3
  81. package/dist/types/nodes/valueAsyncNode.d.ts.map +1 -1
  82. package/dist/types/nodes/valueNode.d.ts +3 -3
  83. package/dist/types/nodes/valueNode.d.ts.map +1 -1
  84. package/dist/types/nodes/valueSyncNode.d.ts +3 -3
  85. package/dist/types/nodes/valueSyncNode.d.ts.map +1 -1
  86. package/dist/types/schedulers/asyncScheduler.d.ts +2 -1
  87. package/dist/types/schedulers/asyncScheduler.d.ts.map +1 -1
  88. package/dist/types/schedulers/index.d.ts +4 -4
  89. package/dist/types/schedulers/index.d.ts.map +1 -1
  90. package/dist/types/schedulers/syncResolver.d.ts +1 -2
  91. package/dist/types/schedulers/syncResolver.d.ts.map +1 -1
  92. package/dist/types/schedulers/syncScheduler.d.ts +1 -1
  93. package/dist/types/schedulers/syncScheduler.d.ts.map +1 -1
  94. package/package.json +20 -1
@@ -1,5 +1,5 @@
1
- import { DerivationFunctionAsync, FlowDerivationAsync } from './flowDerivationAsync';
2
- import { FlowStateAsync } from './flowStateAsync';
1
+ import { DerivationFunctionAsync, FlowDerivationAsync } from './flowDerivationAsync.js';
2
+ import { FlowStateAsync } from './flowStateAsync.js';
3
3
  /**
4
4
  * Writable reactive value that recomputes asynchronously when dependencies change, but can be manually overridden.
5
5
  *
@@ -1 +1 @@
1
- {"version":3,"file":"flowWritableDerivationAsync.d.ts","sourceRoot":"","sources":["../../../../../src/api/nodes/async/flowWritableDerivationAsync.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,2BAA2B,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC;CAAG;AAEpG;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,2BAA2B,CAAC,CAAC,CAAC,CAE9G"}
1
+ {"version":3,"file":"flowWritableDerivationAsync.d.ts","sourceRoot":"","sources":["../../../../../src/api/nodes/async/flowWritableDerivationAsync.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC7F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,MAAM,WAAW,2BAA2B,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC;CAAG;AAEpG;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,2BAA2B,CAAC,CAAC,CAAC,CAE9G"}
@@ -1,5 +1,5 @@
1
- export * from './flowConstantAsync';
2
- export * from './flowDerivationAsync';
3
- export * from './flowStateAsync';
4
- export * from './flowWritableDerivationAsync';
1
+ export * from './flowConstantAsync.js';
2
+ export * from './flowDerivationAsync.js';
3
+ export * from './flowStateAsync.js';
4
+ export * from './flowWritableDerivationAsync.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/nodes/async/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/nodes/async/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kCAAkC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { FlowState } from '../sync/flowState';
1
+ import { FlowState } from '../sync/flowState.js';
2
2
  /**
3
3
  * Discriminated union representing all possible array mutation operations.
4
4
  *
@@ -70,7 +70,8 @@ export interface FlowArray<T> extends FlowState<T[]> {
70
70
  push(item: T): void;
71
71
  /**
72
72
  * Removes and returns the last item from the array.
73
- * Emits a "pop" action to $lastAction.
73
+ * Emits a "pop" action to $lastAction when an item is removed.
74
+ * If the array is already empty, returns undefined without notifying dependents or updating $lastAction.
74
75
  *
75
76
  * @returns The removed item, or undefined if the array was empty
76
77
  */
@@ -84,7 +85,8 @@ export interface FlowArray<T> extends FlowState<T[]> {
84
85
  unshift(item: T): void;
85
86
  /**
86
87
  * Removes and returns the first item from the array.
87
- * Emits a "shift" action to $lastAction.
88
+ * Emits a "shift" action to $lastAction when an item is removed.
89
+ * If the array is already empty, returns undefined without notifying dependents or updating $lastAction.
88
90
  *
89
91
  * @returns The removed item, or undefined if the array was empty
90
92
  */
@@ -112,7 +114,8 @@ export interface FlowArray<T> extends FlowState<T[]> {
112
114
  length: number;
113
115
  /**
114
116
  * Reactive state containing the last mutation operation performed on the array.
115
- * Subscribe to this for fine-grained reactivity to specific mutation types.
117
+ * `.subscribe()` invokes its callback once per mutation (including several in the same tick).
118
+ * `get()` / `pick()` expose only the latest action snapshot.
116
119
  */
117
120
  $lastAction: FlowState<FlowArrayAction<T>>;
118
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"flowArray.d.ts","sourceRoot":"","sources":["../../../../../src/api/nodes/collections/flowArray.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IACvB;IACI,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,CAAC,EAAE,CAAC;IACd,YAAY,EAAE,CAAC,EAAE,CAAC;CACrB,GACD;IACI,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,CAAC;IACX,WAAW,EAAE,CAAC,GAAG,SAAS,CAAC;CAC9B,GACD;IACI,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,CAAC,CAAC;CAChB,GACD;IACI,IAAI,EAAE,KAAK,CAAC;IACZ,WAAW,EAAE,CAAC,GAAG,SAAS,CAAC;CAC9B,GACD;IACI,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,CAAC,CAAC;CAChB,GACD;IACI,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,CAAC,GAAG,SAAS,CAAC;CAC9B,GACD;IACI,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,CAAC,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC,EAAE,CAAC;CACrB,GACD;IACI,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,EAAE,CAAC;CACrB,CAAC;AAER;;;;;;;;;;GAUG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,EAAE,CAAC;IAChD;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAE9C;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAEpB;;;;;OAKG;IACH,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IAErB;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAEvB;;;;;OAKG;IACH,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAEvB;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAElE;;;;;OAKG;IACH,KAAK,IAAI,CAAC,EAAE,CAAC;IAEb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,WAAW,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAEpD"}
1
+ {"version":3,"file":"flowArray.d.ts","sourceRoot":"","sources":["../../../../../src/api/nodes/collections/flowArray.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IACvB;IACI,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,CAAC,EAAE,CAAC;IACd,YAAY,EAAE,CAAC,EAAE,CAAC;CACrB,GACD;IACI,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,CAAC;IACX,WAAW,EAAE,CAAC,GAAG,SAAS,CAAC;CAC9B,GACD;IACI,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,CAAC,CAAC;CAChB,GACD;IACI,IAAI,EAAE,KAAK,CAAC;IACZ,WAAW,EAAE,CAAC,GAAG,SAAS,CAAC;CAC9B,GACD;IACI,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,CAAC,CAAC;CAChB,GACD;IACI,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,CAAC,GAAG,SAAS,CAAC;CAC9B,GACD;IACI,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,CAAC,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC,EAAE,CAAC;CACrB,GACD;IACI,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,EAAE,CAAC;CACrB,CAAC;AAER;;;;;;;;;;GAUG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,EAAE,CAAC;IAChD;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAE9C;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAEpB;;;;;;OAMG;IACH,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IAErB;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAEvB;;;;;;OAMG;IACH,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAEvB;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAElE;;;;;OAKG;IACH,KAAK,IAAI,CAAC,EAAE,CAAC;IAEb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,WAAW,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAEpD"}
@@ -1,4 +1,4 @@
1
- import { FlowState } from '../sync/flowState';
1
+ import { FlowState } from '../sync/flowState.js';
2
2
  /**
3
3
  * Discriminated union representing all possible map mutation operations.
4
4
  *
@@ -76,7 +76,8 @@ export interface FlowMap<K, V> extends FlowState<Map<K, V>> {
76
76
  clear(): Map<K, V>;
77
77
  /**
78
78
  * Reactive state containing the last mutation operation performed on the map.
79
- * Subscribe to this for fine-grained reactivity to specific mutation types.
79
+ * `.subscribe()` invokes its callback once per mutation (including several in the same tick).
80
+ * `get()` / `pick()` expose only the latest action snapshot.
80
81
  */
81
82
  $lastAction: FlowState<FlowMapAction<K, V>>;
82
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"flowMap.d.ts","sourceRoot":"","sources":["../../../../../src/api/nodes/collections/flowMap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,IACxB;IACI,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClB,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACzB,GACD;IACI,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC;IACP,UAAU,EAAE,CAAC,CAAC;CACjB,GACD;IACI,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,CAAC,CAAC;IACP,QAAQ,EAAE,CAAC,CAAC;IACZ,YAAY,EAAE,CAAC,CAAC;CACnB,GACD;IACI,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,CAAC,CAAC;IACP,YAAY,EAAE,CAAC,CAAC;CACnB,GACD;IACI,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACzB,CAAC;AAER;;;;;;;;;;GAUG;AACH,MAAM,WAAW,OAAO,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IAElB;;;;;;;OAOG;IACH,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAExC;;;;;;OAMG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAE5B;;;;;OAKG;IACH,KAAK,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEnB;;;OAGG;IACH,WAAW,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC/C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAK5G"}
1
+ {"version":3,"file":"flowMap.d.ts","sourceRoot":"","sources":["../../../../../src/api/nodes/collections/flowMap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,IACxB;IACI,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClB,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACzB,GACD;IACI,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC;IACP,UAAU,EAAE,CAAC,CAAC;CACjB,GACD;IACI,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,CAAC,CAAC;IACP,QAAQ,EAAE,CAAC,CAAC;IACZ,YAAY,EAAE,CAAC,CAAC;CACnB,GACD;IACI,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,CAAC,CAAC;IACP,YAAY,EAAE,CAAC,CAAC;CACnB,GACD;IACI,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACzB,CAAC;AAER;;;;;;;;;;GAUG;AACH,MAAM,WAAW,OAAO,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IAElB;;;;;;;OAOG;IACH,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAExC;;;;;;OAMG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAE5B;;;;;OAKG;IACH,KAAK,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEnB;;;;OAIG;IACH,WAAW,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC/C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAK5G"}
@@ -1,3 +1,3 @@
1
- export * from './flowArray';
2
- export * from './flowMap';
1
+ export * from './flowArray.js';
2
+ export * from './flowMap.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/nodes/collections/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/nodes/collections/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
@@ -1,5 +1,5 @@
1
- import { FlowDisposable } from '../base/flowDisposable';
2
- import { FlowDataTracker, FlowOnDataListener, FlowOnErrorListener, FlowOnPendingListener } from '../base/flowSubscribable';
1
+ import { FlowDisposable } from '../base/flowDisposable.js';
2
+ import { FlowDataTracker, FlowOnDataListener, FlowOnErrorListener, FlowOnPendingListener } from '../base/flowSubscribable.js';
3
3
  /**
4
4
  * Handle to a reactive effect that automatically tracks dependencies and re-executes when they change.
5
5
  *
@@ -1 +1 @@
1
- {"version":3,"file":"flowEffect.d.ts","sourceRoot":"","sources":["../../../../src/api/nodes/flowEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EACR,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACxB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;GAOG;AACH,MAAM,WAAW,UAAW,SAAQ,cAAc;CAAG;AAErD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACvB,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EACxB,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC7B,OAAO,CAAC,EAAE,mBAAmB,EAC7B,SAAS,CAAC,EAAE,qBAAqB,GAClC,UAAU,CAEZ"}
1
+ {"version":3,"file":"flowEffect.d.ts","sourceRoot":"","sources":["../../../../src/api/nodes/flowEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EACR,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACxB,MAAM,6BAA6B,CAAC;AAErC;;;;;;;GAOG;AACH,MAAM,WAAW,UAAW,SAAQ,cAAc;CAAG;AAErD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACvB,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EACxB,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC7B,OAAO,CAAC,EAAE,mBAAmB,EAC7B,SAAS,CAAC,EAAE,qBAAqB,GAClC,UAAU,CAEZ"}
@@ -1,4 +1,4 @@
1
- import { FlowObservable } from '../base/flowObservable';
1
+ import { FlowObservable } from '../base/flowObservable.js';
2
2
  /**
3
3
  * Manual trigger that notifies subscribers without carrying data.
4
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"flowSignal.d.ts","sourceRoot":"","sources":["../../../../src/api/nodes/flowSignal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAW,SAAQ,cAAc,CAAC,IAAI,CAAC;CAAG;AAE3D;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,IAAI,UAAU,CAEnC"}
1
+ {"version":3,"file":"flowSignal.d.ts","sourceRoot":"","sources":["../../../../src/api/nodes/flowSignal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAW,SAAQ,cAAc,CAAC,IAAI,CAAC;CAAG;AAE3D;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,IAAI,UAAU,CAEnC"}
@@ -1,5 +1,5 @@
1
- import { FlowObservable } from '../base/flowObservable';
2
- import { FlowTracker } from '../base/flowTracker';
1
+ import { FlowObservable } from '../base/flowObservable.js';
2
+ import { FlowTracker } from '../base/flowTracker.js';
3
3
  /**
4
4
  * Base interface for reactive values that can be read synchronously or asynchronously.
5
5
  *
@@ -1 +1 @@
1
- {"version":3,"file":"flowValue.d.ts","sourceRoot":"","sources":["../../../../src/api/nodes/flowValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;;;;;;GASG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IACnD;;;;;;;;;OASG;IACH,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,CAAC,CAAC;IAE7B;;;;;;;;OAQG;IACH,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;CACtB"}
1
+ {"version":3,"file":"flowValue.d.ts","sourceRoot":"","sources":["../../../../src/api/nodes/flowValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;;;;;;;;GASG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IACnD;;;;;;;;;OASG;IACH,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,CAAC,CAAC;IAE7B;;;;;;;;OAQG;IACH,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;CACtB"}
@@ -1,8 +1,8 @@
1
- export * from './async';
2
- export * from './collections';
3
- export * from './flowEffect';
4
- export * from './flowSignal';
5
- export * from './flowValue';
6
- export * from './sync';
7
- export * from './utils';
1
+ export * from './async/index.js';
2
+ export * from './collections/index.js';
3
+ export * from './flowEffect.js';
4
+ export * from './flowSignal.js';
5
+ export * from './flowValue.js';
6
+ export * from './sync/index.js';
7
+ export * from './utils.js';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/nodes/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/nodes/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
@@ -1,5 +1,5 @@
1
- import { FlowValue } from '../flowValue';
2
- import { NotPromise } from '../utils';
1
+ import { FlowValue } from '../flowValue.js';
2
+ import { NotPromise } from '../utils.js';
3
3
  /** Function that initializes a value. */
4
4
  export type InitFunction<T> = () => NotPromise<T>;
5
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"flowConstant.d.ts","sourceRoot":"","sources":["../../../../../src/api/nodes/sync/flowConstant.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,yCAAyC;AACzC,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;AAElD;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;CAAG;AAExD;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAEzE"}
1
+ {"version":3,"file":"flowConstant.d.ts","sourceRoot":"","sources":["../../../../../src/api/nodes/sync/flowConstant.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,yCAAyC;AACzC,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;AAElD;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;CAAG;AAExD;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAEzE"}
@@ -1,6 +1,6 @@
1
- import { FlowTracker } from '../../base/flowTracker';
2
- import { FlowValue } from '../flowValue';
3
- import { NotPromise } from '../utils';
1
+ import { FlowTracker } from '../../base/flowTracker.js';
2
+ import { FlowValue } from '../flowValue.js';
3
+ import { NotPromise } from '../utils.js';
4
4
  /** Function that derives a value from dependencies and optionally the previous value. */
5
5
  export type DerivationFunction<T> = (tracker: FlowTracker, previous?: NotPromise<T> | undefined) => NotPromise<T>;
6
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"flowDerivation.d.ts","sourceRoot":"","sources":["../../../../../src/api/nodes/sync/flowDerivation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,yFAAyF;AACzF,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC;AAElH;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IACnD;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAE/E"}
1
+ {"version":3,"file":"flowDerivation.d.ts","sourceRoot":"","sources":["../../../../../src/api/nodes/sync/flowDerivation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,yFAAyF;AACzF,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC;AAElH;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IACnD;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAE/E"}
@@ -1,6 +1,6 @@
1
- import { FlowValue } from '../flowValue';
2
- import { NotPromise } from '../utils';
3
- import { InitFunction } from './flowConstant';
1
+ import { FlowValue } from '../flowValue.js';
2
+ import { NotPromise } from '../utils.js';
3
+ import { InitFunction } from './flowConstant.js';
4
4
  /** Function that updates a value based on the previous value. */
5
5
  export type UpdateFunction<T> = (previous: NotPromise<T> | undefined) => NotPromise<T>;
6
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"flowState.d.ts","sourceRoot":"","sources":["../../../../../src/api/nodes/sync/flowState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,iEAAiE;AACjE,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC;AAEvF;;;;;;;;GAQG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IAC9C;;;;;OAKG;IACH,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAChC,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CACzC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAC7D,wBAAgB,KAAK,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"flowState.d.ts","sourceRoot":"","sources":["../../../../../src/api/nodes/sync/flowState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,iEAAiE;AACjE,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC;AAEvF;;;;;;;;GAQG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IAC9C;;;;;OAKG;IACH,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAChC,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CACzC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAC7D,wBAAgB,KAAK,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { DerivationFunction, FlowDerivation } from './flowDerivation';
2
- import { FlowState } from './flowState';
1
+ import { DerivationFunction, FlowDerivation } from './flowDerivation.js';
2
+ import { FlowState } from './flowState.js';
3
3
  /**
4
4
  * Writable reactive value that recomputes automatically when dependencies change, but can be manually overridden.
5
5
  *
@@ -1 +1 @@
1
- {"version":3,"file":"flowWritableDerivation.d.ts","sourceRoot":"","sources":["../../../../../src/api/nodes/sync/flowWritableDerivation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;;;;;GASG;AACH,MAAM,WAAW,sBAAsB,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;CAAG;AAErF;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAE/F"}
1
+ {"version":3,"file":"flowWritableDerivation.d.ts","sourceRoot":"","sources":["../../../../../src/api/nodes/sync/flowWritableDerivation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;;;;;GASG;AACH,MAAM,WAAW,sBAAsB,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;CAAG;AAErF;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAE/F"}
@@ -1,5 +1,5 @@
1
- export * from './flowConstant';
2
- export * from './flowDerivation';
3
- export * from './flowState';
4
- export * from './flowWritableDerivation';
1
+ export * from './flowConstant.js';
2
+ export * from './flowDerivation.js';
3
+ export * from './flowState.js';
4
+ export * from './flowWritableDerivation.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/nodes/sync/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/nodes/sync/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { FlowValue } from './flowValue';
1
+ import { FlowValue } from './flowValue.js';
2
2
  /**
3
3
  * Type that excludes Promise values from a type union.
4
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/api/nodes/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AAEnE;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/api/nodes/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AAEnE;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { FlowDisposable } from '../api';
1
+ import { FlowDisposable } from '../api/index.js';
2
2
  /**
3
3
  * Base implementation of the disposable pattern for reactive primitives.
4
4
  * Throws an error if disposed multiple times.
@@ -1 +1 @@
1
- {"version":3,"file":"disposable.d.ts","sourceRoot":"","sources":["../../../src/base/disposable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAE7C;;;GAGG;AACH,qBAAa,UAAW,YAAW,cAAc;IAC7C,SAAS,CAAC,SAAS,UAAS;IAE5B,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,OAAO,IAAI,IAAI;CAIlB"}
1
+ {"version":3,"file":"disposable.d.ts","sourceRoot":"","sources":["../../../src/base/disposable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;;GAGG;AACH,qBAAa,UAAW,YAAW,cAAc;IAC7C,SAAS,CAAC,SAAS,UAAS;IAE5B,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,OAAO,IAAI,IAAI;CAIlB"}
@@ -1,14 +1,35 @@
1
- import { IObserver } from './observer';
1
+ import { IObserver } from './observer.js';
2
2
  /**
3
3
  * Global scheduler that batches and executes reactive computations asynchronously.
4
+ *
5
+ * Flush order: pending value nodes first, then effects (setTimeout(0)).
6
+ * Queues are index-drained so items appended mid-flush are not lost (see _drain).
4
7
  */
5
8
  export declare class ExecutionStack {
9
+ private static readonly _MAX_FLUSH_STEPS;
6
10
  private static readonly _pendingQueue;
7
11
  private static readonly _effectQueue;
8
12
  private static _executionScheduled?;
13
+ private static _coalesceResetScheduled;
14
+ /**
15
+ * True once the current synchronous call stack has finished and microtasks have started.
16
+ * EffectNode uses this to treat microtask notifications (e.g. async resolve) differently
17
+ * from coalesced sync-batch notifications.
18
+ */
19
+ private static _pastSyncTurn;
20
+ /** @internal Used by EffectNode to distinguish sync-batch from microtask notifications. */
21
+ static get pastSyncTurn(): boolean;
22
+ /**
23
+ * @internal Runs after the current sync turn ends (queueMicrotask).
24
+ * Marks pastSyncTurn so the next coalesced effect notify can bump its epoch,
25
+ * and resets per-effect coalesce flags via onReset.
26
+ */
27
+ static scheduleCoalesceReset(onReset: () => void): void;
9
28
  static pushPending(node: IObserver): void;
10
29
  static pushEffect(effect: IObserver): void;
30
+ private static _beginSyncTurn;
11
31
  private static _scheduleExecution;
32
+ private static _drain;
12
33
  private static _execute;
13
34
  }
14
35
  //# sourceMappingURL=executionStack.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"executionStack.d.ts","sourceRoot":"","sources":["../../../src/base/executionStack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;GAEG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAmB;IACxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAmB;IACvD,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAgB;IAEnD,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAKzC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAK1C,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAWjC,OAAO,CAAC,MAAM,CAAC,QAAQ;CAU1B"}
1
+ {"version":3,"file":"executionStack.d.ts","sourceRoot":"","sources":["../../../src/base/executionStack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;GAKG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAU;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAmB;IACxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAmB;IACvD,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAgB;IACnD,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAS;IAC/C;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa,CAAS;IAErC,2FAA2F;IAC3F,MAAM,KAAK,YAAY,IAAI,OAAO,CAEjC;IAED;;;;OAIG;IACH,MAAM,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI;IAUvD,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAMzC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAM1C,OAAO,CAAC,MAAM,CAAC,cAAc;IAK7B,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAWjC,OAAO,CAAC,MAAM,CAAC,MAAM;IAerB,OAAO,CAAC,MAAM,CAAC,QAAQ;CAI1B"}
@@ -1,6 +1,6 @@
1
- export * from './disposable';
2
- export * from './executionStack';
3
- export * from './node';
4
- export * from './observable';
5
- export * from './observer';
1
+ export * from './disposable.js';
2
+ export * from './executionStack.js';
3
+ export * from './node.js';
4
+ export * from './observable.js';
5
+ export * from './observer.js';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC"}
@@ -1,7 +1,7 @@
1
- import { FlowEffect, FlowOnDataListener, FlowOnErrorListener, FlowOnPendingListener, FlowTracker } from '../api';
2
- import { Disposable } from './disposable';
3
- import { IObservable, ObservableStatus } from './observable';
4
- import { IObserver } from './observer';
1
+ import { FlowEffect, FlowOnDataListener, FlowOnErrorListener, FlowOnPendingListener, FlowTracker } from '../api/index.js';
2
+ import { Disposable } from './disposable.js';
3
+ import { IObservable, ObservableStatus } from './observable.js';
4
+ import { IObserver } from './observer.js';
5
5
  /**
6
6
  * Base implementation for reactive nodes that propagate changes through the dependency graph.
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/base/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACtH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;GAEG;AACH,8BAAsB,IAAI,CAAC,CAAC,CAAE,SAAQ,UAAW,YAAW,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS;IACjF,OAAO,CAAC,aAAa,CAAmC;IACxD,OAAO,CAAC,WAAW,CAAwB;IAC3C,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAc;IAEjD,IAAI,MAAM,IAAI,gBAAgB,CAG7B;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAGlC;IAED,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI;IAM1D,oBAAoB,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI;IAM5D,iBAAiB,IAAI,IAAI;IAQzB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAK7C,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAK/C,gBAAgB,IAAI,IAAI;IAOxB,KAAK,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAKjC,OAAO,IAAI,IAAI;IAKf,MAAM,IAAI,IAAI;IAOL,OAAO,IAAI,IAAI;IAaxB,QAAQ,CAAC,OAAO,IAAI,IAAI;IAExB,QAAQ,CAAC,SAAS,CACd,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,mBAAmB,EAC7B,SAAS,CAAC,EAAE,qBAAqB,GAClC,UAAU;CAChB"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/base/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,WAAW,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;GAEG;AACH,8BAAsB,IAAI,CAAC,CAAC,CAAE,SAAQ,UAAW,YAAW,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS;IACjF,OAAO,CAAC,aAAa,CAAmC;IACxD,OAAO,CAAC,WAAW,CAAwB;IAC3C,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAc;IAEjD,IAAI,MAAM,IAAI,gBAAgB,CAG7B;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAGlC;IAED,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI;IAM1D,oBAAoB,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI;IAM5D,iBAAiB,IAAI,IAAI;IAQzB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAK7C,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAK/C,gBAAgB,IAAI,IAAI;IAOxB,KAAK,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAKjC,OAAO,IAAI,IAAI;IAKf,MAAM,IAAI,IAAI;IAOL,OAAO,IAAI,IAAI;IAaxB,QAAQ,CAAC,OAAO,IAAI,IAAI;IAExB,QAAQ,CAAC,SAAS,CACd,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,mBAAmB,EAC7B,SAAS,CAAC,EAAE,qBAAqB,GAClC,UAAU;CAChB"}
@@ -1,6 +1,6 @@
1
- import { FlowEffect, FlowObservable, FlowOnDataListener, FlowOnErrorListener, FlowOnPendingListener, FlowTracker } from '../api';
2
- import { Disposable } from './disposable';
3
- import { IObserver } from './observer';
1
+ import { FlowEffect, FlowObservable, FlowOnDataListener, FlowOnErrorListener, FlowOnPendingListener, FlowTracker } from '../api/index.js';
2
+ import { Disposable } from './disposable.js';
3
+ import { IObserver } from './observer.js';
4
4
  /**
5
5
  * Status of an observable: resolved (has value), pending (async in progress), error (failed), or dirty (needs recomputation).
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"observable.d.ts","sourceRoot":"","sources":["../../../src/base/observable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,WAAW,EACd,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IACrD,IAAI,MAAM,IAAI,gBAAgB,CAAC;IAC/B,IAAI,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE;IACrC,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC9C,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAChD,gBAAgB,IAAI,IAAI,CAAC;IACzB,SAAS,CACL,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,mBAAmB,EAC7B,SAAS,CAAC,EAAE,qBAAqB,GAClC,UAAU,CAAC;CACjB;AAED;;GAEG;AACH,8BAAsB,UAAU,CAAC,CAAC,CAAE,SAAQ,UAAW,YAAW,WAAW,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,WAAW,CAAwB;IAC3C,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAc;IAEjD,IAAI,MAAM,IAAI,gBAAgB,CAG7B;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAGlC;IAED,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAK7C,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAK/C,gBAAgB,IAAI,IAAI;IAOxB,KAAK,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAKjC,OAAO,IAAI,IAAI;IAKN,OAAO,IAAI,IAAI;IAUxB,QAAQ,CAAC,SAAS,CACd,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,mBAAmB,EAC7B,SAAS,CAAC,EAAE,qBAAqB,GAClC,UAAU;CAChB"}
1
+ {"version":3,"file":"observable.d.ts","sourceRoot":"","sources":["../../../src/base/observable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,WAAW,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IACrD,IAAI,MAAM,IAAI,gBAAgB,CAAC;IAC/B,IAAI,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE;IACrC,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC9C,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAChD,gBAAgB,IAAI,IAAI,CAAC;IACzB,SAAS,CACL,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,mBAAmB,EAC7B,SAAS,CAAC,EAAE,qBAAqB,GAClC,UAAU,CAAC;CACjB;AAED;;GAEG;AACH,8BAAsB,UAAU,CAAC,CAAC,CAAE,SAAQ,UAAW,YAAW,WAAW,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,WAAW,CAAwB;IAC3C,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAc;IAEjD,IAAI,MAAM,IAAI,gBAAgB,CAG7B;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAGlC;IAED,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAK7C,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAK/C,gBAAgB,IAAI,IAAI;IAOxB,KAAK,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAKjC,OAAO,IAAI,IAAI;IAKN,OAAO,IAAI,IAAI;IAUxB,QAAQ,CAAC,SAAS,CACd,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,mBAAmB,EAC7B,SAAS,CAAC,EAAE,qBAAqB,GAClC,UAAU;CAChB"}
@@ -1,5 +1,5 @@
1
- import { Disposable } from './disposable';
2
- import { IObservable } from './observable';
1
+ import { Disposable } from './disposable.js';
2
+ import { IObservable } from './observable.js';
3
3
  /**
4
4
  * Internal interface for reactive computations that track dependencies and respond to changes.
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"observer.d.ts","sourceRoot":"","sources":["../../../src/base/observer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAC3D,oBAAoB,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7D,iBAAiB,IAAI,IAAI,CAAC;IAC1B,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,IAAI,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,8BAAsB,QAAS,SAAQ,UAAW,YAAW,SAAS;IAClE,OAAO,CAAC,aAAa,CAAmC;IAExD,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI;IAM1D,oBAAoB,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI;IAM5D,iBAAiB,IAAI,IAAI;IAQhB,OAAO,IAAI,IAAI;IAQxB,QAAQ,CAAC,MAAM,IAAI,IAAI;IACvB,QAAQ,CAAC,OAAO,IAAI,IAAI;CAC3B"}
1
+ {"version":3,"file":"observer.d.ts","sourceRoot":"","sources":["../../../src/base/observer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAC3D,oBAAoB,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7D,iBAAiB,IAAI,IAAI,CAAC;IAC1B,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,IAAI,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,8BAAsB,QAAS,SAAQ,UAAW,YAAW,SAAS;IAClE,OAAO,CAAC,aAAa,CAAmC;IAExD,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI;IAM1D,oBAAoB,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI;IAM5D,iBAAiB,IAAI,IAAI;IAQhB,OAAO,IAAI,IAAI;IAQxB,QAAQ,CAAC,MAAM,IAAI,IAAI;IACvB,QAAQ,CAAC,OAAO,IAAI,IAAI;CAC3B"}
@@ -1,2 +1,2 @@
1
- export * from './solid';
1
+ export * from './solid.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/converters/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/converters/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { Resource } from 'solid-js';
2
- import { FlowObservable, FlowTracker, NotPromise } from '../api';
2
+ import { FlowTracker, FlowValue, NotPromise } from '../api/index.js';
3
3
  /**
4
- * Converts a PicoFlow observable or getter function into a SolidJS resource.
4
+ * Converts a PicoFlow value or getter function into a SolidJS resource.
5
5
  *
6
- * @param flow - The FlowObservable or getter function to convert.
6
+ * @param flow - The FlowValue or getter function to convert.
7
7
  * @returns A SolidJS Resource that wraps the value or computation.
8
8
  *
9
9
  * @remarks
@@ -12,12 +12,16 @@ import { FlowObservable, FlowTracker, NotPromise } from '../api';
12
12
  * SolidJS Resource, which can handle both synchronous and asynchronous values seamlessly.
13
13
  *
14
14
  * The conversion works with:
15
- * - **FlowObservable**: Any PicoFlow reactive primitive (e.g., from `state()`, `derivation()`, `stateAsync()`, `derivationAsync()`)
15
+ * - **FlowValue**: PicoFlow primitives that expose a readable value (e.g. from `state()`, `derivation()`, `stateAsync()`, `derivationAsync()`, `array()`, `map()`)
16
16
  * - **Getter functions**: Computation functions that use a FlowTracker to access reactive values
17
17
  *
18
- * The created Resource automatically subscribes to the PicoFlow observables and updates
19
- * when their values change. The subscription is properly cleaned up when the Solid
20
- * component unmounts.
18
+ * Signals are not supported: they carry no value to expose through a Resource. Use a getter that reads the reactive values you need instead.
19
+ *
20
+ * The created Resource automatically subscribes to the PicoFlow value and updates
21
+ * when it changes. The subscription is properly cleaned up when the Solid
22
+ * component unmounts. When converting a getter function, the internal derivation
23
+ * node is also disposed on unmount. User-owned FlowValue instances passed directly
24
+ * to `from()` are not disposed.
21
25
  *
22
26
  * @example
23
27
  * ```typescript
@@ -41,6 +45,6 @@ import { FlowObservable, FlowTracker, NotPromise } from '../api';
41
45
  *
42
46
  * @public
43
47
  */
44
- export declare function from<T>(flow: FlowObservable<T>): Resource<T>;
48
+ export declare function from<T>(flow: FlowValue<T>): Resource<T>;
45
49
  export declare function from<T>(flow: (t: FlowTracker) => NotPromise<T>): Resource<T>;
46
50
  //# sourceMappingURL=solid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"solid.d.ts","sourceRoot":"","sources":["../../../src/converters/solid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoD,KAAK,QAAQ,EAAwB,MAAM,UAAU,CAAC;AACjH,OAAO,EAAmB,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAa,MAAM,QAAQ,CAAC;AAsD5G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC9D,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"solid.d.ts","sourceRoot":"","sources":["../../../src/converters/solid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoD,KAAK,QAAQ,EAAwB,MAAM,UAAU,CAAC;AACjH,OAAO,EAAmB,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAa,MAAM,iBAAiB,CAAC;AAoEhH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AACzD,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- export * from './api';
2
- export * from './converters';
1
+ export * from './api/index.js';
2
+ export * from './converters/index.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { FlowEffect, FlowOnDataListener, FlowOnErrorListener, FlowOnPendingListener, NotPromise, UpdateFunction } from '../api/index.js';
2
+ import { ValueSyncNode } from './valueSyncNode.js';
3
+ /**
4
+ * Reactive state that tracks the latest action while delivering every emitted action
5
+ * to `.subscribe()` callbacks, including multiple mutations within the same batch.
6
+ *
7
+ * Two read models:
8
+ * - get() / pick(): last-write-wins snapshot (current action value).
9
+ * - subscribe(): event stream — one onData call per emitted action, even when several
10
+ * mutations happen before the next flush. Each subscriber owns its own queue so
11
+ * delivery is not shared or stolen between subscribers.
12
+ *
13
+ * @internal
14
+ */
15
+ export declare class ActionNode<T extends NotPromise<unknown>> extends ValueSyncNode<T> {
16
+ private _slots;
17
+ private _enqueueForSubscribers;
18
+ set(value: NotPromise<T>): void;
19
+ set(updater: UpdateFunction<T>): void;
20
+ subscribe(onValue: FlowOnDataListener<T>, onError?: FlowOnErrorListener, onPending?: FlowOnPendingListener): FlowEffect;
21
+ dispose(): void;
22
+ }
23
+ //# sourceMappingURL=actionNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionNode.d.ts","sourceRoot":"","sources":["../../../src/nodes/actionNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,UAAU,EACV,cAAc,EACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOnD;;;;;;;;;;;GAWG;AACH,qBAAa,UAAU,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;IAC3E,OAAO,CAAC,MAAM,CAAsC;IAEpD,OAAO,CAAC,sBAAsB;IAMrB,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI;IAC/B,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI;IAoBrC,SAAS,CACd,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,mBAAmB,EAC7B,SAAS,CAAC,EAAE,qBAAqB,GAClC,UAAU;IAoCJ,OAAO,IAAI,IAAI;CAI3B"}
@@ -1,11 +1,12 @@
1
- import { FlowArray, FlowArrayAction, FlowTracker, NotPromise, UpdateFunction } from '../api';
2
- import { ValueSyncNode } from './valueSyncNode';
1
+ import { FlowArray, FlowArrayAction, FlowTracker, NotPromise, UpdateFunction } from '../api/index.js';
2
+ import { ActionNode } from './actionNode.js';
3
+ import { ValueSyncNode } from './valueSyncNode.js';
3
4
  /**
4
5
  * Internal implementation of reactive array with mutation tracking.
5
6
  * @internal
6
7
  */
7
8
  export declare class ArrayNode<T> extends ValueSyncNode<T[]> implements FlowArray<T> {
8
- $lastAction: ValueSyncNode<FlowArrayAction<T>>;
9
+ $lastAction: ActionNode<FlowArrayAction<T>>;
9
10
  protected _value: T[];
10
11
  constructor(value?: T[]);
11
12
  get(tracker: FlowTracker): T[];
@@ -1 +1 @@
1
- {"version":3,"file":"arrayNode.d.ts","sourceRoot":"","sources":["../../../src/nodes/arrayNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAElG,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;GAGG;AACH,qBAAa,SAAS,CAAC,CAAC,CAAE,SAAQ,aAAa,CAAC,CAAC,EAAE,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC;IACxE,WAAW,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,UAAkB,MAAM,EAAE,CAAC,EAAE,CAAC;gBAElB,KAAK,GAAE,CAAC,EAAO;IASlB,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,CAAC,EAAE;IAKxB,IAAI,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAKnC,IAAI,MAAM,IAAI,MAAM,CAGnB;IAEQ,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;IAChC,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;IAsB/C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IA0B7C,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAWnB,GAAG,IAAI,CAAC,GAAG,SAAS;IAcpB,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAWtB,KAAK,IAAI,CAAC,GAAG,SAAS;IActB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE;IAoBjE,KAAK,IAAI,CAAC,EAAE;IAiBH,OAAO,IAAI,IAAI;CAO3B"}
1
+ {"version":3,"file":"arrayNode.d.ts","sourceRoot":"","sources":["../../../src/nodes/arrayNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC3G,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;GAGG;AACH,qBAAa,SAAS,CAAC,CAAC,CAAE,SAAQ,aAAa,CAAC,CAAC,EAAE,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC;IACxE,WAAW,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,UAAkB,MAAM,EAAE,CAAC,EAAE,CAAC;gBAElB,KAAK,GAAE,CAAC,EAAO;IASlB,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,CAAC,EAAE;IAKxB,IAAI,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAKnC,IAAI,MAAM,IAAI,MAAM,CAGnB;IAEQ,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;IAChC,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;IAsB/C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IA0B7C,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAWnB,GAAG,IAAI,CAAC,GAAG,SAAS;IAepB,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAWtB,KAAK,IAAI,CAAC,GAAG,SAAS;IAetB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE;IAoBjE,KAAK,IAAI,CAAC,EAAE;IAiBH,OAAO,IAAI,IAAI;CAO3B"}
@@ -1,7 +1,15 @@
1
- import { FlowDataTracker, FlowEffect, FlowOnDataListener, FlowOnErrorListener, FlowOnPendingListener } from '../api';
2
- import { Observer } from '../base';
1
+ import { FlowDataTracker, FlowEffect, FlowOnDataListener, FlowOnErrorListener, FlowOnPendingListener } from '../api/index.js';
2
+ import { Observer } from '../base/index.js';
3
3
  /**
4
4
  * Reactive effect that automatically re-executes when its dependencies change.
5
+ *
6
+ * Scheduling uses epoch-based coalescing:
7
+ * - Multiple dependency changes in the same synchronous turn produce one queue entry
8
+ * but may still require multiple runs when notifications arrive in later microtasks
9
+ * (e.g. async pending → resolved).
10
+ * - Re-notifications during execute() (cascading effects) enqueue a fresh run because
11
+ * _queued is cleared at the start of execute().
12
+ *
5
13
  * @internal
6
14
  */
7
15
  export declare class EffectNode<T> extends Observer implements FlowEffect {
@@ -9,6 +17,14 @@ export declare class EffectNode<T> extends Observer implements FlowEffect {
9
17
  private _onData;
10
18
  private _onError?;
11
19
  private _onPending?;
20
+ /** True while this effect is already waiting in the effect queue for the next flush. */
21
+ private _queued;
22
+ /** Guards the single coalesced bump of _notifyEpoch while _queued during one sync turn. */
23
+ private _coalescedWhileQueued;
24
+ /** Monotonic count of notifications that must eventually be executed. */
25
+ private _notifyEpoch;
26
+ /** How many notification epochs have been executed so far. */
27
+ private _executedEpoch;
12
28
  constructor(data: FlowDataTracker<T>, onData: FlowOnDataListener<T>, onError?: FlowOnErrorListener, onPending?: FlowOnPendingListener);
13
29
  notify(): void;
14
30
  execute(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"effectNode.d.ts","sourceRoot":"","sources":["../../../src/nodes/effectNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACxB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAkB,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnD;;;GAGG;AACH,qBAAa,UAAU,CAAC,CAAC,CAAE,SAAQ,QAAS,YAAW,UAAU;IAC7D,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,QAAQ,CAAC,CAAsB;IACvC,OAAO,CAAC,UAAU,CAAC,CAAwB;gBAGvC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EACxB,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC7B,OAAO,CAAC,EAAE,mBAAmB,EAC7B,SAAS,CAAC,EAAE,qBAAqB;IAUrC,MAAM,IAAI,IAAI;IAKd,OAAO,IAAI,IAAI;CAkBlB"}
1
+ {"version":3,"file":"effectNode.d.ts","sourceRoot":"","sources":["../../../src/nodes/effectNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAkB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5D;;;;;;;;;;;GAWG;AACH,qBAAa,UAAU,CAAC,CAAC,CAAE,SAAQ,QAAS,YAAW,UAAU;IAC7D,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,QAAQ,CAAC,CAAsB;IACvC,OAAO,CAAC,UAAU,CAAC,CAAwB;IAC3C,wFAAwF;IACxF,OAAO,CAAC,OAAO,CAAS;IACxB,2FAA2F;IAC3F,OAAO,CAAC,qBAAqB,CAAS;IACtC,yEAAyE;IACzE,OAAO,CAAC,YAAY,CAAK;IACzB,8DAA8D;IAC9D,OAAO,CAAC,cAAc,CAAK;gBAGvB,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EACxB,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC7B,OAAO,CAAC,EAAE,mBAAmB,EAC7B,SAAS,CAAC,EAAE,qBAAqB;IAYrC,MAAM,IAAI,IAAI;IAsBd,OAAO,IAAI,IAAI;CAgClB"}