@hpcc-js/dataflow 9.5.0 → 9.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.
- package/dist/index.js +2 -500
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +2 -2
- package/dist/index.umd.cjs.map +1 -1
- package/package.json +8 -5
- package/src/activities/histogram.ts +23 -2
- package/src/utils/pipe.ts +222 -63
- package/types/activities/histogram.d.ts +5 -0
- package/types/utils/pipe.d.ts +133 -40
package/dist/index.js
CHANGED
|
@@ -1,500 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return source && (typeof source[Symbol.iterator] === "function" || Array.isArray(source));
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
//#endregion
|
|
7
|
-
//#region src/activities/concat.ts
|
|
8
|
-
function concatGen(concatSource) {
|
|
9
|
-
return function* (source) {
|
|
10
|
-
yield* source;
|
|
11
|
-
yield* concatSource;
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
function concat(s_or_n, concatSource) {
|
|
15
|
-
return concatSource !== void 0 ? concatGen(concatSource)(s_or_n) : concatGen(s_or_n);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
//#endregion
|
|
19
|
-
//#region src/activities/each.ts
|
|
20
|
-
function eachGen(callbackFn) {
|
|
21
|
-
return function* (source) {
|
|
22
|
-
let i = -1;
|
|
23
|
-
for (const item of source) {
|
|
24
|
-
callbackFn(item, ++i);
|
|
25
|
-
yield item;
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
function each(s_or_cb, callbackFn) {
|
|
30
|
-
return isSource(s_or_cb) ? eachGen(callbackFn)(s_or_cb) : eachGen(s_or_cb);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
//#endregion
|
|
34
|
-
//#region src/activities/entries.ts
|
|
35
|
-
function entriesGen() {
|
|
36
|
-
return function* (source) {
|
|
37
|
-
let i = -1;
|
|
38
|
-
for (const item of source) yield [++i, item];
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
function entries(source) {
|
|
42
|
-
return source ? entriesGen()(source) : entriesGen();
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
//#endregion
|
|
46
|
-
//#region src/activities/filter.ts
|
|
47
|
-
function filterGen(callbackFn) {
|
|
48
|
-
return function* (source) {
|
|
49
|
-
let i = -1;
|
|
50
|
-
for (const item of source) if (callbackFn(item, ++i)) yield item;
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
function filter(s_or_cb, callbackFn) {
|
|
54
|
-
return isSource(s_or_cb) ? filterGen(callbackFn)(s_or_cb) : filterGen(s_or_cb);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
//#endregion
|
|
58
|
-
//#region src/activities/first.ts
|
|
59
|
-
function firstGen(n) {
|
|
60
|
-
return function* (source) {
|
|
61
|
-
let i = 0;
|
|
62
|
-
for (const item of source) {
|
|
63
|
-
yield item;
|
|
64
|
-
if (++i >= n) break;
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
function first(s_or_n, n) {
|
|
69
|
-
if (!isSource(s_or_n)) return firstGen(s_or_n);
|
|
70
|
-
return firstGen(n)(s_or_n);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
//#endregion
|
|
74
|
-
//#region src/activities/group.ts
|
|
75
|
-
function groupGen(groupFn) {
|
|
76
|
-
return function* (source) {
|
|
77
|
-
let i = -1;
|
|
78
|
-
const group$1 = {};
|
|
79
|
-
for (const row of source) {
|
|
80
|
-
const key = groupFn(row, ++i);
|
|
81
|
-
if (!group$1[key]) group$1[key] = [];
|
|
82
|
-
group$1[key].push(row);
|
|
83
|
-
}
|
|
84
|
-
for (const key in group$1) yield {
|
|
85
|
-
key,
|
|
86
|
-
value: group$1[key]
|
|
87
|
-
};
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
function group(s_or_gbf, groupByFn) {
|
|
91
|
-
return isSource(s_or_gbf) ? groupGen(groupByFn)(s_or_gbf) : groupGen(s_or_gbf);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
//#endregion
|
|
95
|
-
//#region src/observers/observer.ts
|
|
96
|
-
function Accessor(fof, accesor) {
|
|
97
|
-
const s = fof();
|
|
98
|
-
return {
|
|
99
|
-
observe: (_, i) => {
|
|
100
|
-
s.observe(accesor(_, i), i);
|
|
101
|
-
},
|
|
102
|
-
peek: s.peek
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
function sensor(s) {
|
|
106
|
-
return each((r, i) => s.observe(r, i));
|
|
107
|
-
}
|
|
108
|
-
function activity(s) {
|
|
109
|
-
return function* (source) {
|
|
110
|
-
let i = -1;
|
|
111
|
-
for (const row of source) s.observe(row, ++i);
|
|
112
|
-
yield s.peek();
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
function scalar(s) {
|
|
116
|
-
return function(source) {
|
|
117
|
-
let i = -1;
|
|
118
|
-
for (const row of source) s.observe(row, ++i);
|
|
119
|
-
return s.peek();
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
//#endregion
|
|
124
|
-
//#region src/observers/max.ts
|
|
125
|
-
function _max() {
|
|
126
|
-
let max$1;
|
|
127
|
-
return {
|
|
128
|
-
observe: (value, idx) => {
|
|
129
|
-
if (idx === 0) max$1 = value;
|
|
130
|
-
else if (max$1 < value) max$1 = value;
|
|
131
|
-
},
|
|
132
|
-
peek: () => max$1
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
function max(callbackFn) {
|
|
136
|
-
return callbackFn ? Accessor(_max, callbackFn) : _max();
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
//#endregion
|
|
140
|
-
//#region src/observers/min.ts
|
|
141
|
-
function _min() {
|
|
142
|
-
let min$1;
|
|
143
|
-
return {
|
|
144
|
-
observe: (value, idx) => {
|
|
145
|
-
if (idx === 0) min$1 = value;
|
|
146
|
-
else if (min$1 > value) min$1 = value;
|
|
147
|
-
},
|
|
148
|
-
peek: () => min$1
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
function min(callbackFn) {
|
|
152
|
-
return callbackFn ? Accessor(_min, callbackFn) : _min();
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
//#endregion
|
|
156
|
-
//#region src/observers/extent.ts
|
|
157
|
-
function _extent() {
|
|
158
|
-
const minFO = min();
|
|
159
|
-
const maxFO = max();
|
|
160
|
-
return {
|
|
161
|
-
observe: (value, idx) => {
|
|
162
|
-
minFO.observe(value, idx);
|
|
163
|
-
maxFO.observe(value, idx);
|
|
164
|
-
},
|
|
165
|
-
peek: () => [minFO.peek(), maxFO.peek()]
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
function extent(callbackFn) {
|
|
169
|
-
return callbackFn ? Accessor(_extent, callbackFn) : _extent();
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
//#endregion
|
|
173
|
-
//#region src/activities/histogram.ts
|
|
174
|
-
function isOptionA(_) {
|
|
175
|
-
return _.buckets !== void 0;
|
|
176
|
-
}
|
|
177
|
-
function histogramGen(callbackFn, options) {
|
|
178
|
-
return function* (_source) {
|
|
179
|
-
let min$1;
|
|
180
|
-
let bucketSize;
|
|
181
|
-
let source;
|
|
182
|
-
if (isOptionA(options)) {
|
|
183
|
-
source = Array.isArray(_source) ? _source : [..._source];
|
|
184
|
-
const minMax = scalar(extent(callbackFn))(source);
|
|
185
|
-
if (minMax === void 0) return;
|
|
186
|
-
min$1 = minMax[0];
|
|
187
|
-
const max$1 = minMax[1];
|
|
188
|
-
const buckets = options.buckets;
|
|
189
|
-
bucketSize = (max$1 - min$1) / buckets;
|
|
190
|
-
} else {
|
|
191
|
-
source = _source;
|
|
192
|
-
min$1 = options.min;
|
|
193
|
-
bucketSize = options.range;
|
|
194
|
-
}
|
|
195
|
-
const histogram$1 = {};
|
|
196
|
-
let maxBucketID = 0;
|
|
197
|
-
for (const row of source) {
|
|
198
|
-
const value = callbackFn(row);
|
|
199
|
-
const bucketID = Math.floor((value - min$1) / bucketSize);
|
|
200
|
-
if (maxBucketID < bucketID) maxBucketID = bucketID;
|
|
201
|
-
if (histogram$1[bucketID] === void 0) histogram$1[bucketID] = [];
|
|
202
|
-
histogram$1[bucketID].push(row);
|
|
203
|
-
}
|
|
204
|
-
const lastBucket = histogram$1[maxBucketID];
|
|
205
|
-
const from = min$1 + maxBucketID * bucketSize;
|
|
206
|
-
for (let i = 0; i <= maxBucketID; ++i) {
|
|
207
|
-
if (i === maxBucketID - 1 && lastBucket.every((row) => from === callbackFn(row))) {
|
|
208
|
-
yield {
|
|
209
|
-
from: min$1 + i * bucketSize,
|
|
210
|
-
to: min$1 + (i + 1) * bucketSize,
|
|
211
|
-
value: [...histogram$1[i] || [], ...lastBucket]
|
|
212
|
-
};
|
|
213
|
-
break;
|
|
214
|
-
}
|
|
215
|
-
yield {
|
|
216
|
-
from: min$1 + i * bucketSize,
|
|
217
|
-
to: min$1 + (i + 1) * bucketSize,
|
|
218
|
-
value: histogram$1[i] || []
|
|
219
|
-
};
|
|
220
|
-
}
|
|
221
|
-
};
|
|
222
|
-
}
|
|
223
|
-
function histogram(s_or_hf, hf_or_b, options) {
|
|
224
|
-
return isSource(s_or_hf) ? histogramGen(hf_or_b, options)(s_or_hf) : histogramGen(s_or_hf, hf_or_b);
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
//#endregion
|
|
228
|
-
//#region src/activities/join.ts
|
|
229
|
-
function joinGen(_sourceU, callbackFn) {
|
|
230
|
-
const sourceB = Array.isArray(_sourceU) ? _sourceU[Symbol.iterator]() : _sourceU;
|
|
231
|
-
return function* (sourceT) {
|
|
232
|
-
let i = -1;
|
|
233
|
-
for (const item of sourceT) yield callbackFn(item, sourceB.next().value, ++i);
|
|
234
|
-
};
|
|
235
|
-
}
|
|
236
|
-
function join(sT_or_sU, sU_or_cb, callbackFn) {
|
|
237
|
-
return isSource(sU_or_cb) ? joinGen(sU_or_cb, callbackFn)(sT_or_sU) : joinGen(sT_or_sU, sU_or_cb);
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
//#endregion
|
|
241
|
-
//#region src/activities/map.ts
|
|
242
|
-
function mapGen(callbackFn) {
|
|
243
|
-
return function* (source) {
|
|
244
|
-
let i = -1;
|
|
245
|
-
for (const item of source) yield callbackFn(item, ++i);
|
|
246
|
-
};
|
|
247
|
-
}
|
|
248
|
-
function map(s_or_cb, callbackFn) {
|
|
249
|
-
return isSource(s_or_cb) ? mapGen(callbackFn)(s_or_cb) : mapGen(s_or_cb);
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
//#endregion
|
|
253
|
-
//#region src/activities/normalize.ts
|
|
254
|
-
function normalizeGen() {
|
|
255
|
-
const calcExtent = scalar(extent());
|
|
256
|
-
return function* (_source) {
|
|
257
|
-
const source = Array.isArray(_source) ? _source : [..._source];
|
|
258
|
-
const range = calcExtent(source);
|
|
259
|
-
const divisor = range[1] - range[0] || 1;
|
|
260
|
-
return yield* map((row) => (row - range[0]) / divisor)(source);
|
|
261
|
-
};
|
|
262
|
-
}
|
|
263
|
-
function normalize(s_or_undef) {
|
|
264
|
-
return isSource(s_or_undef) ? normalizeGen()(s_or_undef) : normalizeGen();
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
//#endregion
|
|
268
|
-
//#region src/activities/skip.ts
|
|
269
|
-
function skipGen(n) {
|
|
270
|
-
return function* (source) {
|
|
271
|
-
let i = -1;
|
|
272
|
-
for (const item of source) if (++i >= n) yield item;
|
|
273
|
-
};
|
|
274
|
-
}
|
|
275
|
-
function skip(s_or_n, n) {
|
|
276
|
-
return isSource(s_or_n) ? skipGen(n)(s_or_n) : skipGen(s_or_n);
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
//#endregion
|
|
280
|
-
//#region src/activities/sort.ts
|
|
281
|
-
function sortGen(compareFn) {
|
|
282
|
-
return function* (source) {
|
|
283
|
-
yield* (Array.isArray(source) ? source : [...source]).sort(compareFn);
|
|
284
|
-
};
|
|
285
|
-
}
|
|
286
|
-
function sort(s_or_cb, callbackFn) {
|
|
287
|
-
return isSource(s_or_cb) ? sortGen(callbackFn)(s_or_cb) : sortGen(s_or_cb);
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
//#endregion
|
|
291
|
-
//#region src/observers/count.ts
|
|
292
|
-
function count() {
|
|
293
|
-
let count$1;
|
|
294
|
-
return {
|
|
295
|
-
observe: (value, idx) => {
|
|
296
|
-
if (idx === 0) count$1 = 0;
|
|
297
|
-
++count$1;
|
|
298
|
-
},
|
|
299
|
-
peek: () => count$1
|
|
300
|
-
};
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
//#endregion
|
|
304
|
-
//#region src/observers/variance.ts
|
|
305
|
-
function _variance() {
|
|
306
|
-
let count$1;
|
|
307
|
-
let mean$1;
|
|
308
|
-
let sum;
|
|
309
|
-
return {
|
|
310
|
-
observe: (value, idx) => {
|
|
311
|
-
if (idx === 0) {
|
|
312
|
-
count$1 = 0;
|
|
313
|
-
mean$1 = 0;
|
|
314
|
-
sum = 0;
|
|
315
|
-
}
|
|
316
|
-
const delta = value - mean$1;
|
|
317
|
-
mean$1 += delta / ++count$1;
|
|
318
|
-
sum += delta * (value - mean$1);
|
|
319
|
-
},
|
|
320
|
-
peek: () => count$1 > 1 ? sum / (count$1 - 1) : void 0
|
|
321
|
-
};
|
|
322
|
-
}
|
|
323
|
-
function variance(callbackFn) {
|
|
324
|
-
return callbackFn ? Accessor(_variance, callbackFn) : _variance();
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
//#endregion
|
|
328
|
-
//#region src/observers/deviation.ts
|
|
329
|
-
function _deviation() {
|
|
330
|
-
const v = variance();
|
|
331
|
-
return {
|
|
332
|
-
observe: (value, idx) => {
|
|
333
|
-
v.observe(value, idx);
|
|
334
|
-
},
|
|
335
|
-
peek: () => {
|
|
336
|
-
const variance$1 = v.peek();
|
|
337
|
-
return variance$1 !== void 0 ? Math.sqrt(variance$1) : variance$1;
|
|
338
|
-
}
|
|
339
|
-
};
|
|
340
|
-
}
|
|
341
|
-
function deviation(callbackFn) {
|
|
342
|
-
return callbackFn ? Accessor(_deviation, callbackFn) : _deviation();
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
//#endregion
|
|
346
|
-
//#region src/observers/mean.ts
|
|
347
|
-
function _mean() {
|
|
348
|
-
let total;
|
|
349
|
-
let count$1;
|
|
350
|
-
return {
|
|
351
|
-
observe: (value, idx) => {
|
|
352
|
-
if (idx === 0) total = value;
|
|
353
|
-
else total += value;
|
|
354
|
-
count$1 = idx;
|
|
355
|
-
},
|
|
356
|
-
peek: () => total / (count$1 + 1)
|
|
357
|
-
};
|
|
358
|
-
}
|
|
359
|
-
function mean(callbackFn) {
|
|
360
|
-
return callbackFn ? Accessor(_mean, callbackFn) : _mean();
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
//#endregion
|
|
364
|
-
//#region src/observers/distribution.ts
|
|
365
|
-
function _distribution() {
|
|
366
|
-
const minFO = min();
|
|
367
|
-
const maxFO = max();
|
|
368
|
-
const meanFO = mean();
|
|
369
|
-
const varianceFO = variance();
|
|
370
|
-
return {
|
|
371
|
-
observe: (value, idx) => {
|
|
372
|
-
minFO.observe(value, idx);
|
|
373
|
-
maxFO.observe(value, idx);
|
|
374
|
-
meanFO.observe(value, idx);
|
|
375
|
-
varianceFO.observe(value, idx);
|
|
376
|
-
},
|
|
377
|
-
peek: () => {
|
|
378
|
-
const minResult = minFO.peek();
|
|
379
|
-
if (minResult === void 0) return void 0;
|
|
380
|
-
const varianceResult = varianceFO.peek();
|
|
381
|
-
return {
|
|
382
|
-
min: minResult,
|
|
383
|
-
max: maxFO.peek(),
|
|
384
|
-
mean: meanFO.peek(),
|
|
385
|
-
variance: varianceResult,
|
|
386
|
-
deviation: varianceResult !== void 0 ? Math.sqrt(varianceResult) : void 0
|
|
387
|
-
};
|
|
388
|
-
}
|
|
389
|
-
};
|
|
390
|
-
}
|
|
391
|
-
function distribution(callbackFn) {
|
|
392
|
-
return callbackFn ? Accessor(_distribution, callbackFn) : _distribution();
|
|
393
|
-
}
|
|
394
|
-
|
|
395
|
-
//#endregion
|
|
396
|
-
//#region src/observers/median.ts
|
|
397
|
-
function _median() {
|
|
398
|
-
let values;
|
|
399
|
-
return {
|
|
400
|
-
observe: (value, idx) => {
|
|
401
|
-
if (idx === 0) values = [];
|
|
402
|
-
values.push(value);
|
|
403
|
-
},
|
|
404
|
-
peek: () => {
|
|
405
|
-
const sorted = values.sort((l, r) => l - r);
|
|
406
|
-
const mid = sorted.length / 2;
|
|
407
|
-
if (sorted.length % 2 === 0) return (sorted[mid - 1] + sorted[mid]) / 2;
|
|
408
|
-
else return sorted[Math.floor(mid)];
|
|
409
|
-
}
|
|
410
|
-
};
|
|
411
|
-
}
|
|
412
|
-
function median(callbackFn) {
|
|
413
|
-
return callbackFn ? Accessor(_median, callbackFn) : _median();
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
//#endregion
|
|
417
|
-
//#region src/observers/quartile.ts
|
|
418
|
-
function _quartile() {
|
|
419
|
-
let values;
|
|
420
|
-
return {
|
|
421
|
-
observe: (value, idx) => {
|
|
422
|
-
if (idx === 0) values = [];
|
|
423
|
-
values.push(value);
|
|
424
|
-
},
|
|
425
|
-
peek: () => {
|
|
426
|
-
const sorted = values.sort((l, r) => l - r);
|
|
427
|
-
const mid = sorted.length / 2;
|
|
428
|
-
let medianVal;
|
|
429
|
-
let lower;
|
|
430
|
-
let upper;
|
|
431
|
-
if (sorted.length < 2) return;
|
|
432
|
-
else if (sorted.length % 2 === 0) {
|
|
433
|
-
medianVal = (sorted[mid - 1] + sorted[mid]) / 2;
|
|
434
|
-
lower = sorted.slice(0, mid);
|
|
435
|
-
upper = sorted.slice(mid);
|
|
436
|
-
} else {
|
|
437
|
-
medianVal = sorted[Math.floor(mid)];
|
|
438
|
-
lower = sorted.slice(0, Math.floor(mid));
|
|
439
|
-
upper = sorted.slice(Math.ceil(mid));
|
|
440
|
-
}
|
|
441
|
-
return [
|
|
442
|
-
sorted[0],
|
|
443
|
-
scalar(median())(lower),
|
|
444
|
-
medianVal,
|
|
445
|
-
scalar(median())(upper),
|
|
446
|
-
sorted[sorted.length - 1]
|
|
447
|
-
];
|
|
448
|
-
}
|
|
449
|
-
};
|
|
450
|
-
}
|
|
451
|
-
function quartile(callbackFn) {
|
|
452
|
-
return callbackFn ? Accessor(_quartile, callbackFn) : _quartile();
|
|
453
|
-
}
|
|
454
|
-
|
|
455
|
-
//#endregion
|
|
456
|
-
//#region src/observers/reduce.ts
|
|
457
|
-
function _reduce(callback, initialValue) {
|
|
458
|
-
let reduced;
|
|
459
|
-
return {
|
|
460
|
-
observe: (value, idx) => {
|
|
461
|
-
if (idx === 0) reduced = initialValue === void 0 ? value : callback(initialValue, value, idx);
|
|
462
|
-
else reduced = callback(reduced, value, idx);
|
|
463
|
-
},
|
|
464
|
-
peek: () => reduced
|
|
465
|
-
};
|
|
466
|
-
}
|
|
467
|
-
function reduce(callbackFn, initialValue) {
|
|
468
|
-
return _reduce(callbackFn, initialValue);
|
|
469
|
-
}
|
|
470
|
-
|
|
471
|
-
//#endregion
|
|
472
|
-
//#region src/utils/generate.ts
|
|
473
|
-
function* generate(generatorFn, maxLen) {
|
|
474
|
-
let i = -1;
|
|
475
|
-
while (maxLen === void 0 || ++i < maxLen) yield generatorFn();
|
|
476
|
-
}
|
|
477
|
-
|
|
478
|
-
//#endregion
|
|
479
|
-
//#region src/utils/pipe.ts
|
|
480
|
-
var GeneratorFunction = (function* () {}).constructor;
|
|
481
|
-
function chainGen(...items) {
|
|
482
|
-
if (items[items.length - 1] instanceof GeneratorFunction) return function* (source) {
|
|
483
|
-
let tail = source;
|
|
484
|
-
for (const activity$1 of items) tail = activity$1(tail);
|
|
485
|
-
yield* tail;
|
|
486
|
-
};
|
|
487
|
-
else return function(source) {
|
|
488
|
-
let tail = source;
|
|
489
|
-
for (const activity$1 of items) tail = activity$1(tail);
|
|
490
|
-
return tail;
|
|
491
|
-
};
|
|
492
|
-
}
|
|
493
|
-
function pipe(s_or_ia, ...items) {
|
|
494
|
-
return isSource(s_or_ia) ? chainGen(...items)(s_or_ia) : chainGen(s_or_ia, ...items);
|
|
495
|
-
}
|
|
496
|
-
const chain = pipe;
|
|
497
|
-
|
|
498
|
-
//#endregion
|
|
499
|
-
export { Accessor, activity, chain, concat, count, deviation, distribution, each, entries, extent, filter, first, generate, group, histogram, isSource, join, map, max, mean, median, min, normalize, pipe, quartile, reduce, scalar, sensor, skip, sort, variance };
|
|
500
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
var e=Object.defineProperty,n=(n,t)=>e(n,"name",{value:t,configurable:!0});function t(e){return e&&("function"==typeof e[Symbol.iterator]||Array.isArray(e))}function r(e){return function*(n){yield*n,yield*e}}function o(e,n){return void 0!==n?r(n)(e):r(e)}function i(e){return function*(n){let t=-1;for(const r of n)e(r,++t),yield r}}function u(e,n){return t(e)?i(n)(e):i(e)}function c(){return function*(e){let n=-1;for(const t of e)yield[++n,t]}}function f(e){return e?function*(e){let n=-1;for(const t of e)yield[++n,t]}(e):function*(e){let n=-1;for(const t of e)yield[++n,t]}}function s(e){return function*(n){let t=-1;for(const r of n)e(r,++t)&&(yield r)}}function l(e,n){return t(e)?s(n)(e):s(e)}function a(e){return function*(n){let t=0;for(const r of n)if(yield r,++t>=e)break}}function v(e,n){return t(e)?a(n)(e):a(e)}function p(e){return function*(n){let t=-1;const r={};for(const o of n){const n=e(o,++t);r[n]||(r[n]=[]),r[n].push(o)}for(const e in r)yield{key:e,value:r[e]}}}function b(e,n){return t(e)?p(n)(e):p(e)}function d(e,t){const r=e();return{observe:/* @__PURE__ */n((e,n)=>{r.observe(t(e,n),n)},"observe"),peek:r.peek}}function k(e){return u((n,t)=>e.observe(n,t))}function y(e){return function*(n){let t=-1;for(const r of n)e.observe(r,++t);yield e.peek()}}function h(e){return function(n){let t=-1;for(const r of n)e.observe(r,++t);return e.peek()}}function m(){let e;return{observe:/* @__PURE__ */n((n,t)=>{(0===t||e<n)&&(e=n)},"observe"),peek:/* @__PURE__ */n(()=>e,"peek")}}function g(e){return e?d(m,e):m()}function G(){let e;return{observe:/* @__PURE__ */n((n,t)=>{(0===t||e>n)&&(e=n)},"observe"),peek:/* @__PURE__ */n(()=>e,"peek")}}function A(e){return e?d(G,e):G()}function _(){const e=A(),t=g();return{observe:/* @__PURE__ */n((n,r)=>{e.observe(n,r),t.observe(n,r)},"observe"),peek:/* @__PURE__ */n(()=>[e.peek(),t.peek()],"peek")}}function x(e){return e?d(_,e):_()}function M(e){return void 0!==e.buckets}function q(e,n){return function*(t){let r,o,i;if(M(n)){i=Array.isArray(t)?t:[...t];const u=h(x(e))(i);if(void 0===u||void 0===u[0]||void 0===u[1]){const e=n.buckets;for(let n=0;n<e;++n)yield{from:NaN,to:NaN,value:[]};return}r=u[0];o=(u[1]-r)/n.buckets}else i=t,r=n.min,o=n.range;const u={};let c=0,f=!1;for(const n of i){f=!0;const t=e(n),i=Math.floor((t-r)/o);c<i&&(c=i),void 0===u[i]&&(u[i]=[]),u[i].push(n)}if(!f)return;const s=u[c],l=r+c*o;for(let n=0;n<=c;++n){if(n===c-1&&s.every(n=>l===e(n))){yield{from:r+n*o,to:r+(n+1)*o,value:[...u[n]||[],...s]};break}yield{from:r+n*o,to:r+(n+1)*o,value:u[n]||[]}}}}function N(e,n,r){return t(e)?q(n,r)(e):q(e,n)}function j(e,n){const t=Array.isArray(e)?e[Symbol.iterator]():e;return function*(e){let r=-1;for(const o of e)yield n(o,t.next().value,++r)}}function S(e,n,r){return t(n)?j(n,r)(e):j(e,n)}function w(e){return function*(n){let t=-1;for(const r of n)yield e(r,++t)}}function z(e,n){return t(e)?w(n)(e):w(e)}function O(){const e=h(x());return function*(n){const t=Array.isArray(n)?n:[...n],r=e(t),o=r[1]-r[0]||1,i=z(e=>(e-r[0])/o);return yield*i(t)}}function E(e){return t(e)?O()(e):O()}function P(e){return function*(n){let t=-1;for(const r of n)++t>=e&&(yield r)}}function T(e,n){return t(e)?P(n)(e):P(e)}function B(e){return function*(n){yield*(Array.isArray(n)?n:[...n]).sort(e)}}function C(e,n){return t(e)?B(n)(e):B(e)}function D(){let e;return{observe:/* @__PURE__ */n((n,t)=>{0===t&&(e=0),++e},"observe"),peek:/* @__PURE__ */n(()=>e,"peek")}}function F(){let e,t,r;return{observe:/* @__PURE__ */n((n,o)=>{0===o&&(e=0,t=0,r=0);const i=n-t;t+=i/++e,r+=i*(n-t)},"observe"),peek:/* @__PURE__ */n(()=>e>1?r/(e-1):void 0,"peek")}}function H(e){return e?d(F,e):F()}function I(){const e=H();return{observe:/* @__PURE__ */n((n,t)=>{e.observe(n,t)},"observe"),peek:/* @__PURE__ */n(()=>{const n=e.peek();return void 0!==n?Math.sqrt(n):n},"peek")}}function J(e){return e?d(I,e):I()}function K(){let e,t;return{observe:/* @__PURE__ */n((n,r)=>{0===r?e=n:e+=n,t=r},"observe"),peek:/* @__PURE__ */n(()=>e/(t+1),"peek")}}function L(e){return e?d(K,e):K()}function Q(){const e=A(),t=g(),r=L(),o=H();return{observe:/* @__PURE__ */n((n,i)=>{e.observe(n,i),t.observe(n,i),r.observe(n,i),o.observe(n,i)},"observe"),peek:/* @__PURE__ */n(()=>{const n=e.peek();if(void 0===n)return;const i=o.peek();return{min:n,max:t.peek(),mean:r.peek(),variance:i,deviation:void 0!==i?Math.sqrt(i):void 0}},"peek")}}function R(e){return e?d(Q,e):Q()}function U(){let e;return{observe:/* @__PURE__ */n((n,t)=>{0===t&&(e=[]),e.push(n)},"observe"),peek:/* @__PURE__ */n(()=>{const n=e.sort((e,n)=>e-n),t=n.length/2;return n.length%2==0?(n[t-1]+n[t])/2:n[Math.floor(t)]},"peek")}}function V(e){return e?d(U,e):U()}function W(){let e;return{observe:/* @__PURE__ */n((n,t)=>{0===t&&(e=[]),e.push(n)},"observe"),peek:/* @__PURE__ */n(()=>{const n=e.sort((e,n)=>e-n),t=n.length/2;let r,o,i;if(!(n.length<2))return n.length%2==0?(r=(n[t-1]+n[t])/2,o=n.slice(0,t),i=n.slice(t)):(r=n[Math.floor(t)],o=n.slice(0,Math.floor(t)),i=n.slice(Math.ceil(t))),[n[0],h(V())(o),r,h(V())(i),n[n.length-1]]},"peek")}}function X(e){return e?d(W,e):W()}function Y(e,t){let r;return{observe:/* @__PURE__ */n((n,o)=>{r=0===o?void 0===t?n:e(t,n,o):e(r,n,o)},"observe"),peek:/* @__PURE__ */n(()=>r,"peek")}}function Z(e,n){return Y(e,n)}function*$(e,n){let t=-1;for(;void 0===n||++t<n;)yield e()}n(t,"isSource"),n(r,"concatGen"),n(o,"concat"),n(i,"eachGen"),n(u,"each"),n(c,"entriesGen"),n(f,"entries"),n(s,"filterGen"),n(l,"filter"),n(a,"firstGen"),n(v,"first"),n(p,"groupGen"),n(b,"group"),n(d,"Accessor"),n(k,"sensor"),n(y,"activity"),n(h,"scalar"),n(m,"_max"),n(g,"max"),n(G,"_min"),n(A,"min"),n(_,"_extent"),n(x,"extent"),n(M,"isOptionA"),n(q,"histogramGen"),n(N,"histogram"),n(j,"joinGen"),n(S,"join"),n(w,"mapGen"),n(z,"map"),n(O,"normalizeGen"),n(E,"normalize"),n(P,"skipGen"),n(T,"skip"),n(B,"sortGen"),n(C,"sort"),n(D,"count"),n(F,"_variance"),n(H,"variance"),n(I,"_deviation"),n(J,"deviation"),n(K,"_mean"),n(L,"mean"),n(Q,"_distribution"),n(R,"distribution"),n(U,"_median"),n(V,"median"),n(W,"_quartile"),n(X,"quartile"),n(Y,"_reduce"),n(Z,"reduce"),n($,"generate");const ee=function*(){}.constructor;function ne(...e){if(0===e.length)return e=>e;const n=e[e.length-1]instanceof ee,t=e.length;return n?function*(n){let r=n;for(let o=0;o<t;o++)r=e[o](r);yield*r}:n=>{let r=n;for(let o=0;o<t;o++)r=e[o](r);return r}}function te(...e){if(0===e.length)throw new TypeError("pipe requires at least one argument");return t(e[0])?1===e.length?e[0]:ne(...e.slice(1))(e[0]):ne(...e)}n(ne,"chainGen"),n(te,"pipe");const re=te;export{d as Accessor,y as activity,re as chain,o as concat,D as count,J as deviation,R as distribution,u as each,f as entries,x as extent,l as filter,v as first,$ as generate,b as group,N as histogram,t as isSource,S as join,z as map,g as max,L as mean,V as median,A as min,E as normalize,te as pipe,X as quartile,Z as reduce,h as scalar,k as sensor,T as skip,C as sort,H as variance};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|