synstate 0.1.1 → 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 (122) hide show
  1. package/README.md +184 -218
  2. package/dist/core/combine/combine.d.mts +1 -1
  3. package/dist/core/combine/combine.mjs +2 -2
  4. package/dist/core/combine/combine.mjs.map +1 -1
  5. package/dist/core/create/source.d.mts +1 -1
  6. package/dist/core/create/source.mjs +2 -2
  7. package/dist/core/create/source.mjs.map +1 -1
  8. package/dist/core/index.d.mts +1 -0
  9. package/dist/core/index.d.mts.map +1 -1
  10. package/dist/core/index.mjs +15 -3
  11. package/dist/core/index.mjs.map +1 -1
  12. package/dist/core/operators/index.mjs +3 -3
  13. package/dist/core/operators/map-with-index.d.mts +0 -13
  14. package/dist/core/operators/map-with-index.d.mts.map +1 -1
  15. package/dist/core/operators/map-with-index.mjs +2 -19
  16. package/dist/core/operators/map-with-index.mjs.map +1 -1
  17. package/dist/core/operators/merge-map.d.mts +1 -1
  18. package/dist/core/operators/merge-map.mjs +1 -1
  19. package/dist/core/operators/skip-if-no-change.d.mts +1 -1
  20. package/dist/core/operators/skip-if-no-change.mjs +2 -2
  21. package/dist/core/operators/skip-if-no-change.mjs.map +1 -1
  22. package/dist/core/operators/skip-while.d.mts +0 -1
  23. package/dist/core/operators/skip-while.d.mts.map +1 -1
  24. package/dist/core/operators/skip-while.mjs +2 -5
  25. package/dist/core/operators/skip-while.mjs.map +1 -1
  26. package/dist/core/operators/take-while.d.mts +0 -1
  27. package/dist/core/operators/take-while.d.mts.map +1 -1
  28. package/dist/core/operators/take-while.mjs +1 -3
  29. package/dist/core/operators/take-while.mjs.map +1 -1
  30. package/dist/core/operators/with-buffered-from.d.mts +4 -0
  31. package/dist/core/operators/with-buffered-from.d.mts.map +1 -1
  32. package/dist/core/operators/with-buffered-from.mjs +5 -1
  33. package/dist/core/operators/with-buffered-from.mjs.map +1 -1
  34. package/dist/core/operators/with-current-value-from.d.mts +4 -0
  35. package/dist/core/operators/with-current-value-from.d.mts.map +1 -1
  36. package/dist/core/operators/with-current-value-from.mjs +5 -1
  37. package/dist/core/operators/with-current-value-from.mjs.map +1 -1
  38. package/dist/core/predefined/index.d.mts +2 -0
  39. package/dist/core/predefined/index.d.mts.map +1 -0
  40. package/dist/core/predefined/index.mjs +13 -0
  41. package/dist/core/predefined/index.mjs.map +1 -0
  42. package/dist/core/predefined/operators/attach-index.d.mts +8 -0
  43. package/dist/core/predefined/operators/attach-index.d.mts.map +1 -0
  44. package/dist/core/predefined/operators/attach-index.mjs +13 -0
  45. package/dist/core/predefined/operators/attach-index.mjs.map +1 -0
  46. package/dist/core/predefined/operators/index.d.mts +13 -0
  47. package/dist/core/predefined/operators/index.d.mts.map +1 -0
  48. package/dist/core/predefined/operators/index.mjs +13 -0
  49. package/dist/core/predefined/operators/index.mjs.map +1 -0
  50. package/dist/core/predefined/operators/map-optional.d.mts +4 -0
  51. package/dist/core/predefined/operators/map-optional.d.mts.map +1 -0
  52. package/dist/core/predefined/operators/map-optional.mjs +7 -0
  53. package/dist/core/predefined/operators/map-optional.mjs.map +1 -0
  54. package/dist/core/predefined/operators/map-result-err.d.mts +4 -0
  55. package/dist/core/predefined/operators/map-result-err.d.mts.map +1 -0
  56. package/dist/core/predefined/operators/map-result-err.mjs +7 -0
  57. package/dist/core/predefined/operators/map-result-err.mjs.map +1 -0
  58. package/dist/core/predefined/operators/map-result-ok.d.mts +4 -0
  59. package/dist/core/predefined/operators/map-result-ok.d.mts.map +1 -0
  60. package/dist/core/predefined/operators/map-result-ok.mjs +7 -0
  61. package/dist/core/predefined/operators/map-result-ok.mjs.map +1 -0
  62. package/dist/core/predefined/operators/map-to.d.mts +3 -0
  63. package/dist/core/predefined/operators/map-to.d.mts.map +1 -0
  64. package/dist/core/predefined/operators/map-to.mjs +6 -0
  65. package/dist/core/predefined/operators/map-to.mjs.map +1 -0
  66. package/dist/core/predefined/operators/map.d.mts +3 -0
  67. package/dist/core/predefined/operators/map.d.mts.map +1 -0
  68. package/dist/core/predefined/operators/map.mjs +8 -0
  69. package/dist/core/predefined/operators/map.mjs.map +1 -0
  70. package/dist/core/predefined/operators/pluck.d.mts +8 -0
  71. package/dist/core/predefined/operators/pluck.d.mts.map +1 -0
  72. package/dist/core/predefined/operators/pluck.mjs +11 -0
  73. package/dist/core/predefined/operators/pluck.mjs.map +1 -0
  74. package/dist/core/predefined/operators/skip.d.mts +3 -0
  75. package/dist/core/predefined/operators/skip.d.mts.map +1 -0
  76. package/dist/core/predefined/operators/skip.mjs +9 -0
  77. package/dist/core/predefined/operators/skip.mjs.map +1 -0
  78. package/dist/core/predefined/operators/take.d.mts +3 -0
  79. package/dist/core/predefined/operators/take.d.mts.map +1 -0
  80. package/dist/core/predefined/operators/take.mjs +8 -0
  81. package/dist/core/predefined/operators/take.mjs.map +1 -0
  82. package/dist/core/predefined/operators/unwrap-optional.d.mts +4 -0
  83. package/dist/core/predefined/operators/unwrap-optional.d.mts.map +1 -0
  84. package/dist/core/predefined/operators/unwrap-optional.mjs +9 -0
  85. package/dist/core/predefined/operators/unwrap-optional.mjs.map +1 -0
  86. package/dist/core/predefined/operators/unwrap-result-err.d.mts +4 -0
  87. package/dist/core/predefined/operators/unwrap-result-err.d.mts.map +1 -0
  88. package/dist/core/predefined/operators/unwrap-result-err.mjs +7 -0
  89. package/dist/core/predefined/operators/unwrap-result-err.mjs.map +1 -0
  90. package/dist/core/predefined/operators/unwrap-result-ok.d.mts +4 -0
  91. package/dist/core/predefined/operators/unwrap-result-ok.d.mts.map +1 -0
  92. package/dist/core/predefined/operators/unwrap-result-ok.mjs +9 -0
  93. package/dist/core/predefined/operators/unwrap-result-ok.mjs.map +1 -0
  94. package/dist/entry-point.mjs +15 -3
  95. package/dist/entry-point.mjs.map +1 -1
  96. package/dist/index.mjs +15 -3
  97. package/dist/index.mjs.map +1 -1
  98. package/package.json +1 -1
  99. package/src/core/combine/combine.mts +2 -2
  100. package/src/core/create/source.mts +2 -2
  101. package/src/core/index.mts +1 -0
  102. package/src/core/operators/map-with-index.mts +3 -62
  103. package/src/core/operators/merge-map.mts +1 -1
  104. package/src/core/operators/skip-if-no-change.mts +2 -2
  105. package/src/core/operators/skip-while.mts +1 -16
  106. package/src/core/operators/take-while.mts +2 -8
  107. package/src/core/operators/with-buffered-from.mts +5 -1
  108. package/src/core/operators/with-current-value-from.mts +5 -1
  109. package/src/core/predefined/index.mts +1 -0
  110. package/src/core/predefined/operators/attach-index.mts +13 -0
  111. package/src/core/predefined/operators/index.mts +12 -0
  112. package/src/core/predefined/operators/map-optional.mts +8 -0
  113. package/src/core/predefined/operators/map-result-err.mts +8 -0
  114. package/src/core/predefined/operators/map-result-ok.mts +8 -0
  115. package/src/core/predefined/operators/map-to.mts +5 -0
  116. package/src/core/predefined/operators/map.mts +5 -0
  117. package/src/core/predefined/operators/pluck.mts +12 -0
  118. package/src/core/predefined/operators/skip.mts +10 -0
  119. package/src/core/predefined/operators/take.mts +6 -0
  120. package/src/core/predefined/operators/unwrap-optional.mts +9 -0
  121. package/src/core/predefined/operators/unwrap-result-err.mts +8 -0
  122. package/src/core/predefined/operators/unwrap-result-ok.mts +9 -0
