synstate 3.0.0 → 3.0.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 (148) hide show
  1. package/README.md +1 -1
  2. package/dist/core/base/create-child-observable.d.mts.map +1 -1
  3. package/dist/core/base/create-child-observable.mjs +169 -140
  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 +155 -152
  7. package/dist/core/base/create-observable-base.mjs.map +1 -1
  8. package/dist/core/base/create-root-observable.mjs +48 -34
  9. package/dist/core/base/create-root-observable.mjs.map +1 -1
  10. package/dist/core/base/index.mjs +3 -3
  11. package/dist/core/base/index.mjs.map +1 -1
  12. package/dist/core/combine/combine.mjs +129 -37
  13. package/dist/core/combine/combine.mjs.map +1 -1
  14. package/dist/core/combine/index.mjs +4 -4
  15. package/dist/core/combine/index.mjs.map +1 -1
  16. package/dist/core/combine/merge.mjs +75 -24
  17. package/dist/core/combine/merge.mjs.map +1 -1
  18. package/dist/core/combine/zip.mjs +120 -39
  19. package/dist/core/combine/zip.mjs.map +1 -1
  20. package/dist/core/create/counter.mjs +81 -45
  21. package/dist/core/create/counter.mjs.map +1 -1
  22. package/dist/core/create/from-abortable-promise.mjs +63 -38
  23. package/dist/core/create/from-abortable-promise.mjs.map +1 -1
  24. package/dist/core/create/from-promise.mjs +67 -25
  25. package/dist/core/create/from-promise.mjs.map +1 -1
  26. package/dist/core/create/from-subscribable.mjs +70 -26
  27. package/dist/core/create/from-subscribable.mjs.map +1 -1
  28. package/dist/core/create/index.mjs +8 -8
  29. package/dist/core/create/index.mjs.map +1 -1
  30. package/dist/core/create/just.mjs +36 -13
  31. package/dist/core/create/just.mjs.map +1 -1
  32. package/dist/core/create/source.mjs +15 -19
  33. package/dist/core/create/source.mjs.map +1 -1
  34. package/dist/core/create/timer.mjs +66 -37
  35. package/dist/core/create/timer.mjs.map +1 -1
  36. package/dist/core/index.mjs +6 -41
  37. package/dist/core/index.mjs.map +1 -1
  38. package/dist/core/operators/audit.mjs +126 -39
  39. package/dist/core/operators/audit.mjs.map +1 -1
  40. package/dist/core/operators/debounce.mjs +114 -37
  41. package/dist/core/operators/debounce.mjs.map +1 -1
  42. package/dist/core/operators/filter.mjs +39 -24
  43. package/dist/core/operators/filter.mjs.map +1 -1
  44. package/dist/core/operators/index.mjs +18 -18
  45. package/dist/core/operators/index.mjs.map +1 -1
  46. package/dist/core/operators/map.mjs +74 -26
  47. package/dist/core/operators/map.mjs.map +1 -1
  48. package/dist/core/operators/merge-map.mjs +128 -35
  49. package/dist/core/operators/merge-map.mjs.map +1 -1
  50. package/dist/core/operators/pairwise.mjs +73 -23
  51. package/dist/core/operators/pairwise.mjs.map +1 -1
  52. package/dist/core/operators/scan.mjs +59 -15
  53. package/dist/core/operators/scan.mjs.map +1 -1
  54. package/dist/core/operators/skip-if-no-change.mjs +89 -31
  55. package/dist/core/operators/skip-if-no-change.mjs.map +1 -1
  56. package/dist/core/operators/skip-until.mjs +71 -29
  57. package/dist/core/operators/skip-until.mjs.map +1 -1
  58. package/dist/core/operators/skip-while.mjs +79 -27
  59. package/dist/core/operators/skip-while.mjs.map +1 -1
  60. package/dist/core/operators/switch-map.mjs +118 -31
  61. package/dist/core/operators/switch-map.mjs.map +1 -1
  62. package/dist/core/operators/take-until.mjs +70 -35
  63. package/dist/core/operators/take-until.mjs.map +1 -1
  64. package/dist/core/operators/take-while.mjs +97 -25
  65. package/dist/core/operators/take-while.mjs.map +1 -1
  66. package/dist/core/operators/throttle.mjs +108 -38
  67. package/dist/core/operators/throttle.mjs.map +1 -1
  68. package/dist/core/operators/with-buffered-from.mjs +94 -47
  69. package/dist/core/operators/with-buffered-from.mjs.map +1 -1
  70. package/dist/core/operators/with-current-value-from.mjs +78 -23
  71. package/dist/core/operators/with-current-value-from.mjs.map +1 -1
  72. package/dist/core/operators/with-initial-value.mjs +64 -14
  73. package/dist/core/operators/with-initial-value.mjs.map +1 -1
  74. package/dist/core/predefined/index.mjs +2 -12
  75. package/dist/core/predefined/index.mjs.map +1 -1
  76. package/dist/core/predefined/operators/attach-index.mjs +55 -7
  77. package/dist/core/predefined/operators/attach-index.mjs.map +1 -1
  78. package/dist/core/predefined/operators/index.mjs +12 -12
  79. package/dist/core/predefined/operators/index.mjs.map +1 -1
  80. package/dist/core/predefined/operators/map-optional.mjs +48 -5
  81. package/dist/core/predefined/operators/map-optional.mjs.map +1 -1
  82. package/dist/core/predefined/operators/map-result-err.mjs +48 -5
  83. package/dist/core/predefined/operators/map-result-err.mjs.map +1 -1
  84. package/dist/core/predefined/operators/map-result-ok.mjs +48 -5
  85. package/dist/core/predefined/operators/map-result-ok.mjs.map +1 -1
  86. package/dist/core/predefined/operators/map-to.mjs +41 -6
  87. package/dist/core/predefined/operators/map-to.mjs.map +1 -1
  88. package/dist/core/predefined/operators/pluck.mjs +45 -7
  89. package/dist/core/predefined/operators/pluck.mjs.map +1 -1
  90. package/dist/core/predefined/operators/skip.mjs +49 -6
  91. package/dist/core/predefined/operators/skip.mjs.map +1 -1
  92. package/dist/core/predefined/operators/take.mjs +42 -6
  93. package/dist/core/predefined/operators/take.mjs.map +1 -1
  94. package/dist/core/predefined/operators/unwrap-optional.mjs +43 -8
  95. package/dist/core/predefined/operators/unwrap-optional.mjs.map +1 -1
  96. package/dist/core/predefined/operators/unwrap-result-err.mjs +41 -5
  97. package/dist/core/predefined/operators/unwrap-result-err.mjs.map +1 -1
  98. package/dist/core/predefined/operators/unwrap-result-ok.mjs +43 -8
  99. package/dist/core/predefined/operators/unwrap-result-ok.mjs.map +1 -1
  100. package/dist/core/types/id.mjs +2 -2
  101. package/dist/core/types/id.mjs.map +1 -1
  102. package/dist/core/types/index.mjs +7 -3
  103. package/dist/core/types/index.mjs.map +1 -1
  104. package/dist/core/types/observable-family.d.mts +2 -2
  105. package/dist/core/types/observable-family.d.mts.map +1 -1
  106. package/dist/core/types/observable-family.mjs +10 -2
  107. package/dist/core/types/observable-family.mjs.map +1 -1
  108. package/dist/core/types/observable-kind.mjs +2 -2
  109. package/dist/core/types/observable-kind.mjs.map +1 -1
  110. package/dist/core/types/observable.mjs +14 -6
  111. package/dist/core/types/observable.mjs.map +1 -1
  112. package/dist/core/types/timer.d.mts +11 -1
  113. package/dist/core/types/timer.d.mts.map +1 -1
  114. package/dist/core/types/timer.mjs +2 -2
  115. package/dist/core/types/timer.mjs.map +1 -1
  116. package/dist/core/types/types.mjs +9 -2
  117. package/dist/core/types/types.mjs.map +1 -1
  118. package/dist/core/utils/id-maker.mjs +10 -11
  119. package/dist/core/utils/id-maker.mjs.map +1 -1
  120. package/dist/core/utils/index.mjs +5 -5
  121. package/dist/core/utils/index.mjs.map +1 -1
  122. package/dist/core/utils/max-depth.mjs +7 -4
  123. package/dist/core/utils/max-depth.mjs.map +1 -1
  124. package/dist/core/utils/observable-utils.mjs +4 -7
  125. package/dist/core/utils/observable-utils.mjs.map +1 -1
  126. package/dist/core/utils/utils.mjs +32 -28
  127. package/dist/core/utils/utils.mjs.map +1 -1
  128. package/dist/entry-point.mjs +2 -46
  129. package/dist/entry-point.mjs.map +1 -1
  130. package/dist/index.mjs +3 -46
  131. package/dist/index.mjs.map +1 -1
  132. package/dist/utils/collect-to-array.mjs +8 -13
  133. package/dist/utils/collect-to-array.mjs.map +1 -1
  134. package/dist/utils/create-boolean-state.mjs +47 -22
  135. package/dist/utils/create-boolean-state.mjs.map +1 -1
  136. package/dist/utils/create-event-emitter.mjs +67 -19
  137. package/dist/utils/create-event-emitter.mjs.map +1 -1
  138. package/dist/utils/create-reducer.mjs +54 -16
  139. package/dist/utils/create-reducer.mjs.map +1 -1
  140. package/dist/utils/create-state.mjs +54 -27
  141. package/dist/utils/create-state.mjs.map +1 -1
  142. package/dist/utils/index.mjs +6 -6
  143. package/dist/utils/index.mjs.map +1 -1
  144. package/package.json +14 -12
  145. package/src/core/base/create-child-observable.mts +6 -1
  146. package/src/core/base/create-observable-base.mts +8 -1
  147. package/src/core/types/observable-family.mts +53 -34
  148. package/src/core/types/timer.mts +11 -2
