synstate 0.1.0 → 0.1.2

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 (235) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +272 -532
  3. package/assets/synstate-icon.png +0 -0
  4. package/dist/core/combine/combine.d.mts +33 -3
  5. package/dist/core/combine/combine.d.mts.map +1 -1
  6. package/dist/core/combine/combine.mjs +34 -4
  7. package/dist/core/combine/combine.mjs.map +1 -1
  8. package/dist/core/combine/merge.d.mts +30 -4
  9. package/dist/core/combine/merge.d.mts.map +1 -1
  10. package/dist/core/combine/merge.mjs +30 -4
  11. package/dist/core/combine/merge.mjs.map +1 -1
  12. package/dist/core/combine/zip.d.mts +28 -3
  13. package/dist/core/combine/zip.d.mts.map +1 -1
  14. package/dist/core/combine/zip.mjs +28 -3
  15. package/dist/core/combine/zip.mjs.map +1 -1
  16. package/dist/core/create/from-array.d.mts +21 -3
  17. package/dist/core/create/from-array.d.mts.map +1 -1
  18. package/dist/core/create/from-array.mjs +21 -3
  19. package/dist/core/create/from-array.mjs.map +1 -1
  20. package/dist/core/create/from-promise.d.mts +29 -7
  21. package/dist/core/create/from-promise.d.mts.map +1 -1
  22. package/dist/core/create/from-promise.mjs +29 -7
  23. package/dist/core/create/from-promise.mjs.map +1 -1
  24. package/dist/core/create/from-subscribable.d.mts +58 -0
  25. package/dist/core/create/from-subscribable.d.mts.map +1 -1
  26. package/dist/core/create/from-subscribable.mjs +58 -0
  27. package/dist/core/create/from-subscribable.mjs.map +1 -1
  28. package/dist/core/create/interval.d.mts +29 -4
  29. package/dist/core/create/interval.d.mts.map +1 -1
  30. package/dist/core/create/interval.mjs +29 -4
  31. package/dist/core/create/interval.mjs.map +1 -1
  32. package/dist/core/create/of.d.mts +22 -3
  33. package/dist/core/create/of.d.mts.map +1 -1
  34. package/dist/core/create/of.mjs +22 -3
  35. package/dist/core/create/of.mjs.map +1 -1
  36. package/dist/core/create/source.d.mts +21 -2
  37. package/dist/core/create/source.d.mts.map +1 -1
  38. package/dist/core/create/source.mjs +2 -2
  39. package/dist/core/create/source.mjs.map +1 -1
  40. package/dist/core/create/timer.d.mts +23 -4
  41. package/dist/core/create/timer.d.mts.map +1 -1
  42. package/dist/core/create/timer.mjs +23 -4
  43. package/dist/core/create/timer.mjs.map +1 -1
  44. package/dist/core/index.d.mts +1 -0
  45. package/dist/core/index.d.mts.map +1 -1
  46. package/dist/core/index.mjs +15 -3
  47. package/dist/core/index.mjs.map +1 -1
  48. package/dist/core/operators/audit-time.d.mts +59 -0
  49. package/dist/core/operators/audit-time.d.mts.map +1 -1
  50. package/dist/core/operators/audit-time.mjs +59 -0
  51. package/dist/core/operators/audit-time.mjs.map +1 -1
  52. package/dist/core/operators/debounce-time.d.mts +22 -2
  53. package/dist/core/operators/debounce-time.d.mts.map +1 -1
  54. package/dist/core/operators/debounce-time.mjs +22 -2
  55. package/dist/core/operators/debounce-time.mjs.map +1 -1
  56. package/dist/core/operators/filter.d.mts +26 -1
  57. package/dist/core/operators/filter.d.mts.map +1 -1
  58. package/dist/core/operators/filter.mjs.map +1 -1
  59. package/dist/core/operators/index.mjs +3 -3
  60. package/dist/core/operators/map-with-index.d.mts +19 -17
  61. package/dist/core/operators/map-with-index.d.mts.map +1 -1
  62. package/dist/core/operators/map-with-index.mjs +21 -23
  63. package/dist/core/operators/map-with-index.mjs.map +1 -1
  64. package/dist/core/operators/merge-map.d.mts +48 -6
  65. package/dist/core/operators/merge-map.d.mts.map +1 -1
  66. package/dist/core/operators/merge-map.mjs +48 -6
  67. package/dist/core/operators/merge-map.mjs.map +1 -1
  68. package/dist/core/operators/pairwise.d.mts +30 -1
  69. package/dist/core/operators/pairwise.d.mts.map +1 -1
  70. package/dist/core/operators/pairwise.mjs +30 -1
  71. package/dist/core/operators/pairwise.mjs.map +1 -1
  72. package/dist/core/operators/scan.d.mts +23 -1
  73. package/dist/core/operators/scan.d.mts.map +1 -1
  74. package/dist/core/operators/scan.mjs +23 -1
  75. package/dist/core/operators/scan.mjs.map +1 -1
  76. package/dist/core/operators/skip-if-no-change.d.mts +26 -2
  77. package/dist/core/operators/skip-if-no-change.d.mts.map +1 -1
  78. package/dist/core/operators/skip-if-no-change.mjs +27 -3
  79. package/dist/core/operators/skip-if-no-change.mjs.map +1 -1
  80. package/dist/core/operators/skip-until.d.mts +50 -0
  81. package/dist/core/operators/skip-until.d.mts.map +1 -1
  82. package/dist/core/operators/skip-until.mjs +50 -0
  83. package/dist/core/operators/skip-until.mjs.map +1 -1
  84. package/dist/core/operators/skip-while.d.mts +48 -1
  85. package/dist/core/operators/skip-while.d.mts.map +1 -1
  86. package/dist/core/operators/skip-while.mjs +50 -5
  87. package/dist/core/operators/skip-while.mjs.map +1 -1
  88. package/dist/core/operators/switch-map.d.mts +39 -5
  89. package/dist/core/operators/switch-map.d.mts.map +1 -1
  90. package/dist/core/operators/switch-map.mjs +39 -5
  91. package/dist/core/operators/switch-map.mjs.map +1 -1
  92. package/dist/core/operators/take-until.d.mts +20 -1
  93. package/dist/core/operators/take-until.d.mts.map +1 -1
  94. package/dist/core/operators/take-until.mjs +20 -1
  95. package/dist/core/operators/take-until.mjs.map +1 -1
  96. package/dist/core/operators/take-while.d.mts +47 -1
  97. package/dist/core/operators/take-while.d.mts.map +1 -1
  98. package/dist/core/operators/take-while.mjs +48 -3
  99. package/dist/core/operators/take-while.mjs.map +1 -1
  100. package/dist/core/operators/throttle-time.d.mts +44 -5
  101. package/dist/core/operators/throttle-time.d.mts.map +1 -1
  102. package/dist/core/operators/throttle-time.mjs +44 -5
  103. package/dist/core/operators/throttle-time.mjs.map +1 -1
  104. package/dist/core/operators/with-buffered-from.d.mts +57 -0
  105. package/dist/core/operators/with-buffered-from.d.mts.map +1 -1
  106. package/dist/core/operators/with-buffered-from.mjs +58 -1
  107. package/dist/core/operators/with-buffered-from.mjs.map +1 -1
  108. package/dist/core/operators/with-current-value-from.d.mts +59 -0
  109. package/dist/core/operators/with-current-value-from.d.mts.map +1 -1
  110. package/dist/core/operators/with-current-value-from.mjs +60 -1
  111. package/dist/core/operators/with-current-value-from.mjs.map +1 -1
  112. package/dist/core/operators/with-initial-value.d.mts +24 -2
  113. package/dist/core/operators/with-initial-value.d.mts.map +1 -1
  114. package/dist/core/operators/with-initial-value.mjs +24 -2
  115. package/dist/core/operators/with-initial-value.mjs.map +1 -1
  116. package/dist/core/predefined/index.d.mts +2 -0
  117. package/dist/core/predefined/index.d.mts.map +1 -0
  118. package/dist/core/predefined/index.mjs +13 -0
  119. package/dist/core/predefined/index.mjs.map +1 -0
  120. package/dist/core/predefined/operators/attach-index.d.mts +8 -0
  121. package/dist/core/predefined/operators/attach-index.d.mts.map +1 -0
  122. package/dist/core/predefined/operators/attach-index.mjs +13 -0
  123. package/dist/core/predefined/operators/attach-index.mjs.map +1 -0
  124. package/dist/core/predefined/operators/index.d.mts +13 -0
  125. package/dist/core/predefined/operators/index.d.mts.map +1 -0
  126. package/dist/core/predefined/operators/index.mjs +13 -0
  127. package/dist/core/predefined/operators/index.mjs.map +1 -0
  128. package/dist/core/predefined/operators/map-optional.d.mts +4 -0
  129. package/dist/core/predefined/operators/map-optional.d.mts.map +1 -0
  130. package/dist/core/predefined/operators/map-optional.mjs +7 -0
  131. package/dist/core/predefined/operators/map-optional.mjs.map +1 -0
  132. package/dist/core/predefined/operators/map-result-err.d.mts +4 -0
  133. package/dist/core/predefined/operators/map-result-err.d.mts.map +1 -0
  134. package/dist/core/predefined/operators/map-result-err.mjs +7 -0
  135. package/dist/core/predefined/operators/map-result-err.mjs.map +1 -0
  136. package/dist/core/predefined/operators/map-result-ok.d.mts +4 -0
  137. package/dist/core/predefined/operators/map-result-ok.d.mts.map +1 -0
  138. package/dist/core/predefined/operators/map-result-ok.mjs +7 -0
  139. package/dist/core/predefined/operators/map-result-ok.mjs.map +1 -0
  140. package/dist/core/predefined/operators/map-to.d.mts +3 -0
  141. package/dist/core/predefined/operators/map-to.d.mts.map +1 -0
  142. package/dist/core/predefined/operators/map-to.mjs +6 -0
  143. package/dist/core/predefined/operators/map-to.mjs.map +1 -0
  144. package/dist/core/predefined/operators/map.d.mts +3 -0
  145. package/dist/core/predefined/operators/map.d.mts.map +1 -0
  146. package/dist/core/predefined/operators/map.mjs +8 -0
  147. package/dist/core/predefined/operators/map.mjs.map +1 -0
  148. package/dist/core/predefined/operators/pluck.d.mts +8 -0
  149. package/dist/core/predefined/operators/pluck.d.mts.map +1 -0
  150. package/dist/core/predefined/operators/pluck.mjs +11 -0
  151. package/dist/core/predefined/operators/pluck.mjs.map +1 -0
  152. package/dist/core/predefined/operators/skip.d.mts +3 -0
  153. package/dist/core/predefined/operators/skip.d.mts.map +1 -0
  154. package/dist/core/predefined/operators/skip.mjs +9 -0
  155. package/dist/core/predefined/operators/skip.mjs.map +1 -0
  156. package/dist/core/predefined/operators/take.d.mts +3 -0
  157. package/dist/core/predefined/operators/take.d.mts.map +1 -0
  158. package/dist/core/predefined/operators/take.mjs +8 -0
  159. package/dist/core/predefined/operators/take.mjs.map +1 -0
  160. package/dist/core/predefined/operators/unwrap-optional.d.mts +4 -0
  161. package/dist/core/predefined/operators/unwrap-optional.d.mts.map +1 -0
  162. package/dist/core/predefined/operators/unwrap-optional.mjs +9 -0
  163. package/dist/core/predefined/operators/unwrap-optional.mjs.map +1 -0
  164. package/dist/core/predefined/operators/unwrap-result-err.d.mts +4 -0
  165. package/dist/core/predefined/operators/unwrap-result-err.d.mts.map +1 -0
  166. package/dist/core/predefined/operators/unwrap-result-err.mjs +7 -0
  167. package/dist/core/predefined/operators/unwrap-result-err.mjs.map +1 -0
  168. package/dist/core/predefined/operators/unwrap-result-ok.d.mts +4 -0
  169. package/dist/core/predefined/operators/unwrap-result-ok.d.mts.map +1 -0
  170. package/dist/core/predefined/operators/unwrap-result-ok.mjs +9 -0
  171. package/dist/core/predefined/operators/unwrap-result-ok.mjs.map +1 -0
  172. package/dist/core/types/observable-family.d.mts +7 -7
  173. package/dist/entry-point.mjs +15 -3
  174. package/dist/entry-point.mjs.map +1 -1
  175. package/dist/index.mjs +15 -3
  176. package/dist/index.mjs.map +1 -1
  177. package/dist/utils/create-event-emitter.d.mts +20 -2
  178. package/dist/utils/create-event-emitter.d.mts.map +1 -1
  179. package/dist/utils/create-event-emitter.mjs +20 -2
  180. package/dist/utils/create-event-emitter.mjs.map +1 -1
  181. package/dist/utils/create-reducer.d.mts +13 -1
  182. package/dist/utils/create-reducer.d.mts.map +1 -1
  183. package/dist/utils/create-reducer.mjs +13 -1
  184. package/dist/utils/create-reducer.mjs.map +1 -1
  185. package/dist/utils/create-state.d.mts +24 -4
  186. package/dist/utils/create-state.d.mts.map +1 -1
  187. package/dist/utils/create-state.mjs +24 -4
  188. package/dist/utils/create-state.mjs.map +1 -1
  189. package/package.json +13 -12
  190. package/src/core/combine/combine.mts +34 -4
  191. package/src/core/combine/merge.mts +30 -4
  192. package/src/core/combine/zip.mts +28 -3
  193. package/src/core/create/from-array.mts +21 -3
  194. package/src/core/create/from-promise.mts +29 -7
  195. package/src/core/create/from-subscribable.mts +58 -0
  196. package/src/core/create/interval.mts +29 -4
  197. package/src/core/create/of.mts +22 -3
  198. package/src/core/create/source.mts +22 -3
  199. package/src/core/create/timer.mts +23 -4
  200. package/src/core/index.mts +1 -0
  201. package/src/core/operators/audit-time.mts +59 -0
  202. package/src/core/operators/debounce-time.mts +22 -2
  203. package/src/core/operators/filter.mts +26 -1
  204. package/src/core/operators/map-with-index.mts +22 -66
  205. package/src/core/operators/merge-map.mts +48 -6
  206. package/src/core/operators/pairwise.mts +30 -1
  207. package/src/core/operators/scan.mts +23 -1
  208. package/src/core/operators/skip-if-no-change.mts +27 -3
  209. package/src/core/operators/skip-until.mts +50 -0
  210. package/src/core/operators/skip-while.mts +49 -16
  211. package/src/core/operators/switch-map.mts +39 -5
  212. package/src/core/operators/take-until.mts +20 -1
  213. package/src/core/operators/take-while.mts +49 -8
  214. package/src/core/operators/throttle-time.mts +44 -5
  215. package/src/core/operators/with-buffered-from.mts +58 -1
  216. package/src/core/operators/with-current-value-from.mts +60 -1
  217. package/src/core/operators/with-initial-value.mts +24 -2
  218. package/src/core/predefined/index.mts +1 -0
  219. package/src/core/predefined/operators/attach-index.mts +13 -0
  220. package/src/core/predefined/operators/index.mts +12 -0
  221. package/src/core/predefined/operators/map-optional.mts +8 -0
  222. package/src/core/predefined/operators/map-result-err.mts +8 -0
  223. package/src/core/predefined/operators/map-result-ok.mts +8 -0
  224. package/src/core/predefined/operators/map-to.mts +5 -0
  225. package/src/core/predefined/operators/map.mts +5 -0
  226. package/src/core/predefined/operators/pluck.mts +12 -0
  227. package/src/core/predefined/operators/skip.mts +10 -0
  228. package/src/core/predefined/operators/take.mts +6 -0
  229. package/src/core/predefined/operators/unwrap-optional.mts +9 -0
  230. package/src/core/predefined/operators/unwrap-result-err.mts +8 -0
  231. package/src/core/predefined/operators/unwrap-result-ok.mts +9 -0
  232. package/src/core/types/observable-family.mts +7 -7
  233. package/src/utils/create-event-emitter.mts +20 -2
  234. package/src/utils/create-reducer.mts +13 -1
  235. package/src/utils/create-state.mts +24 -4