@@ -0,0 +1,6 @@
1
+ import { map } from './map.mjs';
2
+
3
+ const mapTo = (value) => map(() => value);
4
+
5
+ export { mapTo };
6
+ //# sourceMappingURL=map-to.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-to.mjs","sources":["../../../../src/core/predefined/operators/map-to.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAGO,MAAM,KAAK,GAAG,CAAO,KAAQ,KAClC,GAAG,CAAC,MAAM,KAAK;;;;"}
@@ -0,0 +1,3 @@
1
+ import { type KeepInitialValueOperator } from '../../types/index.mjs';
2
+ export declare const map: <A, B>(mapFn: (x: A) => B) => KeepInitialValueOperator<A, B>;
3
+ //# sourceMappingURL=map.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map.d.mts","sourceRoot":"","sources":["../../../../src/core/predefined/operators/map.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAG,wBAAwB,CAAC,CAAC,EAAE,CAAC,CACvD,CAAC"}
@@ -0,0 +1,8 @@
1
+ import 'ts-data-forge';
2
+ import '../../utils/id-maker.mjs';
3
+ import { mapWithIndex } from '../../operators/map-with-index.mjs';
4
+
5
+ const map = (mapFn) => mapWithIndex(mapFn);
6
+
7
+ export { map };
8
+ //# sourceMappingURL=map.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map.mjs","sources":["../../../../src/core/predefined/operators/map.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAGO,MAAM,GAAG,GAAG,CAAO,KAAkB,KAC1C,YAAY,CAAC,KAAK;;;;"}
@@ -0,0 +1,8 @@
1
+ import { type KeepInitialValueOperator } from '../../types/index.mjs';
2
+ export declare const pluck: <A, K extends keyof A>(key: K) => KeepInitialValueOperator<A, A[K]>;
3
+ /**
4
+ * Alias for `pluck`.
5
+ * @see pluck
6
+ */
7
+ export declare const getKey: <A, K extends keyof A>(key: K) => KeepInitialValueOperator<A, A[K]>;
8
+ //# sourceMappingURL=pluck.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluck.d.mts","sourceRoot":"","sources":["../../../../src/core/predefined/operators/pluck.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAGtE,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,EACxC,KAAK,CAAC,KACL,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAuB,CAAC;AAE3D;;;GAGG;AACH,eAAO,MAAM,MAAM,GARG,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,OACnC,CAAC,KACL,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAMR,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { map } from './map.mjs';
2
+
3
+ const pluck = (key) => map((a) => a[key]);
4
+ /**
5
+ * Alias for `pluck`.
6
+ * @see pluck
7
+ */
8
+ const getKey = pluck;
9
+
10
+ export { getKey, pluck };
11
+ //# sourceMappingURL=pluck.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluck.mjs","sources":["../../../../src/core/predefined/operators/pluck.mts"],"sourcesContent":[null],"names":[],"mappings":";;MAGa,KAAK,GAAG,CACnB,GAAM,KACgC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;AAEzD;;;AAGG;AACI,MAAM,MAAM,GAAG;;;;"}
@@ -0,0 +1,3 @@
1
+ import { type DropInitialValueOperator } from '../../types/index.mjs';
2
+ export declare const skip: <A>(n: PositiveSafeIntWithSmallInt) => DropInitialValueOperator<A, A>;
3
+ //# sourceMappingURL=skip.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skip.d.mts","sourceRoot":"","sources":["../../../../src/core/predefined/operators/skip.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,eAAO,MAAM,IAAI,GAAI,CAAC,EACpB,GAAG,2BAA2B,KAC7B,wBAAwB,CAAC,CAAC,EAAE,CAAC,CACyC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { PositiveSafeInt } from 'ts-data-forge';
2
+ import '../../utils/id-maker.mjs';
3
+ import { skipWhile } from '../../operators/skip-while.mjs';
4
+
5
+ const skip = (n) => !PositiveSafeInt.is(n) ? idFn : skipWhile((_, index) => index + 1 <= n);
6
+ const idFn = (value) => value;
7
+
8
+ export { skip };
9
+ //# sourceMappingURL=skip.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skip.mjs","sources":["../../../../src/core/predefined/operators/skip.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAIO,MAAM,IAAI,GAAG,CAClB,CAA8B,KAE9B,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,GAAG,CAAC,IAAI,CAAC;AAExE,MAAM,IAAI,GAAG,CAAK,KAAQ,KAAQ,KAAK;;;;"}
@@ -0,0 +1,3 @@
1
+ import { type DropInitialValueOperator } from '../../types/index.mjs';
2
+ export declare const take: <A>(n: PositiveSafeIntWithSmallInt) => DropInitialValueOperator<A, A>;
3
+ //# sourceMappingURL=take.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"take.d.mts","sourceRoot":"","sources":["../../../../src/core/predefined/operators/take.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,eAAO,MAAM,IAAI,GAAI,CAAC,EACpB,GAAG,2BAA2B,KAC7B,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAA4C,CAAC"}
@@ -0,0 +1,8 @@
1
+ import 'ts-data-forge';
2
+ import '../../utils/id-maker.mjs';
3
+ import { takeWhile } from '../../operators/take-while.mjs';
4
+
5
+ const take = (n) => takeWhile((_, index) => index + 1 <= n);
6
+
7
+ export { take };
8
+ //# sourceMappingURL=take.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"take.mjs","sources":["../../../../src/core/predefined/operators/take.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAGO,MAAM,IAAI,GAAG,CAClB,CAA8B,KACK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,GAAG,CAAC,IAAI,CAAC;;;;"}
@@ -0,0 +1,4 @@
1
+ import { Optional } from 'ts-data-forge';
2
+ import { type KeepInitialValueOperator } from '../../types/index.mjs';
3
+ export declare const unwrapOptional: <O extends UnknownOptional>() => KeepInitialValueOperator<O, Optional.Unwrap<O> | undefined>;
4
+ //# sourceMappingURL=unwrap-optional.d.mts.map
@@ -0,0 +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,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAGtE,eAAO,MAAM,cAAc,GACzB,CAAC,SAAS,eAAe,OACtB,wBAAwB,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAEA,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Optional } from 'ts-data-forge';
2
+ import { map } from './map.mjs';
3
+
4
+ const unwrapOptional = () =>
5
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
6
+ map(Optional.unwrap);
7
+
8
+ export { unwrapOptional };
9
+ //# sourceMappingURL=unwrap-optional.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unwrap-optional.mjs","sources":["../../../../src/core/predefined/operators/unwrap-optional.mts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIO,MAAM,cAAc,GAAG;AAG5B;AACA,GAAG,CAAC,QAAQ,CAAC,MAA+C;;;;"}
@@ -0,0 +1,4 @@
1
+ import { Result } from 'ts-data-forge';
2
+ import { type KeepInitialValueOperator } from '../../types/index.mjs';
3
+ export declare const unwrapResultErr: <R extends UnknownResult>() => KeepInitialValueOperator<R, Result.UnwrapErr<R> | undefined>;
4
+ //# sourceMappingURL=unwrap-result-err.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unwrap-result-err.d.mts","sourceRoot":"","sources":["../../../../src/core/predefined/operators/unwrap-result-err.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAGtE,eAAO,MAAM,eAAe,GAC1B,CAAC,SAAS,aAAa,OACpB,wBAAwB,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CACC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Result } from 'ts-data-forge';
2
+ import { map } from './map.mjs';
3
+
4
+ const unwrapResultErr = () => map(Result.unwrapErr);
5
+
6
+ export { unwrapResultErr };
7
+ //# sourceMappingURL=unwrap-result-err.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unwrap-result-err.mjs","sources":["../../../../src/core/predefined/operators/unwrap-result-err.mts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIO,MAAM,eAAe,GAAG,MAG7B,GAAG,CAAC,MAAM,CAAC,SAAmD;;;;"}
@@ -0,0 +1,4 @@
1
+ import { Result } from 'ts-data-forge';
2
+ import { type KeepInitialValueOperator } from '../../types/index.mjs';
3
+ export declare const unwrapResultOk: <R extends UnknownResult>() => KeepInitialValueOperator<R, Result.UnwrapOk<R> | undefined>;
4
+ //# sourceMappingURL=unwrap-result-ok.d.mts.map
@@ -0,0 +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,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAGtE,eAAO,MAAM,cAAc,GACzB,CAAC,SAAS,aAAa,OACpB,wBAAwB,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAEA,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Result } from 'ts-data-forge';
2
+ import { map } from './map.mjs';
3
+
4
+ const unwrapResultOk = () =>
5
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
6
+ map(Result.unwrapOk);
7
+
8
+ export { unwrapResultOk };
9
+ //# sourceMappingURL=unwrap-result-ok.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unwrap-result-ok.mjs","sources":["../../../../src/core/predefined/operators/unwrap-result-ok.mts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIO,MAAM,cAAc,GAAG;AAG5B;AACA,GAAG,CAAC,MAAM,CAAC,QAAiD;;;;"}
@@ -14,20 +14,32 @@ export { timer } from './core/create/timer.mjs';
14
14
  export { auditTime } from './core/operators/audit-time.mjs';