@@ -1 +1 @@
1
- {"version":3,"file":"unwrap-result-err.mjs","sources":["../../../../src/core/predefined/operators/unwrap-result-err.mts"],"sourcesContent":["import { Result, type UnknownResult } from 'ts-data-forge';\nimport { type Fn } from 'ts-type-forge';\nimport { map } from '../../operators/index.mjs';\nimport { type KeepInitialValueOperator } from '../../types/index.mjs';\n\n/**\n * Unwraps the error value from a `Result`, converting `Err(error)` to `error` and `Ok` to `undefined`.\n *\n * @template R - The Result type from the source\n * @returns An operator that unwraps the Err side of Result emissions\n *\n * @example\n * ```ts\n * // Timeline:\n * //\n * // result$ Ok(1) Err(\"fail\") Ok(2)\n * // unwrapped$ undefined \"fail\" undefined\n * //\n * // Explanation:\n * // - unwrapResultErr converts Err(error) to error, and Ok to undefined\n * // - Useful for extracting error values from Result streams\n *\n * const result$ = source<Result<number, string>>();\n *\n * const unwrapped$ = result$.pipe(unwrapResultErr());\n *\n * const valueHistory: (string | undefined)[] = [];\n *\n * unwrapped$.subscribe((v) => {\n * valueHistory.push(v);\n * });\n *\n * result$.next(Result.ok(1));\n *\n * assert.deepStrictEqual(valueHistory, [undefined]);\n *\n * result$.next(Result.err('fail'));\n *\n * assert.deepStrictEqual(valueHistory, [undefined, 'fail']);\n *\n * result$.next(Result.ok(2));\n *\n * assert.deepStrictEqual(valueHistory, [undefined, 'fail', undefined]);\n * ```\n */\nexport const unwrapResultErr = <\n R extends UnknownResult,\n>(): KeepInitialValueOperator<R, Result.UnwrapErr<R> | undefined> =>\n map(Result.unwrapErr as Fn<R, Result.UnwrapErr<R> | undefined>);\n"],"names":[],"mappings":";;;;AA6CO,MAAM,eAAA,GAAkB,MAG7B,GAAA,CAAI,MAAA,CAAO,SAAmD;;;;"}
1
+ {"version":3,"file":"unwrap-result-err.mjs","sourceRoot":"","sources":["../../../../src/core/predefined/operators/unwrap-result-err.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,eAAe,GAAG,GAEmC,EAAE,CAClE,GAAG,CAAC,MAAM,CAAC,SAAmD,CAAC,CAAC"}
@@ -1,11 +1,46 @@
1
1
  import { Result } from 'ts-data-forge';
2
- import '../../utils/id-maker.mjs';
3
- import { map } from '../../operators/map.mjs';
2
+ import { map } from '../../operators/index.mjs';
4
3
 
5
- const unwrapResultOk = () => (
6
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
7
- map(Result.unwrapOk)
8
- );
9
4
 
10
- export { unwrapResultOk };
11
- //# sourceMappingURL=unwrap-result-ok.mjs.map
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+ export const unwrapResultOk = () =>
44
+
45
+ map(Result.unwrapOk);
46
+ //# sourceMappingURL=unwrap-result-ok.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"unwrap-result-ok.mjs","sources":["../../../../src/core/predefined/operators/unwrap-result-ok.mts"],"sourcesContent":["import { Result, type UnknownResult } from 'ts-data-forge';\nimport { type Fn } from 'ts-type-forge';\nimport { map } from '../../operators/index.mjs';\nimport { type KeepInitialValueOperator } from '../../types/index.mjs';\n\n/**\n * Unwraps the success value from a `Result`, converting `Ok(value)` to `value` and `Err` to `undefined`.\n *\n * @template R - The Result type from the source\n * @returns An operator that unwraps the Ok side of Result emissions\n *\n * @example\n * ```ts\n * // Timeline:\n * //\n * // result$ Ok(42) Err(\"e\") Ok(7)\n * // unwrapped$ 42 undefined 7\n * //\n * // Explanation:\n * // - unwrapResultOk converts Ok(value) to value, and Err to undefined\n * // - Useful for extracting success values from Result streams\n *\n * const result$ = source<Result<number, string>>();\n *\n * const unwrapped$ = result$.pipe(unwrapResultOk());\n *\n * const valueHistory: (number | undefined)[] = [];\n *\n * unwrapped$.subscribe((v) => {\n * valueHistory.push(v);\n * });\n *\n * result$.next(Result.ok(42));\n *\n * assert.deepStrictEqual(valueHistory, [42]);\n *\n * result$.next(Result.err('e'));\n *\n * assert.deepStrictEqual(valueHistory, [42, undefined]);\n *\n * result$.next(Result.ok(7));\n *\n * assert.deepStrictEqual(valueHistory, [42, undefined, 7]);\n * ```\n */\nexport const unwrapResultOk = <\n R extends UnknownResult,\n>(): KeepInitialValueOperator<R, Result.UnwrapOk<R> | undefined> =>\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n map(Result.unwrapOk as Fn<R, Result.UnwrapOk<R> | undefined>);\n"],"names":[],"mappings":";;;;AA6CO,MAAM,cAAA,GAAiB;AAAA;AAAA,EAI5B,GAAA,CAAI,OAAO,QAAiD;AAAA;;;;"}
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,oEAAoE;AACpE,GAAG,CAAC,MAAM,CAAC,QAAiD,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
-
2
- //# sourceMappingURL=id.mjs.map
1
+ export {};
2
+ //# sourceMappingURL=id.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"id.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"id.mjs","sourceRoot":"","sources":["../../../src/core/types/id.mts"],"names":[],"mappings":""}
@@ -1,3 +1,7 @@
1
- import 'ts-data-forge';
2
- export { isChildObservable, isManagerObservable, isRootObservable } from './observable.mjs';
3
- //# sourceMappingURL=index.mjs.map
1
+ export * from './id.mjs';
2
+ export * from './observable-family.mjs';
3
+ export * from './observable-kind.mjs';
4
+ export * from './observable.mjs';
5
+ export * from './timer.mjs';
6
+ export * from './types.mjs';
7
+ //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/core/types/index.mts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
@@ -20,14 +20,14 @@ export type WithInitialValueOperatorObservable<A, I = A> = InitializedSyncChildO
20
20
  export type ScanOperatorObservable<A, B> = InitializedSyncChildObservable<B, readonly [A]>;
21
21
  declare namespace SynStateInternals {
22
22
  type Cast<A> = A extends NonEmptyUnknownList ? A : never;
23
- type EveryInitialized<OS extends NonEmptyTuple<Observable<unknown>>> = OS extends NonEmptyTuple<InitializedObservable<unknown>> ? true : false;
23
+ export type EveryInitialized<OS extends NonEmptyTuple<Observable<unknown>>> = OS extends NonEmptyTuple<InitializedObservable<unknown>> ? true : false;
24
24
  type IsInitialized<O> = readonly [O] extends readonly [
25
25
  InitializedObservable<unknown>
26
26
  ] ? true : false;
27
27
  /** Evaluates true | false as true instead of boolean */
28
28
  type LogicalValue<B extends boolean> = readonly [B] extends readonly [true] ? true : readonly [B] extends readonly [false] ? false : true;
29
29
  type SomeInitializedImpl<OS extends Observable<unknown>> = LogicalValue<OS extends OS ? IsInitialized<OS> : never>;
30
- type SomeInitialized<OS extends NonEmptyTuple<Observable<unknown>>> = SomeInitializedImpl<OS[number]>;
30
+ export type SomeInitialized<OS extends NonEmptyTuple<Observable<unknown>>> = SomeInitializedImpl<OS[number]>;
31
31
  type InitializedCombineObservableImpl<A extends NonEmptyUnknownList> = InitializedSyncChildObservable<A, A>;
32
32
  export type CombineObservableImpl<A extends NonEmptyUnknownList> = SyncChildObservable<A, A>;
33
33
  export type CombineObservableRefinedImpl<OS extends NonEmptyTuple<Observable<unknown>>> = EveryInitialized<OS> extends true ? InitializedCombineObservableImpl<Cast<Unwrap<OS>>> : CombineObservableImpl<Unwrap<OS>>;
@@ -1 +1 @@
1
- {"version":3,"file":"observable-family.d.mts","sourceRoot":"","sources":["../../../src/core/types/observable-family.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observable-family.d.mts","sourceRoot":"","sources":["../../../src/core/types/observable-family.mts"],"names":[],"mappings":"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"}
@@ -1,2 +1,10 @@
1
- import 'ts-data-forge';
2
- //# sourceMappingURL=observable-family.mjs.map
1
+
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+ //# sourceMappingURL=observable-family.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"observable-family.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"observable-family.mjs","sourceRoot":"","sources":["../../../src/core/types/observable-family.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAe,MAAM,eAAe,CAAC;AAsIxD,UAAU,CACR,GAAG,CACJ,CAAC;AAEF,UAAU,CAGR,GAAG,CAAC,CAAC;AAEP,UAAU,CAKR,GAAG,CAAC,CAAC;AAEP,UAAU,CAKR,GAAG,CAAC,CAAC;AAEP,UAAU,CACR,GAAG,CACJ,CAAC;AAEF,UAAU,CAGR,GAAG,CAAC,CAAC;AAEP,UAAU,CAKR,GAAG,CAAC,CAAC;AAEP,UAAU,CAKR,GAAG,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
-
2
- //# sourceMappingURL=observable-kind.mjs.map
1
+ export {};
2
+ //# sourceMappingURL=observable-kind.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"observable-kind.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"observable-kind.mjs","sourceRoot":"","sources":["../../../src/core/types/observable-kind.mts"],"names":[],"mappings":""}
@@ -1,8 +1,16 @@
1
- import 'ts-data-forge';
2
1
 
3
- const isManagerObservable = (obs) => obs.kind !== "sync child";
4
- const isRootObservable = (obs) => obs.kind === "root";
5
- const isChildObservable = (obs) => obs.kind === "sync child" || obs.kind === "async child";
2
+ export const isManagerObservable = (obs) => obs.kind !== 'sync child';
3
+ export const isRootObservable = (obs) => obs.kind === 'root';
4
+ export const isChildObservable = (obs) => obs.kind === 'sync child' || obs.kind === 'async child';
6
5
 
7
- export { isChildObservable, isManagerObservable, isRootObservable };
8
- //# sourceMappingURL=observable.mjs.map
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+ //# sourceMappingURL=observable.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"observable.mjs","sources":["../../../src/core/types/observable.mts"],"sourcesContent":["import { expectType, type Optional, type Some } from 'ts-data-forge';\nimport { type FixedLengthTuple, type StrictOmit } from 'ts-type-forge';\nimport { type ObservableId, type UpdateToken } from './id.mjs';\nimport { type ObservableKind } from './observable-kind.mjs';\nimport { type NonEmptyUnknownList, type Subscription } from './types.mjs';\n\n/**\n * Inheritance\n *\n * ```txt\n * ObservableBase\n * |\n * +- SyncChildObservable \\ \\\n * | +-- ChildObservable \\\n * +- AsyncChildObservable X +-- Observable\n * | +-- ManagerObservable /\n * +- RootObservableType / /\n * ```\n */\n\ntype CreateObservableType<A, Kind extends ObservableKind> = Readonly<{\n id: ObservableId;\n kind: Kind;\n\n // reactive dependency tree structure\n depth: ObservableKind extends 'root' ? 0 : number;\n addChild: <B>(child: ChildObservable<B>) => void;\n\n // state\n getSnapshot: () => Optional<A>;\n isCompleted: boolean;\n updateToken: UpdateToken;\n hasSubscriber: boolean;\n hasChild: boolean;\n hasActiveChild: () => boolean;\n\n tryUpdate: (updateToken: UpdateToken) => void;\n tryComplete: () => void;\n complete: () => void;\n subscribe: (onNext: (v: A) => void, onComplete?: () => void) => Subscription;\n\n pipe: PipeMethod<A>;\n}>;\n\n/** @internal */\ntype PipeMethod<A> = (<B>(\n operator: WithInitialValueOperator<A, B>,\n) => InitializedObservable<B>) &\n (<B>(operator: DropInitialValueOperator<A, B>) => Observable<B>) &\n (<B>(operator: KeepInitialValueOperator<A, B>) => Observable<B>);\n\nexport type ObservableBase<A> = CreateObservableType<A, ObservableKind>;\n\n/** @internal */\nnamespace ObservableTypeConverter {\n export type ToInitialized<\n A,\n O extends CreateObservableType<A, ObservableKind>,\n > = StrictOmit<O, 'pipe' | 'getSnapshot'> &\n Readonly<{\n getSnapshot: () => Some<A>;\n\n pipe: PipeMethodForInitialized<A>;\n }>;\n\n type PipeMethodForInitialized<A> = (<B>(\n operator: WithInitialValueOperator<A, B>,\n ) => InitializedObservable<B>) &\n (<B>(operator: DropInitialValueOperator<A, B>) => Observable<B>) &\n (<B>(operator: KeepInitialValueOperator<A, B>) => InitializedObservable<B>);\n\n export type ToChild<\n A,\n O extends CreateObservableType<A, ObservableKind>,\n P extends NonEmptyUnknownList = NonEmptyUnknownList,\n > = O &\n Readonly<{\n parents: Wrap<P>;\n }>;\n\n export type ToManager<\n A,\n O extends CreateObservableType<A, 'async child' | 'root'>,\n > = O &\n Readonly<{\n addDescendant: <B>(child: ChildObservable<B>) => void;\n }>;\n}\n\nexport type SyncChildObservable<\n A,\n P extends NonEmptyUnknownList = NonEmptyUnknownList,\n> = ObservableTypeConverter.ToChild<\n A,\n CreateObservableType<A, 'sync child'>,\n P\n>;\n\nexport type InitializedSyncChildObservable<\n A,\n P extends NonEmptyUnknownList = NonEmptyUnknownList,\n> = ObservableTypeConverter.ToInitialized<A, SyncChildObservable<A, P>>;\n\nexport type AsyncChildObservable<\n A,\n P extends NonEmptyUnknownList = NonEmptyUnknownList,\n> = ObservableTypeConverter.ToManager<\n A,\n ObservableTypeConverter.ToChild<A, CreateObservableType<A, 'async child'>, P>\n>;\n\nexport type InitializedAsyncChildObservable<\n A,\n P extends NonEmptyUnknownList = NonEmptyUnknownList,\n> = ObservableTypeConverter.ToInitialized<A, AsyncChildObservable<A, P>>;\n\nexport type ChildObservable<\n A,\n P extends NonEmptyUnknownList = NonEmptyUnknownList,\n> = AsyncChildObservable<A, P> | SyncChildObservable<A, P>;\n\nexport type RootObservable<A> = ObservableTypeConverter.ToManager<\n A,\n CreateObservableType<A, 'root'>\n>;\n\nexport type InitializedRootObservable<A> =\n ObservableTypeConverter.ToInitialized<A, RootObservable<A>>;\n\nexport type Observable<A> =\n AsyncChildObservable<A> | RootObservable<A> | SyncChildObservable<A>;\n\nexport type InitializedObservable<A> =\n | InitializedAsyncChildObservable<A>\n | InitializedRootObservable<A>\n | InitializedSyncChildObservable<A>;\n\nexport type ManagerObservable<A> = AsyncChildObservable<A> | RootObservable<A>;\n\n/* operator types */\n\n/** Type of operator that converts Observable to InitializedObservable */\nexport type WithInitialValueOperator<A, B> = (\n src: Observable<A>,\n) => InitializedObservable<B>;\n\n/** Type of operator that converts Observable to non-initialized Observable */\nexport type DropInitialValueOperator<A, B> = (\n src: InitializedObservable<A> | Observable<A>,\n) => Observable<B>;\n\n/** Type of operator that preserves whether Observable has initial value */\nexport type KeepInitialValueOperator<A, B> = (\n src: InitializedObservable<A>,\n) => InitializedObservable<B>;\n\nexport type Operator<A, B> =\n | WithInitialValueOperator<A, B>\n | DropInitialValueOperator<A, B>\n | KeepInitialValueOperator<A, B>;\n\nexport const isManagerObservable = <A,>(\n obs: Observable<A>,\n): obs is ManagerObservable<A> => obs.kind !== 'sync child';\n\nexport const isRootObservable = <A,>(\n obs: Observable<A>,\n): obs is RootObservable<A> => obs.kind === 'root';\n\nexport const isChildObservable = <A,>(\n obs: Observable<A>,\n): obs is ChildObservable<A> =>\n obs.kind === 'sync child' || obs.kind === 'async child';\n\nexport type ObservableValue<A> = A extends Observable<infer B> ? B : never;\n\nexport type Unwrap<A extends readonly Observable<unknown>[]> = Readonly<{\n [P in keyof A]: ObservableValue<A[P]>;\n}>;\n\nexport type Wrap<A extends readonly unknown[]> = Readonly<{\n [P in keyof A]: Observable<A[P]>;\n}>;\n\nexport type WrapInitialized<A extends readonly unknown[]> = Readonly<{\n [P in keyof A]: InitializedObservable<A[P]>;\n}>;\n\n// type GetDestTypeOfOperator<Op extends Operator<unknown, unknown>> =\n// Op extends Operator<unknown, infer B> ? B : never;\n\nexpectType<keyof AsyncChildObservable<unknown>, 'addDescendant'>('>=');\n\nexpectType<keyof RootObservable<unknown>, 'addDescendant'>('>=');\n\nexpectType<Unwrap<Wrap<readonly [1, 2, 3]>>, readonly [1, 2, 3]>('=');\n\nexpectType<number, ObservableValue<Observable<number>>>('<=');\n\nexpectType<number, ObservableValue<Observable<string>>>('!<=');\n\nexpectType<\n readonly [number, string],\n Unwrap<readonly [Observable<number>, Observable<string>]>\n>('<=');\n\nexpectType<number, ObservableValue<Observable<string>>>('!<=');\n\nexpectType<\n FixedLengthTuple<2, Observable<number>>,\n Wrap<FixedLengthTuple<2, number>>\n>('<=');\n\nexpectType<\n readonly [Observable<number>, Observable<string>],\n Wrap<FixedLengthTuple<2, number>>\n>('!<=');\n"],"names":[],"mappings":";;AAiKO,MAAM,mBAAA,GAAsB,CACjC,GAAA,KACgC,GAAA,CAAI,IAAA,KAAS;AAExC,MAAM,gBAAA,GAAmB,CAC9B,GAAA,KAC6B,GAAA,CAAI,IAAA,KAAS;MAE/B,oBAAoB,CAC/B,GAAA,KAEA,IAAI,IAAA,KAAS,YAAA,IAAgB,IAAI,IAAA,KAAS;;;;"}
1
+ {"version":3,"file":"observable.mjs","sourceRoot":"","sources":["../../../src/core/types/observable.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA4B,MAAM,eAAe,CAAC;AAiKrE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,GAAkB,EACW,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC;AAE5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,GAAkB,EACQ,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;AAEnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,GAAkB,EACS,EAAE,CAC7B,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC;AAgB1D,sEAAsE;AACtE,uDAAuD;AAEvD,UAAU,CAAuD,IAAI,CAAC,CAAC;AAEvE,UAAU,CAAiD,IAAI,CAAC,CAAC;AAEjE,UAAU,CAAuD,GAAG,CAAC,CAAC;AAEtE,UAAU,CAA8C,IAAI,CAAC,CAAC;AAE9D,UAAU,CAA8C,KAAK,CAAC,CAAC;AAE/D,UAAU,CAGR,IAAI,CAAC,CAAC;AAER,UAAU,CAA8C,KAAK,CAAC,CAAC;AAE/D,UAAU,CAGR,IAAI,CAAC,CAAC;AAER,UAAU,CAGR,KAAK,CAAC,CAAC"}
@@ -1,2 +1,12 @@
1
- export type TimerId = ReturnType<typeof setTimeout>;
1
+ /**
2
+ * Timer handle for Node.js / browser compatibility.
3
+ *
4
+ * Defined by what `clearTimeout` accepts rather than by what `setTimeout`
5
+ * returns. The two are not the same type under the strict standard library:
6
+ * `setTimeout` there returns `{} | null`, which `clearTimeout`'s
7
+ * `number | undefined` parameter rejects. Every use of this type here is a
8
+ * handle on its way to `clearTimeout` / `clearInterval`, so the consumer's
9
+ * side is the one that has to fit.
10
+ */
11
+ export type TimerId = NonNullable<Parameters<typeof clearTimeout>[0]>;
2
12
  //# sourceMappingURL=timer.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"timer.d.mts","sourceRoot":"","sources":["../../../src/core/types/timer.mts"],"names":[],"mappings":"AACA,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"timer.d.mts","sourceRoot":"","sources":["../../../src/core/types/timer.mts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
-
2
- //# sourceMappingURL=timer.mjs.map
1
+ export {};
2
+ //# sourceMappingURL=timer.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"timer.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"timer.mjs","sourceRoot":"","sources":["../../../src/core/types/timer.mts"],"names":[],"mappings":""}
@@ -1,2 +1,9 @@
1
- import 'ts-data-forge';
2
- //# sourceMappingURL=types.mjs.map
1
+
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+ //# sourceMappingURL=types.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.mjs","sourceRoot":"","sources":["../../../src/core/types/types.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAc,MAAM,eAAe,CAAC;AA0BvD,aAAa;AAEb,UAAU,CAGR,GAAG,CAAC,CAAC;AAEP,0BAA0B;AAC1B,UAAU,CAAoC,IAAI,CAAC,CAAC;AAEpD,UAAU,CAAoC,KAAK,CAAC,CAAC;AAErD,UAAU,CAAsC,KAAK,CAAC,CAAC;AAEvD,UAAU,CAAsC,KAAK,CAAC,CAAC"}
@@ -1,16 +1,15 @@
1
1
  function* idMaker() {
2
- let mut_i = 0;
3
- while (true) {
4
- yield Symbol(mut_i.toString());
5
- mut_i += 1;
6
- }
2
+ let mut_i = 0;
3
+ while (true) {
4
+
5
+ yield Symbol(mut_i.toString());
6
+ mut_i += 1;
7
+ }
7
8
  }
8
9
  const observableIdMaker = idMaker();
9
10
  const subscriberIdMaker = idMaker();
10
11
  const updateTokenMaker = idMaker();
11
- const issueObservableId = () => observableIdMaker.next().value;
12
- const issueSubscriberId = () => subscriberIdMaker.next().value;
13
- const issueUpdateToken = () => updateTokenMaker.next().value;
14
-
15
- export { issueObservableId, issueSubscriberId, issueUpdateToken };
16
- //# sourceMappingURL=id-maker.mjs.map
12
+ export const issueObservableId = () => observableIdMaker.next().value;
13
+ export const issueSubscriberId = () => subscriberIdMaker.next().value;
14
+ export const issueUpdateToken = () => updateTokenMaker.next().value;
15
+ //# sourceMappingURL=id-maker.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"id-maker.mjs","sources":["../../../src/core/utils/id-maker.mts"],"sourcesContent":["import {\n type ObservableId,\n type SubscriberId,\n type UpdateToken,\n} from '../types/index.mjs';\n\nfunction* idMaker<T extends symbol>(): Generator<T, T, T> {\n let mut_i = 0;\n\n while (true) {\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n yield Symbol(mut_i.toString()) as T;\n\n mut_i += 1;\n }\n}\n\nconst observableIdMaker = idMaker<ObservableId>();\n\nconst subscriberIdMaker = idMaker<SubscriberId>();\n\nconst updateTokenMaker = idMaker<UpdateToken>();\n\nexport const issueObservableId = (): ObservableId =>\n observableIdMaker.next().value;\n\nexport const issueSubscriberId = (): SubscriberId =>\n subscriberIdMaker.next().value;\n\nexport const issueUpdateToken = (): UpdateToken =>\n updateTokenMaker.next().value;\n"],"names":[],"mappings":"AAMA,UAAU,OAAA,GAAgD;AACxD,EAAA,IAAI,KAAA,GAAQ,CAAA;AAEZ,EAAA,OAAO,IAAA,EAAM;AAEX,IAAA,MAAM,MAAA,CAAO,KAAA,CAAM,QAAA,EAAU,CAAA;AAE7B,IAAA,KAAA,IAAS,CAAA;AAAA,EACX;AACF;AAEA,MAAM,oBAAoB,OAAA,EAAsB;AAEhD,MAAM,oBAAoB,OAAA,EAAsB;AAEhD,MAAM,mBAAmB,OAAA,EAAqB;AAEvC,MAAM,iBAAA,GAAoB,MAC/B,iBAAA,CAAkB,IAAA,EAAK,CAAE;AAEpB,MAAM,iBAAA,GAAoB,MAC/B,iBAAA,CAAkB,IAAA,EAAK,CAAE;AAEpB,MAAM,gBAAA,GAAmB,MAC9B,gBAAA,CAAiB,IAAA,EAAK,CAAE;;;;"}
1
+ {"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,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,5 +1,5 @@
1
- export { issueObservableId, issueSubscriberId, issueUpdateToken } from './id-maker.mjs';
2
- export { maxDepth } from './max-depth.mjs';
3
- export { toSubscriber } from './observable-utils.mjs';
4
- export { binarySearch, halfInt } from './utils.mjs';
5
- //# sourceMappingURL=index.mjs.map
1
+ export * from './id-maker.mjs';
2
+ export * from './max-depth.mjs';
3
+ export * from './observable-utils.mjs';
4
+ export * from './utils.mjs';
5
+ //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/core/utils/index.mts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC"}
@@ -1,6 +1,9 @@
1
- import { pipe, Arr, Optional } from 'ts-data-forge';
1
+ import { Arr, Optional, pipe } from 'ts-data-forge';
2
+ export const maxDepth = (parents) => pipe(Arr.maxBy(parents, (p) => p.depth))
2
3
 
3
- const maxDepth = (parents) => pipe(Arr.maxBy(parents, (p) => p.depth)).mapOptional((o) => o.depth).map(Optional.unwrapOr(0)).value;
4
4
 
5
- export { maxDepth };
6
- //# sourceMappingURL=max-depth.mjs.map
5
+
6
+
7
+ .mapOptional((o) => o.depth)
8
+ .map(Optional.unwrapOr(0)).value;
9
+ //# sourceMappingURL=max-depth.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"max-depth.mjs","sources":["../../../src/core/utils/max-depth.mts"],"sourcesContent":["import { Arr, Optional, pipe } from 'ts-data-forge';\nimport { type Observable } from '../types/index.mjs';\n\nexport const maxDepth = (parents: readonly Observable<unknown>[]): number =>\n pipe(Arr.maxBy(parents, (p) => p.depth))\n // Explicit return type + non-curried `Optional.unwrapOr` call: TypeScript\n // 7 (native)'s inference for this chained generic call resolves to\n // `unknown` without them, even though TypeScript <= 6.0's checker\n // resolves this fine.\n .mapOptional((o): number => o.depth)\n .map(Optional.unwrapOr(0)).value;\n"],"names":[],"mappings":";;AAGO,MAAM,QAAA,GAAW,CAAC,OAAA,KACvB,IAAA,CAAK,GAAA,CAAI,MAAM,OAAA,EAAS,CAAC,CAAA,KAAM,CAAA,CAAE,KAAK,CAAC,EAKpC,WAAA,CAAY,CAAC,CAAA,KAAc,CAAA,CAAE,KAAK,CAAA,CAClC,IAAI,QAAA,CAAS,QAAA,CAAS,CAAC,CAAC,CAAA,CAAE;;;;"}
1
+ {"version":3,"file":"max-depth.mjs","sourceRoot":"","sources":["../../../src/core/utils/max-depth.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGpD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,OAAuC,EAAU,EAAE,CAC1E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACtC,0EAA0E;IAC1E,mEAAmE;IACnE,kEAAkE;IAClE,sBAAsB;KACrB,WAAW,CAAC,CAAC,CAAC,EAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;KACnC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC"}
@@ -1,8 +1,5 @@
1
- const toSubscriber = (onNext, onComplete) => ({
2
- onNext,
3
- onComplete: onComplete ?? (() => {
4
- })
1
+ export const toSubscriber = (onNext, onComplete) => ({
2
+ onNext,
3
+ onComplete: onComplete ?? (() => { }),
5
4
  });
6
-
7
- export { toSubscriber };
8
- //# sourceMappingURL=observable-utils.mjs.map
5
+ //# sourceMappingURL=observable-utils.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"observable-utils.mjs","sources":["../../../src/core/utils/observable-utils.mts"],"sourcesContent":["import { type Subscriber } from '../types/index.mjs';\n\nexport const toSubscriber = <A,>(\n onNext: (v: A) => void,\n onComplete?: () => void,\n): Subscriber<A> =>\n ({\n onNext,\n onComplete: onComplete ?? (() => {}),\n }) as const;\n"],"names":[],"mappings":"AAEO,MAAM,YAAA,GAAe,CAC1B,MAAA,EACA,UAAA,MAEC;AAAA,EACC,MAAA;AAAA,EACA,UAAA,EAAY,eAAe,MAAM;AAAA,EAAC,CAAA;AACpC,CAAA;;;;"}
1
+ {"version":3,"file":"observable-utils.mjs","sourceRoot":"","sources":["../../../src/core/utils/observable-utils.mts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,MAAsB,EACtB,UAAuB,EACR,EAAE,CACjB,CAAC;IACC,MAAM;IACN,UAAU,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;CACrC,CAAU,CAAC"}
@@ -1,31 +1,35 @@
1
- import { asUint32, Arr, asSafeInt, SafeInt } from 'ts-data-forge';
1
+ import { Arr, asSafeInt, asUint32, SafeInt } from 'ts-data-forge';
2
+ export const halfInt = (x) => x % 2 === 0
3
+ ? SafeInt.div(x, 2)
4
+ : x > 0
5
+ ? SafeInt.div(SafeInt.sub(x, 1), 2)
6
+ : SafeInt.div(SafeInt.add(x, 1), 2);
2
7
 
3
- const halfInt = (x) => x % 2 === 0 ? SafeInt.div(x, 2) : x > 0 ? SafeInt.div(SafeInt.sub(x, 1), 2) : SafeInt.div(SafeInt.add(x, 1), 2);
4
- const binarySearch = (sortedArray, x) => {
5
- const uint32Result = asUint32(0);
6
- if (Arr.isEmpty(sortedArray)) {
7
- return uint32Result;
8
- }
9
- const left0 = asSafeInt(0);
10
- let mut_left = left0;
11
- let mut_right = SafeInt.sub(Arr.length(sortedArray), 1);
12
- let mut_mid = SafeInt.add(
13
- mut_left,
14
- halfInt(SafeInt.sub(mut_right, mut_left))
15
- );
16
- while (mut_left <= mut_right) {
17
- const curr = sortedArray[mut_mid];
18
- if (x === curr) break;
19
- if (curr === void 0) break;
20
- if (curr > x) {
21
- mut_right = SafeInt.sub(mut_mid, 1);
22
- } else {
23
- mut_left = SafeInt.add(mut_mid, 1);
8
+ export const binarySearch = (sortedArray, x) => {
9
+ const uint32Result = asUint32(0);
10
+ if (Arr.isEmpty(sortedArray)) {
11
+ return uint32Result;
12
+ }
13
+ const left0 = asSafeInt(0);
14
+ let mut_left = left0;
15
+ let mut_right = SafeInt.sub(Arr.length(sortedArray), 1);
16
+ let mut_mid = SafeInt.add(mut_left, halfInt(SafeInt.sub(mut_right, mut_left)));
17
+
18
+ while (mut_left <= mut_right) {
19
+ const curr = sortedArray[mut_mid];
20
+ if (x === curr)
21
+ break;
22
+ if (curr === undefined)
23
+ break;
24
+ if (curr > x) {
25
+ mut_right = SafeInt.sub(mut_mid, 1);
26
+ }
27
+ else {
28
+ mut_left = SafeInt.add(mut_mid, 1);
29
+ }
30
+ mut_mid = SafeInt.add(mut_left, halfInt(SafeInt.sub(mut_right, mut_left)));
24
31
  }
25
- mut_mid = SafeInt.add(mut_left, halfInt(SafeInt.sub(mut_right, mut_left)));
26
- }
27
- return mut_mid;
28
- };
29
32
 
30
- export { binarySearch, halfInt };
31
- //# sourceMappingURL=utils.mjs.map
33
+ return mut_mid;
34
+ };
35
+ //# sourceMappingURL=utils.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","sources":["../../../src/core/utils/utils.mts"],"sourcesContent":["import { Arr, asSafeInt, asUint32, SafeInt } from 'ts-data-forge';\nimport { type NegativeInt32, type Uint32 } from 'ts-type-forge';\n\nexport const halfInt = (x: SafeInt): SafeInt =>\n x % 2 === 0\n ? SafeInt.div(x, 2)\n : x > 0\n ? SafeInt.div(SafeInt.sub(x, 1), 2) // (x-1) / 2. e.g. 3 -> 1, 5 -> 2\n : SafeInt.div(SafeInt.add(x, 1), 2); // (x+1) / 2. e.g. -3 -> -1, -5 -> -2\n\n/** Returns the position where x should be inserted in a sorted array. */\nexport const binarySearch = <N extends number>(\n sortedArray: readonly N[],\n x: N,\n): NegativeInt32 | Uint32 => {\n const uint32Result = asUint32(0);\n\n if (Arr.isEmpty(sortedArray)) {\n return uint32Result;\n }\n\n const left0 = asSafeInt(0);\n\n let mut_left: SafeInt = left0;\n\n let mut_right: SafeInt = SafeInt.sub(Arr.length(sortedArray), 1);\n\n let mut_mid: SafeInt = SafeInt.add(\n mut_left,\n halfInt(SafeInt.sub(mut_right, mut_left)),\n );\n\n // loop while x is in the range of [left, right)\n while (mut_left <= mut_right) {\n const curr = sortedArray[mut_mid];\n\n if (x === curr) break;\n\n if (curr === undefined) break;\n\n if (curr > x) {\n mut_right = SafeInt.sub(mut_mid, 1);\n } else {\n mut_left = SafeInt.add(mut_mid, 1);\n }\n\n mut_mid = SafeInt.add(mut_left, halfInt(SafeInt.sub(mut_right, mut_left)));\n }\n\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n return mut_mid as NegativeInt32 | Uint32;\n};\n"],"names":[],"mappings":";;AAGO,MAAM,OAAA,GAAU,CAAC,CAAA,KACtB,CAAA,GAAI,CAAA,KAAM,CAAA,GACN,OAAA,CAAQ,GAAA,CAAI,CAAA,EAAG,CAAC,CAAA,GAChB,CAAA,GAAI,CAAA,GACF,OAAA,CAAQ,GAAA,CAAI,OAAA,CAAQ,GAAA,CAAI,CAAA,EAAG,CAAC,CAAA,EAAG,CAAC,CAAA,GAChC,OAAA,CAAQ,GAAA,CAAI,OAAA,CAAQ,GAAA,CAAI,CAAA,EAAG,CAAC,GAAG,CAAC;AAGjC,MAAM,YAAA,GAAe,CAC1B,WAAA,EACA,CAAA,KAC2B;AAC3B,EAAA,MAAM,YAAA,GAAe,SAAS,CAAC,CAAA;AAE/B,EAAA,IAAI,GAAA,CAAI,OAAA,CAAQ,WAAW,CAAA,EAAG;AAC5B,IAAA,OAAO,YAAA;AAAA,EACT;AAEA,EAAA,MAAM,KAAA,GAAQ,UAAU,CAAC,CAAA;AAEzB,EAAA,IAAI,QAAA,GAAoB,KAAA;AAExB,EAAA,IAAI,YAAqB,OAAA,CAAQ,GAAA,CAAI,IAAI,MAAA,CAAO,WAAW,GAAG,CAAC,CAAA;AAE/D,EAAA,IAAI,UAAmB,OAAA,CAAQ,GAAA;AAAA,IAC7B,QAAA;AAAA,IACA,OAAA,CAAQ,OAAA,CAAQ,GAAA,CAAI,SAAA,EAAW,QAAQ,CAAC;AAAA,GAC1C;AAGA,EAAA,OAAO,YAAY,SAAA,EAAW;AAC5B,IAAA,MAAM,IAAA,GAAO,YAAY,OAAO,CAAA;AAEhC,IAAA,IAAI,MAAM,IAAA,EAAM;AAEhB,IAAA,IAAI,SAAS,MAAA,EAAW;AAExB,IAAA,IAAI,OAAO,CAAA,EAAG;AACZ,MAAA,SAAA,GAAY,OAAA,CAAQ,GAAA,CAAI,OAAA,EAAS,CAAC,CAAA;AAAA,IACpC,CAAA,MAAO;AACL,MAAA,QAAA,GAAW,OAAA,CAAQ,GAAA,CAAI,OAAA,EAAS,CAAC,CAAA;AAAA,IACnC;AAEA,IAAA,OAAA,GAAU,OAAA,CAAQ,IAAI,QAAA,EAAU,OAAA,CAAQ,QAAQ,GAAA,CAAI,SAAA,EAAW,QAAQ,CAAC,CAAC,CAAA;AAAA,EAC3E;AAGA,EAAA,OAAO,OAAA;AACT;;;;"}
1
+ {"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;YAAE,MAAM;QAEtB,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM;QAE9B,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,oEAAoE;IACpE,OAAO,OAAiC,CAAC;AAC3C,CAAC,CAAC"}
@@ -1,46 +1,2 @@
1
- export { combine, combineLatest } from './core/combine/combine.mjs';
2
- export { merge } from './core/combine/merge.mjs';
3
- export { zip } from './core/combine/zip.mjs';
4
- export { counter } from './core/create/counter.mjs';
5
- export { fromAbortablePromise } from './core/create/from-abortable-promise.mjs';
6
- export { fromPromise } from './core/create/from-promise.mjs';
7
- export { fromSubscribable } from './core/create/from-subscribable.mjs';
8
- export { just } from './core/create/just.mjs';
9
- export { source } from './core/create/source.mjs';
10
- export { timer } from './core/create/timer.mjs';
11
- export { audit } from './core/operators/audit.mjs';
12
- export { debounce } from './core/operators/debounce.mjs';
13
- export { filter } from './core/operators/filter.mjs';
14
- export { map } from './core/operators/map.mjs';
15
- export { flatMap, mergeMap } from './core/operators/merge-map.mjs';
16
- export { pairwise } from './core/operators/pairwise.mjs';
17
- export { scan } from './core/operators/scan.mjs';
18
- export { distinctUntilChanged, skipIfNoChange } from './core/operators/skip-if-no-change.mjs';
19
- export { skipUntil } from './core/operators/skip-until.mjs';
20
- export { skipWhile } from './core/operators/skip-while.mjs';
21
- export { switchMap } from './core/operators/switch-map.mjs';
22
- export { takeUntil } from './core/operators/take-until.mjs';
23
- export { takeWhile } from './core/operators/take-while.mjs';
24
- export { throttle } from './core/operators/throttle.mjs';
25
- export { withBuffered, withBufferedFrom } from './core/operators/with-buffered-from.mjs';
26
- export { withCurrentValueFrom, withLatestFrom } from './core/operators/with-current-value-from.mjs';
27
- export { withInitialValue } from './core/operators/with-initial-value.mjs';
28
- export { attachIndex, withIndex } from './core/predefined/operators/attach-index.mjs';
29
- export { mapOptional } from './core/predefined/operators/map-optional.mjs';
30
- export { mapResultErr } from './core/predefined/operators/map-result-err.mjs';
31
- export { mapResultOk } from './core/predefined/operators/map-result-ok.mjs';
32
- export { mapTo } from './core/predefined/operators/map-to.mjs';
33
- export { getKey, pluck } from './core/predefined/operators/pluck.mjs';
34
- export { skip } from './core/predefined/operators/skip.mjs';
35
- export { take } from './core/predefined/operators/take.mjs';
36
- export { unwrapOptional } from './core/predefined/operators/unwrap-optional.mjs';
37
- export { unwrapResultErr } from './core/predefined/operators/unwrap-result-err.mjs';
38
- export { unwrapResultOk } from './core/predefined/operators/unwrap-result-ok.mjs';
39
- import 'ts-data-forge';
40
- export { isChildObservable, isManagerObservable, isRootObservable } from './core/types/observable.mjs';
41
- export { collectToArray } from './utils/collect-to-array.mjs';
42
- export { createBooleanState } from './utils/create-boolean-state.mjs';
43
- export { createEventEmitter, createValueEmitter } from './utils/create-event-emitter.mjs';
44
- export { createReducer } from './utils/create-reducer.mjs';
45
- export { createState } from './utils/create-state.mjs';
46
- //# sourceMappingURL=entry-point.mjs.map
1
+ export * from './index.mjs';
2
+ //# sourceMappingURL=entry-point.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"entry-point.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"entry-point.mjs","sourceRoot":"","sources":["../src/entry-point.mts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
package/dist/index.mjs CHANGED
@@ -1,46 +1,3 @@
1
- export { combine, combineLatest } from './core/combine/combine.mjs';
2
- export { merge } from './core/combine/merge.mjs';
3
- export { zip } from './core/combine/zip.mjs';
4
- export { counter } from './core/create/counter.mjs';
5
- export { fromAbortablePromise } from './core/create/from-abortable-promise.mjs';
6
- export { fromPromise } from './core/create/from-promise.mjs';
7
- export { fromSubscribable } from './core/create/from-subscribable.mjs';
8
- export { just } from './core/create/just.mjs';
9
- export { source } from './core/create/source.mjs';
10
- export { timer } from './core/create/timer.mjs';
11
- export { audit } from './core/operators/audit.mjs';
12
- export { debounce } from './core/operators/debounce.mjs';
13
- export { filter } from './core/operators/filter.mjs';
14
- export { map } from './core/operators/map.mjs';
15
- export { flatMap, mergeMap } from './core/operators/merge-map.mjs';
16
- export { pairwise } from './core/operators/pairwise.mjs';
17
- export { scan } from './core/operators/scan.mjs';
18
- export { distinctUntilChanged, skipIfNoChange } from './core/operators/skip-if-no-change.mjs';
19
- export { skipUntil } from './core/operators/skip-until.mjs';
20
- export { skipWhile } from './core/operators/skip-while.mjs';
21
- export { switchMap } from './core/operators/switch-map.mjs';
22
- export { takeUntil } from './core/operators/take-until.mjs';
23
- export { takeWhile } from './core/operators/take-while.mjs';
24
- export { throttle } from './core/operators/throttle.mjs';
25
- export { withBuffered, withBufferedFrom } from './core/operators/with-buffered-from.mjs';
26
- export { withCurrentValueFrom, withLatestFrom } from './core/operators/with-current-value-from.mjs';
27
- export { withInitialValue } from './core/operators/with-initial-value.mjs';
28
- export { attachIndex, withIndex } from './core/predefined/operators/attach-index.mjs';
29
- export { mapOptional } from './core/predefined/operators/map-optional.mjs';
30
- export { mapResultErr } from './core/predefined/operators/map-result-err.mjs';
31
- export { mapResultOk } from './core/predefined/operators/map-result-ok.mjs';
32
- export { mapTo } from './core/predefined/operators/map-to.mjs';
33
- export { getKey, pluck } from './core/predefined/operators/pluck.mjs';
34
- export { skip } from './core/predefined/operators/skip.mjs';
35
- export { take } from './core/predefined/operators/take.mjs';
36
- export { unwrapOptional } from './core/predefined/operators/unwrap-optional.mjs';
37
- export { unwrapResultErr } from './core/predefined/operators/unwrap-result-err.mjs';
38
- export { unwrapResultOk } from './core/predefined/operators/unwrap-result-ok.mjs';
39
- import 'ts-data-forge';
40
- export { isChildObservable, isManagerObservable, isRootObservable } from './core/types/observable.mjs';
41
- export { collectToArray } from './utils/collect-to-array.mjs';
42
- export { createBooleanState } from './utils/create-boolean-state.mjs';
43
- export { createEventEmitter, createValueEmitter } from './utils/create-event-emitter.mjs';
44
- export { createReducer } from './utils/create-reducer.mjs';
45
- export { createState } from './utils/create-state.mjs';
46
- //# sourceMappingURL=index.mjs.map
1
+ export * from './core/index.mjs';
2
+ export * from './utils/index.mjs';
3
+ //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
@@ -1,14 +1,9 @@
1
- const collectToArray = (observable) => new Promise((resolve) => {
2
- const mut_buffer = [];
3
- observable.subscribe(
4
- (value) => {
5
- mut_buffer.push(value);
6
- },
7
- () => {
8
- resolve(mut_buffer);
9
- }
10
- );
1
+ export const collectToArray = (observable) => new Promise((resolve) => {
2
+ const mut_buffer = [];
3
+ observable.subscribe((value) => {
4
+ mut_buffer.push(value);
5
+ }, () => {
6
+ resolve(mut_buffer);
7
+ });
11
8
  });
12
-
13
- export { collectToArray };
14
- //# sourceMappingURL=collect-to-array.mjs.map
9
+ //# sourceMappingURL=collect-to-array.mjs.map