semantic-typescript 0.4.1 → 0.5.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.
@@ -1,5 +1,5 @@
1
1
  import { Collector } from "./collector";
2
- import type { HashMap } from "./map";
2
+ import { HashMap } from "./map";
3
3
  import { Optional } from "./optional";
4
4
  import { Semantic } from "./semantic";
5
5
  import type { HashSet } from "./set";
@@ -66,8 +66,10 @@ export declare abstract class Collectable<E> implements Iterable<E>, AsyncIterab
66
66
  semantic(): Semantic<E>;
67
67
  abstract source(): Generator<E>;
68
68
  toArray(): Array<E>;
69
+ toMap<K, V>(keyExtractor: Functional<E, K>): Map<K, V>;
69
70
  toMap<K, V>(keyExtractor: Functional<E, K>, valueExtractor: Functional<E, V>): Map<K, V>;
70
71
  toMap<K, V>(keyExtractor: BiFunctional<E, bigint, K>, valueExtractor: BiFunctional<E, bigint, V>): Map<K, V>;
72
+ toHashMap<K, V>(keyExtractor: Functional<E, K>): HashMap<K, V>;
71
73
  toHashMap<K, V>(keyExtractor: Functional<E, K>, valueExtractor: Functional<E, V>): HashMap<K, V>;
72
74
  toHashMap<K, V>(keyExtractor: BiFunctional<E, bigint, K>, valueExtractor: BiFunctional<E, bigint, V>): HashMap<K, V>;
73
75
  toSet(): Set<E>;
@@ -78,7 +80,7 @@ export declare abstract class Collectable<E> implements Iterable<E>, AsyncIterab
78
80
  }