15
15
  export { debounceTime } from './core/operators/debounce-time.mjs';
16
16
  export { filter } from './core/operators/filter.mjs';
17
- export { attachIndex, getKey, map, mapOptional, mapResultErr, mapResultOk, mapTo, mapWithIndex, pluck, unwrapOptional, unwrapResultErr, unwrapResultOk, withIndex } from './core/operators/map-with-index.mjs';
17
+ export { mapWithIndex } from './core/operators/map-with-index.mjs';
18
18
  export { flatMap, mergeMap } from './core/operators/merge-map.mjs';
19
19
  export { pairwise } from './core/operators/pairwise.mjs';
20
20
  export { scan } from './core/operators/scan.mjs';
21
21
  export { distinctUntilChanged, skipIfNoChange } from './core/operators/skip-if-no-change.mjs';
22
22
  export { skipUntil } from './core/operators/skip-until.mjs';
23
- export { skip, skipWhile } from './core/operators/skip-while.mjs';
23
+ export { skipWhile } from './core/operators/skip-while.mjs';
24
24
  export { switchMap } from './core/operators/switch-map.mjs';
25
25
  export { takeUntil } from './core/operators/take-until.mjs';
26
- export { take, takeWhile } from './core/operators/take-while.mjs';
26
+ export { takeWhile } from './core/operators/take-while.mjs';
27
27
  export { throttleTime } from './core/operators/throttle-time.mjs';
