semantic-typescript 0.5.3 → 0.6.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 (42) hide show
  1. package/dist/asynchronous/collector.d.ts +231 -0
  2. package/dist/asynchronous/collector.js +800 -0
  3. package/dist/asynchronous/semantic.d.ts +257 -0
  4. package/dist/asynchronous/semantic.js +1853 -0
  5. package/dist/factory.d.ts +71 -37
  6. package/dist/factory.js +443 -262
  7. package/dist/guard.d.ts +24 -14
  8. package/dist/guard.js +73 -19
  9. package/dist/hook.d.ts +6 -6
  10. package/dist/hook.js +2 -2
  11. package/dist/index.d.ts +2 -2
  12. package/dist/index.js +2 -2
  13. package/dist/optional.d.ts +2 -2
  14. package/dist/symbol.d.ts +19 -10
  15. package/dist/symbol.js +19 -10
  16. package/dist/synchronous/collector.d.ts +232 -0
  17. package/dist/{collector.js → synchronous/collector.js} +160 -151
  18. package/dist/{semantic.d.ts → synchronous/semantic.d.ts} +111 -120
  19. package/dist/{semantic.js → synchronous/semantic.js} +299 -337
  20. package/dist/utility.d.ts +7 -1
  21. package/dist/utility.js +1 -0
  22. package/package.json +1 -1
  23. package/readme.cn.md +158 -697
  24. package/readme.de.md +163 -432
  25. package/readme.es.md +163 -433
  26. package/readme.fr.md +162 -444
  27. package/readme.jp.md +162 -442
  28. package/readme.kr.md +161 -430
  29. package/readme.md +157 -1009
  30. package/readme.ru.md +161 -426
  31. package/readme.tw.md +161 -436
  32. package/dist/collector.d.ts +0 -236
  33. package/dist/main.d.ts +0 -1
  34. package/dist/main.js +0 -4
  35. package/dist/map.d.ts +0 -76
  36. package/dist/map.js +0 -245
  37. package/dist/node.d.ts +0 -182
  38. package/dist/node.js +0 -918
  39. package/dist/set.d.ts +0 -19
  40. package/dist/set.js +0 -65
  41. package/dist/tree.d.ts +0 -82
  42. package/dist/tree.js +0 -257
package/dist/guard.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- import type { Collectable, OrderedCollectable, Statistics, UnorderedCollectable, WindowCollectable } from "./semantic";
2
- import type { Collector } from "./collector";
1
+ import type { AsynchronousCollector } from "./asynchronous/collector";
2
+ import type { AsynchronousBigIntStatistics, AsynchronousNumericStatistics, AsynchronousOrderedCollectable, AsynchronousSemantic, AsynchronousStatistics, AsynchronousUnorderedCollectable, AsynchronousWindowCollectable } from "./asynchronous/semantic";
3
3
  import type { Optional } from "./optional";
4
- import type { Semantic } from "./semantic";
4
+ import type { SynchronousCollector } from "./synchronous/collector";
5
+ import type { SynchronousBigIntStatistics, SynchronousNumericStatistics, SynchronousOrderedCollectable, SynchronousSemantic, SynchronousStatistics, SynchronousUnorderedCollectable, SynchronousWindowCollectable } from "./synchronous/semantic";
5
6
  import type { AsyncFunction, MaybePrimitive, Primitive } from "./utility";
6
7
  export declare let isBoolean: (target: unknown) => target is boolean;
7
8
  export declare let isString: (target: unknown) => target is string;
@@ -11,18 +12,27 @@ export declare let isObject: (target: unknown) => target is object;
11
12
  export declare let isSymbol: (target: unknown) => target is symbol;
12
13
  export declare let isBigInt: (target: unknown) => target is bigint;
13
14
  export declare let isPrimitive: (target: MaybePrimitive<unknown>) => target is Primitive;
14
- export declare let isAsyncIterable: (target: unknown) => target is Iterable<unknown>;
15
+ export declare let isAsyncIterable: (target: unknown) => target is AsyncIterable<unknown>;
15
16
  export declare let isIterable: (target: unknown) => target is Iterable<unknown>;
