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,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 {};