28
28
  export { withBuffered, withBufferedFrom } from './core/operators/with-buffered-from.mjs';
29
29
  export { withCurrentValueFrom, withLatestFrom } from './core/operators/with-current-value-from.mjs';
30
30
  export { withInitialValue } from './core/operators/with-initial-value.mjs';
31
+ export { attachIndex, withIndex } from './core/predefined/operators/attach-index.mjs';
32
+ export { mapOptional } from './core/predefined/operators/map-optional.mjs';
33
+ export { mapResultErr } from './core/predefined/operators/map-result-err.mjs';
34
+ export { mapResultOk } from './core/predefined/operators/map-result-ok.mjs';
35
+ export { mapTo } from './core/predefined/operators/map-to.mjs';
36
+ export { map } from './core/predefined/operators/map.mjs';
37
+ export { getKey, pluck } from './core/predefined/operators/pluck.mjs';
38
+ export { skip } from './core/predefined/operators/skip.mjs';
39
+ export { take } from './core/predefined/operators/take.mjs';
40
+ export { unwrapOptional } from './core/predefined/operators/unwrap-optional.mjs';
41
+ export { unwrapResultErr } from './core/predefined/operators/unwrap-result-err.mjs';
42
+ export { unwrapResultOk } from './core/predefined/operators/unwrap-result-ok.mjs';
31
43
  import 'ts-data-forge';
