synstate 3.1.0 → 3.2.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 (92) hide show
  1. package/README.md +59 -1
  2. package/dist/core/base/create-child-observable.d.mts.map +1 -1
  3. package/dist/core/base/create-child-observable.mjs +0 -1
  4. package/dist/core/base/create-child-observable.mjs.map +1 -1
  5. package/dist/core/base/create-observable-base.d.mts.map +1 -1
  6. package/dist/core/base/create-observable-base.mjs +0 -1
  7. package/dist/core/base/create-observable-base.mjs.map +1 -1
  8. package/dist/core/combine/combine.d.mts.map +1 -1
  9. package/dist/core/combine/combine.mjs +0 -1
  10. package/dist/core/combine/combine.mjs.map +1 -1
  11. package/dist/core/combine/merge.d.mts.map +1 -1
  12. package/dist/core/combine/merge.mjs +0 -2
  13. package/dist/core/combine/merge.mjs.map +1 -1
  14. package/dist/core/combine/zip.d.mts.map +1 -1
  15. package/dist/core/combine/zip.mjs +0 -2
  16. package/dist/core/combine/zip.mjs.map +1 -1
  17. package/dist/core/create/counter.d.mts +10 -2
  18. package/dist/core/create/counter.d.mts.map +1 -1
  19. package/dist/core/create/counter.mjs +17 -7
  20. package/dist/core/create/counter.mjs.map +1 -1
  21. package/dist/core/create/from-abortable-promise.d.mts.map +1 -1
  22. package/dist/core/create/from-abortable-promise.mjs +0 -2
  23. package/dist/core/create/from-abortable-promise.mjs.map +1 -1
  24. package/dist/core/create/from-promise.d.mts.map +1 -1
  25. package/dist/core/create/from-promise.mjs +0 -1
  26. package/dist/core/create/from-promise.mjs.map +1 -1
  27. package/dist/core/create/from-subscribable.d.mts.map +1 -1
  28. package/dist/core/create/from-subscribable.mjs +0 -1
  29. package/dist/core/create/from-subscribable.mjs.map +1 -1
  30. package/dist/core/create/just.d.mts.map +1 -1
  31. package/dist/core/create/just.mjs +0 -1
  32. package/dist/core/create/just.mjs.map +1 -1
  33. package/dist/core/operators/audit.d.mts.map +1 -1
  34. package/dist/core/operators/audit.mjs +0 -1
  35. package/dist/core/operators/audit.mjs.map +1 -1
  36. package/dist/core/operators/debounce.d.mts.map +1 -1
  37. package/dist/core/operators/debounce.mjs +0 -1
  38. package/dist/core/operators/debounce.mjs.map +1 -1
  39. package/dist/core/operators/filter.d.mts.map +1 -1
  40. package/dist/core/operators/filter.mjs +19 -0
  41. package/dist/core/operators/filter.mjs.map +1 -1
  42. package/dist/core/operators/map.d.mts.map +1 -1
  43. package/dist/core/operators/map.mjs +0 -1
  44. package/dist/core/operators/map.mjs.map +1 -1
  45. package/dist/core/operators/skip-if-no-change.d.mts.map +1 -1
  46. package/dist/core/operators/skip-if-no-change.mjs +0 -1
  47. package/dist/core/operators/skip-if-no-change.mjs.map +1 -1
  48. package/dist/core/operators/take-until.d.mts.map +1 -1
  49. package/dist/core/operators/take-until.mjs +0 -1
  50. package/dist/core/operators/take-until.mjs.map +1 -1
  51. package/dist/core/operators/throttle.d.mts.map +1 -1
  52. package/dist/core/operators/throttle.mjs +0 -1
  53. package/dist/core/operators/throttle.mjs.map +1 -1
  54. package/dist/core/operators/with-buffered-from.d.mts.map +1 -1
  55. package/dist/core/operators/with-buffered-from.mjs +0 -1
  56. package/dist/core/operators/with-buffered-from.mjs.map +1 -1
  57. package/dist/core/predefined/operators/unwrap-optional.d.mts.map +1 -1
  58. package/dist/core/predefined/operators/unwrap-optional.mjs +0 -1
  59. package/dist/core/predefined/operators/unwrap-optional.mjs.map +1 -1
  60. package/dist/core/predefined/operators/unwrap-result-ok.d.mts.map +1 -1
  61. package/dist/core/predefined/operators/unwrap-result-ok.mjs +0 -1
  62. package/dist/core/predefined/operators/unwrap-result-ok.mjs.map +1 -1
  63. package/dist/core/utils/id-maker.d.mts.map +1 -1
  64. package/dist/core/utils/id-maker.mjs +0 -1
  65. package/dist/core/utils/id-maker.mjs.map +1 -1
  66. package/dist/core/utils/utils.d.mts.map +1 -1
  67. package/dist/core/utils/utils.mjs +0 -1
  68. package/dist/core/utils/utils.mjs.map +1 -1
  69. package/package.json +11 -11
  70. package/src/core/base/create-child-observable.mts +0 -1
  71. package/src/core/base/create-observable-base.mts +3 -1
  72. package/src/core/combine/combine.mts +0 -1
  73. package/src/core/combine/merge.mts +0 -2
  74. package/src/core/combine/zip.mts +0 -2
  75. package/src/core/create/counter.mts +20 -10
  76. package/src/core/create/counter.test.mts +183 -0
  77. package/src/core/create/from-abortable-promise.mts +0 -2
  78. package/src/core/create/from-promise.mts +0 -1
  79. package/src/core/create/from-subscribable.mts +0 -1
  80. package/src/core/create/just.mts +0 -1
  81. package/src/core/operators/audit.mts +0 -1
  82. package/src/core/operators/debounce.mts +0 -1
  83. package/src/core/operators/filter.mts +41 -0
  84. package/src/core/operators/map.mts +0 -1
  85. package/src/core/operators/skip-if-no-change.mts +0 -1
  86. package/src/core/operators/take-until.mts +0 -1
  87. package/src/core/operators/throttle.mts +0 -1
  88. package/src/core/operators/with-buffered-from.mts +0 -1
  89. package/src/core/predefined/operators/unwrap-optional.mts +0 -1
  90. package/src/core/predefined/operators/unwrap-result-ok.mts +0 -1
  91. package/src/core/utils/id-maker.mts +0 -1
  92. package/src/core/utils/utils.mts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"skip-if-no-change.d.mts","sourceRoot":"","sources":["../../../src/core/operators/skip-if-no-change.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EAGzB,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,OAC1B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,KAC1B,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAOQ,CAAC;AAEzC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,uBAAiB,CAAC"}