79
81
  export declare class UnorderedCollectable<E> extends Collectable<E> {
80
82
  protected readonly UnorderedCollectable: symbol;
81
- protected generator: Generator<E>;
83
+ protected buffer: HashMap<bigint, E>;
82
84
  constructor(generator: Generator<E>);
83
85
  source(): Generator<E>;
84
86
  [Symbol.iterator](): globalThis.Generator<E, void, undefined>;
@@ -94,3 +96,107 @@ export declare class OrderedCollectable<E> extends Collectable<E> {
94
96
  source(): Generator<E>;
95
97
  isEmpty(): boolean;
96
98
  }
99
+ export declare abstract class Statistics<E, D extends number | bigint> extends OrderedCollectable<E> {
100
+ protected readonly Statistics: symbol;
101
+ constructor(generator: Generator<E>);
102
+ constructor(generator: Generator<E>, comparator: Comparator<E>);
103
+ [Symbol.iterator](): globalThis.Generator<E, void, undefined>;
104
+ [Symbol.asyncIterator](): globalThis.AsyncGenerator<E, void, undefined>;
105
+ count(): bigint;
106
+ abstract average(): D;
107
+ abstract average(mapper: Functional<E, D>): D;
108
+ abstract range(): D;
109
+ abstract range(mapper: Functional<E, D>): D;
110
+ abstract variance(): D;
111
+ abstract variance(mapper: Functional<E, D>): D;
112
+ abstract standardDeviation(): D;
113
+ abstract standardDeviation(mapper: Functional<E, D>): D;
114
+ abstract mean(): D;
115
+ abstract mean(mapper: Functional<E, D>): D;
116
+ abstract median(): D;
117
+ abstract median(mapper: Functional<E, D>): D;
118
+ abstract mode(): D;
119
+ abstract mode(mapper: Functional<E, D>): D;
120
+ frequency(): Map<E, bigint>;
121
+ abstract summate(): D;
122
+ abstract summate(mapper: Functional<E, D>): D;
123
+ abstract quantile(quantile: number): D;
124
+ abstract quantile(quantile: number, mapper: Functional<E, D>): D;
125
+ abstract interquartileRange(): D;
126
+ abstract interquartileRange(mapper: Functional<E, D>): D;
127
+ abstract skewness(): D;
128
+ abstract skewness(mapper: Functional<E, D>): D;
129
+ abstract kurtosis(): D;
130
+ abstract kurtosis(mapper: Functional<E, D>): D;
131
+ }
132
+ export declare class NumericStatistics<E> extends Statistics<E, number> {
133
+ protected readonly NumericStatistics: symbol;
134
+ constructor(generator: Generator<E>);
135
+ constructor(generator: Generator<E>, comparator: Comparator<E>);
136
+ [Symbol.iterator](): globalThis.Generator<E, void, undefined>;
137
+ [Symbol.asyncIterator](): globalThis.AsyncGenerator<E, void, undefined>;
138
+ average(): number;
139
+ average(mapper: Functional<E, number>): number;
140
+ range(): number;
141
+ range(mapper: Functional<E, number>): number;
142
+ variance(): number;
143
+ variance(mapper: Functional<E, number>): number;
144
+ standardDeviation(): number;
145
+ standardDeviation(mapper: Functional<E, number>): number;
146
+ mean(): number;
147
+ mean(mapper: Functional<E, number>): number;
148
+ median(): number;
149
+ median(mapper: Functional<E, number>): number;
150
+ mode(): number;
151
+ mode(mapper: Functional<E, number>): number;
152
+ summate(): number;
153
+ summate(mapper: Functional<E, number>): number;
154
+ quantile(quantile: number): number;
155
+ quantile(quantile: number, mapper: Functional<E, number>): number;
156
+ interquartileRange(): number;
157
+ interquartileRange(mapper: Functional<E, number>): number;
158
+ skewness(): number;
159
+ skewness(mapper: Functional<E, number>): number;
160
+ kurtosis(): number;
161
+ kurtosis(mapper: Functional<E, number>): number;
162
+ }
163
+ export declare class BigIntStatistics<E> extends Statistics<E, bigint> {
164
+ protected readonly BigIntStatistics: symbol;
165
+ constructor(generator: Generator<E>);
166
+ constructor(generator: Generator<E>, comparator: Comparator<E>);
167
+ [Symbol.iterator](): globalThis.Generator<E, void, undefined>;
168
+ [Symbol.asyncIterator](): globalThis.AsyncGenerator<E, void, undefined>;
169
+ average(): bigint;
170
+ average(mapper: Functional<E, bigint>): bigint;
171
+ range(): bigint;
172
+ range(mapper: Functional<E, bigint>): bigint;
173
+ variance(): bigint;
174
+ variance(mapper: Functional<E, bigint>): bigint;
175
+ standardDeviation(): bigint;
176
+ standardDeviation(mapper: Functional<E, bigint>): bigint;
177
+ mean(): bigint;
178
+ mean(mapper: Functional<E, bigint>): bigint;
179
+ median(): bigint;
180
+ median(mapper: Functional<E, bigint>): bigint;
181
+ mode(): bigint;
182
+ mode(mapper: Functional<E, bigint>): bigint;
183
+ summate(): bigint;
184
+ summate(mapper: Functional<E, bigint>): bigint;
185
+ quantile(quantile: number): bigint;
186
+ quantile(quantile: number, mapper: Functional<E, bigint>): bigint;
187
+ interquartileRange(): bigint;
188
+ interquartileRange(mapper: Functional<E, bigint>): bigint;
189
+ skewness(): bigint;
190
+ skewness(mapper: Functional<E, bigint>): bigint;
191
+ kurtosis(): bigint;
192
+ kurtosis(mapper: Functional<E, bigint>): bigint;
193
+ }
194
+ export declare class WindowCollectable<E> extends OrderedCollectable<E> {
195
+ protected readonly WindowCollectable: symbol;
196
+ constructor(generator: Generator<E>);
197
+ constructor(generator: Generator<E>, comparator: Comparator<E>);
198
+ [Symbol.iterator](): globalThis.Generator<E, void, undefined>;
199
+ [Symbol.asyncIterator](): globalThis.AsyncGenerator<E, void, undefined>;
200
+ slide(size: bigint, step?: bigint): Semantic<Semantic<E>>;
201
+ tumble(size: bigint): Semantic<Semantic<E>>;
202
+ }