@@ -34,15 +34,25 @@ const reducer = <S,>(state: S, action: Action<S>): S => {
34
34
  * ```ts
35
35
  * const [state, setState, { updateState, resetState }] = createState(0);
36
36
  *
37
+ * const mut_history: number[] = [];
38
+ *
37
39
  * state.subscribe((value: number) => {
38
- * console.log(value);
39
- * }); // logs: 0
40
+ * mut_history.push(value);
41
+ * });
42
+ *
43
+ * assert.deepStrictEqual(mut_history, [0]);
40
44
  *
41
45
  * setState(10); // logs: 10
42
46
  *
47
+ * assert.deepStrictEqual(mut_history, [0, 10]);
48
+ *
43
49
  * updateState((prev: number) => prev + 1); // logs: 11
44
50
  *
51
+ * assert.deepStrictEqual(mut_history, [0, 10, 11]);
52
+ *
45
53
  * resetState(); // logs: 0
54
+ *
55
+ * assert.deepStrictEqual(mut_history, [0, 10, 11, 0]);
46
56
  * ```
47
57
  */
48
58
  export const createState = <S,>(
@@ -91,15 +101,25 @@ export const createState = <S,>(
91
101
  * ```ts
92
102
  * const [state, { setTrue, toggle }] = createBooleanState(false);
93
103
  *
104
+ * const mut_history: boolean[] = [];
105
+ *
94
106
  * state.subscribe((value: boolean) => {
95
- * console.log(value);
96
- * }); // logs: false
107
+ * mut_history.push(value);
108
+ * });
109
+ *
110
+ * assert.deepStrictEqual(mut_history, [false]);
97
111
  *
98
112
  * setTrue(); // logs: true
99
113
  *
114
+ * assert.deepStrictEqual(mut_history, [false, true]);
115
+ *
100
116
  * toggle(); // logs: false
101
117
  *
118
+ * assert.deepStrictEqual(mut_history, [false, true, false]);
119
+ *
102
120
  * toggle(); // logs: true
121
+ *
122
+ * assert.deepStrictEqual(mut_history, [false, true, false, true]);
103
123
  * ```
104
124
  */
105
125
  export const createBooleanState = (