32
44
  export { isChildObservable, isManagerObservable, isRootObservable } from './core/types/observable.mjs';
33
45
  export { issueObservableId, issueSubscriberId, issueUpdaterSymbol } from './core/utils/id-maker.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"entry-point.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"entry-point.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index.mjs CHANGED
@@ -14,20 +14,32 @@ export { timer } from './core/create/timer.mjs';
14
14
  export { auditTime } from './core/operators/audit-time.mjs';
15
15
  export { debounceTime } from './core/operators/debounce-time.mjs';
16
16
  export { filter } from './core/operators/filter.mjs';
17
- export { attachIndex, getKey, map, mapOptional, mapResultErr, mapResultOk, mapTo, mapWithIndex, pluck, unwrapOptional, unwrapResultErr, unwrapResultOk, withIndex } from './core/operators/map-with-index.mjs';
17
+ export { mapWithIndex } from './core/operators/map-with-index.mjs';
18
18
  export { flatMap, mergeMap } from './core/operators/merge-map.mjs';
19
19
  export { pairwise } from './core/operators/pairwise.mjs';
20
20
  export { scan } from './core/operators/scan.mjs';
21
21
  export { distinctUntilChanged, skipIfNoChange } from './core/operators/skip-if-no-change.mjs';
22
22
  export { skipUntil } from './core/operators/skip-until.mjs';
23
- export { skip, skipWhile } from './core/operators/skip-while.mjs';
23
+ export { skipWhile } from './core/operators/skip-while.mjs';
24
24
  export { switchMap } from './core/operators/switch-map.mjs';
25
25
  export { takeUntil } from './core/operators/take-until.mjs';
26
- export { take, takeWhile } from './core/operators/take-while.mjs';
26
+ export { takeWhile } from './core/operators/take-while.mjs';
27
27
  export { throttleTime } from './core/operators/throttle-time.mjs';
28
28
  export { withBuffered, withBufferedFrom } from './core/operators/with-buffered-from.mjs';
29
29
  export { withCurrentValueFrom, withLatestFrom } from './core/operators/with-current-value-from.mjs';
30
30
  export { withInitialValue } from './core/operators/with-initial-value.mjs';
31
+ export { attachIndex, withIndex } from './core/predefined/operators/attach-index.mjs';
32
+ export { mapOptional } from './core/predefined/operators/map-optional.mjs';
33
+ export { mapResultErr } from './core/predefined/operators/map-result-err.mjs';
34
+ export { mapResultOk } from './core/predefined/operators/map-result-ok.mjs';
35
+ export { mapTo } from './core/predefined/operators/map-to.mjs';
36
+ export { map } from './core/predefined/operators/map.mjs';
37
+ export { getKey, pluck } from './core/predefined/operators/pluck.mjs';
38
+ export { skip } from './core/predefined/operators/skip.mjs';
39
+ export { take } from './core/predefined/operators/take.mjs';
40
+ export { unwrapOptional } from './core/predefined/operators/unwrap-optional.mjs';
41
+ export { unwrapResultErr } from './core/predefined/operators/unwrap-result-err.mjs';
42
+ export { unwrapResultOk } from './core/predefined/operators/unwrap-result-ok.mjs';
31
43
  import 'ts-data-forge';
32
44
  export { isChildObservable, isManagerObservable, isRootObservable } from './core/types/observable.mjs';
33
45
  export { issueObservableId, issueSubscriberId, issueUpdaterSymbol } from './core/utils/id-maker.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "synstate",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Type-safe State Management Library for TypeScript/JavaScript",
