semantic-typescript 0.5.0 → 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 (47) 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 +110 -32
  6. package/dist/factory.js +582 -189
  7. package/dist/guard.d.ts +24 -27
  8. package/dist/guard.js +37 -43
  9. package/dist/hook.d.ts +11 -7
  10. package/dist/hook.js +74 -21
  11. package/dist/index.d.ts +2 -3
  12. package/dist/index.js +2 -3
  13. package/dist/optional.d.ts +5 -5
  14. package/dist/optional.js +14 -10
  15. package/dist/symbol.d.ts +19 -23
  16. package/dist/symbol.js +19 -23
  17. package/dist/synchronous/collector.d.ts +232 -0
  18. package/dist/{collector.js → synchronous/collector.js} +160 -170
  19. package/dist/{collectable.d.ts → synchronous/semantic.d.ts} +114 -71
  20. package/dist/{collectable.js → synchronous/semantic.js} +761 -294
  21. package/dist/utility.d.ts +8 -2
  22. package/dist/utility.js +1 -0
  23. package/package.json +1 -1
  24. package/readme.cn.md +158 -697
  25. package/readme.de.md +163 -432
  26. package/readme.es.md +163 -433
  27. package/readme.fr.md +162 -444
  28. package/readme.jp.md +162 -442
  29. package/readme.kr.md +161 -430
  30. package/readme.md +157 -799
  31. package/readme.ru.md +161 -426
  32. package/readme.tw.md +161 -436
  33. package/dist/collector.d.ts +0 -245
  34. package/dist/map.d.ts +0 -76
  35. package/dist/map.js +0 -253
  36. package/dist/node.d.ts +0 -182
  37. package/dist/node.js +0 -918
  38. package/dist/semantic.d.ts +0 -52
  39. package/dist/semantic.js +0 -504
  40. package/dist/set.d.ts +0 -19
  41. package/dist/set.js +0 -65
  42. package/dist/statistics.d.ts +0 -97
  43. package/dist/statistics.js +0 -483
  44. package/dist/tree.d.ts +0 -82
  45. package/dist/tree.js +0 -257
  46. package/dist/window.d.ts +0 -12
  47. package/dist/window.js +0 -72
