synstate 1.0.2 → 2.0.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 (194) hide show
  1. package/README.md +9 -10
  2. package/dist/core/class/child-observable-class.d.mts.map +1 -1
  3. package/dist/core/class/child-observable-class.mjs +148 -140
  4. package/dist/core/class/child-observable-class.mjs.map +1 -1
  5. package/dist/core/class/observable-base-class.d.mts.map +1 -1
  6. package/dist/core/class/observable-base-class.mjs +111 -107
  7. package/dist/core/class/observable-base-class.mjs.map +1 -1
  8. package/dist/core/class/root-observable-class.d.mts.map +1 -1
  9. package/dist/core/class/root-observable-class.mjs +32 -24
  10. package/dist/core/class/root-observable-class.mjs.map +1 -1
  11. package/dist/core/combine/combine.d.mts +3 -3
  12. package/dist/core/combine/combine.d.mts.map +1 -1
  13. package/dist/core/combine/combine.mjs +31 -113
  14. package/dist/core/combine/combine.mjs.map +1 -1
  15. package/dist/core/combine/merge.d.mts +2 -2
  16. package/dist/core/combine/merge.d.mts.map +1 -1
  17. package/dist/core/combine/merge.mjs +21 -69
  18. package/dist/core/combine/merge.mjs.map +1 -1
  19. package/dist/core/combine/zip.d.mts +2 -2
  20. package/dist/core/combine/zip.d.mts.map +1 -1
  21. package/dist/core/combine/zip.mjs +34 -79
  22. package/dist/core/combine/zip.mjs.map +1 -1
  23. package/dist/core/create/counter.d.mts +1 -1
  24. package/dist/core/create/counter.d.mts.map +1 -1
  25. package/dist/core/create/counter.mjs +45 -84
  26. package/dist/core/create/counter.mjs.map +1 -1
  27. package/dist/core/create/from-abortable-promise.d.mts.map +1 -1
  28. package/dist/core/create/from-abortable-promise.mjs +29 -61
  29. package/dist/core/create/from-abortable-promise.mjs.map +1 -1
  30. package/dist/core/create/from-promise.d.mts.map +1 -1
  31. package/dist/core/create/from-promise.mjs +17 -66
  32. package/dist/core/create/from-promise.mjs.map +1 -1
  33. package/dist/core/create/from-subscribable.d.mts.map +1 -1
  34. package/dist/core/create/from-subscribable.mjs +18 -69
  35. package/dist/core/create/from-subscribable.mjs.map +1 -1
  36. package/dist/core/create/just.d.mts.map +1 -1
  37. package/dist/core/create/just.mjs +5 -35
  38. package/dist/core/create/just.mjs.map +1 -1
  39. package/dist/core/create/source.mjs +10 -13
  40. package/dist/core/create/source.mjs.map +1 -1
  41. package/dist/core/create/timer.d.mts.map +1 -1
  42. package/dist/core/create/timer.mjs +32 -68
  43. package/dist/core/create/timer.mjs.map +1 -1
  44. package/dist/core/operators/audit.d.mts.map +1 -1
  45. package/dist/core/operators/audit.mjs +39 -133
  46. package/dist/core/operators/audit.mjs.map +1 -1
  47. package/dist/core/operators/debounce.d.mts.map +1 -1
  48. package/dist/core/operators/debounce.mjs +36 -119
  49. package/dist/core/operators/debounce.mjs.map +1 -1
  50. package/dist/core/operators/filter.mjs +22 -25
  51. package/dist/core/operators/filter.mjs.map +1 -1
  52. package/dist/core/operators/map.d.mts.map +1 -1
  53. package/dist/core/operators/map.mjs +28 -61
  54. package/dist/core/operators/map.mjs.map +1 -1
  55. package/dist/core/operators/merge-map.d.mts +1 -1
  56. package/dist/core/operators/merge-map.d.mts.map +1 -1
  57. package/dist/core/operators/merge-map.mjs +34 -130
  58. package/dist/core/operators/merge-map.mjs.map +1 -1
  59. package/dist/core/operators/pairwise.d.mts +3 -2
  60. package/dist/core/operators/pairwise.d.mts.map +1 -1
  61. package/dist/core/operators/pairwise.mjs +19 -75
  62. package/dist/core/operators/pairwise.mjs.map +1 -1
  63. package/dist/core/operators/scan.d.mts.map +1 -1
  64. package/dist/core/operators/scan.mjs +16 -67
  65. package/dist/core/operators/scan.mjs.map +1 -1
  66. package/dist/core/operators/skip-if-no-change.d.mts +1 -1
  67. package/dist/core/operators/skip-if-no-change.d.mts.map +1 -1
  68. package/dist/core/operators/skip-if-no-change.mjs +28 -92
  69. package/dist/core/operators/skip-if-no-change.mjs.map +1 -1
  70. package/dist/core/operators/skip-until.d.mts.map +1 -1
  71. package/dist/core/operators/skip-until.mjs +23 -72
  72. package/dist/core/operators/skip-until.mjs.map +1 -1
  73. package/dist/core/operators/skip-while.d.mts.map +1 -1
  74. package/dist/core/operators/skip-while.mjs +26 -88
  75. package/dist/core/operators/skip-while.mjs.map +1 -1
  76. package/dist/core/operators/switch-map.d.mts.map +1 -1
  77. package/dist/core/operators/switch-map.mjs +31 -124
  78. package/dist/core/operators/switch-map.mjs.map +1 -1
  79. package/dist/core/operators/take-until.d.mts.map +1 -1
  80. package/dist/core/operators/take-until.mjs +28 -69
  81. package/dist/core/operators/take-until.mjs.map +1 -1
  82. package/dist/core/operators/take-while.d.mts.map +1 -1
  83. package/dist/core/operators/take-while.mjs +23 -83
  84. package/dist/core/operators/take-while.mjs.map +1 -1
  85. package/dist/core/operators/throttle.d.mts.map +1 -1
  86. package/dist/core/operators/throttle.mjs +38 -115
  87. package/dist/core/operators/throttle.mjs.map +1 -1
  88. package/dist/core/operators/with-buffered-from.d.mts +1 -1
  89. package/dist/core/operators/with-buffered-from.d.mts.map +1 -1
  90. package/dist/core/operators/with-buffered-from.mjs +37 -90
  91. package/dist/core/operators/with-buffered-from.mjs.map +1 -1
  92. package/dist/core/operators/with-current-value-from.d.mts +1 -1
  93. package/dist/core/operators/with-current-value-from.d.mts.map +1 -1
  94. package/dist/core/operators/with-current-value-from.mjs +23 -84
  95. package/dist/core/operators/with-current-value-from.mjs.map +1 -1
  96. package/dist/core/operators/with-initial-value.d.mts.map +1 -1
  97. package/dist/core/operators/with-initial-value.mjs +13 -58
  98. package/dist/core/operators/with-initial-value.mjs.map +1 -1
  99. package/dist/core/predefined/operators/attach-index.d.mts +1 -1
  100. package/dist/core/predefined/operators/attach-index.d.mts.map +1 -1
  101. package/dist/core/predefined/operators/attach-index.mjs +0 -53
  102. package/dist/core/predefined/operators/attach-index.mjs.map +1 -1
  103. package/dist/core/predefined/operators/map-optional.d.mts.map +1 -1
  104. package/dist/core/predefined/operators/map-optional.mjs +1 -48
  105. package/dist/core/predefined/operators/map-optional.mjs.map +1 -1
  106. package/dist/core/predefined/operators/map-result-err.d.mts.map +1 -1
  107. package/dist/core/predefined/operators/map-result-err.mjs +1 -48
  108. package/dist/core/predefined/operators/map-result-err.mjs.map +1 -1
  109. package/dist/core/predefined/operators/map-result-ok.d.mts.map +1 -1
  110. package/dist/core/predefined/operators/map-result-ok.mjs +1 -48
  111. package/dist/core/predefined/operators/map-result-ok.mjs.map +1 -1
  112. package/dist/core/predefined/operators/map-to.d.mts.map +1 -1
  113. package/dist/core/predefined/operators/map-to.mjs +0 -40
  114. package/dist/core/predefined/operators/map-to.mjs.map +1 -1
  115. package/dist/core/predefined/operators/pluck.d.mts +1 -1
  116. package/dist/core/predefined/operators/pluck.d.mts.map +1 -1
  117. package/dist/core/predefined/operators/pluck.mjs +0 -43
  118. package/dist/core/predefined/operators/pluck.mjs.map +1 -1
  119. package/dist/core/predefined/operators/skip.d.mts.map +1 -1
  120. package/dist/core/predefined/operators/skip.mjs +0 -47
  121. package/dist/core/predefined/operators/skip.mjs.map +1 -1
  122. package/dist/core/predefined/operators/take.d.mts.map +1 -1
  123. package/dist/core/predefined/operators/take.mjs +0 -41
  124. package/dist/core/predefined/operators/take.mjs.map +1 -1
  125. package/dist/core/predefined/operators/unwrap-optional.mjs +4 -43
  126. package/dist/core/predefined/operators/unwrap-optional.mjs.map +1 -1
  127. package/dist/core/predefined/operators/unwrap-result-err.mjs +0 -40
  128. package/dist/core/predefined/operators/unwrap-result-err.mjs.map +1 -1
  129. package/dist/core/predefined/operators/unwrap-result-ok.mjs +4 -43
  130. package/dist/core/predefined/operators/unwrap-result-ok.mjs.map +1 -1
  131. package/dist/core/types/observable-family.d.mts +10 -10
  132. package/dist/core/types/observable-family.d.mts.map +1 -1
  133. package/dist/core/types/observable.d.mts.map +1 -1
  134. package/dist/core/types/observable.mjs +3 -5
  135. package/dist/core/types/observable.mjs.map +1 -1
  136. package/dist/core/types/types.d.mts +2 -1
  137. package/dist/core/types/types.d.mts.map +1 -1
  138. package/dist/core/utils/id-maker.mjs +5 -6
  139. package/dist/core/utils/id-maker.mjs.map +1 -1
  140. package/dist/core/utils/max-depth.d.mts.map +1 -1
  141. package/dist/core/utils/max-depth.mjs +1 -3
  142. package/dist/core/utils/max-depth.mjs.map +1 -1
  143. package/dist/core/utils/observable-utils.d.mts.map +1 -1
  144. package/dist/core/utils/observable-utils.mjs +3 -2
  145. package/dist/core/utils/observable-utils.mjs.map +1 -1
  146. package/dist/core/utils/utils.d.mts.map +1 -1
  147. package/dist/core/utils/utils.mjs +23 -30
  148. package/dist/core/utils/utils.mjs.map +1 -1
  149. package/dist/utils/collect-to-array.d.mts.map +1 -1
  150. package/dist/utils/collect-to-array.mjs +9 -6
  151. package/dist/utils/collect-to-array.mjs.map +1 -1
  152. package/dist/utils/create-boolean-state.d.mts +1 -1
  153. package/dist/utils/create-boolean-state.d.mts.map +1 -1
  154. package/dist/utils/create-boolean-state.mjs +18 -46
  155. package/dist/utils/create-boolean-state.mjs.map +1 -1
  156. package/dist/utils/create-event-emitter.mjs +10 -64
  157. package/dist/utils/create-event-emitter.mjs.map +1 -1
  158. package/dist/utils/create-reducer.d.mts +1 -1
  159. package/dist/utils/create-reducer.d.mts.map +1 -1
  160. package/dist/utils/create-reducer.mjs +8 -52
  161. package/dist/utils/create-reducer.mjs.map +1 -1
  162. package/dist/utils/create-state.d.mts +1 -1
  163. package/dist/utils/create-state.d.mts.map +1 -1
  164. package/dist/utils/create-state.mjs +23 -53
  165. package/dist/utils/create-state.mjs.map +1 -1
  166. package/package.json +13 -14
  167. package/src/core/class/child-observable-class.mts +1 -1
  168. package/src/core/class/observable-base-class.mts +16 -16
  169. package/src/core/combine/combine.mts +38 -16
  170. package/src/core/combine/merge.mts +3 -3
  171. package/src/core/combine/zip.mts +24 -13
  172. package/src/core/create/counter.mts +11 -9
  173. package/src/core/create/counter.test.mts +11 -0
  174. package/src/core/create/timer.mts +6 -6
  175. package/src/core/create/timer.test.mts +11 -0
  176. package/src/core/operators/audit-throttle-teardown.test.mts +21 -0
  177. package/src/core/operators/audit.mts +6 -6
  178. package/src/core/operators/debounce.mts +6 -6
  179. package/src/core/operators/pairwise.mts +10 -5
  180. package/src/core/operators/skip-while.mts +1 -5
  181. package/src/core/operators/skip-while.test.mts +20 -0
  182. package/src/core/operators/throttle.mts +6 -6
  183. package/src/core/operators/with-buffered-from.mts +4 -4
  184. package/src/core/predefined/operators/map-optional.mts +1 -2
  185. package/src/core/predefined/operators/map-result-err.mts +1 -1
  186. package/src/core/predefined/operators/map-result-ok.mts +1 -1
  187. package/src/core/types/observable-family.mts +12 -11
  188. package/src/core/types/observable.mts +5 -7
  189. package/src/core/types/types.mts +2 -1
  190. package/src/core/utils/max-depth.mts +5 -1
  191. package/src/core/utils/utils.mts +1 -1
  192. package/src/utils/create-boolean-state.mts +1 -1
  193. package/src/utils/create-reducer.mts +1 -1
  194. package/src/utils/create-state.mts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"observable-family.d.mts","sourceRoot":"","sources":["../../../src/core/types/observable-family.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observable-family.d.mts","sourceRoot":"","sources":["../../../src/core/types/observable-family.mts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,QAAQ,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,8BAA8B,EACnC,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,MAAM,EACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAIvD,MAAM,MAAM,2BAA2B,CAAC,CAAC,IAAI,QAAQ,CAAC;IACpD,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;CAC1B,CAAC,GACA,yBAAyB,CAAC,CAAC,CAAC,CAAC;AAE/B,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,QAAQ,CAAC;IACzC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;CAC1B,CAAC,GACA,cAAc,CAAC,CAAC,CAAC,CAAC;AAEpB,MAAM,MAAM,qBAAqB,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,IAAI,cAAc,CAChE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CACb,CAAC;AAEF,MAAM,MAAM,0BAA0B,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,IAAI,cAAc,CACrE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CACb,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC;IACvC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC,GACA,cAAc,CAAC,QAAQ,CAAC,CAAC;AAE3B,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC,GACA,cAAc,CAAC,CAAC,CAAC,CAAC;AAIpB,MAAM,MAAM,kCAAkC,CAC5C,CAAC,EACD,CAAC,GAAG,CAAC,IACH,8BAA8B,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAExD,MAAM,MAAM,sBAAsB,CAAC,CAAC,EAAE,CAAC,IAAI,8BAA8B,CACvE,CAAC,EACD,SAAS,CAAC,CAAC,CAAC,CACb,CAAC;AAIF,kBAAU,iBAAiB,CAAC;IAC1B,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,mBAAmB,GAAG,CAAC,GAAG,KAAK,CAAC;IAEzD,KAAK,gBAAgB,CAAC,EAAE,SAAS,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IACjE,EAAE,SAAS,aAAa,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;IAE1E,KAAK,aAAa,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,SAAS;QACpD,qBAAqB,CAAC,OAAO,CAAC;KAC/B,GACG,IAAI,GACJ,KAAK,CAAC;IAEV,wDAAwD;IACxD,KAAK,YAAY,CAAC,CAAC,SAAS,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,IAAI,CAAC,GACvE,IAAI,GACJ,SAAS,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,KAAK,CAAC,GACnC,KAAK,GACL,IAAI,CAAC;IAEX,KAAK,mBAAmB,CAAC,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,IAErD,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;IAE1D,KAAK,eAAe,CAAC,EAAE,SAAS,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAChE,mBAAmB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAkClC,KAAK,gCAAgC,CAAC,CAAC,SAAS,mBAAmB,IACjE,8BAA8B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEvC,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,mBAAmB,IAC7D,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,MAAM,MAAM,4BAA4B,CACtC,EAAE,SAAS,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAE7C,gBAAgB,CAAC,EAAE,CAAC,SAAS,IAAI,GAC7B,gCAAgC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAClD,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAExC,KAAK,4BAA4B,CAAC,CAAC,SAAS,mBAAmB,IAC7D,8BAA8B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEvC,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,mBAAmB,IACzD,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,MAAM,MAAM,wBAAwB,CAClC,EAAE,SAAS,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAE7C,gBAAgB,CAAC,EAAE,CAAC,SAAS,IAAI,GAC7B,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAC9C,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAEpC,KAAK,8BAA8B,CAAC,CAAC,SAAS,mBAAmB,IAC/D,8BAA8B,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAErD,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,mBAAmB,IAC3D,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE1C,MAAM,MAAM,0BAA0B,CACpC,EAAE,SAAS,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAE7C,eAAe,CAAC,EAAE,CAAC,SAAS,IAAI,GAC5B,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAChD,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;;CACvC;AAED,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,mBAAmB,IACzD,iBAAiB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAE7C,MAAM,MAAM,wBAAwB,CAClC,EAAE,SAAS,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAC3C,iBAAiB,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC;AAEvD,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,mBAAmB,IACrD,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAEzC,MAAM,MAAM,oBAAoB,CAC9B,EAAE,SAAS,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAC3C,iBAAiB,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;AAEnD,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,mBAAmB,IACvD,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAE3C,MAAM,MAAM,sBAAsB,CAChC,EAAE,SAAS,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAC3C,iBAAiB,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;AAErD,MAAM,MAAM,qBAAqB,CAAC,CAAC,EAAE,CAAC,IAAI,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/E,MAAM,MAAM,0BAA0B,CAAC,CAAC,IAAI,mBAAmB,CAC7D,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,SAAS,CAAC,CAAC,CAAC,CACb,CAAC;AAEF,MAAM,MAAM,2BAA2B,CAAC,CAAC,IAAI,mBAAmB,CAC9D,CAAC,EACD,SAAS,CAAC,CAAC,CAAC,CACb,CAAC;AAEF,MAAM,MAAM,2BAA2B,CAAC,CAAC,IAAI,mBAAmB,CAC9D,CAAC,EACD,SAAS,CAAC,CAAC,CAAC,CACb,CAAC;AAEF,MAAM,MAAM,2BAA2B,CAAC,CAAC,IAAI,mBAAmB,CAC9D,CAAC,EACD,SAAS,CAAC,CAAC,CAAC,CACb,CAAC;AAEF,MAAM,MAAM,2BAA2B,CAAC,CAAC,IAAI,mBAAmB,CAC9D,CAAC,EACD,SAAS,CAAC,CAAC,CAAC,CACb,CAAC;AAEF,MAAM,MAAM,sCAAsC,CAAC,CAAC,EAAE,CAAC,IAAI,mBAAmB,CAC5E,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EACf,SAAS,CAAC,CAAC,CAAC,CACb,CAAC;AAEF,MAAM,MAAM,kCAAkC,CAAC,CAAC,EAAE,CAAC,IAAI,mBAAmB,CACxE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,EAC1B,SAAS,CAAC,CAAC,CAAC,CACb,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/E,MAAM,MAAM,gCAAgC,CAAC,CAAC,IAAI,mBAAmB,CACnE,CAAC,EACD,SAAS,CAAC,CAAC,CAAC,CACb,CAAC;AAEF,MAAM,MAAM,0BAA0B,CAAC,CAAC,IAAI,mBAAmB,CAC7D,CAAC,EACD,SAAS,CAAC,CAAC,CAAC,CACb,CAAC;AAIF,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/E,MAAM,MAAM,0BAA0B,CAAC,CAAC,IAAI,oBAAoB,CAC9D,CAAC,EACD,SAAS,CAAC,CAAC,CAAC,CACb,CAAC;AAEF,MAAM,MAAM,2BAA2B,CAAC,CAAC,EAAE,CAAC,IAAI,oBAAoB,CAClE,CAAC,EACD,SAAS,CAAC,CAAC,CAAC,CACb,CAAC;AAEF,MAAM,MAAM,0BAA0B,CAAC,CAAC,EAAE,CAAC,IAAI,oBAAoB,CACjE,CAAC,EACD,SAAS,CAAC,CAAC,CAAC,CACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"observable.d.mts","sourceRoot":"","sources":["../../../src/core/types/observable.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observable.d.mts","sourceRoot":"","sources":["../../../src/core/types/observable.mts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,QAAQ,EAAE,KAAK,IAAI,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAyB,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAE1E;;;;;;;;;;;;GAYG;AAEH,KAAK,oBAAoB,CAAC,CAAC,EAAE,IAAI,SAAS,cAAc,IAAI,QAAQ,CAAC;IACnE,EAAE,EAAE,YAAY,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;IAGX,KAAK,EAAE,cAAc,SAAS,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC;IAClD,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAGjD,WAAW,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,MAAM,OAAO,CAAC;IAE9B,SAAS,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IAC9C,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,IAAI,KAAK,YAAY,CAAC;IAE7E,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;CACrB,CAAC,CAAC;AAEH,gBAAgB;AAChB,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EACtB,QAAQ,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,KACrC,qBAAqB,CAAC,CAAC,CAAC,CAAC,GAC5B,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,GAChE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAEnE,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;AAExE,gBAAgB;AAChB,kBAAU,uBAAuB,CAAC;IAChC,MAAM,MAAM,aAAa,CACvB,CAAC,EACD,CAAC,SAAS,oBAAoB,CAAC,CAAC,EAAE,cAAc,CAAC,IAC/C,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,GACvC,QAAQ,CAAC;QACP,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;QAE3B,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC;KACnC,CAAC,CAAC;IAEL,KAAK,wBAAwB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EACpC,QAAQ,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,KACrC,qBAAqB,CAAC,CAAC,CAAC,CAAC,GAC5B,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,GAChE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9E,MAAM,MAAM,OAAO,CACjB,CAAC,EACD,CAAC,SAAS,oBAAoB,CAAC,CAAC,EAAE,cAAc,CAAC,EACjD,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,IACjD,CAAC,GACH,QAAQ,CAAC;QACP,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;KAClB,CAAC,CAAC;IAEL,MAAM,MAAM,SAAS,CACnB,CAAC,EACD,CAAC,SAAS,oBAAoB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC,IACvD,CAAC,GACH,QAAQ,CAAC;QACP,aAAa,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;KACvD,CAAC,CAAC;;CACN;AAED,MAAM,MAAM,mBAAmB,CAC7B,CAAC,EACD,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,IACjD,uBAAuB,CAAC,OAAO,CACjC,CAAC,EACD,oBAAoB,CAAC,CAAC,EAAE,YAAY,CAAC,EACrC,CAAC,CACF,CAAC;AAEF,MAAM,MAAM,8BAA8B,CACxC,CAAC,EACD,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,IACjD,uBAAuB,CAAC,aAAa,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAExE,MAAM,MAAM,oBAAoB,CAC9B,CAAC,EACD,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,IACjD,uBAAuB,CAAC,SAAS,CACnC,CAAC,EACD,uBAAuB,CAAC,OAAO,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAC9E,CAAC;AAEF,MAAM,MAAM,+BAA+B,CACzC,CAAC,EACD,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,IACjD,uBAAuB,CAAC,aAAa,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEzE,MAAM,MAAM,eAAe,CACzB,CAAC,EACD,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,IACjD,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE3D,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,uBAAuB,CAAC,SAAS,CAC/D,CAAC,EACD,oBAAoB,CAAC,CAAC,EAAE,MAAM,CAAC,CAChC,CAAC;AAEF,MAAM,MAAM,yBAAyB,CAAC,CAAC,IACrC,uBAAuB,CAAC,aAAa,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9D,MAAM,MAAM,UAAU,CAAC,CAAC,IACtB,oBAAoB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAEvE,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAC/B,+BAA+B,CAAC,CAAC,CAAC,GAClC,yBAAyB,CAAC,CAAC,CAAC,GAC5B,8BAA8B,CAAC,CAAC,CAAC,CAAC;AAEtC,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;AAI/E,yEAAyE;AACzE,MAAM,MAAM,wBAAwB,CAAC,CAAC,EAAE,CAAC,IAAI,CAC3C,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,KACf,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAE9B,8EAA8E;AAC9E,MAAM,MAAM,wBAAwB,CAAC,CAAC,EAAE,CAAC,IAAI,CAC3C,GAAG,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,KAC1C,UAAU,CAAC,CAAC,CAAC,CAAC;AAEnB,2EAA2E;AAC3E,MAAM,MAAM,wBAAwB,CAAC,CAAC,EAAE,CAAC,IAAI,CAC3C,GAAG,EAAE,qBAAqB,CAAC,CAAC,CAAC,KAC1B,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAE9B,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,IACrB,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC9B,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC9B,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEnC,eAAO,MAAM,mBAAmB,GAAI,CAAC,OAC9B,UAAU,CAAC,CAAC,CAAC,KACjB,GAAG,IAAI,iBAAiB,CAAC,CAAC,CAA8B,CAAC;AAE5D,eAAO,MAAM,gBAAgB,GAAI,CAAC,OAC3B,UAAU,CAAC,CAAC,CAAC,KACjB,GAAG,IAAI,cAAc,CAAC,CAAC,CAAwB,CAAC;AAEnD,eAAO,MAAM,iBAAiB,GAAI,CAAC,OAC5B,UAAU,CAAC,CAAC,CAAC,KACjB,GAAG,IAAI,eAAe,CAAC,CAAC,CAC8B,CAAC;AAE1D,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE3E,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,QAAQ,CAAC;KACrE,CAAC,IAAI,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACtC,CAAC,CAAC;AAEH,MAAM,MAAM,IAAI,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,IAAI,QAAQ,CAAC;KACvD,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,IAAI,QAAQ,CAAC;KAClE,CAAC,IAAI,MAAM,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5C,CAAC,CAAC"}
@@ -1,10 +1,8 @@
1
1
  import 'ts-data-forge';
2
2
 
3
- const isManagerObservable = (obs) => obs.kind !== 'sync child';
4
- const isRootObservable = (obs) => obs.kind === 'root';
5
- const isChildObservable = (obs) => obs.kind === 'sync child' || obs.kind === 'async child';
6
- // type GetDestTypeOfOperator<Op extends Operator<unknown, unknown>> =
7
- // Op extends Operator<unknown, infer B> ? B : never;
3
+ const isManagerObservable = (obs) => obs.kind !== "sync child";
4
+ const isRootObservable = (obs) => obs.kind === "root";
5
+ const isChildObservable = (obs) => obs.kind === "sync child" || obs.kind === "async child";
8
6
 
9
7
  export { isChildObservable, isManagerObservable, isRootObservable };
10
8
  //# sourceMappingURL=observable.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"observable.mjs","sources":["../../../src/core/types/observable.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAmKO,MAAM,mBAAmB,GAAG,CACjC,GAAkB,KACc,GAAG,CAAC,IAAI,KAAK;AAExC,MAAM,gBAAgB,GAAG,CAC9B,GAAkB,KACW,GAAG,CAAC,IAAI,KAAK;MAE/B,iBAAiB,GAAG,CAC/B,GAAkB,KAElB,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,IAAI,KAAK;AAgB5C;AACA;;;;"}
1
+ {"version":3,"file":"observable.mjs","sources":["../../../src/core/types/observable.mts"],"sourcesContent":["import { expectType, type Optional, type Some } from 'ts-data-forge';\nimport { type FixedLengthTuple, type StrictOmit } from 'ts-type-forge';\nimport { type ObservableId, type UpdateToken } from './id.mjs';\nimport { type ObservableKind } from './observable-kind.mjs';\nimport { type NonEmptyUnknownList, type Subscription } from './types.mjs';\n\n/**\n * Inheritance\n *\n * ```txt\n * ObservableBase\n * |\n * +- SyncChildObservable \\ \\\n * | +-- ChildObservable \\\n * +- AsyncChildObservable X +-- Observable\n * | +-- ManagerObservable /\n * +- RootObservableType / /\n * ```\n */\n\ntype CreateObservableType<A, Kind extends ObservableKind> = Readonly<{\n id: ObservableId;\n kind: Kind;\n\n // reactive dependency tree structure\n depth: ObservableKind extends 'root' ? 0 : number;\n addChild: <B>(child: ChildObservable<B>) => void;\n\n // state\n getSnapshot: () => Optional<A>;\n isCompleted: boolean;\n updateToken: UpdateToken;\n hasSubscriber: boolean;\n hasChild: boolean;\n hasActiveChild: () => boolean;\n\n tryUpdate: (updateToken: UpdateToken) => void;\n tryComplete: () => void;\n complete: () => void;\n subscribe: (onNext: (v: A) => void, onComplete?: () => void) => Subscription;\n\n pipe: PipeMethod<A>;\n}>;\n\n/** @internal */\ntype PipeMethod<A> = (<B>(\n operator: WithInitialValueOperator<A, B>,\n) => InitializedObservable<B>) &\n (<B>(operator: DropInitialValueOperator<A, B>) => Observable<B>) &\n (<B>(operator: KeepInitialValueOperator<A, B>) => Observable<B>);\n\nexport type ObservableBase<A> = CreateObservableType<A, ObservableKind>;\n\n/** @internal */\nnamespace ObservableTypeConverter {\n export type ToInitialized<\n A,\n O extends CreateObservableType<A, ObservableKind>,\n > = StrictOmit<O, 'pipe' | 'getSnapshot'> &\n Readonly<{\n getSnapshot: () => Some<A>;\n\n pipe: PipeMethodForInitialized<A>;\n }>;\n\n type PipeMethodForInitialized<A> = (<B>(\n operator: WithInitialValueOperator<A, B>,\n ) => InitializedObservable<B>) &\n (<B>(operator: DropInitialValueOperator<A, B>) => Observable<B>) &\n (<B>(operator: KeepInitialValueOperator<A, B>) => InitializedObservable<B>);\n\n export type ToChild<\n A,\n O extends CreateObservableType<A, ObservableKind>,\n P extends NonEmptyUnknownList = NonEmptyUnknownList,\n > = O &\n Readonly<{\n parents: Wrap<P>;\n }>;\n\n export type ToManager<\n A,\n O extends CreateObservableType<A, 'async child' | 'root'>,\n > = O &\n Readonly<{\n addDescendant: <B>(child: ChildObservable<B>) => void;\n }>;\n}\n\nexport type SyncChildObservable<\n A,\n P extends NonEmptyUnknownList = NonEmptyUnknownList,\n> = ObservableTypeConverter.ToChild<\n A,\n CreateObservableType<A, 'sync child'>,\n P\n>;\n\nexport type InitializedSyncChildObservable<\n A,\n P extends NonEmptyUnknownList = NonEmptyUnknownList,\n> = ObservableTypeConverter.ToInitialized<A, SyncChildObservable<A, P>>;\n\nexport type AsyncChildObservable<\n A,\n P extends NonEmptyUnknownList = NonEmptyUnknownList,\n> = ObservableTypeConverter.ToManager<\n A,\n ObservableTypeConverter.ToChild<A, CreateObservableType<A, 'async child'>, P>\n>;\n\nexport type InitializedAsyncChildObservable<\n A,\n P extends NonEmptyUnknownList = NonEmptyUnknownList,\n> = ObservableTypeConverter.ToInitialized<A, AsyncChildObservable<A, P>>;\n\nexport type ChildObservable<\n A,\n P extends NonEmptyUnknownList = NonEmptyUnknownList,\n> = AsyncChildObservable<A, P> | SyncChildObservable<A, P>;\n\nexport type RootObservable<A> = ObservableTypeConverter.ToManager<\n A,\n CreateObservableType<A, 'root'>\n>;\n\nexport type InitializedRootObservable<A> =\n ObservableTypeConverter.ToInitialized<A, RootObservable<A>>;\n\nexport type Observable<A> =\n AsyncChildObservable<A> | RootObservable<A> | SyncChildObservable<A>;\n\nexport type InitializedObservable<A> =\n | InitializedAsyncChildObservable<A>\n | InitializedRootObservable<A>\n | InitializedSyncChildObservable<A>;\n\nexport type ManagerObservable<A> = AsyncChildObservable<A> | RootObservable<A>;\n\n/* operator types */\n\n/** Type of operator that converts Observable to InitializedObservable */\nexport type WithInitialValueOperator<A, B> = (\n src: Observable<A>,\n) => InitializedObservable<B>;\n\n/** Type of operator that converts Observable to non-initialized Observable */\nexport type DropInitialValueOperator<A, B> = (\n src: InitializedObservable<A> | Observable<A>,\n) => Observable<B>;\n\n/** Type of operator that preserves whether Observable has initial value */\nexport type KeepInitialValueOperator<A, B> = (\n src: InitializedObservable<A>,\n) => InitializedObservable<B>;\n\nexport type Operator<A, B> =\n | WithInitialValueOperator<A, B>\n | DropInitialValueOperator<A, B>\n | KeepInitialValueOperator<A, B>;\n\nexport const isManagerObservable = <A,>(\n obs: Observable<A>,\n): obs is ManagerObservable<A> => obs.kind !== 'sync child';\n\nexport const isRootObservable = <A,>(\n obs: Observable<A>,\n): obs is RootObservable<A> => obs.kind === 'root';\n\nexport const isChildObservable = <A,>(\n obs: Observable<A>,\n): obs is ChildObservable<A> =>\n obs.kind === 'sync child' || obs.kind === 'async child';\n\nexport type ObservableValue<A> = A extends Observable<infer B> ? B : never;\n\nexport type Unwrap<A extends readonly Observable<unknown>[]> = Readonly<{\n [P in keyof A]: ObservableValue<A[P]>;\n}>;\n\nexport type Wrap<A extends readonly unknown[]> = Readonly<{\n [P in keyof A]: Observable<A[P]>;\n}>;\n\nexport type WrapInitialized<A extends readonly unknown[]> = Readonly<{\n [P in keyof A]: InitializedObservable<A[P]>;\n}>;\n\n// type GetDestTypeOfOperator<Op extends Operator<unknown, unknown>> =\n// Op extends Operator<unknown, infer B> ? B : never;\n\nexpectType<keyof AsyncChildObservable<unknown>, 'addDescendant'>('>=');\n\nexpectType<keyof RootObservable<unknown>, 'addDescendant'>('>=');\n\nexpectType<Unwrap<Wrap<readonly [1, 2, 3]>>, readonly [1, 2, 3]>('=');\n\nexpectType<number, ObservableValue<Observable<number>>>('<=');\n\nexpectType<number, ObservableValue<Observable<string>>>('!<=');\n\nexpectType<\n readonly [number, string],\n Unwrap<readonly [Observable<number>, Observable<string>]>\n>('<=');\n\nexpectType<number, ObservableValue<Observable<string>>>('!<=');\n\nexpectType<\n FixedLengthTuple<2, Observable<number>>,\n Wrap<FixedLengthTuple<2, number>>\n>('<=');\n\nexpectType<\n readonly [Observable<number>, Observable<string>],\n Wrap<FixedLengthTuple<2, number>>\n>('!<=');\n"],"names":[],"mappings":";;AAiKO,MAAM,mBAAA,GAAsB,CACjC,GAAA,KACgC,GAAA,CAAI,IAAA,KAAS;AAExC,MAAM,gBAAA,GAAmB,CAC9B,GAAA,KAC6B,GAAA,CAAI,IAAA,KAAS;MAE/B,oBAAoB,CAC/B,GAAA,KAEA,IAAI,IAAA,KAAS,YAAA,IAAgB,IAAI,IAAA,KAAS;;;;"}
@@ -1,8 +1,9 @@
1
1
  import { type Queue } from 'ts-data-forge';
2
+ import { type NonEmptyTuple } from 'ts-type-forge';
2
3
  export type TupleToQueueTuple<T extends readonly unknown[]> = Readonly<{
3
4
  [P in keyof T]: Queue<T[P]>;
4
5
  }>;
5
- export type NonEmptyUnknownList = readonly [unknown, ...unknown[]];
6
+ export type NonEmptyUnknownList = NonEmptyTuple<unknown>;
6
7
  export type Subscriber<A> = Readonly<{
7
8
  onNext: (v: A) => void;
8
9
  onComplete: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../../../src/core/types/types.mts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,IAAI,QAAQ,CAAC;KACpE,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5B,CAAC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAEnE,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,QAAQ,CAAC;IACnC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAClC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,QAAQ,CAAC;IACrC,SAAS,EAAE,CACT,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,IAAI,EAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,EACnC,UAAU,CAAC,EAAE,MAAM,IAAI,KACpB,YAAY,CAAC;CACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../../../src/core/types/types.mts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,IAAI,QAAQ,CAAC;KACpE,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5B,CAAC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;AAEzD,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,QAAQ,CAAC;IACnC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAClC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,QAAQ,CAAC;IACrC,SAAS,EAAE,CACT,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,IAAI,EAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,EACnC,UAAU,CAAC,EAAE,MAAM,IAAI,KACpB,YAAY,CAAC;CACnB,CAAC,CAAC"}
@@ -1,10 +1,9 @@
1
1
  function* idMaker() {
2
- let mut_i = 0;
3
- while (true) {
4
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
5
- yield Symbol(mut_i.toString());
6
- mut_i += 1;
7
- }
2
+ let mut_i = 0;
3
+ while (true) {
4
+ yield Symbol(mut_i.toString());
5
+ mut_i += 1;
6
+ }
8
7
  }
9
8
  const observableIdMaker = idMaker();
10
9
  const subscriberIdMaker = idMaker();
@@ -1 +1 @@
1
- {"version":3,"file":"id-maker.mjs","sources":["../../../src/core/utils/id-maker.mts"],"sourcesContent":[null],"names":[],"mappings":"AAMA,UAAU,OAAO,GAAA;IACf,IAAI,KAAK,GAAG,CAAC;IAEb,OAAO,IAAI,EAAE;;AAEX,QAAA,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAM;QAEnC,KAAK,IAAI,CAAC;IACZ;AACF;AAEA,MAAM,iBAAiB,GAAG,OAAO,EAAgB;AAEjD,MAAM,iBAAiB,GAAG,OAAO,EAAgB;AAEjD,MAAM,gBAAgB,GAAG,OAAO,EAAe;AAExC,MAAM,iBAAiB,GAAG,MAC/B,iBAAiB,CAAC,IAAI,EAAE,CAAC;AAEpB,MAAM,iBAAiB,GAAG,MAC/B,iBAAiB,CAAC,IAAI,EAAE,CAAC;AAEpB,MAAM,gBAAgB,GAAG,MAC9B,gBAAgB,CAAC,IAAI,EAAE,CAAC;;;;"}
1
+ {"version":3,"file":"id-maker.mjs","sources":["../../../src/core/utils/id-maker.mts"],"sourcesContent":["import {\n type ObservableId,\n type SubscriberId,\n type UpdateToken,\n} from '../types/index.mjs';\n\nfunction* idMaker<T extends symbol>(): Generator<T, T, T> {\n let mut_i = 0;\n\n while (true) {\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n yield Symbol(mut_i.toString()) as T;\n\n mut_i += 1;\n }\n}\n\nconst observableIdMaker = idMaker<ObservableId>();\n\nconst subscriberIdMaker = idMaker<SubscriberId>();\n\nconst updateTokenMaker = idMaker<UpdateToken>();\n\nexport const issueObservableId = (): ObservableId =>\n observableIdMaker.next().value;\n\nexport const issueSubscriberId = (): SubscriberId =>\n subscriberIdMaker.next().value;\n\nexport const issueUpdateToken = (): UpdateToken =>\n updateTokenMaker.next().value;\n"],"names":[],"mappings":"AAMA,UAAU,OAAA,GAAgD;AACxD,EAAA,IAAI,KAAA,GAAQ,CAAA;AAEZ,EAAA,OAAO,IAAA,EAAM;AAEX,IAAA,MAAM,MAAA,CAAO,KAAA,CAAM,QAAA,EAAU,CAAA;AAE7B,IAAA,KAAA,IAAS,CAAA;AAAA,EACX;AACF;AAEA,MAAM,oBAAoB,OAAA,EAAsB;AAEhD,MAAM,oBAAoB,OAAA,EAAsB;AAEhD,MAAM,mBAAmB,OAAA,EAAqB;AAEvC,MAAM,iBAAA,GAAoB,MAC/B,iBAAA,CAAkB,IAAA,EAAK,CAAE;AAEpB,MAAM,iBAAA,GAAoB,MAC/B,iBAAA,CAAkB,IAAA,EAAK,CAAE;AAEpB,MAAM,gBAAA,GAAmB,MAC9B,gBAAA,CAAiB,IAAA,EAAK,CAAE;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"max-depth.d.mts","sourceRoot":"","sources":["../../../src/core/utils/max-depth.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,eAAO,MAAM,QAAQ,GAAI,SAAS,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,KAAG,MAG/B,CAAC"}
1
+ {"version":3,"file":"max-depth.d.mts","sourceRoot":"","sources":["../../../src/core/utils/max-depth.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,eAAO,MAAM,QAAQ,YAAa,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,KAAG,MAO/B,CAAC"}
@@ -1,8 +1,6 @@
1
1
  import { pipe, Arr, Optional } from 'ts-data-forge';
2
2
 
3
- const maxDepth = (parents) => pipe(Arr.maxBy(parents, (p) => p.depth))
4
- .mapOptional((o) => o.depth)
5
- .map(Optional.unwrapOr(0)).value;
3
+ const maxDepth = (parents) => pipe(Arr.maxBy(parents, (p) => p.depth)).mapOptional((o) => o.depth).map(Optional.unwrapOr(0)).value;
6
4
 
7
5
  export { maxDepth };
8
6
  //# sourceMappingURL=max-depth.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"max-depth.mjs","sources":["../../../src/core/utils/max-depth.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAGO,MAAM,QAAQ,GAAG,CAAC,OAAuC,KAC9D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;KACpC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK;KAC1B,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;;;;"}
1
+ {"version":3,"file":"max-depth.mjs","sources":["../../../src/core/utils/max-depth.mts"],"sourcesContent":["import { Arr, Optional, pipe } from 'ts-data-forge';\nimport { type Observable } from '../types/index.mjs';\n\nexport const maxDepth = (parents: readonly Observable<unknown>[]): number =>\n pipe(Arr.maxBy(parents, (p) => p.depth))\n // Explicit return type + non-curried `Optional.unwrapOr` call: TypeScript\n // 7 (native)'s inference for this chained generic call resolves to\n // `unknown` without them, even though TypeScript <= 6.0's checker\n // resolves this fine.\n .mapOptional((o): number => o.depth)\n .map(Optional.unwrapOr(0)).value;\n"],"names":[],"mappings":";;AAGO,MAAM,QAAA,GAAW,CAAC,OAAA,KACvB,IAAA,CAAK,GAAA,CAAI,MAAM,OAAA,EAAS,CAAC,CAAA,KAAM,CAAA,CAAE,KAAK,CAAC,EAKpC,WAAA,CAAY,CAAC,CAAA,KAAc,CAAA,CAAE,KAAK,CAAA,CAClC,IAAI,QAAA,CAAS,QAAA,CAAS,CAAC,CAAC,CAAA,CAAE;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"observable-utils.d.mts","sourceRoot":"","sources":["../../../src/core/utils/observable-utils.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,eAAO,MAAM,YAAY,GAAI,CAAC,EAC5B,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,EACtB,aAAa,MAAM,IAAI,KACtB,UAAU,CAAC,CAAC,CAIF,CAAC"}
1
+ {"version":3,"file":"observable-utils.d.mts","sourceRoot":"","sources":["../../../src/core/utils/observable-utils.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,eAAO,MAAM,YAAY,GAAI,CAAC,UACpB,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,eACT,MAAM,IAAI,KACtB,UAAU,CAAC,CAAC,CAIF,CAAC"}
@@ -1,6 +1,7 @@
1
1
  const toSubscriber = (onNext, onComplete) => ({
2
- onNext,
3
- onComplete: onComplete ?? (() => { }),
2
+ onNext,
3
+ onComplete: onComplete ?? (() => {
4
+ })
4
5
  });
5
6
 
6
7
  export { toSubscriber };
@@ -1 +1 @@
1
- {"version":3,"file":"observable-utils.mjs","sources":["../../../src/core/utils/observable-utils.mts"],"sourcesContent":[null],"names":[],"mappings":"AAEO,MAAM,YAAY,GAAG,CAC1B,MAAsB,EACtB,UAAuB,MAEtB;IACC,MAAM;IACN,UAAU,EAAE,UAAU,KAAK,MAAK,EAAE,CAAC,CAAC;AACrC,CAAA;;;;"}
1
+ {"version":3,"file":"observable-utils.mjs","sources":["../../../src/core/utils/observable-utils.mts"],"sourcesContent":["import { type Subscriber } from '../types/index.mjs';\n\nexport const toSubscriber = <A,>(\n onNext: (v: A) => void,\n onComplete?: () => void,\n): Subscriber<A> =>\n ({\n onNext,\n onComplete: onComplete ?? (() => {}),\n }) as const;\n"],"names":[],"mappings":"AAEO,MAAM,YAAA,GAAe,CAC1B,MAAA,EACA,UAAA,MAEC;AAAA,EACC,MAAA;AAAA,EACA,UAAA,EAAY,eAAe,MAAM;AAAA,EAAC,CAAA;AACpC,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.mts","sourceRoot":"","sources":["../../../src/core/utils/utils.mts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,OAAO,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAEhE,eAAO,MAAM,OAAO,GAAI,GAAG,OAAO,KAAG,OAKI,CAAC;AAE1C,yEAAyE;AACzE,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,EAC3C,aAAa,SAAS,CAAC,EAAE,EACzB,GAAG,CAAC,KACH,aAAa,GAAG,MAqClB,CAAC"}
1
+ {"version":3,"file":"utils.d.mts","sourceRoot":"","sources":["../../../src/core/utils/utils.mts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,OAAO,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAEhE,eAAO,MAAM,OAAO,MAAO,OAAO,KAAG,OAKI,CAAC;AAE1C,yEAAyE;AACzE,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,eAC9B,SAAS,CAAC,EAAE,KACtB,CAAC,KACH,aAAa,GAAG,MAqClB,CAAC"}
@@ -1,37 +1,30 @@
1
1
  import { asUint32, Arr, asSafeInt, SafeInt } from 'ts-data-forge';
2
2
 
3
- const halfInt = (x) => x % 2 === 0
4
- ? SafeInt.div(x, 2)
5
- : x > 0
6
- ? SafeInt.div(SafeInt.sub(x, 1), 2) // (x-1) / 2. e.g. 3 -> 1, 5 -> 2
7
- : SafeInt.div(SafeInt.add(x, 1), 2); // (x+1) / 2. e.g. -3 -> -1, -5 -> -2
8
- /** Returns the position where x should be inserted in a sorted array. */
3
+ const halfInt = (x) => x % 2 === 0 ? SafeInt.div(x, 2) : x > 0 ? SafeInt.div(SafeInt.sub(x, 1), 2) : SafeInt.div(SafeInt.add(x, 1), 2);
9
4
  const binarySearch = (sortedArray, x) => {
10
- const uint32Result = asUint32(0);
11
- if (Arr.isArrayOfLength(sortedArray, 0)) {
12
- return uint32Result;
5
+ const uint32Result = asUint32(0);
6
+ if (Arr.isEmpty(sortedArray)) {
7
+ return uint32Result;
8
+ }
9
+ const left0 = asSafeInt(0);
10
+ let mut_left = left0;
11
+ let mut_right = SafeInt.sub(Arr.length(sortedArray), 1);
12
+ let mut_mid = SafeInt.add(
13
+ mut_left,
14
+ halfInt(SafeInt.sub(mut_right, mut_left))
15
+ );
16
+ while (mut_left <= mut_right) {
17
+ const curr = sortedArray[mut_mid];
18
+ if (x === curr) break;
19
+ if (curr === void 0) break;
20
+ if (curr > x) {
21
+ mut_right = SafeInt.sub(mut_mid, 1);
22
+ } else {
23
+ mut_left = SafeInt.add(mut_mid, 1);
13
24
  }
14
- const left0 = asSafeInt(0);
15
- let mut_left = left0;
16
- let mut_right = SafeInt.sub(Arr.length(sortedArray), 1);
17
- let mut_mid = SafeInt.add(mut_left, halfInt(SafeInt.sub(mut_right, mut_left)));
18
- // loop while x is in the range of [left, right)
19
- while (mut_left <= mut_right) {
20
- const curr = sortedArray[mut_mid];
21
- if (x === curr)
22
- break;
23
- if (curr === undefined)
24
- break;
25
- if (curr > x) {
26
- mut_right = SafeInt.sub(mut_mid, 1);
27
- }
28
- else {
29
- mut_left = SafeInt.add(mut_mid, 1);
30
- }
31
- mut_mid = SafeInt.add(mut_left, halfInt(SafeInt.sub(mut_right, mut_left)));
32
- }
33
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
34
- return mut_mid;
25
+ mut_mid = SafeInt.add(mut_left, halfInt(SafeInt.sub(mut_right, mut_left)));
26
+ }
27
+ return mut_mid;
35
28
  };
36
29
 
37
30
  export { binarySearch, halfInt };
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","sources":["../../../src/core/utils/utils.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAGO,MAAM,OAAO,GAAG,CAAC,CAAU,KAChC,CAAC,GAAG,CAAC,KAAK;MACN,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;MAChB,CAAC,GAAG;AACJ,UAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACnC,UAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;AAE1C;MACa,YAAY,GAAG,CAC1B,WAAyB,EACzB,CAAI,KACsB;AAC1B,IAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC;IAEhC,IAAI,GAAG,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE;AACvC,QAAA,OAAO,YAAY;IACrB;AAEA,IAAA,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC;IAE1B,IAAI,QAAQ,GAAY,KAAK;AAE7B,IAAA,IAAI,SAAS,GAAY,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAEhE,IAAI,OAAO,GAAY,OAAO,CAAC,GAAG,CAChC,QAAQ,EACR,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAC1C;;AAGD,IAAA,OAAO,QAAQ,IAAI,SAAS,EAAE;AAC5B,QAAA,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC;QAEjC,IAAI,CAAC,KAAK,IAAI;YAAE;QAEhB,IAAI,IAAI,KAAK,SAAS;YAAE;AAExB,QAAA,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACrC;aAAO;YACL,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACpC;AAEA,QAAA,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5E;;AAGA,IAAA,OAAO,OAAiC;AAC1C;;;;"}
1
+ {"version":3,"file":"utils.mjs","sources":["../../../src/core/utils/utils.mts"],"sourcesContent":["import { Arr, asSafeInt, asUint32, SafeInt } from 'ts-data-forge';\nimport { type NegativeInt32, type Uint32 } from 'ts-type-forge';\n\nexport const halfInt = (x: SafeInt): SafeInt =>\n x % 2 === 0\n ? SafeInt.div(x, 2)\n : x > 0\n ? SafeInt.div(SafeInt.sub(x, 1), 2) // (x-1) / 2. e.g. 3 -> 1, 5 -> 2\n : SafeInt.div(SafeInt.add(x, 1), 2); // (x+1) / 2. e.g. -3 -> -1, -5 -> -2\n\n/** Returns the position where x should be inserted in a sorted array. */\nexport const binarySearch = <N extends number>(\n sortedArray: readonly N[],\n x: N,\n): NegativeInt32 | Uint32 => {\n const uint32Result = asUint32(0);\n\n if (Arr.isEmpty(sortedArray)) {\n return uint32Result;\n }\n\n const left0 = asSafeInt(0);\n\n let mut_left: SafeInt = left0;\n\n let mut_right: SafeInt = SafeInt.sub(Arr.length(sortedArray), 1);\n\n let mut_mid: SafeInt = SafeInt.add(\n mut_left,\n halfInt(SafeInt.sub(mut_right, mut_left)),\n );\n\n // loop while x is in the range of [left, right)\n while (mut_left <= mut_right) {\n const curr = sortedArray[mut_mid];\n\n if (x === curr) break;\n\n if (curr === undefined) break;\n\n if (curr > x) {\n mut_right = SafeInt.sub(mut_mid, 1);\n } else {\n mut_left = SafeInt.add(mut_mid, 1);\n }\n\n mut_mid = SafeInt.add(mut_left, halfInt(SafeInt.sub(mut_right, mut_left)));\n }\n\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n return mut_mid as NegativeInt32 | Uint32;\n};\n"],"names":[],"mappings":";;AAGO,MAAM,OAAA,GAAU,CAAC,CAAA,KACtB,CAAA,GAAI,CAAA,KAAM,CAAA,GACN,OAAA,CAAQ,GAAA,CAAI,CAAA,EAAG,CAAC,CAAA,GAChB,CAAA,GAAI,CAAA,GACF,OAAA,CAAQ,GAAA,CAAI,OAAA,CAAQ,GAAA,CAAI,CAAA,EAAG,CAAC,CAAA,EAAG,CAAC,CAAA,GAChC,OAAA,CAAQ,GAAA,CAAI,OAAA,CAAQ,GAAA,CAAI,CAAA,EAAG,CAAC,GAAG,CAAC;AAGjC,MAAM,YAAA,GAAe,CAC1B,WAAA,EACA,CAAA,KAC2B;AAC3B,EAAA,MAAM,YAAA,GAAe,SAAS,CAAC,CAAA;AAE/B,EAAA,IAAI,GAAA,CAAI,OAAA,CAAQ,WAAW,CAAA,EAAG;AAC5B,IAAA,OAAO,YAAA;AAAA,EACT;AAEA,EAAA,MAAM,KAAA,GAAQ,UAAU,CAAC,CAAA;AAEzB,EAAA,IAAI,QAAA,GAAoB,KAAA;AAExB,EAAA,IAAI,YAAqB,OAAA,CAAQ,GAAA,CAAI,IAAI,MAAA,CAAO,WAAW,GAAG,CAAC,CAAA;AAE/D,EAAA,IAAI,UAAmB,OAAA,CAAQ,GAAA;AAAA,IAC7B,QAAA;AAAA,IACA,OAAA,CAAQ,OAAA,CAAQ,GAAA,CAAI,SAAA,EAAW,QAAQ,CAAC;AAAA,GAC1C;AAGA,EAAA,OAAO,YAAY,SAAA,EAAW;AAC5B,IAAA,MAAM,IAAA,GAAO,YAAY,OAAO,CAAA;AAEhC,IAAA,IAAI,MAAM,IAAA,EAAM;AAEhB,IAAA,IAAI,SAAS,MAAA,EAAW;AAExB,IAAA,IAAI,OAAO,CAAA,EAAG;AACZ,MAAA,SAAA,GAAY,OAAA,CAAQ,GAAA,CAAI,OAAA,EAAS,CAAC,CAAA;AAAA,IACpC,CAAA,MAAO;AACL,MAAA,QAAA,GAAW,OAAA,CAAQ,GAAA,CAAI,OAAA,EAAS,CAAC,CAAA;AAAA,IACnC;AAEA,IAAA,OAAA,GAAU,OAAA,CAAQ,IAAI,QAAA,EAAU,OAAA,CAAQ,QAAQ,GAAA,CAAI,SAAA,EAAW,QAAQ,CAAC,CAAC,CAAA;AAAA,EAC3E;AAGA,EAAA,OAAO,OAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"collect-to-array.d.mts","sourceRoot":"","sources":["../../src/utils/collect-to-array.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,eAAO,MAAM,cAAc,GAAI,CAAC,EAC9B,YAAY,UAAU,CAAC,CAAC,CAAC,KACxB,OAAO,CAAC,SAAS,CAAC,EAAE,CAYnB,CAAC"}
1
+ {"version":3,"file":"collect-to-array.d.mts","sourceRoot":"","sources":["../../src/utils/collect-to-array.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,eAAO,MAAM,cAAc,GAAI,CAAC,cAClB,UAAU,CAAC,CAAC,CAAC,KACxB,OAAO,CAAC,SAAS,CAAC,EAAE,CAYnB,CAAC"}
@@ -1,10 +1,13 @@
1
1
  const collectToArray = (observable) => new Promise((resolve) => {
2
- const mut_buffer = [];
3
- observable.subscribe((value) => {
4
- mut_buffer.push(value);
5
- }, () => {
6
- resolve(mut_buffer);
7
- });
2
+ const mut_buffer = [];
3
+ observable.subscribe(
4
+ (value) => {
5
+ mut_buffer.push(value);
6
+ },
7
+ () => {
8
+ resolve(mut_buffer);
9
+ }
10
+ );
8
11
  });
9
12
 
10
13
  export { collectToArray };
@@ -1 +1 @@
1
- {"version":3,"file":"collect-to-array.mjs","sources":["../../src/utils/collect-to-array.mts"],"sourcesContent":[null],"names":[],"mappings":"AAEO,MAAM,cAAc,GAAG,CAC5B,UAAyB,KAEzB,IAAI,OAAO,CAAe,CAAC,OAAO,KAAI;IACpC,MAAM,UAAU,GAAQ,EAAE;AAE1B,IAAA,UAAU,CAAC,SAAS,CAClB,CAAC,KAAK,KAAI;AACR,QAAA,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;IACxB,CAAC,EACD,MAAK;QACH,OAAO,CAAC,UAAU,CAAC;AACrB,IAAA,CAAC,CACF;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"collect-to-array.mjs","sources":["../../src/utils/collect-to-array.mts"],"sourcesContent":["import { type Observable } from '../core/index.mjs';\n\nexport const collectToArray = <A,>(\n observable: Observable<A>,\n): Promise<readonly A[]> =>\n new Promise<readonly A[]>((resolve) => {\n const mut_buffer: A[] = [];\n\n observable.subscribe(\n (value) => {\n mut_buffer.push(value);\n },\n () => {\n resolve(mut_buffer);\n },\n );\n });\n"],"names":[],"mappings":"AAEO,MAAM,iBAAiB,CAC5B,UAAA,KAEA,IAAI,OAAA,CAAsB,CAAC,OAAA,KAAY;AACrC,EAAA,MAAM,aAAkB,EAAC;AAEzB,EAAA,UAAA,CAAW,SAAA;AAAA,IACT,CAAC,KAAA,KAAU;AACT,MAAA,UAAA,CAAW,KAAK,KAAK,CAAA;AAAA,IACvB,CAAA;AAAA,IACA,MAAM;AACJ,MAAA,OAAA,CAAQ,UAAU,CAAA;AAAA,IACpB;AAAA,GACF;AACF,CAAC;;;;"}
@@ -27,7 +27,7 @@ import { type InitializedObservable } from '../core/index.mjs';
27
27
  * );
28
28
  * ```
29
29
  */
30
- export declare const createBooleanState: (initialState: boolean) => readonly [state: InitializedObservable<boolean>, Readonly<{
30
+ export declare const createBooleanState: (initialState: boolean) => readonly [state: InitializedObservable<boolean>, utils: Readonly<{
31
31
  setTrue: () => void;
32
32
  setFalse: () => void;
33
33
  setState: (next: boolean) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"create-boolean-state.d.mts","sourceRoot":"","sources":["../../src/utils/create-boolean-state.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG/D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,eAAO,MAAM,kBAAkB,GAC7B,cAAc,OAAO,KACpB,SAAS,CACV,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,EACrC,QAAQ,CAAC;IACP,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC;IACrC,MAAM,EAAE,MAAM,OAAO,CAAC;IACtB,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,KAAK,OAAO,CAAC;IAC/D,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC,CAsBH,CAAC"}
1
+ {"version":3,"file":"create-boolean-state.d.mts","sourceRoot":"","sources":["../../src/utils/create-boolean-state.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG/D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,eAAO,MAAM,kBAAkB,iBACf,OAAO,KACpB,SAAS,CACV,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,EACrC,KAAK,EAAE,QAAQ,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC;IACrC,MAAM,EAAE,MAAM,OAAO,CAAC;IACtB,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,KAAK,OAAO,CAAC;IAC/D,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC,CAsBH,CAAC"}
@@ -1,52 +1,24 @@
1
1
  import { createState } from './create-state.mjs';
2
2
 
3
- /**
4
- * Creates a reactive boolean state with convenient methods for boolean operations.
5
- * Extends `createState` with boolean-specific helpers like `toggle`, `setTrue`, and `setFalse`.
6
- *
7
- * @param initialState - The initial boolean value
8
- * @returns A 2-element tuple: `[state, { setTrue, setFalse, toggle, setState, updateState, resetState, getSnapshot, initialState }]`
9
- *
10
- * @example
11
- * ```ts
12
- * import type * as React from 'react';
13
- * import { createBooleanState } from 'synstate';
14
- * import { useObservableValue } from 'synstate-react-hooks';
15
- *
16
- * // Menu drawer open/close state.
17
- * // setTrue and setFalse can be passed directly as callbacks
18
- * // — no need to create wrapper functions like `() => setState(true)`.
19
- * const [menuOpen$, { setTrue: openMenu, setFalse: closeMenu }] =
20
- * createBooleanState(false);
21
- *
22
- * const SampleComponent = (): React.JSX.Element => (
23
- * <MenuDrawer
24
- * open={useObservableValue(menuOpen$)}
25
- * onClose={closeMenu}
26
- * onOpen={openMenu}
27
- * />
28
- * );
29
- * ```
30
- */
31
3
  const createBooleanState = (initialState) => {
32
- const [state, setState, { updateState, resetState, getSnapshot }] = createState(initialState);
33
- return [
34
- state,
35
- {
36
- setTrue: () => {
37
- setState(true);
38
- },
39
- setFalse: () => {
40
- setState(false);
41
- },
42
- toggle: () => updateState((s) => !s),
43
- setState,
44
- updateState,
45
- resetState,
46
- getSnapshot,
47
- initialState,
48
- },
49
- ];
4
+ const [state, setState, { updateState, resetState, getSnapshot }] = createState(initialState);
5
+ return [
6
+ state,
7
+ {
8
+ setTrue: () => {
9
+ setState(true);
10
+ },
11
+ setFalse: () => {
12
+ setState(false);
13
+ },
14
+ toggle: () => updateState((s) => !s),
15
+ setState,
16
+ updateState,
17
+ resetState,
18
+ getSnapshot,
19
+ initialState
20
+ }
21
+ ];
50
22
  };
51
23
 
52
24
  export { createBooleanState };
@@ -1 +1 @@
1
- {"version":3,"file":"create-boolean-state.mjs","sources":["../../src/utils/create-boolean-state.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AAEI,MAAM,kBAAkB,GAAG,CAChC,YAAqB,KAanB;AACF,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,GAC/D,WAAW,CAAC,YAAY,CAAC;IAE3B,OAAO;QACL,KAAK;AACL,QAAA;YACE,OAAO,EAAE,MAAK;gBACZ,QAAQ,CAAC,IAAI,CAAC;YAChB,CAAC;YACD,QAAQ,EAAE,MAAK;gBACb,QAAQ,CAAC,KAAK,CAAC;YACjB,CAAC;AACD,YAAA,MAAM,EAAE,MAAM,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACpC,QAAQ;YACR,WAAW;YACX,UAAU;YACV,WAAW;YACX,YAAY;AACb,SAAA;KACO;AACZ;;;;"}
1
+ {"version":3,"file":"create-boolean-state.mjs","sources":["../../src/utils/create-boolean-state.mts"],"sourcesContent":["import { type InitializedObservable } from '../core/index.mjs';\nimport { createState } from './create-state.mjs';\n\n/**\n * Creates a reactive boolean state with convenient methods for boolean operations.\n * Extends `createState` with boolean-specific helpers like `toggle`, `setTrue`, and `setFalse`.\n *\n * @param initialState - The initial boolean value\n * @returns A 2-element tuple: `[state, { setTrue, setFalse, toggle, setState, updateState, resetState, getSnapshot, initialState }]`\n *\n * @example\n * ```ts\n * import type * as React from 'react';\n * import { createBooleanState } from 'synstate';\n * import { useObservableValue } from 'synstate-react-hooks';\n *\n * // Menu drawer open/close state.\n * // setTrue and setFalse can be passed directly as callbacks\n * // — no need to create wrapper functions like `() => setState(true)`.\n * const [menuOpen$, { setTrue: openMenu, setFalse: closeMenu }] =\n * createBooleanState(false);\n *\n * const SampleComponent = (): React.JSX.Element => (\n * <MenuDrawer\n * open={useObservableValue(menuOpen$)}\n * onClose={closeMenu}\n * onOpen={openMenu}\n * />\n * );\n * ```\n */\n\nexport const createBooleanState = (\n initialState: boolean,\n): readonly [\n state: InitializedObservable<boolean>,\n utils: Readonly<{\n setTrue: () => void;\n setFalse: () => void;\n setState: (next: boolean) => boolean;\n toggle: () => boolean;\n updateState: (updateFn: (prev: boolean) => boolean) => boolean;\n resetState: () => boolean;\n getSnapshot: () => boolean;\n initialState: boolean;\n }>,\n] => {\n const [state, setState, { updateState, resetState, getSnapshot }] =\n createState(initialState);\n\n return [\n state,\n {\n setTrue: () => {\n setState(true);\n },\n setFalse: () => {\n setState(false);\n },\n toggle: () => updateState((s) => !s),\n setState,\n updateState,\n resetState,\n getSnapshot,\n initialState,\n },\n ] as const;\n};\n"],"names":[],"mappings":";;AAgCO,MAAM,kBAAA,GAAqB,CAChC,YAAA,KAaG;AACH,EAAA,MAAM,CAAC,KAAA,EAAO,QAAA,EAAU,EAAE,WAAA,EAAa,YAAY,WAAA,EAAa,CAAA,GAC9D,WAAA,CAAY,YAAY,CAAA;AAE1B,EAAA,OAAO;AAAA,IACL,KAAA;AAAA,IACA;AAAA,MACE,SAAS,MAAM;AACb,QAAA,QAAA,CAAS,IAAI,CAAA;AAAA,MACf,CAAA;AAAA,MACA,UAAU,MAAM;AACd,QAAA,QAAA,CAAS,KAAK,CAAA;AAAA,MAChB,CAAA;AAAA,MACA,QAAQ,MAAM,WAAA,CAAY,CAAC,CAAA,KAAM,CAAC,CAAC,CAAA;AAAA,MACnC,QAAA;AAAA,MACA,WAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA;AAAA,MACA;AAAA;AACF,GACF;AACF;;;;"}
@@ -1,74 +1,20 @@
1
1
  import 'ts-data-forge';
2
2
  import '../core/utils/id-maker.mjs';
3
- import '../core/combine/combine.mjs';
4
3
  import { source } from '../core/create/source.mjs';
5
4
 
6
- /**
7
- * Creates an event emitter for void events (events without payload).
8
- * Returns a tuple of [observable, emitter function].
9
- *
10
- * @returns A tuple containing the observable and the emitter function
11
- *
12
- * @example
13
- * ```ts
14
- * const [click$, emitClick] = createEventEmitter();
15
- *
16
- * const mut_clickCount = { value: 0 };
17
- *
18
- * click$.subscribe(() => {
19
- * mut_clickCount.value += 1;
20
- * });
21
- *
22
- * emitClick(); // logs: Clicked!
23
- *
24
- * assert.deepStrictEqual(mut_clickCount.value, 1);
25
- *
26
- * emitClick();
27
- *
28
- * emitClick();
29
- *
30
- * assert.deepStrictEqual(mut_clickCount.value, 3);
31
- * ```
32
- */
33
5
  const createEventEmitter = () => {
34
- const src$ = source();
35
- const emitter = () => {
36
- src$.next(undefined);
37
- };
38
- return [src$, emitter];
6
+ const src$ = source();
7
+ const emitter = () => {
8
+ src$.next(void 0);
9
+ };
10
+ return [src$, emitter];
39
11
  };
40
- /**
41
- * Creates an event emitter with typed payload.
42
- * Returns a tuple of [observable, emitter function].
43
- *
44
- * @template A - The type of the event payload
45
- * @returns A tuple containing the observable and the emitter function
46
- *
47
- * @example
48
- * ```ts
49
- * const [message$, emitMessage] = createValueEmitter<string>();
50
- *
51
- * const messageHistory: string[] = [];
52
- *
53
- * message$.subscribe((msg) => {
54
- * messageHistory.push(msg);
55
- * });
56
- *
57
- * emitMessage('Hello'); // logs: Hello
58
- *
59
- * assert.deepStrictEqual(messageHistory, ['Hello']);
60
- *
61
- * emitMessage('World');
62
- *
63
- * assert.deepStrictEqual(messageHistory, ['Hello', 'World']);
64
- * ```
65
- */
66
12
  const createValueEmitter = () => {
67
- const src$ = source();
68
- const emitter = (value) => {
69
- src$.next(value);
70
- };
71
- return [src$, emitter];
13
+ const src$ = source();
14
+ const emitter = (value) => {
15
+ src$.next(value);
16
+ };
17
+ return [src$, emitter];
72
18
  };
73
19
 
74
20
  export { createEventEmitter, createValueEmitter };
@@ -1 +1 @@
1
- {"version":3,"file":"create-event-emitter.mjs","sources":["../../src/utils/create-event-emitter.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BG;AACI,MAAM,kBAAkB,GAAG,MAG9B;AACF,IAAA,MAAM,IAAI,GAAG,MAAM,EAAa;IAEhC,MAAM,OAAO,GAAG,MAAW;AACzB,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AACtB,IAAA,CAAC;AAED,IAAA,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;AACxB;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;AAyBG;AACI,MAAM,kBAAkB,GAAG,MAG9B;AACF,IAAA,MAAM,IAAI,GAAG,MAAM,EAAK;AAExB,IAAA,MAAM,OAAO,GAAG,CAAC,KAAQ,KAAU;AACjC,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAClB,IAAA,CAAC;AAED,IAAA,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;AACxB;;;;"}
1
+ {"version":3,"file":"create-event-emitter.mjs","sources":["../../src/utils/create-event-emitter.mts"],"sourcesContent":["import { source, type Observable } from '../core/index.mjs';\n\n/**\n * Creates an event emitter for void events (events without payload).\n * Returns a tuple of [observable, emitter function].\n *\n * @returns A tuple containing the observable and the emitter function\n *\n * @example\n * ```ts\n * const [click$, emitClick] = createEventEmitter();\n *\n * const mut_clickCount = { value: 0 };\n *\n * click$.subscribe(() => {\n * mut_clickCount.value += 1;\n * });\n *\n * emitClick(); // logs: Clicked!\n *\n * assert.deepStrictEqual(mut_clickCount.value, 1);\n *\n * emitClick();\n *\n * emitClick();\n *\n * assert.deepStrictEqual(mut_clickCount.value, 3);\n * ```\n */\nexport const createEventEmitter = (): readonly [\n Observable<void>,\n () => void,\n] => {\n const src$ = source<undefined>();\n\n const emitter = (): void => {\n src$.next(undefined);\n };\n\n return [src$, emitter];\n};\n\n/**\n * Creates an event emitter with typed payload.\n * Returns a tuple of [observable, emitter function].\n *\n * @template A - The type of the event payload\n * @returns A tuple containing the observable and the emitter function\n *\n * @example\n * ```ts\n * const [message$, emitMessage] = createValueEmitter<string>();\n *\n * const messageHistory: string[] = [];\n *\n * message$.subscribe((msg) => {\n * messageHistory.push(msg);\n * });\n *\n * emitMessage('Hello'); // logs: Hello\n *\n * assert.deepStrictEqual(messageHistory, ['Hello']);\n *\n * emitMessage('World');\n *\n * assert.deepStrictEqual(messageHistory, ['Hello', 'World']);\n * ```\n */\nexport const createValueEmitter = <A,>(): readonly [\n Observable<A>,\n (value: A) => void,\n] => {\n const src$ = source<A>();\n\n const emitter = (value: A): void => {\n src$.next(value);\n };\n\n return [src$, emitter];\n};\n"],"names":[],"mappings":";;;;AA6BO,MAAM,qBAAqB,MAG7B;AACH,EAAA,MAAM,OAAO,MAAA,EAAkB;AAE/B,EAAA,MAAM,UAAU,MAAY;AAC1B,IAAA,IAAA,CAAK,KAAK,MAAS,CAAA;AAAA,EACrB,CAAA;AAEA,EAAA,OAAO,CAAC,MAAM,OAAO,CAAA;AACvB;AA4BO,MAAM,qBAAqB,MAG7B;AACH,EAAA,MAAM,OAAO,MAAA,EAAU;AAEvB,EAAA,MAAM,OAAA,GAAU,CAAC,KAAA,KAAmB;AAClC,IAAA,IAAA,CAAK,KAAK,KAAK,CAAA;AAAA,EACjB,CAAA;AAEA,EAAA,OAAO,CAAC,MAAM,OAAO,CAAA;AACvB;;;;"}
@@ -43,7 +43,7 @@ import { type InitializedObservable } from '../core/index.mjs';
43
43
  * assert.deepStrictEqual(stateHistory, [0, 1, 2, 1]);
44
44
  * ```
45
45
  */
46
- export declare const createReducer: <S, A>(reducer: Reducer<S, A>, initialState: S) => readonly [state: InitializedObservable<S>, dispatch: (action: A) => S, Readonly<{
46
+ export declare const createReducer: <S, A>(reducer: Reducer<S, A>, initialState: S) => readonly [state: InitializedObservable<S>, dispatch: (action: A) => S, utils: Readonly<{
47
47
  getSnapshot: () => S;
48
48
  initialState: S;
49
49
  }>];
@@ -1 +1 @@
1
- {"version":3,"file":"create-reducer.d.mts","sourceRoot":"","sources":["../../src/utils/create-reducer.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAU,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,EAChC,SAAS,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,cAAc,CAAC,KACd,SAAS,CACV,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAC/B,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAC1B,QAAQ,CAAC;IACP,WAAW,EAAE,MAAM,CAAC,CAAC;IACrB,YAAY,EAAE,CAAC,CAAC;CACjB,CAAC,CAeH,CAAC"}
1
+ {"version":3,"file":"create-reducer.d.mts","sourceRoot":"","sources":["../../src/utils/create-reducer.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAU,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,WACvB,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,gBACR,CAAC,KACd,SAAS,CACV,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAC/B,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAC1B,KAAK,EAAE,QAAQ,CAAC;IACd,WAAW,EAAE,MAAM,CAAC,CAAC;IACrB,YAAY,EAAE,CAAC,CAAC;CACjB,CAAC,CAeH,CAAC"}
@@ -1,60 +1,16 @@
1
1
  import 'ts-data-forge';
2
2
  import '../core/utils/id-maker.mjs';
3
- import '../core/combine/combine.mjs';
4
3
  import { source } from '../core/create/source.mjs';
5
4
 
6
- /**
7
- * Creates a reducer-based state management container following the Redux pattern.
8
- * Actions are dispatched to update the state according to the reducer function.
9
- *
10
- * @template S - The type of the state
11
- * @template A - The type of actions
12
- * @param reducer - A pure function that takes current state and action, returns new state
13
- * @param initialState - The initial value of the state
14
- * @returns A 3-element tuple: `[state, dispatch, { getSnapshot, initialState }]`
15
- *
16
- * @example
17
- * ```ts
18
- * const [state, dispatch] = createReducer(
19
- * (s, action: Readonly<{ type: 'increment' } | { type: 'decrement' }>) => {
20
- * switch (action.type) {
21
- * case 'increment':
22
- * return s + 1;
23
- * case 'decrement':
24
- * return s - 1;
25
- * }
26
- * },
27
- * 0,
28
- * );
29
- *
30
- * const stateHistory: number[] = [];
31
- *
32
- * state.subscribe((value: number) => {
33
- * stateHistory.push(value);
34
- * });
35
- *
36
- * assert.deepStrictEqual(stateHistory, [0]);
37
- *
38
- * dispatch({ type: 'increment' }); // logs: 1
39
- *
40
- * assert.deepStrictEqual(stateHistory, [0, 1]);
41
- *
42
- * dispatch({ type: 'increment' });
43
- *
44
- * dispatch({ type: 'decrement' });
45
- *
46
- * assert.deepStrictEqual(stateHistory, [0, 1, 2, 1]);
47
- * ```
48
- */
49
5
  const createReducer = (reducer, initialState) => {
50
- const state = source(initialState);
51
- const dispatch = (action) => {
52
- const nextState = reducer(state.getSnapshot().value, action);
53
- state.next(nextState);
54
- return nextState;
55
- };
56
- const getSnapshot = () => state.getSnapshot().value;
57
- return [state, dispatch, { getSnapshot, initialState }];
6
+ const state = source(initialState);
7
+ const dispatch = (action) => {
8
+ const nextState = reducer(state.getSnapshot().value, action);
9
+ state.next(nextState);
10
+ return nextState;
11
+ };
12
+ const getSnapshot = () => state.getSnapshot().value;
13
+ return [state, dispatch, { getSnapshot, initialState }];
58
14
  };
59
15
 
60
16
  export { createReducer };
@@ -1 +1 @@
1
- {"version":3,"file":"create-reducer.mjs","sources":["../../src/utils/create-reducer.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CG;MACU,aAAa,GAAG,CAC3B,OAAsB,EACtB,YAAe,KAQb;AACF,IAAA,MAAM,KAAK,GAAG,MAAM,CAAI,YAAY,CAAC;AAErC,IAAA,MAAM,QAAQ,GAAG,CAAC,MAAS,KAAO;AAChC,QAAA,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;AAE5D,QAAA,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;AAErB,QAAA,OAAO,SAAS;AAClB,IAAA,CAAC;IAED,MAAM,WAAW,GAAG,MAAS,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK;IAEtD,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,CAAU;AAClE;;;;"}
1
+ {"version":3,"file":"create-reducer.mjs","sources":["../../src/utils/create-reducer.mts"],"sourcesContent":["import { type Reducer } from 'ts-type-forge';\nimport { source, type InitializedObservable } from '../core/index.mjs';\n\n/**\n * Creates a reducer-based state management container following the Redux pattern.\n * Actions are dispatched to update the state according to the reducer function.\n *\n * @template S - The type of the state\n * @template A - The type of actions\n * @param reducer - A pure function that takes current state and action, returns new state\n * @param initialState - The initial value of the state\n * @returns A 3-element tuple: `[state, dispatch, { getSnapshot, initialState }]`\n *\n * @example\n * ```ts\n * const [state, dispatch] = createReducer(\n * (s, action: Readonly<{ type: 'increment' } | { type: 'decrement' }>) => {\n * switch (action.type) {\n * case 'increment':\n * return s + 1;\n * case 'decrement':\n * return s - 1;\n * }\n * },\n * 0,\n * );\n *\n * const stateHistory: number[] = [];\n *\n * state.subscribe((value: number) => {\n * stateHistory.push(value);\n * });\n *\n * assert.deepStrictEqual(stateHistory, [0]);\n *\n * dispatch({ type: 'increment' }); // logs: 1\n *\n * assert.deepStrictEqual(stateHistory, [0, 1]);\n *\n * dispatch({ type: 'increment' });\n *\n * dispatch({ type: 'decrement' });\n *\n * assert.deepStrictEqual(stateHistory, [0, 1, 2, 1]);\n * ```\n */\nexport const createReducer = <S, A>(\n reducer: Reducer<S, A>,\n initialState: S,\n): readonly [\n state: InitializedObservable<S>,\n dispatch: (action: A) => S,\n utils: Readonly<{\n getSnapshot: () => S;\n initialState: S;\n }>,\n] => {\n const state = source<S>(initialState);\n\n const dispatch = (action: A): S => {\n const nextState = reducer(state.getSnapshot().value, action);\n\n state.next(nextState);\n\n return nextState;\n };\n\n const getSnapshot = (): S => state.getSnapshot().value;\n\n return [state, dispatch, { getSnapshot, initialState }] as const;\n};\n"],"names":[],"mappings":";;;;AA8CO,MAAM,aAAA,GAAgB,CAC3B,OAAA,EACA,YAAA,KAQG;AACH,EAAA,MAAM,KAAA,GAAQ,OAAU,YAAY,CAAA;AAEpC,EAAA,MAAM,QAAA,GAAW,CAAC,MAAA,KAAiB;AACjC,IAAA,MAAM,YAAY,OAAA,CAAQ,KAAA,CAAM,WAAA,EAAY,CAAE,OAAO,MAAM,CAAA;AAE3D,IAAA,KAAA,CAAM,KAAK,SAAS,CAAA;AAEpB,IAAA,OAAO,SAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,WAAA,GAAc,MAAS,KAAA,CAAM,WAAA,EAAY,CAAE,KAAA;AAEjD,EAAA,OAAO,CAAC,KAAA,EAAO,QAAA,EAAU,EAAE,WAAA,EAAa,cAAc,CAAA;AACxD;;;;"}