16
- export declare let isSemantic: (target: unknown) => target is Semantic<unknown>;
17
- export declare let isCollector: (target: unknown) => target is Collector<unknown, unknown, unknown>;
18
- export declare let isCollectable: (target: unknown) => target is Collectable<unknown>;
19
- export declare let isOrderedCollectable: (target: unknown) => target is OrderedCollectable<unknown>;
20
- export declare let isWindowCollectable: (target: unknown) => target is WindowCollectable<unknown>;
21
- export declare let isUnorderedCollectable: (target: unknown) => target is UnorderedCollectable<unknown>;
22
- export declare let isStatistics: (target: unknown) => target is Statistics<unknown, number | bigint>;
23
- export declare let isNumericStatistics: (target: unknown) => target is Statistics<unknown, number | bigint>;
24
- export declare let isBigIntStatistics: (target: unknown) => target is Statistics<unknown, number | bigint>;
25
- export declare let isOptional: <T>(target: unknown) => target is Optional<T>;
17
+ export declare let isAsynchronousSemantic: (target: unknown) => target is AsynchronousSemantic<unknown>;
18
+ export declare let isSynchronousSemantic: (target: unknown) => target is SynchronousSemantic<unknown>;
19
+ export declare let isAsynchronousCollectable: (target: unknown) => target is AsynchronousSemantic<unknown>;
20
+ export declare let isSynchronousCollectable: (target: unknown) => target is SynchronousSemantic<unknown>;
21
+ export declare let isAsynchronousOrderedCollectable: (target: unknown) => target is AsynchronousOrderedCollectable<unknown>;
22
+ export declare let isSynchronousOrderedCollectable: (target: unknown) => target is SynchronousOrderedCollectable<unknown>;
23
+ export declare let isAsynchronousUnorderedCollectable: (target: unknown) => target is AsynchronousUnorderedCollectable<unknown>;
24
+ export declare let isSynchronousUnorderedCollectable: (target: unknown) => target is SynchronousUnorderedCollectable<unknown>;
25
+ export declare let isAsynchronousStatistics: (target: unknown) => target is AsynchronousStatistics<unknown, number | bigint>;
26
+ export declare let isSynchronousStatistics: (target: unknown) => target is SynchronousStatistics<unknown, number | bigint>;
27
+ export declare let isAsynchronousBigIntStatistics: (target: unknown) => target is AsynchronousBigIntStatistics<unknown>;
28
+ export declare let isSynchronousBigIntStatistics: (target: unknown) => target is SynchronousBigIntStatistics<unknown>;
29
+ export declare let isAsynchronousNumericStatistics: (target: unknown) => target is AsynchronousNumericStatistics<unknown>;
30
+ export declare let isSynchronousNumericStatistics: (target: unknown) => target is SynchronousNumericStatistics<unknown>;
31
+ export declare let isAsynchronousWindowCollectable: (target: unknown) => target is AsynchronousWindowCollectable<unknown>;
32
+ export declare let isSynchronousWindowCollectable: (target: unknown) => target is SynchronousWindowCollectable<unknown>;
33
+ export declare let isSynchronousCollector: (target: unknown) => target is SynchronousCollector<unknown, unknown, unknown>;
34
+ export declare let isAsynchronousCollector: (target: unknown) => target is AsynchronousCollector<unknown, unknown, unknown>;
35
+ export declare let isOptional: (target: unknown) => target is Optional<unknown>;
26
36
  export declare let isPromise: (target: unknown) => target is Promise<unknown>;
27
37
  export declare let isAsyncFunction: (target: unknown) => target is AsyncFunction;
28
38
  export declare let isGeneratorFunction: (target: unknown) => target is Generator<unknown, unknown, unknown>;
package/dist/guard.js CHANGED
@@ -1,4 +1,4 @@
1
- import { BigIntStatisticsSymbol, CollectableSymbol, CollectorsSymbol, NumericStatisticsSymbol, OptionalSymbol, OrderedCollectableSymbol, SemanticSymbol, StatisticsSymbol, UnorderedCollectableSymbol, WindowCollectableSymbol } from "./symbol";
1
+ import { AsynchronousBigIntStatisticsSymbol, AsynchronousCollectorSymbol, AsynchronousNumericStatisticsSymbol, AsynchronousOrderedCollectableSymbol, AsynchronousSemanticSymbol, AsynchronousStatisticsSymbol, AsynchronousUnorderedCollectableSymbol, AsynchronousWindowCollectableSymbol, OptionalSymbol, SynchronousBigIntStatisticsSymbol, SynchronousCollectorSymbol, SynchronousNumericStatisticsSymbol, SynchronousOrderedCollectableSymbol, SynchronousSemanticSymbol, SynchronousStatisticsSymbol, SynchronousUnorderedCollectableSymbol, SynchronousWindowCollectableSymbol } from "./symbol";
2
2
  export let isBoolean = (target) => {
3
3
  return typeof target === "boolean";
4
4
  };
@@ -35,57 +35,111 @@ export let isIterable = (target) => {
35
35
  }
36
36
  return false;
37
37
  };