@@ -0,0 +1,231 @@
1
+ import type { BiFunctional, BiPredicate, Functional, Predicate, Supplier, TriFunctional, TriPredicate, Consumer, BiConsumer, Comparator, AsynchronousGenerator } from "../utility";
2
+ export declare class AsynchronousCollector<E, A, R> {
3
+ protected identity: Supplier<A>;
4
+ protected interrupt: Predicate<E> | BiPredicate<E, bigint> | TriPredicate<E, bigint, A>;
5
+ protected accumulator: BiFunctional<A, E, A> | TriFunctional<A, E, bigint, A>;
6
+ protected finisher: Functional<A, R>;
7
+ protected readonly AsynchronousCollector: symbol;
8
+ protected constructor(identity: Supplier<A>, interrupt: Predicate<E>, accumulator: BiFunctional<A, E, A>, finisher: Functional<A, R>);
9
+ protected constructor(identity: Supplier<A>, interrupt: BiPredicate<E, bigint>, accumulator: BiFunctional<A, E, A>, finisher: Functional<A, R>);
10
+ protected constructor(identity: Supplier<A>, interrupt: Predicate<E>, accumulator: TriFunctional<A, E, bigint, A>, finisher: Functional<A, R>);
11
+ protected constructor(identity: Supplier<A>, interrupt: BiPredicate<E, bigint>, accumulator: TriFunctional<A, E, bigint, A>, finisher: Functional<A, R>);
12
+ collect(generator: AsynchronousGenerator<E>): Promise<R>;
13
+ collect(iterable: AsyncIterable<E>): Promise<R>;
14
+ collect(start: number, end: number): Promise<R>;
15
+ collect(start: bigint, end: bigint): Promise<R>;
16
+ static full<E, A, R>(identity: Supplier<A>, accumulator: BiFunctional<A, E, A>, finisher: Functional<A, R>): AsynchronousCollector<E, A, R>;
17
+ static full<E, A, R>(identity: Supplier<A>, accumulator: TriFunctional<A, E, bigint, A>, finisher: Functional<A, R>): AsynchronousCollector<E, A, R>;
18
+ static shortable<E, A, R>(identity: Supplier<A>, interrupt: Predicate<E>, accumulator: BiFunctional<A, E, A>, finisher: Functional<A, R>): AsynchronousCollector<E, A, R>;
19
+ static shortable<E, A, R>(identity: Supplier<A>, interrupt: Predicate<E>, accumulator: TriFunctional<A, E, bigint, A>, finisher: Functional<A, R>): AsynchronousCollector<E, A, R>;
20
+ static shortable<E, A, R>(identity: Supplier<A>, interrupt: BiPredicate<E, bigint>, accumulator: BiFunctional<A, E, A>, finisher: Functional<A, R>): AsynchronousCollector<E, A, R>;
21
+ static shortable<E, A, R>(identity: Supplier<A>, interrupt: BiPredicate<E, bigint>, accumulator: TriFunctional<A, E, bigint, A>, finisher: Functional<A, R>): AsynchronousCollector<E, A, R>;
22
+ static shortable<E, A, R>(identity: Supplier<A>, interrupt: TriPredicate<E, bigint, A>, accumulator: BiFunctional<A, E, A>, finisher: Functional<A, R>): AsynchronousCollector<E, A, R>;
23
+ static shortable<E, A, R>(identity: Supplier<A>, interrupt: TriPredicate<E, bigint, A>, accumulator: TriFunctional<A, E, bigint, A>, finisher: Functional<A, R>): AsynchronousCollector<E, A, R>;
24
+ }
25
+ interface UseSynchronousAnyMatch {
26
+ <E>(predicate: Predicate<E>): AsynchronousCollector<E, boolean, boolean>;
27
+ <E>(predicate: BiPredicate<E, bigint>): AsynchronousCollector<E, boolean, boolean>;
28
+ }
29
+ export declare let useAsynchronousAnyMatch: UseSynchronousAnyMatch;
30
+ interface UseSynchronousAllMatch {
31
+ <E>(predicate: Predicate<E>): AsynchronousCollector<E, boolean, boolean>;
32
+ <E>(predicate: BiPredicate<E, bigint>): AsynchronousCollector<E, boolean, boolean>;
33
+ }
34
+ export declare let useAsynchronousAllMatch: UseSynchronousAllMatch;
35
+ interface UseSynchronousCollect {
36
+ <E, A, R>(identity: Supplier<A>, accumulator: BiFunctional<A, E, A>, finisher: Functional<A, R>): AsynchronousCollector<E, A, R>;
37
+ <E, A, R>(identity: Supplier<A>, accumulator: TriFunctional<A, E, bigint, A>, finisher: Functional<A, R>): AsynchronousCollector<E, A, R>;
38
+ <E, A, R>(identity: Supplier<A>, accumulator: BiFunctional<A, E, A> | TriFunctional<A, E, bigint, A>, finisher: Functional<A, R>): AsynchronousCollector<E, A, R>;
39
+ <E, A, R>(identity: Supplier<A>, interrupt: Predicate<E>, accumulator: BiFunctional<A, E, A>, finisher: Functional<A, R>): AsynchronousCollector<E, A, R>;
40
+ <E, A, R>(identity: Supplier<A>, interrupt: Predicate<E>, accumulator: TriFunctional<A, E, bigint, A>, finisher: Functional<A, R>): AsynchronousCollector<E, A, R>;
41
+ <E, A, R>(identity: Supplier<A>, interrupt: BiPredicate<E, bigint>, accumulator: BiFunctional<A, E, A>, finisher: Functional<A, R>): AsynchronousCollector<E, A, R>;
42
+ <E, A, R>(identity: Supplier<A>, interrupt: BiPredicate<E, bigint>, accumulator: TriFunctional<A, E, bigint, A>, finisher: Functional<A, R>): AsynchronousCollector<E, A, R>;
43
+ <E, A, R>(identity: Supplier<A>, interrupt: TriPredicate<E, bigint, A>, accumulator: BiFunctional<A, E, A>, finisher: Functional<A, R>): AsynchronousCollector<E, A, R>;
44
+ <E, A, R>(identity: Supplier<A>, interrupt: TriPredicate<E, bigint, A>, accumulator: TriFunctional<A, E, bigint, A>, finisher: Functional<A, R>): AsynchronousCollector<E, A, R>;
45
+ }
46
+ export declare let useAsynchronousCollect: UseSynchronousCollect;
47
+ export declare let useAsynchronousCount: <E = unknown>() => AsynchronousCollector<E, bigint, bigint>;
48
+ interface UseSynchronousError {
49
+ <E = unknown>(): AsynchronousCollector<E, string, string>;
50
+ <E = unknown>(accumulator: BiFunctional<string, E, string>): AsynchronousCollector<E, string, string>;
51
+ <E = unknown>(accumulator: TriFunctional<string, E, bigint, string>): AsynchronousCollector<E, string, string>;
52
+ <E = unknown>(prefix: string, accumulator: BiFunctional<string, E, string>, suffix: string): AsynchronousCollector<E, string, string>;
53
+ <E = unknown>(prefix: string, accumulator: TriFunctional<string, E, bigint, string>, suffix: string): AsynchronousCollector<E, string, string>;
54
+ }
55
+ export declare let useAsynchronousError: UseSynchronousError;
56
+ interface UseSynchronousFindAt {
57
+ <E>(index: number): AsynchronousCollector<E, Array<E>, Promise<E>>;
58
+ <E>(index: bigint): AsynchronousCollector<E, Array<E>, Promise<E>>;
59
+ }
60
+ export declare let useAsynchronousFindAt: UseSynchronousFindAt;
61
+ export declare let useAsynchronousFindFirst: <E>() => AsynchronousCollector<E, Array<E>, Promise<E>>;
62
+ export declare let useAsynchronousFindAny: <E>() => AsynchronousCollector<E, Array<E>, Promise<E>>;
63
+ export declare let useAsynchronousFindLast: <E>() => AsynchronousCollector<E, Array<E>, Promise<E>>;
64
+ interface UseSynchronousFindMaximum {
65
+ <E>(): AsynchronousCollector<E, Promise<E>, Promise<E>>;
66
+ <E>(comparator: Comparator<E>): AsynchronousCollector<E, Promise<E>, Promise<E>>;
67
+ }
68
+ export declare let useAsynchronousFindMaximum: UseSynchronousFindMaximum;
69
+ interface UseSynchronousFindMinimum {
70
+ <E>(): AsynchronousCollector<E, Promise<E>, Promise<E>>;
71
+ <E>(comparator: Comparator<E>): AsynchronousCollector<E, Promise<E>, Promise<E>>;
72
+ }
73
+ export declare let useAsynchronousFindMinimum: UseSynchronousFindMinimum;
74
+ interface UseSynchronousForEach {
75
+ <E>(action: Consumer<E>): AsynchronousCollector<E, bigint, bigint>;
76
+ <E>(action: BiConsumer<E, bigint>): AsynchronousCollector<E, bigint, bigint>;
77
+ }
78
+ export declare let useAsynchronousForEach: UseSynchronousForEach;
79
+ interface UseSynchronousNonMatch {
80
+ <E>(predicate: Predicate<E>): AsynchronousCollector<E, boolean, boolean>;
81
+ <E>(predicate: BiPredicate<E, bigint>): AsynchronousCollector<E, boolean, boolean>;
82
+ }
83
+ export declare let useAsynchronousNoneMatch: UseSynchronousNonMatch;
84
+ interface UseSynchronousGroup {
85
+ <E, K>(classifier: Functional<E, K>): AsynchronousCollector<E, Map<K, E[]>, Map<K, E[]>>;
86
+ <E, K>(classifier: BiFunctional<E, bigint, K>): AsynchronousCollector<E, Map<K, E[]>, Map<K, E[]>>;
87
+ }
88
+ export declare let useAsynchronousGroup: UseSynchronousGroup;
89
+ interface UseSynchronousGroupBy {
90
+ <E, K>(keyExtractor: Functional<E, K>): AsynchronousCollector<E, Map<K, E[]>, Map<K, E[]>>;
91
+ <E, K, V>(keyExtractor: Functional<E, K>, valueExtractor: Functional<E, V>): AsynchronousCollector<E, Map<K, V[]>, Map<K, V[]>>;
92
+ <E, K, V>(keyExtractor: BiFunctional<E, bigint, K>, valueExtractor: BiFunctional<E, bigint, V>): AsynchronousCollector<E, Map<K, V[]>, Map<K, V[]>>;
93
+ }
94
+ export declare let useAsynchronousGroupBy: UseSynchronousGroupBy;
95
+ interface UseSynchronousJoin {
96
+ <E = unknown>(): AsynchronousCollector<E, string, string>;
97
+ <E = unknown>(delimiter: string): AsynchronousCollector<E, string, string>;
98
+ <E = unknown>(prefix: string, delimiter: string, suffix: string): AsynchronousCollector<E, string, string>;
99
+ <E = unknown>(prefiex: string, accumulator: BiFunctional<string, E, string>, suffix: string): AsynchronousCollector<E, string, string>;
100
+ <E = unknown>(prefiex: string, accumulator: TriFunctional<string, E, bigint, string>, suffix: string): AsynchronousCollector<E, string, string>;
101
+ }
102
+ export declare let useAsynchronousJoin: UseSynchronousJoin;
103
+ interface UseSynchronousLog {
104
+ <E = unknown>(): AsynchronousCollector<E, string, string>;
105
+ <E = unknown>(accumulator: BiFunctional<string, E, string>): AsynchronousCollector<E, string, string>;
106
+ <E = unknown>(accumulator: TriFunctional<string, E, bigint, string>): AsynchronousCollector<E, string, string>;
107
+ <E = unknown>(prefix: string, accumulator: BiFunctional<string, E, string>, suffix: string): AsynchronousCollector<E, string, string>;
108
+ <E = unknown>(prefix: string, accumulator: TriFunctional<string, E, bigint, string>, suffix: string): AsynchronousCollector<E, string, string>;
109
+ }
110
+ export declare let useAsynchronousLog: UseSynchronousLog;
111
+ export declare let useAsynchronousPartition: <E>(count: bigint) => AsynchronousCollector<E, Array<Array<E>>, Array<Array<E>>>;
112
+ interface UseSynchronousPartitionBy {
113
+ <E>(classifier: Functional<E, bigint>): AsynchronousCollector<E, Array<E[]>, Array<E[]>>;
114
+ <E>(classifier: BiFunctional<E, bigint, bigint>): AsynchronousCollector<E, Array<E[]>, Array<E[]>>;
115
+ }
116
+ export declare let useAsynchronousPartitionBy: UseSynchronousPartitionBy;
117
+ interface UseSynchronousReduce {
118
+ <E>(accumulator: BiFunctional<E, E, E>): AsynchronousCollector<E, Promise<E>, Promise<E>>;
119
+ <E>(accumulator: TriFunctional<E, E, bigint, E>): AsynchronousCollector<E, Promise<E>, Promise<E>>;
120
+ <E>(identity: E, accumulator: BiFunctional<E, E, E>): AsynchronousCollector<E, E, E>;
121
+ <E>(identity: E, accumulator: TriFunctional<E, E, bigint, E>): AsynchronousCollector<E, E, E>;
122
+ <E, R>(identity: R, accumulator: BiFunctional<R, E, R>, finisher: Functional<R, R>): AsynchronousCollector<E, R, R>;
123
+ <E, R>(identity: R, accumulator: TriFunctional<R, E, bigint, R>, finisher: Functional<R, R>): AsynchronousCollector<E, R, R>;
124
+ }
125
+ export declare let useAsynchronousReduce: UseSynchronousReduce;
126
+ export declare let useAsynchronousToArray: <E>() => AsynchronousCollector<E, E[], E[]>;
127
+ interface UseSynchronousToMap {
128
+ <E, K>(keyExtractor: Functional<E, K>): AsynchronousCollector<E, Map<K, E>, Map<K, E>>;
129
+ <E, K, V>(keyExtractor: Functional<E, K>, valueExtractor: Functional<E, V>): AsynchronousCollector<E, Map<K, V>, Map<K, V>>;
130
+ <E, K, V>(keyExtractor: BiFunctional<E, bigint, K>, valueExtractor: BiFunctional<E, bigint, V>): AsynchronousCollector<E, Map<K, V>, Map<K, V>>;
131
+ }
132
+ export declare let useAsynchronousToMap: UseSynchronousToMap;
133
+ export declare let useAsynchronousToSet: <E>() => AsynchronousCollector<E, Set<E>, Set<E>>;
134
+ interface UseSynchronousWrite {
135
+ <E, S = string>(stream: WritableStream<S>): AsynchronousCollector<E, Promise<WritableStream<S>>, Promise<WritableStream<S>>>;
136
+ <E, S = string>(stream: WritableStream<S>, accumulator: BiFunctional<WritableStream<S>, E, WritableStream<S>>): AsynchronousCollector<E, Promise<WritableStream<S>>, Promise<WritableStream<S>>>;
137
+ <E, S = string>(stream: WritableStream<S>, accumulator: TriFunctional<WritableStream<S>, E, bigint, WritableStream<S>>): AsynchronousCollector<E, Promise<WritableStream<S>>, Promise<WritableStream<S>>>;
138
+ }
139
+ export declare let useAsynchronousWrite: UseSynchronousWrite;
140
+ interface UseSynchronousNumericSummate {
141
+ <E>(): AsynchronousCollector<E, number, number>;
142
+ <E>(mapper: Functional<E, number>): AsynchronousCollector<number, number, number>;
143
+ }
144
+ export declare let useAsynchronousNumericSummate: UseSynchronousNumericSummate;
145
+ interface UseSynchronousBigIntSummate {
146
+ <E>(): AsynchronousCollector<E, bigint, bigint>;
147
+ <E>(mapper: Functional<E, bigint>): AsynchronousCollector<bigint, bigint, bigint>;
148
+ }
149
+ export declare let useAsynchronousBigIntSummate: UseSynchronousBigIntSummate;
150
+ interface UseSynchronousNumericAverage {
151
+ <E>(): AsynchronousCollector<E, NumericAverageAccumulator, number>;
152
+ <E>(mapper: Functional<E, number>): AsynchronousCollector<number, NumericAverageAccumulator, number>;
153
+ }
154
+ interface NumericAverageAccumulator {
155
+ summate: number;
156
+ count: number;
157
+ }
158
+ export declare let useAsynchronousNumericAverage: UseSynchronousNumericAverage;
159
+ interface UseSynchronousBigIntAverage {
160
+ <E>(): AsynchronousCollector<E, BigIntAverageAccumulator, bigint>;
161
+ <E>(mapper: Functional<E, bigint>): AsynchronousCollector<E, BigIntAverageAccumulator, bigint>;
162
+ }
163
+ interface BigIntAverageAccumulator {
164
+ summate: bigint;
165
+ count: bigint;
166
+ }
167
+ export declare let useAsynchronousBigIntAverage: UseSynchronousBigIntAverage;
168
+ export declare let useAsynchronousFrequency: <E>() => AsynchronousCollector<E, Map<E, bigint>, Map<E, bigint>>;
169
+ interface UseSynchronousNumericMode {
170
+ <E>(): AsynchronousCollector<E, Map<number, bigint>, number>;
171
+ <E>(mapper: Functional<E, number>): AsynchronousCollector<E, Map<number, bigint>, number>;
172
+ }
173
+ export declare let useAsynchronousNumericMode: UseSynchronousNumericMode;
174
+ interface UseSynchronousBigIntMode {
175
+ <E>(): AsynchronousCollector<E, Map<bigint, bigint>, bigint>;
176
+ <E>(mapper: Functional<E, bigint>): AsynchronousCollector<E, Map<bigint, bigint>, bigint>;
177
+ }
178
+ export declare let useAsynchronousBigIntMode: UseSynchronousBigIntMode;
179
+ interface UseSynchronousNumericVariance {
180
+ <E>(): AsynchronousCollector<E, VarianceAccumulator, number>;
181
+ <E>(mapper: Functional<E, number>): AsynchronousCollector<E, VarianceAccumulator, number>;
182
+ }
183
+ interface VarianceAccumulator {
184
+ summate: number;
185
+ summateOfSquares: number;
186
+ count: number;
187
+ }
188
+ export declare let useAsynchronousNumericVariance: UseSynchronousNumericVariance;
189
+ interface UseSynchronousBigIntVariance {
190
+ <E>(): AsynchronousCollector<E, BigIntVarianceAccumulator, bigint>;
191
+ <E>(mapper: Functional<E, bigint>): AsynchronousCollector<E, BigIntVarianceAccumulator, bigint>;
192
+ }
193
+ interface BigIntVarianceAccumulator {
194
+ summate: bigint;
195
+ summateOfSquares: bigint;
196
+ count: bigint;
197
+ }
198
+ export declare let useAsynchronousBigIntVariance: UseSynchronousBigIntVariance;
199
+ interface UseSynchronousNumericStandardDeviation {
200
+ <E>(): AsynchronousCollector<E, StandardDeviationAccumulator, number>;
201
+ <E>(mapper: Functional<E, number>): AsynchronousCollector<E, StandardDeviationAccumulator, number>;
202
+ }
203
+ interface StandardDeviationAccumulator {
204
+ summate: number;
205
+ summateOfSquares: number;
206
+ count: number;
207
+ }
208
+ export declare let useAsynchronousNumericStandardDeviation: UseSynchronousNumericStandardDeviation;
209
+ interface UseSynchronousBigIntStandardDeviation {
210
+ <E>(): AsynchronousCollector<E, BigIntStandardDeviationAccumulator, bigint>;
211
+ <E>(mapper: Functional<E, bigint>): AsynchronousCollector<E, BigIntStandardDeviationAccumulator, bigint>;
212
+ }
213
+ interface BigIntStandardDeviationAccumulator {
214
+ summate: bigint;
215
+ summateOfSquares: bigint;
216
+ count: bigint;
217
+ }
218
+ export declare let useAsynchronousBigIntStandardDeviation: UseSynchronousBigIntStandardDeviation;
219
+ interface UseSynchronousNumericMedian {
220
+ <E>(): AsynchronousCollector<E, number[], number>;
221
+ <E>(mapper: Functional<E, number>): AsynchronousCollector<E, number[], number>;
222
+ }
223
+ export declare let useAsynchronousNumericMedian: UseSynchronousNumericMedian;
224
+ interface UseSynchronousBigIntMedian {
225
+ <E>(): AsynchronousCollector<E, bigint[], bigint>;
226
+ <E>(mapper: Functional<E, bigint>): AsynchronousCollector<E, bigint[], bigint>;
227
+ }
228
+ export declare let useAsynchronousBigIntMedian: UseSynchronousBigIntMedian;
229
+ export declare let useAsynchronousToGeneratorFunction: <E>() => AsynchronousCollector<E, Array<E>, globalThis.Generator<E, void, undefined>>;
230
+ export declare let useAsynchronousToAsyncGeneratorFunction: <E>() => AsynchronousCollector<E, Array<E>, globalThis.AsyncGenerator<E, void, undefined>>;
231
+ export {};