5
5
  "repository": {
6
6
  "type": "git",
@@ -80,10 +80,10 @@ export const combine = <const OS extends NonEmptyArray<Observable<unknown>>>(
80
80
  ) as unknown as CombineObservableRefined<OS>;
81
81
 
82
82
  /**
83
- * Alias for `combine()`.
83
+ * Alias for `combine`.
84
84
  * @see combine
85
85
  */
86
- export const combineLatest = combine; // alias
86
+ export const combineLatest = combine;
87
87
 
88
88
  class CombineObservableClass<const A extends NonEmptyUnknownList>
89
89
  extends SyncChildObservableClass<A, A>
@@ -53,10 +53,10 @@ export function source<A>(...args: readonly A[]): SourceObservable<A> {
53
53
  }
54
54
 
55
55
  /**
56
- * Alias for `source()`. Creates a new Observable source.
56
+ * Alias for `source`. Creates a new Observable source.
57
57
  * @see source
58
58
  */
59
- export const subject = source; // alias
59
+ export const subject = source;
60
60
 
61
61
  class SourceObservableClass<A>
62
62
  extends RootObservableClass<A>
@@ -2,5 +2,6 @@ export * from './class/index.mjs';
2
2
  export * from './combine/index.mjs';
3
3
  export * from './create/index.mjs';
4
4
  export * from './operators/index.mjs';
5
+ export * from './predefined/index.mjs';
5
6
  export * from './types/index.mjs';
6
7
  export * from './utils/index.mjs';
@@ -1,10 +1,4 @@
1
- import {
2
- Optional,
3
- Result,
4
- SafeUint,
5
- asSafeUint,
6
- expectType,
7
- } from 'ts-data-forge';
1
+ import { Optional, SafeUint, asSafeUint, expectType } from 'ts-data-forge';
8
2
  import { SyncChildObservableClass } from '../class/index.mjs';
9
3
  import { source } from '../create/index.mjs';
10
4
  import {
@@ -64,59 +58,6 @@ export const mapWithIndex = <A, B>(
64
58
  mapFn,
65
59
  )) as KeepInitialValueOperator<A, B>;
66
60
 
67
- /* Specialized operators */
68
-
69
- export const map = <A, B>(mapFn: (x: A) => B): KeepInitialValueOperator<A, B> =>
70
- mapWithIndex(mapFn);
71
-
72
- export const mapTo = <A, B>(value: B): KeepInitialValueOperator<A, B> =>
73
- map(() => value);
74
-
75
- export const pluck = <A, K extends keyof A>(
76
- key: K,
77
- ): KeepInitialValueOperator<A, A[K]> => map((a) => a[key]);
78
-
79
- export const getKey = pluck; // alias
80
-
81
- export const attachIndex = <A,>(): KeepInitialValueOperator<
82
- A,
83
- readonly [SafeUint | -1, A]
84
- > => mapWithIndex((a, i) => [i, a] as const);
85
-
86
- export const withIndex = attachIndex; // alias
87
-
88
- export const unwrapOptional = <
89
- O extends UnknownOptional,
90
- >(): KeepInitialValueOperator<O, Optional.Unwrap<O> | undefined> =>
91
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
92
- map(Optional.unwrap as Fn<O, Optional.Unwrap<O> | undefined>);
93
-
94
- export const unwrapResultOk = <
95
- R extends UnknownResult,
96
- >(): KeepInitialValueOperator<R, Result.UnwrapOk<R> | undefined> =>
97
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
98
- map(Result.unwrapOk as Fn<R, Result.UnwrapOk<R> | undefined>);
99
-
100
- export const unwrapResultErr = <
101
- R extends UnknownResult,
102
- >(): KeepInitialValueOperator<R, Result.UnwrapErr<R> | undefined> =>
103
- map(Result.unwrapErr as Fn<R, Result.UnwrapErr<R> | undefined>);
104
-
105
- export const mapOptional = <O extends UnknownOptional, B>(
106
- mapFn: (x: Optional.Unwrap<O>) => B,
107
- ): KeepInitialValueOperator<O, Optional<B>> =>
108
- map((a) => Optional.map(a, mapFn));
109
-
110
- export const mapResultOk = <R extends UnknownResult, S2>(
111
- mapFn: (x: Result.UnwrapOk<R>) => S2,
112
- ): KeepInitialValueOperator<R, Result<S2, Result.UnwrapErr<R>>> =>
113
- map((a) => Result.map(a, mapFn));
114
-
115
- export const mapResultErr = <R extends UnknownResult, E2>(
116
- mapFn: (x: Result.UnwrapErr<R>) => E2,
117
- ): KeepInitialValueOperator<R, Result<Result.UnwrapOk<R>, E2>> =>
118
- map((a) => Result.mapErr(a, mapFn));
119
-
120
61
  /* implementation */
121
62
 
122
63
  class MapWithIndexObservableClass<A, B>
@@ -166,7 +107,7 @@ if (import.meta.vitest !== undefined) {
166
107
  {
167
108
  const s: Observable<number> = source<number>();
168
109
 
169
- const _d1 = s.pipe(map((x) => x + 1));
110
+ const _d1 = s.pipe(mapWithIndex((x, i) => x + i));
170
111
 
171
112
  expectType<typeof _d1, Observable<number>>('=');
172
113
  }
@@ -176,7 +117,7 @@ if (import.meta.vitest !== undefined) {
176
117
 
177
118
  const m: InitializedObservable<number> = s.pipe(withInitialValue(0));
178
119
 
179
- const _d = m.pipe(map((x) => x + 1));
120
+ const _d = m.pipe(mapWithIndex((x, i) => x + i));
180
121
 
181
122
  expectType<typeof _d, InitializedObservable<number>>('=');
182
123
  }
@@ -84,7 +84,7 @@ export const mergeMap =
84
84
  new MergeMapObservableClass(parentObservable, mapToObservable);
85
85
 
86
86
  /**
87
- * Alias for `mergeMap()`.
87
+ * Alias for `mergeMap`.
88
88
  * @see mergeMap
89
89
  */
90
90
  export const flatMap = mergeMap;
@@ -67,10 +67,10 @@ export const skipIfNoChange = <A,>(
67
67
  )) as KeepInitialValueOperator<A, A>;
68
68
 
69
69
  /**
70
- * Alias for `skipIfNoChange()`.
70
+ * Alias for `skipIfNoChange`.
71
71
  * @see skipIfNoChange
72
72
  */
73
- export const distinctUntilChanged = skipIfNoChange; // alias
73
+ export const distinctUntilChanged = skipIfNoChange;
74
74
 
75
75
  class SkipIfNoChangeObservableClass<A>
76
76
  extends SyncChildObservableClass<A, readonly [A]>
@@ -1,10 +1,4 @@
1
- import {
2
- Optional,
3
- PositiveSafeInt,
4
- SafeUint,
5
- asSafeUint,
6
- pipe,
7
- } from 'ts-data-forge';
1
+ import { Optional, SafeUint, asSafeUint, pipe } from 'ts-data-forge';
8
2
  import { SyncChildObservableClass } from '../class/index.mjs';
9
3
  import {
10
4
  type DropInitialValueOperator,
@@ -68,15 +62,6 @@ export const skipWhile =
68
62
  (parentObservable) =>
69
63
  new SkipWhileObservableClass(parentObservable, predicate);
70
64
 
71
- /* Specialized operators */
72
-
73
- export const skip = <A,>(
74
- n: PositiveSafeIntWithSmallInt,
75
- ): DropInitialValueOperator<A, A> =>
76
- !PositiveSafeInt.is(n) ? idFn : skipWhile((_, index) => index + 1 <= n);
77
-
78
- const idFn = <T,>(value: T): T => value;
79
-
80
65
  /* implementation */
81
66
 
82
67
  class SkipWhileObservableClass<A>
@@ -70,12 +70,6 @@ export const takeWhile =
70
70
  (parentObservable) =>
71
71
  new TakeWhileObservableClass(parentObservable, predicate);
72
72
 
73
- /* Specialized operators */
74
-
75
- export const take = <A,>(
76
- n: PositiveSafeIntWithSmallInt,
77
- ): DropInitialValueOperator<A, A> => takeWhile((_, index) => index + 1 <= n);
78
-
79
73
  /* implementation */
80
74
 
81
75
  class TakeWhileObservableClass<A>
@@ -133,7 +127,7 @@ if (import.meta.vitest !== undefined) {
133
127
  {
134
128
  const s: Observable<number> = source<number>();
135
129
 
136
- const _d1 = s.pipe(take(3));
130
+ const _d1 = s.pipe(takeWhile((_, index) => index + 1 <= 3));
137
131
 
138
132
  expectType<typeof _d1, Observable<number>>('=');
139
133
  }
@@ -143,7 +137,7 @@ if (import.meta.vitest !== undefined) {
143
137
 
144
138
  const m: InitializedObservable<number> = s.pipe(withInitialValue(0));
145
139
 
146
- const _d = m.pipe(take(3));
140
+ const _d = m.pipe(takeWhile((_, index) => index + 1 <= 3));
147
141
 
148
142
  expectType<typeof _d, Observable<number>>('=');
149
143
  }
@@ -71,7 +71,11 @@ export const withBufferedFrom = <A, B>(
71
71
  observable,
72
72
  )) as KeepInitialValueOperator<A, readonly [A, readonly B[]]>;
73
73
 
74
- export const withBuffered = withBufferedFrom; // alias
74
+ /**
75
+ * Alias for `withBufferedFrom`.
76
+ * @see withBufferedFrom
77
+ */
78
+ export const withBuffered = withBufferedFrom;
75
79
 
76
80
  class WithBufferedFromObservableClass<A, B>
77
81
  extends SyncChildObservableClass<readonly [A, readonly B[]], readonly [A]>
@@ -70,7 +70,11 @@ export const withCurrentValueFrom =
70
70
  (parentObservable) =>
71
71
  new WithCurrentValueFromObservableClass(parentObservable, observable);
72
72
 
73
- export const withLatestFrom = withCurrentValueFrom; // alias
73
+ /**
74
+ * Alias for `withCurrentValueFrom`.
75
+ * @see withCurrentValueFrom
76
+ */
77
+ export const withLatestFrom = withCurrentValueFrom;
74
78
 
75
79
  class WithCurrentValueFromObservableClass<A, B>
76
80
  extends SyncChildObservableClass<readonly [A, B], readonly [A]>
@@ -0,0 +1 @@
1
+ export * from './operators/index.mjs';
@@ -0,0 +1,13 @@
1
+ import { mapWithIndex } from '../../operators/index.mjs';
2
+ import { type KeepInitialValueOperator } from '../../types/index.mjs';
3
+
4
+ export const withIndex = <A,>(): KeepInitialValueOperator<
5
+ A,
6
+ readonly [SafeUint | -1, A]
7
+ > => mapWithIndex((a, i) => [i, a] as const);
8
+
9
+ /**
10
+ * Alias for `withIndex`.
11
+ * @see withIndex
12
+ */
13
+ export const attachIndex = withIndex;
@@ -0,0 +1,12 @@
1
+ export * from './attach-index.mjs';
2
+ export * from './map-optional.mjs';
3
+ export * from './map-result-err.mjs';
4
+ export * from './map-result-ok.mjs';
5
+ export * from './map-to.mjs';
6
+ export * from './map.mjs';
7
+ export * from './pluck.mjs';
8
+ export * from './skip.mjs';
9
+ export * from './take.mjs';
10
+ export * from './unwrap-optional.mjs';
11
+ export * from './unwrap-result-err.mjs';
12
+ export * from './unwrap-result-ok.mjs';
@@ -0,0 +1,8 @@
1
+ import { Optional } from 'ts-data-forge';
2
+ import { type KeepInitialValueOperator } from '../../types/index.mjs';
3
+ import { map } from './map.mjs';
4
+
5
+ export const mapOptional = <O extends UnknownOptional, B>(
6
+ mapFn: (x: Optional.Unwrap<O>) => B,
7
+ ): KeepInitialValueOperator<O, Optional<B>> =>
8
+ map((a) => Optional.map(a, mapFn));
@@ -0,0 +1,8 @@
1
+ import { Result } from 'ts-data-forge';
2
+ import { type KeepInitialValueOperator } from '../../types/index.mjs';
3
+ import { map } from './map.mjs';
4
+
5
+ export const mapResultErr = <R extends UnknownResult, E2>(
6
+ mapFn: (x: Result.UnwrapErr<R>) => E2,
7
+ ): KeepInitialValueOperator<R, Result<Result.UnwrapOk<R>, E2>> =>
8
+ map((a) => Result.mapErr(a, mapFn));
@@ -0,0 +1,8 @@
1
+ import { Result } from 'ts-data-forge';
2
+ import { type KeepInitialValueOperator } from '../../types/index.mjs';
3
+ import { map } from './map.mjs';
4
+
5
+ export const mapResultOk = <R extends UnknownResult, S2>(
6
+ mapFn: (x: Result.UnwrapOk<R>) => S2,
7
+ ): KeepInitialValueOperator<R, Result<S2, Result.UnwrapErr<R>>> =>
8
+ map((a) => Result.map(a, mapFn));
@@ -0,0 +1,5 @@
1
+ import { type KeepInitialValueOperator } from '../../types/index.mjs';
2
+ import { map } from './map.mjs';
3
+
4
+ export const mapTo = <A, B>(value: B): KeepInitialValueOperator<A, B> =>
5
+ map(() => value);
@@ -0,0 +1,5 @@
1
+ import { mapWithIndex } from '../../operators/index.mjs';
2
+ import { type KeepInitialValueOperator } from '../../types/index.mjs';
3
+
4
+ export const map = <A, B>(mapFn: (x: A) => B): KeepInitialValueOperator<A, B> =>
5
+ mapWithIndex(mapFn);
@@ -0,0 +1,12 @@
1
+ import { type KeepInitialValueOperator } from '../../types/index.mjs';
2
+ import { map } from './map.mjs';
3
+
4
+ export const pluck = <A, K extends keyof A>(
5
+ key: K,
6
+ ): KeepInitialValueOperator<A, A[K]> => map((a) => a[key]);
7
+
8
+ /**
9
+ * Alias for `pluck`.
10
+ * @see pluck
11
+ */
12
+ export const getKey = pluck;
@@ -0,0 +1,10 @@
1
+ import { PositiveSafeInt } from 'ts-data-forge';
2
+ import { skipWhile } from '../../operators/index.mjs';
3
+ import { type DropInitialValueOperator } from '../../types/index.mjs';
4
+
5
+ export const skip = <A,>(
6
+ n: PositiveSafeIntWithSmallInt,
7
+ ): DropInitialValueOperator<A, A> =>
8
+ !PositiveSafeInt.is(n) ? idFn : skipWhile((_, index) => index + 1 <= n);
9
+
10
+ const idFn = <T,>(value: T): T => value;
@@ -0,0 +1,6 @@
1
+ import { takeWhile } from '../../operators/index.mjs';
2
+ import { type DropInitialValueOperator } from '../../types/index.mjs';
3
+
4
+ export const take = <A,>(
5
+ n: PositiveSafeIntWithSmallInt,
6
+ ): DropInitialValueOperator<A, A> => takeWhile((_, index) => index + 1 <= n);