38
- export let isSemantic = (target) => {
38
+ export let isAsynchronousSemantic = (target) => {
39
39
  if (isObject(target)) {
40
- return Reflect.get(target, "Semantic") === SemanticSymbol;
40
+ return Reflect.get(target, "AsynchronousSemantic") === AsynchronousSemanticSymbol;
41
41
  }
42
42
  return false;
43
43
  };
44
- export let isCollector = (target) => {
44
+ export let isSynchronousSemantic = (target) => {
45
45
  if (isObject(target)) {
46
- return Reflect.get(target, "Collector") === CollectorsSymbol;
46
+ return Reflect.get(target, "SynchronousSemantic") === SynchronousSemanticSymbol;
47
47
  }
48
48
  return false;
49
49
  };
50
- export let isCollectable = (target) => {
50
+ export let isAsynchronousCollectable = (target) => {
51
51
  if (isObject(target)) {
52
- return Reflect.get(target, "Collectable") === CollectableSymbol;
52
+ return Reflect.get(target, "AsynchronousCollectable") === AsynchronousSemanticSymbol || isAsynchronousSemantic(target) || isAsynchronousOrderedCollectable(target) || isAsynchronousUnorderedCollectable(target) || isAsynchronousStatistics(target) || isAsynchronousNumericStatistics(target) || isAsynchronousBigIntStatistics(target) || isAsynchronousWindowCollectable(target);
53
53
  }
54
54
  return false;
55
55
  };
56
- export let isOrderedCollectable = (target) => {
56
+ export let isSynchronousCollectable = (target) => {
57
57
  if (isObject(target)) {
58
- return Reflect.get(target, "OrderedCollectable") === OrderedCollectableSymbol;
58
+ return Reflect.get(target, "SynchronousCollectable") === SynchronousSemanticSymbol || isSynchronousSemantic(target) || isSynchronousOrderedCollectable(target) || isSynchronousUnorderedCollectable(target) || isSynchronousStatistics(target) || isSynchronousNumericStatistics(target) || isSynchronousBigIntStatistics(target) || isSynchronousWindowCollectable(target);
59
59
  }
60
60
  return false;
61
61
  };
62
- export let isWindowCollectable = (target) => {
62
+ export let isAsynchronousOrderedCollectable = (target) => {
63
63
  if (isObject(target)) {
64
- return Reflect.get(target, "WindowCollectable") === WindowCollectableSymbol;
64
+ return Reflect.get(target, "AsynchronousOrderedCollectable") === AsynchronousOrderedCollectableSymbol;
65
65
  }
66
66
  return false;
67
67
  };
68
- export let isUnorderedCollectable = (target) => {
68
+ export let isSynchronousOrderedCollectable = (target) => {
69
69
  if (isObject(target)) {
70
- return Reflect.get(target, "UnorderedCollectable") === UnorderedCollectableSymbol;
70
+ return Reflect.get(target, "SynchronousOrderedCollectable") === SynchronousOrderedCollectableSymbol;
71
71
  }
72
72
  return false;
73
73
  };
74
- export let isStatistics = (target) => {
74
+ export let isAsynchronousUnorderedCollectable = (target) => {
75
75
  if (isObject(target)) {
76
- return Reflect.get(target, "Statistics") === StatisticsSymbol;
76
+ return Reflect.get(target, "AsynchronousUnorderedCollectable") === AsynchronousUnorderedCollectableSymbol;
77
77
  }
78
78
  return false;
79
79
  };
80
- export let isNumericStatistics = (target) => {
80
+ export let isSynchronousUnorderedCollectable = (target) => {
81
81
  if (isObject(target)) {
82
- return Reflect.get(target, "NumericStatistics") === NumericStatisticsSymbol;
82
+ return Reflect.get(target, "SynchronousUnorderedCollectable") === SynchronousUnorderedCollectableSymbol;
83
83
  }
84
84
  return false;
85
85
  };
86
- export let isBigIntStatistics = (target) => {
86
+ export let isAsynchronousStatistics = (target) => {
87
87
  if (isObject(target)) {
88
- return Reflect.get(target, "BigIntStatistics") === BigIntStatisticsSymbol;
88
+ return Reflect.get(target, "AsynchronousStatistics") === AsynchronousStatisticsSymbol;
89
+ }
90
+ return false;
91
+ };
92
+ export let isSynchronousStatistics = (target) => {
93
+ if (isObject(target)) {
94
+ return Reflect.get(target, "SynchronousStatistics") === SynchronousStatisticsSymbol;
95
+ }
96
+ return false;
97
+ };
98
+ export let isAsynchronousBigIntStatistics = (target) => {
99
+ if (isObject(target)) {
100
+ return Reflect.get(target, "AsynchronousBigIntStatistics") === AsynchronousBigIntStatisticsSymbol;
101
+ }
102
+ return false;
103
+ };
104
+ export let isSynchronousBigIntStatistics = (target) => {
105
+ if (isObject(target)) {
106
+ return Reflect.get(target, "SynchronousBigIntStatistics") === SynchronousBigIntStatisticsSymbol;
107
+ }
108
+ return false;
109
+ };
110
+ export let isAsynchronousNumericStatistics = (target) => {
111
+ if (isObject(target)) {
112
+ return Reflect.get(target, "AsynchronousBigIntStatistics") === AsynchronousNumericStatisticsSymbol;
113
+ }
114
+ return false;
115
+ };
116
+ export let isSynchronousNumericStatistics = (target) => {
117
+ if (isObject(target)) {
118
+ return Reflect.get(target, "AsynchronousNumericStatistics") === SynchronousNumericStatisticsSymbol;
119
+ }
120
+ return false;
121
+ };
122
+ export let isAsynchronousWindowCollectable = (target) => {
123
+ if (isObject(target)) {
124
+ return Reflect.get(target, "AsynchronousWindowCollectable") === AsynchronousWindowCollectableSymbol;
125
+ }
126
+ return false;
127
+ };
128
+ export let isSynchronousWindowCollectable = (target) => {
129
+ if (isObject(target)) {
130
+ return Reflect.get(target, "SynchronousWindowCollectable") === SynchronousWindowCollectableSymbol;
131
+ }
132
+ return false;
133
+ };
134
+ export let isSynchronousCollector = (target) => {
135
+ if (isObject(target)) {
136
+ return Reflect.get(target, "SynchronousCollector") === SynchronousCollectorSymbol;
137
+ }
138
+ return false;
139
+ };
140
+ export let isAsynchronousCollector = (target) => {
141
+ if (isObject(target)) {
142
+ return Reflect.get(target, "AsynchronousCollector") === AsynchronousCollectorSymbol;
89
143
  }
90
144
  return false;
91
145
  };
package/dist/hook.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type DeepPropertyKey, type DeepPropertyValue } from "./utility";
2
- import type { Comparator, Generator } from "./utility";
2
+ import type { Comparator, SynchronousGenerator } from "./utility";
3
3
  export declare let useCompare: <T>(t1: T, t2: T) => number;
4
4
  interface UseRandom {
5
5
  <N extends number | bigint>(start: N): N extends number ? number : (N extends bigint ? bigint : never);
@@ -20,12 +20,12 @@ interface UseTraverse {
20
20
  <T extends object>(t: T, callback: UseTraversePathCallback<T>): void;
21
21
  }
22
22
  export declare let useTraverse: UseTraverse;
23
- export declare let useGenerator: <E>(iterable: Iterable<E>) => Generator<E>;
23
+ export declare let useGenerator: <E>(iterable: Iterable<E>) => SynchronousGenerator<E>;
24
24
  interface UseArrange {
25
- <E>(source: Iterable<E>): Generator<E>;
26
- <E>(source: Iterable<E>, comparator: Comparator<E>): Generator<E>;
27
- <E>(source: Generator<E>): Generator<E>;
28
- <E>(source: Generator<E>, comparator: Comparator<E>): Generator<E>;
25
+ <E>(source: Iterable<E>): SynchronousGenerator<E>;
26
+ <E>(source: Iterable<E>, comparator: Comparator<E>): SynchronousGenerator<E>;
27
+ <E>(source: SynchronousGenerator<E>): SynchronousGenerator<E>;
28
+ <E>(source: SynchronousGenerator<E>, comparator: Comparator<E>): SynchronousGenerator<E>;
29
29
  }
30
30
  export declare let useArrange: UseArrange;
31
31
  export declare let useToNumber: <T = unknown>(target: T) => number;
package/dist/hook.js CHANGED
@@ -1,4 +1,4 @@
1
- import { useToArray } from "./collector";
1
+ import { useSynchronousToArray } from "./synchronous/collector";
2
2
  import { isBigInt, isFunction, isIterable, isNumber, isObject, isPrimitive } from "./guard";
3
3
  import { invalidate, validate } from "./utility";
4
4
  export let useCompare = (t1, t2) => {
@@ -210,7 +210,7 @@ export let useArrange = (source, comparator) => {
210
210
  }
211
211
  }
212
212
  else if (isFunction(source)) {
213
- let collector = useToArray();
213
+ let collector = useSynchronousToArray();
214
214
  let buffer = collector.collect(source);
215
215
  if (validate(comparator) && isFunction(comparator)) {
216
216
  return useGenerator(buffer.sort(comparator));
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- export * from "./collector";
1
+ export * from "./asynchronous/collector";
2
+ export * from "./synchronous/collector";
2
3
  export * from "./factory";
3
4
  export * from "./guard";
4
5
  export * from "./hook";
5
6
  export * from "./optional";
6
- export * from "./semantic";
7
7
  export * from "./symbol";
8
8
  export * from "./utility";
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
- export * from "./collector";
1
+ export * from "./asynchronous/collector";
2
+ export * from "./synchronous/collector";
2
3
  export * from "./factory";
3
4
  export * from "./guard";
4
5
  export * from "./hook";
5
6
  export * from "./optional";
6
- export * from "./semantic";
7
7
  export * from "./symbol";
8
8
  export * from "./utility";
@@ -1,4 +1,4 @@
1
- import type { Semantic } from "./semantic";
1
+ import type { SynchronousSemantic } from "./synchronous/semantic";
2
2
  import { type Consumer, type Functional, type MaybeInvalid, type Predicate, type Runnable, type Valid } from "./utility";
3
3
  export declare class Optional<T> {
4
4
  protected value: MaybeInvalid<T>;
@@ -15,7 +15,7 @@ export declare class Optional<T> {
15
15
  flat(mapper: Functional<T, Optional<T>>): Optional<T>;
16
16
  flatMap<R>(mapper: Functional<T, Optional<R>>): Optional<R>;
17
17
  orElse(other: MaybeInvalid<T>): MaybeInvalid<T>;
18
- semantic(): Semantic<T>;
18
+ semantic(): SynchronousSemantic<T>;
19
19
  static empty<T>(): Optional<T>;
20
20
  static of<T>(value: MaybeInvalid<T>): Optional<T>;
21
21
  static ofNullable<T>(value?: MaybeInvalid<T>): Optional<T>;
package/dist/symbol.d.ts CHANGED
@@ -1,11 +1,20 @@
1
1
  export declare let OptionalSymbol: symbol;
2
- export declare let SemanticSymbol: symbol;
3
- export declare let CollectorsSymbol: symbol;
4
- export declare let CollectableSymbol: symbol;
5
- export declare let OrderedCollectableSymbol: symbol;
6
- export declare let WindowCollectableSymbol: symbol;
7
- export declare let StatisticsSymbol: symbol;
8
- export declare let NumericStatisticsSymbol: symbol;
9
- export declare let BigIntStatisticsSymbol: symbol;
10
- export declare let AsyncCollectableSymbol: symbol;
11
- export declare let UnorderedCollectableSymbol: symbol;
2
+ export declare let AsynchronousSemanticSymbol: symbol;
3
+ export declare let SynchronousSemanticSymbol: symbol;
4
+ export declare let AsynchronousCollectorSymbol: symbol;
5
+ export declare let SynchronousCollectorSymbol: symbol;
6
+ export declare let DispatchCollectableSymbol: symbol;
7
+ export declare let AsynchronousCollectableSymbol: symbol;
8
+ export declare let SynchronousCollectableSymbol: symbol;
9
+ export declare let AsynchronousOrderedCollectableSymbol: symbol;
10
+ export declare let SynchronousOrderedCollectableSymbol: symbol;
11
+ export declare let AsynchronousUnorderedCollectableSymbol: symbol;
12
+ export declare let SynchronousUnorderedCollectableSymbol: symbol;
13
+ export declare let AsynchronousWindowCollectableSymbol: symbol;
14
+ export declare let SynchronousWindowCollectableSymbol: symbol;
15
+ export declare let AsynchronousStatisticsSymbol: symbol;
16
+ export declare let SynchronousStatisticsSymbol: symbol;
17
+ export declare let AsynchronousNumericStatisticsSymbol: symbol;
18
+ export declare let SynchronousNumericStatisticsSymbol: symbol;
19
+ export declare let AsynchronousBigIntStatisticsSymbol: symbol;
20
+ export declare let SynchronousBigIntStatisticsSymbol: symbol;
package/dist/symbol.js CHANGED
@@ -1,11 +1,20 @@
1
1
  export let OptionalSymbol = Symbol.for("Optional");
2
- export let SemanticSymbol = Symbol.for("Semantic");
3
- export let CollectorsSymbol = Symbol.for("Collector");
4
- export let CollectableSymbol = Symbol.for("Collectable");
5
- export let OrderedCollectableSymbol = Symbol.for("OrderedCollectable");
6
- export let WindowCollectableSymbol = Symbol.for("WindowCollectable");
7
- export let StatisticsSymbol = Symbol.for("Statistics");
8
- export let NumericStatisticsSymbol = Symbol.for("NumericStatistics");
9
- export let BigIntStatisticsSymbol = Symbol.for("BigIntStatistics");
10
- export let AsyncCollectableSymbol = Symbol.for("AsyncCollectable");
11
- export let UnorderedCollectableSymbol = Symbol.for("UnorderedCollectable");
2
+ export let AsynchronousSemanticSymbol = Symbol.for("AsynchronousSemantic");
3
+ export let SynchronousSemanticSymbol = Symbol.for("SynchronousSemantic");
4
+ export let AsynchronousCollectorSymbol = Symbol.for("AsynchronousCollector");
5
+ export let SynchronousCollectorSymbol = Symbol.for("SynchronousCollector");
6
+ export let DispatchCollectableSymbol = Symbol.for("DispatchCollectable");
7
+ export let AsynchronousCollectableSymbol = Symbol.for("AsynchronousCollectable");
8
+ export let SynchronousCollectableSymbol = Symbol.for("SynchronousCollectable");
9
+ export let AsynchronousOrderedCollectableSymbol = Symbol.for("OrderedAsynchronousCollectable");
10
+ export let SynchronousOrderedCollectableSymbol = Symbol.for("OrderedSynchronousCollectable");
11
+ export let AsynchronousUnorderedCollectableSymbol = Symbol.for("AsynchronousUnorderedCollectable");
12
+ export let SynchronousUnorderedCollectableSymbol = Symbol.for("SynchronousUnorderedCollectable");
13
+ export let AsynchronousWindowCollectableSymbol = Symbol.for("AsynchronousWindowCollectable");
14
+ export let SynchronousWindowCollectableSymbol = Symbol.for("SynchronousWindowCollectable");
15
+ export let AsynchronousStatisticsSymbol = Symbol.for("AsynchronousStatistics");
16
+ export let SynchronousStatisticsSymbol = Symbol.for("AsynchronousStatistics");
17
+ export let AsynchronousNumericStatisticsSymbol = Symbol.for("AsynchronousNumericStatistics");
18
+ export let SynchronousNumericStatisticsSymbol = Symbol.for("SynchronousNumericStatisticsSymbol");
19
+ export let AsynchronousBigIntStatisticsSymbol = Symbol.for("AsynchronousBigIntStatistics");
20
+ export let SynchronousBigIntStatisticsSymbol = Symbol.for("SynchronousBigIntStatisticsSymbol");
@@ -0,0 +1,232 @@
1
+ import { Optional } from "../optional";
2
+ import type { Supplier, Predicate, BiPredicate, TriPredicate, BiFunctional, TriFunctional, Functional, SynchronousGenerator, Comparator, Consumer, BiConsumer } from "../utility";
3
+ export declare class SynchronousCollector<E, A, R> {
4
+ protected identity: Supplier<A>;
5
+ protected interrupt: Predicate<E> | BiPredicate<E, bigint> | TriPredicate<E, bigint, A>;
6
+ protected accumulator: BiFunctional<A, E, A> | TriFunctional<A, E, bigint, A>;
7
+ protected finisher: Functional<A, R>;
8
+ protected readonly SynchronousCollector: symbol;
9
+ protected constructor(identity: Supplier<A>, interrupt: Predicate<E>, accumulator: BiFunctional<A, E, A>, finisher: Functional<A, R>);
10
+ protected constructor(identity: Supplier<A>, interrupt: BiPredicate<E, bigint>, accumulator: BiFunctional<A, E, A>, finisher: Functional<A, R>);
11
+ protected constructor(identity: Supplier<A>, interrupt: Predicate<E>, accumulator: TriFunctional<A, E, bigint, A>, finisher: Functional<A, R>);
12
+ protected constructor(identity: Supplier<A>, interrupt: BiPredicate<E, bigint>, accumulator: TriFunctional<A, E, bigint, A>, finisher: Functional<A, R>);
13
+ collect(generator: SynchronousGenerator<E>): R;
14
+ collect(iterable: Iterable<E>): R;
15
+ collect(start: number, end: number): R;
16
+ collect(start: bigint, end: bigint): R;
17
+ static full<E, A, R>(identity: Supplier<A>, accumulator: BiFunctional<A, E, A>, finisher: Functional<A, R>): SynchronousCollector<E, A, R>;
18
+ static full<E, A, R>(identity: Supplier<A>, accumulator: TriFunctional<A, E, bigint, A>, finisher: Functional<A, R>): SynchronousCollector<E, A, R>;
19
+ static shortable<E, A, R>(identity: Supplier<A>, interrupt: Predicate<E>, accumulator: BiFunctional<A, E, A>, finisher: Functional<A, R>): SynchronousCollector<E, A, R>;
20
+ static shortable<E, A, R>(identity: Supplier<A>, interrupt: Predicate<E>, accumulator: TriFunctional<A, E, bigint, A>, finisher: Functional<A, R>): SynchronousCollector<E, A, R>;
21
+ static shortable<E, A, R>(identity: Supplier<A>, interrupt: BiPredicate<E, bigint>, accumulator: BiFunctional<A, E, A>, finisher: Functional<A, R>): SynchronousCollector<E, A, R>;
22
+ static shortable<E, A, R>(identity: Supplier<A>, interrupt: BiPredicate<E, bigint>, accumulator: TriFunctional<A, E, bigint, A>, finisher: Functional<A, R>): SynchronousCollector<E, A, R>;
23
+ static shortable<E, A, R>(identity: Supplier<A>, interrupt: TriPredicate<E, bigint, A>, accumulator: BiFunctional<A, E, A>, finisher: Functional<A, R>): SynchronousCollector<E, A, R>;
24
+ static shortable<E, A, R>(identity: Supplier<A>, interrupt: TriPredicate<E, bigint, A>, accumulator: TriFunctional<A, E, bigint, A>, finisher: Functional<A, R>): SynchronousCollector<E, A, R>;
25
+ }
26
+ interface UseSynchronousAnyMatch {
27
+ <E>(predicate: Predicate<E>): SynchronousCollector<E, boolean, boolean>;
28
+ <E>(predicate: BiPredicate<E, bigint>): SynchronousCollector<E, boolean, boolean>;
29
+ }
30
+ export declare let useSynchronousAnyMatch: UseSynchronousAnyMatch;
31
+ interface UseSynchronousAllMatch {
32
+ <E>(predicate: Predicate<E>): SynchronousCollector<E, boolean, boolean>;
33
+ <E>(predicate: BiPredicate<E, bigint>): SynchronousCollector<E, boolean, boolean>;
34
+ }
35
+ export declare let useSynchronousAllMatch: UseSynchronousAllMatch;
36
+ interface UseSynchronousCollect {
37
+ <E, A, R>(identity: Supplier<A>, accumulator: BiFunctional<A, E, A>, finisher: Functional<A, R>): SynchronousCollector<E, A, R>;
38
+ <E, A, R>(identity: Supplier<A>, accumulator: TriFunctional<A, E, bigint, A>, finisher: Functional<A, R>): SynchronousCollector<E, A, R>;
39
+ <E, A, R>(identity: Supplier<A>, accumulator: BiFunctional<A, E, A> | TriFunctional<A, E, bigint, A>, finisher: Functional<A, R>): SynchronousCollector<E, A, R>;
40
+ <E, A, R>(identity: Supplier<A>, interrupt: Predicate<E>, accumulator: BiFunctional<A, E, A>, finisher: Functional<A, R>): SynchronousCollector<E, A, R>;
41
+ <E, A, R>(identity: Supplier<A>, interrupt: Predicate<E>, accumulator: TriFunctional<A, E, bigint, A>, finisher: Functional<A, R>): SynchronousCollector<E, A, R>;
42
+ <E, A, R>(identity: Supplier<A>, interrupt: BiPredicate<E, bigint>, accumulator: BiFunctional<A, E, A>, finisher: Functional<A, R>): SynchronousCollector<E, A, R>;
43
+ <E, A, R>(identity: Supplier<A>, interrupt: BiPredicate<E, bigint>, accumulator: TriFunctional<A, E, bigint, A>, finisher: Functional<A, R>): SynchronousCollector<E, A, R>;
44
+ <E, A, R>(identity: Supplier<A>, interrupt: TriPredicate<E, bigint, A>, accumulator: BiFunctional<A, E, A>, finisher: Functional<A, R>): SynchronousCollector<E, A, R>;
45
+ <E, A, R>(identity: Supplier<A>, interrupt: TriPredicate<E, bigint, A>, accumulator: TriFunctional<A, E, bigint, A>, finisher: Functional<A, R>): SynchronousCollector<E, A, R>;
46
+ }
47
+ export declare let useSynchronousCollect: UseSynchronousCollect;
48
+ export declare let useSynchronousCount: <E = unknown>() => SynchronousCollector<E, bigint, bigint>;
49
+ interface UseSynchronousError {
50
+ <E = unknown>(): SynchronousCollector<E, string, string>;
51
+ <E = unknown>(accumulator: BiFunctional<string, E, string>): SynchronousCollector<E, string, string>;
52
+ <E = unknown>(accumulator: TriFunctional<string, E, bigint, string>): SynchronousCollector<E, string, string>;
53
+ <E = unknown>(prefix: string, accumulator: BiFunctional<string, E, string>, suffix: string): SynchronousCollector<E, string, string>;
54
+ <E = unknown>(prefix: string, accumulator: TriFunctional<string, E, bigint, string>, suffix: string): SynchronousCollector<E, string, string>;
55
+ }
56
+ export declare let useSynchronousError: UseSynchronousError;
57
+ interface UseSynchronousFindAt {
58
+ <E>(index: number): SynchronousCollector<E, Array<E>, Optional<E>>;
59
+ <E>(index: bigint): SynchronousCollector<E, Array<E>, Optional<E>>;
60
+ }
61
+ export declare let useSynchronousFindAt: UseSynchronousFindAt;
62
+ export declare let useSynchronousFindFirst: <E>() => SynchronousCollector<E, Optional<E>, Optional<E>>;
63
+ export declare let useSynchronousFindAny: <E>() => SynchronousCollector<E, Optional<E>, Optional<E>>;
64
+ export declare let useSynchronousFindLast: <E>() => SynchronousCollector<E, Optional<E>, Optional<E>>;
65
+ interface UseSynchronousFindMaximum {
66
+ <E>(): SynchronousCollector<E, Optional<E>, Optional<E>>;
67
+ <E>(comparator: Comparator<E>): SynchronousCollector<E, Optional<E>, Optional<E>>;
68
+ }
69
+ export declare let useSynchronousFindMaximum: UseSynchronousFindMaximum;
70
+ interface UseSynchronousFindMinimum {
71
+ <E>(): SynchronousCollector<E, Optional<E>, Optional<E>>;
72
+ <E>(comparator: Comparator<E>): SynchronousCollector<E, Optional<E>, Optional<E>>;
73
+ }
74
+ export declare let useSynchronousFindMinimum: UseSynchronousFindMinimum;
75
+ interface UseSynchronousForEach {
76
+ <E>(action: Consumer<E>): SynchronousCollector<E, bigint, bigint>;
77
+ <E>(action: BiConsumer<E, bigint>): SynchronousCollector<E, bigint, bigint>;
78
+ }
79
+ export declare let useSynchronousForEach: UseSynchronousForEach;
80
+ interface UseSynchronousNonMatch {
81
+ <E>(predicate: Predicate<E>): SynchronousCollector<E, boolean, boolean>;
82
+ <E>(predicate: BiPredicate<E, bigint>): SynchronousCollector<E, boolean, boolean>;
83
+ }
84
+ export declare let useSynchronousNoneMatch: UseSynchronousNonMatch;
85
+ interface UseSynchronousGroup {
86
+ <E, K>(classifier: Functional<E, K>): SynchronousCollector<E, Map<K, E[]>, Map<K, E[]>>;
87
+ <E, K>(classifier: BiFunctional<E, bigint, K>): SynchronousCollector<E, Map<K, E[]>, Map<K, E[]>>;
88
+ }
89
+ export declare let useSynchronousGroup: UseSynchronousGroup;
90
+ interface UseSynchronousGroupBy {
91
+ <E, K>(keyExtractor: Functional<E, K>): SynchronousCollector<E, Map<K, E[]>, Map<K, E[]>>;
92
+ <E, K, V>(keyExtractor: Functional<E, K>, valueExtractor: Functional<E, V>): SynchronousCollector<E, Map<K, V[]>, Map<K, V[]>>;
93
+ <E, K, V>(keyExtractor: BiFunctional<E, bigint, K>, valueExtractor: BiFunctional<E, bigint, V>): SynchronousCollector<E, Map<K, V[]>, Map<K, V[]>>;
94
+ }
95
+ export declare let useSynchronousGroupBy: UseSynchronousGroupBy;
96
+ interface UseSynchronousJoin {
97
+ <E = unknown>(): SynchronousCollector<E, string, string>;
98
+ <E = unknown>(delimiter: string): SynchronousCollector<E, string, string>;
99
+ <E = unknown>(prefix: string, delimiter: string, suffix: string): SynchronousCollector<E, string, string>;
100
+ <E = unknown>(prefiex: string, accumulator: BiFunctional<string, E, string>, suffix: string): SynchronousCollector<E, string, string>;
101
+ <E = unknown>(prefiex: string, accumulator: TriFunctional<string, E, bigint, string>, suffix: string): SynchronousCollector<E, string, string>;
102
+ }
103
+ export declare let useSynchronousJoin: UseSynchronousJoin;
104
+ interface UseSynchronousLog {
105
+ <E = unknown>(): SynchronousCollector<E, string, string>;
106
+ <E = unknown>(accumulator: BiFunctional<string, E, string>): SynchronousCollector<E, string, string>;
107
+ <E = unknown>(accumulator: TriFunctional<string, E, bigint, string>): SynchronousCollector<E, string, string>;
108
+ <E = unknown>(prefix: string, accumulator: BiFunctional<string, E, string>, suffix: string): SynchronousCollector<E, string, string>;
109
+ <E = unknown>(prefix: string, accumulator: TriFunctional<string, E, bigint, string>, suffix: string): SynchronousCollector<E, string, string>;
110
+ }
111
+ export declare let useSynchronousLog: UseSynchronousLog;
112
+ export declare let useSynchronousPartition: <E>(count: bigint) => SynchronousCollector<E, Array<Array<E>>, Array<Array<E>>>;
113
+ interface UseSynchronousPartitionBy {
114
+ <E>(classifier: Functional<E, bigint>): SynchronousCollector<E, Array<E[]>, Array<E[]>>;
115
+ <E>(classifier: BiFunctional<E, bigint, bigint>): SynchronousCollector<E, Array<E[]>, Array<E[]>>;
116
+ }
117
+ export declare let useSynchronousPartitionBy: UseSynchronousPartitionBy;
118
+ interface UseSynchronousReduce {
119
+ <E>(accumulator: BiFunctional<E, E, E>): SynchronousCollector<E, Optional<E>, Optional<E>>;
120
+ <E>(accumulator: TriFunctional<E, E, bigint, E>): SynchronousCollector<E, Optional<E>, Optional<E>>;
121
+ <E>(identity: E, accumulator: BiFunctional<E, E, E>): SynchronousCollector<E, E, E>;
122
+ <E>(identity: E, accumulator: TriFunctional<E, E, bigint, E>): SynchronousCollector<E, E, E>;
123
+ <E, R>(identity: R, accumulator: BiFunctional<R, E, R>, finisher: Functional<R, R>): SynchronousCollector<E, R, R>;
124
+ <E, R>(identity: R, accumulator: TriFunctional<R, E, bigint, R>, finisher: Functional<R, R>): SynchronousCollector<E, R, R>;
125
+ }
126
+ export declare let useSynchronousReduce: UseSynchronousReduce;
127
+ export declare let useSynchronousToArray: <E>() => SynchronousCollector<E, E[], E[]>;
128
+ interface UseSynchronousToMap {
129
+ <E, K>(keyExtractor: Functional<E, K>): SynchronousCollector<E, Map<K, E>, Map<K, E>>;
130
+ <E, K, V>(keyExtractor: Functional<E, K>, valueExtractor: Functional<E, V>): SynchronousCollector<E, Map<K, V>, Map<K, V>>;
131
+ <E, K, V>(keyExtractor: BiFunctional<E, bigint, K>, valueExtractor: BiFunctional<E, bigint, V>): SynchronousCollector<E, Map<K, V>, Map<K, V>>;
132
+ }
133
+ export declare let useSynchronousToMap: UseSynchronousToMap;
134
+ export declare let useSynchronousToSet: <E>() => SynchronousCollector<E, Set<E>, Set<E>>;
135
+ interface UseSynchronousWrite {
136
+ <E, S = string>(stream: WritableStream<S>): SynchronousCollector<E, Promise<WritableStream<S>>, Promise<WritableStream<S>>>;
137
+ <E, S = string>(stream: WritableStream<S>, accumulator: BiFunctional<WritableStream<S>, E, WritableStream<S>>): SynchronousCollector<E, Promise<WritableStream<S>>, Promise<WritableStream<S>>>;
138
+ <E, S = string>(stream: WritableStream<S>, accumulator: TriFunctional<WritableStream<S>, E, bigint, WritableStream<S>>): SynchronousCollector<E, Promise<WritableStream<S>>, Promise<WritableStream<S>>>;
139
+ }
140
+ export declare let useSynchronousWrite: UseSynchronousWrite;
141
+ interface UseSynchronousNumericSummate {
142
+ <E>(): SynchronousCollector<E, number, number>;
143
+ <E>(mapper: Functional<E, number>): SynchronousCollector<E, number, number>;
144
+ }
145
+ export declare let useSynchronousNumericSummate: UseSynchronousNumericSummate;
146
+ interface UseSynchronousBigIntSummate {
147
+ <E>(): SynchronousCollector<E, bigint, bigint>;
148
+ <E>(mapper: Functional<E, bigint>): SynchronousCollector<E, bigint, bigint>;
149
+ }
150
+ export declare let useSynchronousBigIntSummate: UseSynchronousBigIntSummate;
151
+ interface UseSynchronousNumericAverage {
152
+ <E>(): SynchronousCollector<E, NumericAverageAccumulator, number>;
153
+ <E>(mapper: Functional<E, number>): SynchronousCollector<E, NumericAverageAccumulator, number>;
154
+ }
155
+ interface NumericAverageAccumulator {
156
+ summate: number;
157
+ count: number;
158
+ }
159
+ export declare let useSynchronousNumericAverage: UseSynchronousNumericAverage;
160
+ interface UseSynchronousBigIntAverage {
161
+ <E>(): SynchronousCollector<E, BigIntAverageAccumulator, bigint>;
162
+ <E>(mapper: Functional<E, bigint>): SynchronousCollector<E, BigIntAverageAccumulator, bigint>;
163
+ }
164
+ interface BigIntAverageAccumulator {
165
+ summate: bigint;
166
+ count: bigint;
167
+ }
168
+ export declare let useSynchronousBigIntAverage: UseSynchronousBigIntAverage;
169
+ export declare let useSynchronousFrequency: <E>() => SynchronousCollector<E, Map<E, bigint>, Map<E, bigint>>;
170
+ interface UseSynchronousNumericMode {
171
+ <E>(): SynchronousCollector<E, Map<number, bigint>, number>;
172
+ <E>(mapper: Functional<E, number>): SynchronousCollector<E, Map<number, bigint>, number>;
173
+ }
174
+ export declare let useSynchronousNumericMode: UseSynchronousNumericMode;
175
+ interface UseSynchronousBigIntMode {
176
+ <E>(): SynchronousCollector<E, Map<bigint, bigint>, bigint>;
177
+ <E>(mapper: Functional<E, bigint>): SynchronousCollector<E, Map<bigint, bigint>, bigint>;
178
+ }
179
+ export declare let useSynchronousBigIntMode: UseSynchronousBigIntMode;
180
+ interface UseSynchronousNumericVariance {
181
+ <E>(): SynchronousCollector<E, VarianceAccumulator, number>;
182
+ <E>(mapper: Functional<E, number>): SynchronousCollector<E, VarianceAccumulator, number>;
183
+ }
184
+ interface VarianceAccumulator {
185
+ summate: number;
186
+ summateOfSquares: number;
187
+ count: number;
188
+ }
189
+ export declare let useSynchronousNumericVariance: UseSynchronousNumericVariance;
190
+ interface UseSynchronousBigIntVariance {
191
+ <E>(): SynchronousCollector<E, BigIntVarianceAccumulator, bigint>;
192
+ <E>(mapper: Functional<E, bigint>): SynchronousCollector<E, BigIntVarianceAccumulator, bigint>;
193
+ }
194
+ interface BigIntVarianceAccumulator {
195
+ summate: bigint;
196
+ summateOfSquares: bigint;
197
+ count: bigint;
198
+ }
199
+ export declare let useSynchronousBigIntVariance: UseSynchronousBigIntVariance;
200
+ interface UseSynchronousNumericStandardDeviation {
201
+ <E>(): SynchronousCollector<E, StandardDeviationAccumulator, number>;
202
+ <E>(mapper: Functional<E, number>): SynchronousCollector<E, StandardDeviationAccumulator, number>;
203
+ }
204
+ interface StandardDeviationAccumulator {
205
+ summate: number;
206
+ summateOfSquares: number;
207
+ count: number;
208
+ }
209
+ export declare let useSynchronousNumericStandardDeviation: UseSynchronousNumericStandardDeviation;
210
+ interface UseSynchronousBigIntStandardDeviation {
211
+ <E>(): SynchronousCollector<E, BigIntStandardDeviationAccumulator, bigint>;
212
+ <E>(mapper: Functional<E, bigint>): SynchronousCollector<E, BigIntStandardDeviationAccumulator, bigint>;
213
+ }
214
+ interface BigIntStandardDeviationAccumulator {
215
+ summate: bigint;
216
+ summateOfSquares: bigint;
217
+ count: bigint;
218
+ }
219
+ export declare let useSynchronousBigIntStandardDeviation: UseSynchronousBigIntStandardDeviation;
220
+ interface UseSynchronousNumericMedian {
221
+ <E>(): SynchronousCollector<E, number[], number>;
222
+ <E>(mapper: Functional<E, number>): SynchronousCollector<E, number[], number>;
223
+ }
224
+ export declare let useSynchronousNumericMedian: UseSynchronousNumericMedian;
225
+ interface UseSynchronousBigIntMedian {
226
+ <E>(): SynchronousCollector<E, bigint[], bigint>;
227
+ <E>(mapper: Functional<E, bigint>): SynchronousCollector<E, bigint[], bigint>;
228
+ }
229
+ export declare let useSynchronousBigIntMedian: UseSynchronousBigIntMedian;
230
+ export declare let useSynchronousToGeneratorFunction: <E>() => SynchronousCollector<E, Array<E>, globalThis.Generator<E, void, undefined>>;
231
+ export declare let useSynchronousToAsyncGeneratorFunction: <E>() => SynchronousCollector<E, Array<E>, globalThis.AsyncGenerator<E, void, undefined>>;
232
+ export {};