1
+ {"version":3,"file":"skip-if-no-change.d.mts","sourceRoot":"","sources":["../../../src/core/operators/skip-if-no-change.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EAGzB,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,OAC1B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,KAC1B,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAMQ,CAAC;AAEzC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,uBAAiB,CAAC"}
@@ -63,7 +63,6 @@ import { createSyncChildObservable } from '../base/index.mjs';
63
63
 
64
64
  export const skipIfNoChange = (eq = (x, y) => Object.is(x, y)) =>
65
65
 
66
-
67
66
  ((parentObservable) => createSkipIfNoChangeObservable(parentObservable, eq));
68
67
 
69
68
 
@@ -1 +1 @@
1
- {"version":3,"file":"skip-if-no-change.mjs","sourceRoot":"","sources":["../../../src/core/operators/skip-if-no-change.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAO9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,EAAE,GAA4B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EACvB,EAAE;AAClC,4DAA4D;AAC5D,oEAAoE;AACpE,CAAC,CAAC,gBAAgB,EAAE,EAAE,CACpB,8BAA8B,CAC5B,gBAAgB,EAChB,EAAE,CACH,CAAmC,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAEnD,MAAM,8BAA8B,GAAG,CACrC,gBAA+B,EAC/B,EAA2B,EACU,EAAE,CACvC,yBAAyB,CACvB;IACE,OAAO,EAAE,CAAC,gBAAgB,CAAC;IAC3B,YAAY,EAAE,gBAAgB,CAAC,WAAW,EAAE;CAC7C,EACD,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IACd,sCAAsC;IACtC,+CAA+C;IAC/C,IAAI,iBAAiB,GAAgB,gBAAgB,CAAC,WAAW,EAAE,CAAC;IAEpE,OAAO,CAAC,WAAW,EAAE,EAAE;QACrB,MAAM,EAAE,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAE1C,IACE,gBAAgB,CAAC,WAAW,KAAK,WAAW;YAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EACnB,CAAC;YACD,OAAO,CAAC,cAAc;QACxB,CAAC;QAED,MAAM,IAAI,GAAG,iBAAiB,CAAC;QAE/B,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAEhE,wHAAwH;QACxH,iBAAiB,GAAG,EAAE,CAAC;QAEvB,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"skip-if-no-change.mjs","sourceRoot":"","sources":["../../../src/core/operators/skip-if-no-change.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAO9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,EAAE,GAA4B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EACvB,EAAE;AAClC,4DAA4D;AAC5D,CAAC,CAAC,gBAAgB,EAAE,EAAE,CACpB,8BAA8B,CAC5B,gBAAgB,EAChB,EAAE,CACH,CAAmC,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAEnD,MAAM,8BAA8B,GAAG,CACrC,gBAA+B,EAC/B,EAA2B,EACU,EAAE,CACvC,yBAAyB,CACvB;IACE,OAAO,EAAE,CAAC,gBAAgB,CAAC;IAC3B,YAAY,EAAE,gBAAgB,CAAC,WAAW,EAAE;CAC7C,EACD,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IACd,sCAAsC;IACtC,+CAA+C;IAC/C,IAAI,iBAAiB,GAAgB,gBAAgB,CAAC,WAAW,EAAE,CAAC;IAEpE,OAAO,CAAC,WAAW,EAAE,EAAE;QACrB,MAAM,EAAE,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAE1C,IACE,gBAAgB,CAAC,WAAW,KAAK,WAAW;YAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EACnB,CAAC;YACD,OAAO,CAAC,cAAc;QACxB,CAAC;QAED,MAAM,IAAI,GAAG,iBAAiB,CAAC;QAE/B,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAEhE,wHAAwH;QACxH,iBAAiB,GAAG,EAAE,CAAC;QAEvB,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"take-until.d.mts","sourceRoot":"","sources":["../../../src/core/operators/take-until.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EACxB,UAAU,EAEX,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,YACf,UAAU,CAAC,OAAO,CAAC,KAC5B,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAOQ,CAAC"}
1
+ {"version":3,"file":"take-until.d.mts","sourceRoot":"","sources":["../../../src/core/operators/take-until.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EACxB,UAAU,EAEX,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,YACf,UAAU,CAAC,OAAO,CAAC,KAC5B,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAMQ,CAAC"}
@@ -50,7 +50,6 @@ import { createSyncChildObservable } from '../base/index.mjs';
50
50
 
51
51
  export const takeUntil = (notifier) =>
52
52
 
53
-
54
53
  ((parentObservable) => createTakeUntilObservable(parentObservable, notifier));
55
54
  const createTakeUntilObservable = (parentObservable, notifier) => {
56
55
  const observable = createSyncChildObservable({
@@ -1 +1 @@
1
- {"version":3,"file":"take-until.mjs","sourceRoot":"","sources":["../../../src/core/operators/take-until.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAO9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,QAA6B,EACG,EAAE;AAClC,4DAA4D;AAC5D,oEAAoE;AACpE,CAAC,CAAC,gBAAgB,EAAE,EAAE,CACpB,yBAAyB,CACvB,gBAAgB,EAChB,QAAQ,CACT,CAAmC,CAAC;AAEzC,MAAM,yBAAyB,GAAG,CAChC,gBAA+B,EAC/B,QAA6B,EACG,EAAE;IAClC,MAAM,UAAU,GAAG,yBAAyB,CAC1C;QACE,OAAO,EAAE,CAAC,gBAAgB,CAAC;QAC3B,YAAY,EAAE,gBAAgB,CAAC,WAAW,EAAE;KAC7C,EACD,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACd,CAAC,WAAW,EAAE,EAAE;QACd,MAAM,EAAE,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAE1C,IACE,gBAAgB,CAAC,WAAW,KAAK,WAAW;YAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EACnB,CAAC;YACD,OAAO,CAAC,cAAc;QACxB,CAAC;QAED,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACjC,CAAC,CACJ,CAAC;IAEF,QAAQ,CAAC,SAAS,CAChB,GAAG,EAAE;QACH,UAAU,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC,EACD,GAAG,EAAE;QACH,UAAU,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC,CACF,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC"}
1
+ {"version":3,"file":"take-until.mjs","sourceRoot":"","sources":["../../../src/core/operators/take-until.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAO9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,QAA6B,EACG,EAAE;AAClC,4DAA4D;AAC5D,CAAC,CAAC,gBAAgB,EAAE,EAAE,CACpB,yBAAyB,CACvB,gBAAgB,EAChB,QAAQ,CACT,CAAmC,CAAC;AAEzC,MAAM,yBAAyB,GAAG,CAChC,gBAA+B,EAC/B,QAA6B,EACG,EAAE;IAClC,MAAM,UAAU,GAAG,yBAAyB,CAC1C;QACE,OAAO,EAAE,CAAC,gBAAgB,CAAC;QAC3B,YAAY,EAAE,gBAAgB,CAAC,WAAW,EAAE;KAC7C,EACD,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACd,CAAC,WAAW,EAAE,EAAE;QACd,MAAM,EAAE,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAE1C,IACE,gBAAgB,CAAC,WAAW,KAAK,WAAW;YAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EACnB,CAAC;YACD,OAAO,CAAC,cAAc;QACxB,CAAC;QAED,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACjC,CAAC,CACJ,CAAC;IAEF,QAAQ,CAAC,SAAS,CAChB,GAAG,EAAE;QACH,UAAU,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC,EACD,GAAG,EAAE;QACH,UAAU,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC,CACF,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"throttle.d.mts","sourceRoot":"","sources":["../../../src/core/operators/throttle.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EAIzB,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,gBACV,MAAM,KACnB,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAOQ,CAAC"}
1
+ {"version":3,"file":"throttle.d.mts","sourceRoot":"","sources":["../../../src/core/operators/throttle.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EAIzB,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,gBACV,MAAM,KACnB,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAMQ,CAAC"}
@@ -80,7 +80,6 @@ import { createSyncChildObservable } from '../base/index.mjs';
80
80
 
81
81
  export const throttle = (milliSeconds) =>
82
82
 
83
-
84
83
  ((parentObservable) => createThrottleObservable(parentObservable, milliSeconds));
85
84
  const createThrottleObservable = (parentObservable, milliSeconds) => {
86
85
  let mut_timerId = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"throttle.mjs","sourceRoot":"","sources":["../../../src/core/operators/throttle.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAQ9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,YAAoB,EACY,EAAE;AAClC,4DAA4D;AAC5D,oEAAoE;AACpE,CAAC,CAAC,gBAAgB,EAAE,EAAE,CACpB,wBAAwB,CACtB,gBAAgB,EAChB,YAAY,CACb,CAAmC,CAAC;AAEzC,MAAM,wBAAwB,GAAG,CAC/B,gBAA+B,EAC/B,YAAoB,EACW,EAAE;IACjC,IAAI,WAAW,GAAwB,SAAS,CAAC;IAEjD,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,MAAM,UAAU,GAAG,GAAS,EAAE;QAC5B,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,YAAY,CAAC,WAAW,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,yBAAyB,CAC9B;QACE,OAAO,EAAE,CAAC,gBAAgB,CAAC;QAC3B,YAAY,EAAE,gBAAgB,CAAC,WAAW,EAAE;QAC5C,UAAU,EAAE,UAAU;KACvB,EACD,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACd,CAAC,WAAW,EAAE,EAAE;QACd,MAAM,EAAE,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAE1C,IACE,cAAc;YACd,gBAAgB,CAAC,WAAW,KAAK,WAAW;YAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EACnB,CAAC;YACD,OAAO,CAAC,cAAc;QACxB,CAAC;QAED,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAE/B,cAAc,GAAG,IAAI,CAAC;QAEtB,YAAY;QACZ,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,cAAc,GAAG,KAAK,CAAC;QACzB,CAAC,EAAE,YAAY,CAAC,CAAC;IACnB,CAAC,CACJ,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"throttle.mjs","sourceRoot":"","sources":["../../../src/core/operators/throttle.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAQ9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,YAAoB,EACY,EAAE;AAClC,4DAA4D;AAC5D,CAAC,CAAC,gBAAgB,EAAE,EAAE,CACpB,wBAAwB,CACtB,gBAAgB,EAChB,YAAY,CACb,CAAmC,CAAC;AAEzC,MAAM,wBAAwB,GAAG,CAC/B,gBAA+B,EAC/B,YAAoB,EACW,EAAE;IACjC,IAAI,WAAW,GAAwB,SAAS,CAAC;IAEjD,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,MAAM,UAAU,GAAG,GAAS,EAAE;QAC5B,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,YAAY,CAAC,WAAW,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,yBAAyB,CAC9B;QACE,OAAO,EAAE,CAAC,gBAAgB,CAAC;QAC3B,YAAY,EAAE,gBAAgB,CAAC,WAAW,EAAE;QAC5C,UAAU,EAAE,UAAU;KACvB,EACD,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACd,CAAC,WAAW,EAAE,EAAE;QACd,MAAM,EAAE,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAE1C,IACE,cAAc;YACd,gBAAgB,CAAC,WAAW,KAAK,WAAW;YAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EACnB,CAAC;YACD,OAAO,CAAC,cAAc;QACxB,CAAC;QAED,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAE/B,cAAc,GAAG,IAAI,CAAC;QAEtB,YAAY;QACZ,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,cAAc,GAAG,KAAK,CAAC;QACzB,CAAC,EAAE,YAAY,CAAC,CAAC;IACnB,CAAC,CACJ,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"with-buffered-from.d.mts","sourceRoot":"","sources":["../../../src/core/operators/with-buffered-from.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EACxB,UAAU,EAEX,MAAM,oBAAoB,CAAC;AAG5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,CAAC,cACvB,UAAU,CAAC,CAAC,CAAC,KACxB,wBAAwB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAOQ,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,YAAY,yBAAmB,CAAC"}
1
+ {"version":3,"file":"with-buffered-from.d.mts","sourceRoot":"","sources":["../../../src/core/operators/with-buffered-from.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EACxB,UAAU,EAEX,MAAM,oBAAoB,CAAC;AAG5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,CAAC,cACvB,UAAU,CAAC,CAAC,CAAC,KACxB,wBAAwB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAMQ,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,YAAY,yBAAmB,CAAC"}
@@ -56,7 +56,6 @@ import { maxDepth } from '../utils/index.mjs';
56
56
 
57
57
  export const withBufferedFrom = (observable) =>
58
58
 
59
-
60
59
  ((parentObservable) => createWithBufferedFromObservable(parentObservable, observable));
61
60
 
62
61
 
@@ -1 +1 @@
1
- {"version":3,"file":"with-buffered-from.mjs","sourceRoot":"","sources":["../../../src/core/operators/with-buffered-from.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAM9D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,UAAyB,EACgC,EAAE;AAC3D,4DAA4D;AAC5D,oEAAoE;AACpE,CAAC,CAAC,gBAAgB,EAAE,EAAE,CACpB,gCAAgC,CAC9B,gBAAgB,EAChB,UAAU,CACX,CAA4D,CAAC;AAElE;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAE7C,MAAM,gCAAgC,GAAG,CACvC,gBAA+B,EAC/B,UAAyB,EACiB,EAAE;IAC5C,IAAI,kBAAkB,GAAiB,EAAE,CAAC;IAE1C,MAAM,WAAW,GAAG,GAAS,EAAE;QAC7B,kBAAkB,GAAG,EAAE,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,yBAAyB,CAItC;QACE,OAAO,EAAE,CAAC,gBAAgB,CAAC;QAC3B,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QACnD,YAAY,EAAE,IAAI,CAAC;YACjB,GAAG,EAAE,gBAAgB,CAAC,WAAW,EAAE;YACnC,EAAE,EAAE,UAAU,CAAC,WAAW,EAAE;SAC7B,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CACrB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;YAClB,CAAC,CAAC,QAAQ,CAAC,IAAI;YACf,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACZ,GAAG,CAAC,KAAK;gBACT,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;aAC7B,CAAC,CAChB,CAAC,KAAK;KACR,EACD,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACd,CAAC,WAAW,EAAE,EAAE;QACd,MAAM,EAAE,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAE1C,IACE,gBAAgB,CAAC,WAAW,KAAK,WAAW;YAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EACnB,CAAC;YACD,OAAO,CAAC,cAAc;QACxB,CAAC;QAED,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,EAAE,WAAW,CAAC,CAAC;QAErD,WAAW,EAAE,CAAC;IAChB,CAAC,CACJ,CAAC;IAEF,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7B,kBAAkB,GAAG,GAAG,CAAC,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
1
+ {"version":3,"file":"with-buffered-from.mjs","sourceRoot":"","sources":["../../../src/core/operators/with-buffered-from.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAM9D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,UAAyB,EACgC,EAAE;AAC3D,4DAA4D;AAC5D,CAAC,CAAC,gBAAgB,EAAE,EAAE,CACpB,gCAAgC,CAC9B,gBAAgB,EAChB,UAAU,CACX,CAA4D,CAAC;AAElE;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAE7C,MAAM,gCAAgC,GAAG,CACvC,gBAA+B,EAC/B,UAAyB,EACiB,EAAE;IAC5C,IAAI,kBAAkB,GAAiB,EAAE,CAAC;IAE1C,MAAM,WAAW,GAAG,GAAS,EAAE;QAC7B,kBAAkB,GAAG,EAAE,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,yBAAyB,CAItC;QACE,OAAO,EAAE,CAAC,gBAAgB,CAAC;QAC3B,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QACnD,YAAY,EAAE,IAAI,CAAC;YACjB,GAAG,EAAE,gBAAgB,CAAC,WAAW,EAAE;YACnC,EAAE,EAAE,UAAU,CAAC,WAAW,EAAE;SAC7B,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CACrB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;YAClB,CAAC,CAAC,QAAQ,CAAC,IAAI;YACf,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACZ,GAAG,CAAC,KAAK;gBACT,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;aAC7B,CAAC,CAChB,CAAC,KAAK;KACR,EACD,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACd,CAAC,WAAW,EAAE,EAAE;QACd,MAAM,EAAE,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAE1C,IACE,gBAAgB,CAAC,WAAW,KAAK,WAAW;YAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EACnB,CAAC;YACD,OAAO,CAAC,cAAc;QACxB,CAAC;QAED,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,EAAE,WAAW,CAAC,CAAC;QAErD,WAAW,EAAE,CAAC;IAChB,CAAC,CACJ,CAAC;IAEF,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7B,kBAAkB,GAAG,GAAG,CAAC,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"unwrap-optional.d.mts","sourceRoot":"","sources":["../../../../src/core/predefined/operators/unwrap-optional.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAG/D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,cAAc,GACzB,CAAC,SAAS,eAAe,OACtB,wBAAwB,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAGA,CAAC"}
1
+ {"version":3,"file":"unwrap-optional.d.mts","sourceRoot":"","sources":["../../../../src/core/predefined/operators/unwrap-optional.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAG/D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,cAAc,GACzB,CAAC,SAAS,eAAe,OACtB,wBAAwB,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAEA,CAAC"}
@@ -42,6 +42,5 @@ import { map } from '../../operators/index.mjs';
42
42
 
43
43
  export const unwrapOptional = () =>
44
44
 
45
-
46
45
  map(Optional.unwrap);
47
46
  //# sourceMappingURL=unwrap-optional.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"unwrap-optional.mjs","sourceRoot":"","sources":["../../../../src/core/predefined/operators/unwrap-optional.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAE/D,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAEmC,EAAE;AACjE,4DAA4D;AAC5D,oEAAoE;AACpE,GAAG,CAAC,QAAQ,CAAC,MAA+C,CAAC,CAAC"}
1
+ {"version":3,"file":"unwrap-optional.mjs","sourceRoot":"","sources":["../../../../src/core/predefined/operators/unwrap-optional.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAE/D,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAEmC,EAAE;AACjE,4DAA4D;AAC5D,GAAG,CAAC,QAAQ,CAAC,MAA+C,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"unwrap-result-ok.d.mts","sourceRoot":"","sources":["../../../../src/core/predefined/operators/unwrap-result-ok.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAG3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,cAAc,GACzB,CAAC,SAAS,aAAa,OACpB,wBAAwB,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAGA,CAAC"}
1
+ {"version":3,"file":"unwrap-result-ok.d.mts","sourceRoot":"","sources":["../../../../src/core/predefined/operators/unwrap-result-ok.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAG3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,cAAc,GACzB,CAAC,SAAS,aAAa,OACpB,wBAAwB,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAEA,CAAC"}
@@ -42,6 +42,5 @@ import { map } from '../../operators/index.mjs';
42
42
 
43
43
  export const unwrapResultOk = () =>
44
44
 
45
-
46
45
  map(Result.unwrapOk);
47
46
  //# sourceMappingURL=unwrap-result-ok.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"unwrap-result-ok.mjs","sourceRoot":"","sources":["../../../../src/core/predefined/operators/unwrap-result-ok.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAsB,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAEmC,EAAE;AACjE,4DAA4D;AAC5D,oEAAoE;AACpE,GAAG,CAAC,MAAM,CAAC,QAAiD,CAAC,CAAC"}
1
+ {"version":3,"file":"unwrap-result-ok.mjs","sourceRoot":"","sources":["../../../../src/core/predefined/operators/unwrap-result-ok.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAsB,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAEmC,EAAE;AACjE,4DAA4D;AAC5D,GAAG,CAAC,MAAM,CAAC,QAAiD,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"id-maker.d.mts","sourceRoot":"","sources":["../../../src/core/utils/id-maker.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAoB5B,eAAO,MAAM,iBAAiB,QAAO,YACL,CAAC;AAEjC,eAAO,MAAM,iBAAiB,QAAO,YACL,CAAC;AAEjC,eAAO,MAAM,gBAAgB,QAAO,WACL,CAAC"}
1
+ {"version":3,"file":"id-maker.d.mts","sourceRoot":"","sources":["../../../src/core/utils/id-maker.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAmB5B,eAAO,MAAM,iBAAiB,QAAO,YACL,CAAC;AAEjC,eAAO,MAAM,iBAAiB,QAAO,YACL,CAAC;AAEjC,eAAO,MAAM,gBAAgB,QAAO,WACL,CAAC"}
@@ -2,7 +2,6 @@ function* idMaker() {
2
2
  let mut_i = 0;
3
3
  while (true) {
4
4
 
5
-
6
5
  yield Symbol(mut_i.toString());
7
6
  mut_i += 1;
8
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"id-maker.mjs","sourceRoot":"","sources":["../../../src/core/utils/id-maker.mts"],"names":[],"mappings":"AAMA,QAAQ,CAAC,CAAC,OAAO;IACf,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,IAAI,EAAE,CAAC;QACZ,4DAA4D;QAC5D,oEAAoE;QACpE,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAM,CAAC;QAEpC,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG,OAAO,EAAgB,CAAC;AAElD,MAAM,iBAAiB,GAAG,OAAO,EAAgB,CAAC;AAElD,MAAM,gBAAgB,GAAG,OAAO,EAAe,CAAC;AAEhD,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAiB,EAAE,CAClD,iBAAiB,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;AAEjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAiB,EAAE,CAClD,iBAAiB,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;AAEjC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAgB,EAAE,CAChD,gBAAgB,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC"}
1
+ {"version":3,"file":"id-maker.mjs","sourceRoot":"","sources":["../../../src/core/utils/id-maker.mts"],"names":[],"mappings":"AAMA,QAAQ,CAAC,CAAC,OAAO;IACf,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,IAAI,EAAE,CAAC;QACZ,4DAA4D;QAC5D,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAM,CAAC;QAEpC,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG,OAAO,EAAgB,CAAC;AAElD,MAAM,iBAAiB,GAAG,OAAO,EAAgB,CAAC;AAElD,MAAM,gBAAgB,GAAG,OAAO,EAAe,CAAC;AAEhD,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAiB,EAAE,CAClD,iBAAiB,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;AAEjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAiB,EAAE,CAClD,iBAAiB,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;AAEjC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAgB,EAAE,CAChD,gBAAgB,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC"}
@@ -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,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE3D,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,MA0ClB,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,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE3D,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,MAyClB,CAAC"}
@@ -32,7 +32,6 @@ export const binarySearch = (sortedArray, x) => {
32
32
  mut_mid = SafeInt.add(mut_left, halfInt(SafeInt.sub(mut_right, mut_left)));
33
33
  }
34
34
 
35
-
36
35
  return mut_mid;
37
36
  };
38
37
  //# sourceMappingURL=utils.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","sourceRoot":"","sources":["../../../src/core/utils/utils.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGlE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAU,EAAW,EAAE,CAC7C,CAAC,GAAG,CAAC,KAAK,CAAC;IACT,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC,GAAG,CAAC;QACL,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iCAAiC;QACrE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,qCAAqC;AAEhF,yEAAyE;AACzE,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,WAAyB,EACzB,CAAI,EACoB,EAAE;IAC1B,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEjC,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAE3B,IAAI,QAAQ,GAAY,KAAK,CAAC;IAE9B,IAAI,SAAS,GAAY,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjE,IAAI,OAAO,GAAY,OAAO,CAAC,GAAG,CAChC,QAAQ,EACR,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAC1C,CAAC;IAEF,gDAAgD;IAChD,OAAO,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAElC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACf,MAAM;QACR,CAAC;QAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM;QACR,CAAC;QAED,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACb,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,4DAA4D;IAC5D,oEAAoE;IACpE,OAAO,OAAiC,CAAC;AAC3C,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.mjs","sourceRoot":"","sources":["../../../src/core/utils/utils.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGlE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAU,EAAW,EAAE,CAC7C,CAAC,GAAG,CAAC,KAAK,CAAC;IACT,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC,GAAG,CAAC;QACL,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iCAAiC;QACrE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,qCAAqC;AAEhF,yEAAyE;AACzE,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,WAAyB,EACzB,CAAI,EACoB,EAAE;IAC1B,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEjC,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAE3B,IAAI,QAAQ,GAAY,KAAK,CAAC;IAE9B,IAAI,SAAS,GAAY,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjE,IAAI,OAAO,GAAY,OAAO,CAAC,GAAG,CAChC,QAAQ,EACR,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAC1C,CAAC;IAEF,gDAAgD;IAChD,OAAO,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAElC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACf,MAAM;QACR,CAAC;QAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM;QACR,CAAC;QAED,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACb,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,4DAA4D;IAC5D,OAAO,OAAiC,CAAC;AAC3C,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "synstate",
3
- "version": "3.1.0",
3
+ "version": "3.2.0",
4
4
  "description": "Type-safe State Management Library for TypeScript/JavaScript",
5
5
  "repository": {
6
6
  "type": "git",
@@ -34,25 +34,25 @@
34
34
  "ts-type-forge": "^9.2.2"
35
35
  },
36
36
  "devDependencies": {
37
- "@reduxjs/toolkit": "2.12.0",
37
+ "@reduxjs/toolkit": "2.13.0",
38
38
  "@sumi-lang/cli": "0.0.5",
39
39
  "@types/react": "19.3.0",
40
- "@vitest/browser-playwright": "5.0.2",
40
+ "@vitest/browser-playwright": "5.0.3",
41
41
  "argparse": "3.0.2",
42
- "eslint-config-typed": "5.17.0",
43
- "eslint-plugin-ts-data-forge": "0.8.3",
44
- "eslint-plugin-ts-fortress": "1.3.0",
45
- "eslint-plugin-ts-type-forge": "0.8.5",
46
- "jotai": "3.0.0",
47
- "mobx": "7.0.5",
42
+ "eslint-config-typed": "5.17.1",
43
+ "eslint-plugin-ts-data-forge": "0.8.4",
44
+ "eslint-plugin-ts-fortress": "1.3.1",
45
+ "eslint-plugin-ts-type-forge": "0.8.6",
46
+ "jotai": "3.0.1",
47
+ "mobx": "7.0.6",
48
48
  "playwright": "1.63.0",
49
49
  "prettier": "3.9.9",
50
50
  "prettier-plugin-organize-imports": "4.3.0",
51
51
  "prettier-plugin-packagejson": "3.0.2",
52
52
  "react": "19.3.0",
53
53
  "rxjs": "7.8.2",
54
- "synstate-react-hooks": "3.1.0",
55
- "synstate-react-hooks-compat": "3.1.0",
54
+ "synstate-react-hooks": "3.2.0",
55
+ "synstate-react-hooks-compat": "3.2.0",
56
56
  "ts-repo-utils": "10.7.1",
57
57
  "valtio": "2.3.2",
58
58
  "zustand": "5.0.15"
@@ -161,7 +161,6 @@ export const createInitializedSyncChildObservable = <
161
161
  // `getSnapshot` always returns `Some` here: `initialValue` is a `Some` and
162
162
  // `setNext` only ever stores a `Some`.
163
163
  // @sumi-expect-error banned-syntax/no-unsafe-type-assertion
164
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
165
164
  observable as InitializedSyncChildObservable<A, P>
166
165
  );
167
166
  };
@@ -389,12 +389,14 @@ export const assembleObservable = <
389
389
  operator: WithInitialValueOperator<A, B>,
390
390
  ): InitializedObservable<B>;
391
391
 
392
+ // A `WithInitialValueOperator` is also an `Operator`: nothing at run time
393
+ // tells the two apart, so this set only refines the return type (#1952).
394
+ // @sumi-expect-error functions/no-refinement-overload
392
395
  function pipe<B>(operator: Operator<A, B>): Observable<B>;
393
396
 
394
397
  function pipe<B>(operator: Operator<A, B>): Observable<B> {
395
398
  return operator(
396
399
  // @sumi-expect-error banned-syntax/no-unsafe-type-assertion
397
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
398
400
  mut_observable as unknown as InitializedObservable<A>,
399
401
  );
400
402
  }
@@ -75,7 +75,6 @@ export const combine = <const OS extends NonEmptyTuple<Observable<unknown>>>(
75
75
  parents: OS,
76
76
  ): CombineObservableRefined<OS> =>
77
77
  // @sumi-expect-error banned-syntax/no-unsafe-type-assertion
78
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
79
78
  createCombineObservable(parents) as unknown as CombineObservableRefined<OS>;
80
79
 
81
80
  /**
@@ -66,7 +66,6 @@ export const merge = <const OS extends NonEmptyTuple<Observable<unknown>>>(
66
66
  parents: OS,
67
67
  ): MergeObservableRefined<OS> =>
68
68
  // @sumi-expect-error banned-syntax/no-unsafe-type-assertion
69
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
70
69
  createMergeObservable(parents) as MergeObservableRefined<OS>;
71
70
 
72
71
  const createMergeObservable = <const P extends NonEmptyUnknownList>(
@@ -90,7 +89,6 @@ const createMergeObservable = <const P extends NonEmptyUnknownList>(
90
89
 
91
90
  const nextValue =
92
91
  // @sumi-expect-error banned-syntax/no-unsafe-type-assertion
93
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
94
92
  Optional.unwrap(parentToUse.getSnapshot()) as ArrayElement<P>;
95
93
 
96
94
  setNext(nextValue, updateToken);
@@ -68,7 +68,6 @@ export const zip = <const OS extends NonEmptyTuple<Observable<unknown>>>(
68
68
  parents: OS,
69
69
  ): ZipObservableRefined<OS> =>
70
70
  // @sumi-expect-error banned-syntax/no-unsafe-type-assertion
71
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
72
71
  createZipObservable(parents) as unknown as ZipObservableRefined<OS>;
73
72
 
74
73
  const createZipObservable = <const A extends NonEmptyUnknownList>(
@@ -119,7 +118,6 @@ const createZipObservable = <const A extends NonEmptyUnknownList>(
119
118
  // `Arr.map` has a single result element type, so it reports
120
119
  // `A[number] | undefined` per position rather than `A[P]`.
121
120
  // @sumi-expect-error banned-syntax/no-unsafe-type-assertion
122
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
123
121
  Arr.map(queues, (q) => Optional.unwrap(q.dequeue())) as A;
124
122
 
125
123
  setNext(nextValue, updateToken);
@@ -4,10 +4,17 @@ import type { CounterObservable, TimerId } from '../types/index.mjs';
4
4
 
5
5
  /**
6
6
  * Creates an observable that emits incremental numbers at a specified interval.
7
- * Starts with 0 immediately after subscription, then emits 1, 2, 3, ... every interval.
7
+ * Emits 0 in the macrotask right after `start()` (which runs at creation
8
+ * unless `startManually` is set), then 1, 2, 3, ... every interval. A
9
+ * subscriber added after that 0 has been emitted does not receive it.
8
10
  *
9
11
  * @param intervalMilliSeconds - The interval duration in milliseconds
10
- * @param startManually - If true, waits for manual start (default: false)
12
+ * @param options - Optional settings
13
+ * @param options.startManually - If true, waits for `start()` instead of
14
+ * starting at creation (default: false)
15
+ * @param options.emitInitial - If false, skips the 0 emitted right after
16
+ * `start()`, so the first value is 1, one interval later — like RxJS
17
+ * `interval` rather than `timer(0, ms)` (default: true)
11
18
  * @returns An observable that emits sequential numbers
12
19
  *
13
20
  * @example
@@ -49,6 +56,7 @@ export const counter = (
49
56
  intervalMilliSeconds: number,
50
57
  options?: Readonly<{
51
58
  startManually?: boolean;
59
+ emitInitial?: boolean;
52
60
  }>,
53
61
  ): CounterObservable => {
54
62
  let mut_counter: SafeUint = asSafeUint(0);
@@ -60,13 +68,13 @@ export const counter = (
60
68
  let mut_isStarted = false;
61
69
 
62
70
  const resetTimer = (): void => {
63
- if (mut_timerId0 === undefined || mut_timerId === undefined) {
64
- return;
71
+ if (mut_timerId0 !== undefined) {
72
+ clearTimeout(mut_timerId0);
65
73
  }
66
74
 
67
- clearInterval(mut_timerId0);
68
-
69
- clearInterval(mut_timerId);
75
+ if (mut_timerId !== undefined) {
76
+ clearInterval(mut_timerId);
77
+ }
70
78
  };
71
79
 
72
80
  const observable = createRootObservable<
@@ -90,9 +98,11 @@ export const counter = (
90
98
  return;
91
99
  }
92
100
 
93
- mut_timerId0 = setTimeout(() => {
94
- startUpdate(mut_counter);
95
- }, 0);
101
+ if (options?.emitInitial ?? true) {
102
+ mut_timerId0 = setTimeout(() => {
103
+ startUpdate(mut_counter);
104
+ }, 0);
105
+ }
96
106
 
97
107
  mut_timerId = setInterval(() => {
98
108
  mut_counter = SafeUint.add(1, mut_counter);
@@ -1,3 +1,4 @@
1
+ import { Arr } from 'ts-data-forge';
1
2
  import { counter } from './counter.mjs';
2
3
 
3
4
  describe(counter, () => {
@@ -8,4 +9,186 @@ describe(counter, () => {
8
9
 
9
10
  assert.isTrue(counter$.isCompleted);
10
11
  });
12
+
13
+ test('emits 0 right after start(), then 1, 2, … every interval', () => {
14
+ vi.useFakeTimers();
15
+
16
+ const start = Date.now();
17
+
18
+ const counter$ = counter(100);
19
+
20
+ const mut_history: number[] = [];
21
+
22
+ counter$.subscribe((n) => {
23
+ mut_history.push(n);
24
+ });
25
+
26
+ vi.advanceTimersToNextTimer();
27
+
28
+ assert.deepStrictEqual(mut_history, [0]);
29
+
30
+ assert.strictEqual(vi.getMockedSystemTime()?.getTime(), start);
31
+
32
+ vi.advanceTimersToNextTimer().advanceTimersToNextTimer();
33
+
34
+ assert.deepStrictEqual(mut_history, [0, 1, 2]);
35
+
36
+ counter$.complete();
37
+
38
+ vi.useRealTimers();
39
+ });
40
+
41
+ test('emitInitial: false skips the 0 and starts with 1 after one interval', () => {
42
+ vi.useFakeTimers();
43
+
44
+ const start = Date.now();
45
+
46
+ const counter$ = counter(100, { emitInitial: false });
47
+
48
+ const mut_history: number[] = [];
49
+
50
+ counter$.subscribe((n) => {
51
+ mut_history.push(n);
52
+ });
53
+
54
+ vi.advanceTimersToNextTimer();
55
+
56
+ assert.deepStrictEqual(mut_history, [1]);
57
+
58
+ assert.strictEqual(vi.getMockedSystemTime()?.getTime(), start + 100);
59
+
60
+ vi.advanceTimersToNextTimer().advanceTimersToNextTimer();
61
+
62
+ assert.deepStrictEqual(mut_history, [1, 2, 3]);
63
+
64
+ counter$.complete();
65
+
66
+ vi.useRealTimers();
67
+ });
68
+
69
+ test('emitInitial: false still clears the interval on complete', () => {
70
+ vi.useFakeTimers();
71
+
72
+ const counter$ = counter(100, { emitInitial: false });
73
+
74
+ const mut_history: number[] = [];
75
+
76
+ counter$.subscribe((n) => {
77
+ mut_history.push(n);
78
+ });
79
+
80
+ vi.advanceTimersToNextTimer();
81
+
82
+ counter$.complete();
83
+
84
+ assert.strictEqual(vi.getTimerCount(), 0);
85
+
86
+ assert.deepStrictEqual(mut_history, [1]);
87
+
88
+ vi.useRealTimers();
89
+ });
90
+
91
+ test.each([
92
+ { emitInitial: true, expected: [0, 1, 2], firstAt: 0 },
93
+ { emitInitial: false, expected: [1, 2, 3], firstAt: 100 },
94
+ ] as const)(
95
+ 'startManually: false, emitInitial: $emitInitial starts at creation',
96
+ ({ emitInitial, expected, firstAt }) => {
97
+ vi.useFakeTimers();
98
+
99
+ const start = Date.now();
100
+
101
+ const counter$ = counter(100, { startManually: false, emitInitial });
102
+
103
+ const mut_history: number[] = [];
104
+
105
+ counter$.subscribe((n) => {
106
+ mut_history.push(n);
107
+ });
108
+
109
+ vi.advanceTimersToNextTimer();
110
+
111
+ assert.deepStrictEqual<readonly number[]>(
112
+ mut_history,
113
+ Arr.take(expected, 1),
114
+ );
115
+
116
+ assert.strictEqual(vi.getMockedSystemTime()?.getTime(), start + firstAt);
117
+
118
+ vi.advanceTimersToNextTimer().advanceTimersToNextTimer();
119
+
120
+ assert.deepStrictEqual<readonly number[]>(mut_history, expected);
121
+
122
+ counter$.complete();
123
+
124
+ vi.useRealTimers();
125
+ },
126
+ );
127
+
128
+ test.each([
129
+ { emitInitial: true, expected: [0, 1, 2], firstAt: 0 },
130
+ { emitInitial: false, expected: [1, 2, 3], firstAt: 100 },
131
+ ] as const)(
132
+ 'startManually: true, emitInitial: $emitInitial waits for start()',
133
+ ({ emitInitial, expected, firstAt }) => {
134
+ vi.useFakeTimers();
135
+
136
+ const counter$ = counter(100, { startManually: true, emitInitial });
137
+
138
+ const mut_history: number[] = [];
139
+
140
+ counter$.subscribe((n) => {
141
+ mut_history.push(n);
142
+ });
143
+
144
+ assert.strictEqual(vi.getTimerCount(), 0);
145
+
146
+ vi.setSystemTime(Date.now() + 1000);
147
+
148
+ const start = Date.now();
149
+
150
+ counter$.start();
151
+
152
+ vi.advanceTimersToNextTimer();
153
+
154
+ assert.deepStrictEqual<readonly number[]>(
155
+ mut_history,
156
+ Arr.take(expected, 1),
157
+ );
158
+
159
+ assert.strictEqual(vi.getMockedSystemTime()?.getTime(), start + firstAt);
160
+
161
+ vi.advanceTimersToNextTimer().advanceTimersToNextTimer();
162
+
163
+ assert.deepStrictEqual<readonly number[]>(mut_history, expected);
164
+
165
+ counter$.complete();
166
+
167
+ assert.strictEqual(vi.getTimerCount(), 0);
168
+
169
+ vi.useRealTimers();
170
+ },
171
+ );
172
+
173
+ test('completing before the first emission cancels the pending 0', () => {
174
+ vi.useFakeTimers();
175
+
176
+ const counter$ = counter(100);
177
+
178
+ const mut_history: number[] = [];
179
+
180
+ counter$.subscribe((n) => {
181
+ mut_history.push(n);
182
+ });
183
+
184
+ counter$.complete();
185
+
186
+ assert.strictEqual(vi.getTimerCount(), 0);
187
+
188
+ vi.runAllTimers();
189
+
190
+ assert.deepStrictEqual(mut_history, []);
191
+
192
+ vi.useRealTimers();
193
+ });
11
194
  });
@@ -71,7 +71,6 @@ import type { FromPromiseObservable } from '../types/index.mjs';
71
71
  */
72
72
  export const fromAbortablePromise = <A, E = unknown>(
73
73
  // @sumi-expect-error readonly/require-readonly-parameter
74
- // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
75
74
  factory: (signal: AbortSignal) => Promise<A>,
76
75
  ): FromPromiseObservable<A, E> => {
77
76
  const abortController = new AbortController();
@@ -108,7 +107,6 @@ export const fromAbortablePromise = <A, E = unknown>(
108
107
  startUpdate(
109
108
  Result.err(
110
109
  // @sumi-expect-error banned-syntax/no-unsafe-type-assertion
111
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
112
110
  error as E,
113
111
  ),
114
112
  );
@@ -71,7 +71,6 @@ export const fromPromise = <A, E = unknown>(
71
71
  startUpdate(
72
72
  Result.err(
73
73
  // @sumi-expect-error banned-syntax/no-unsafe-type-assertion
74
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
75
74
  error as E,
76
75
  ),
77
76
  );
@@ -77,7 +77,6 @@ export const fromSubscribable = <A, E = unknown>(
77
77
  startUpdate(
78
78
  Result.err(
79
79
  // @sumi-expect-error banned-syntax/no-unsafe-type-assertion
80
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
81
80
  error as E,
82
81
  ),
83
82
  );
@@ -40,6 +40,5 @@ export const just = <const A,>(value: A): InitializedRootObservable<A> => {
40
40
  obs.complete();
41
41
 
42
42
  // @sumi-expect-error banned-syntax/no-unsafe-type-assertion
43
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
44
43
  return obs as InitializedRootObservable<A>;
45
44
  };
@@ -105,7 +105,6 @@ export const audit = <A,>(
105
105
  milliSeconds: number,
106
106
  ): KeepInitialValueOperator<A, A> =>
107
107
  // @sumi-expect-error banned-syntax/no-unsafe-type-assertion
108
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
109
108
  ((parentObservable) =>
110
109
  createAuditObservable(
111
110
  parentObservable,
@@ -96,7 +96,6 @@ export const debounce = <A,>(
96
96
  milliSeconds: number,
97
97
  ): KeepInitialValueOperator<A, A> =>
98
98
  // @sumi-expect-error banned-syntax/no-unsafe-type-assertion
99
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
100
99
  ((parentObservable) =>
101
100
  createDebounceObservable(
102
101
  parentObservable,