pond-ts 0.1.0 → 0.2.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/README.md +70 -3
- package/dist/TimeSeries.d.ts.map +1 -1
- package/dist/TimeSeries.js +596 -118
- package/dist/TimeSeries.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
# pond-ts
|
|
1
|
+
# pond-ts - A modern typescript timeseries library
|
|
2
2
|
|
|
3
3
|
TypeScript-first time series primitives built around typed events, typed schemas, and explicit temporal keys.
|
|
4
4
|
|
|
5
|
-
The package is intended to work in modern Node and frontend projects. The repo toolchain should work on Node 18, and we can use `nvm` to verify against newer stable Node releases when needed.
|
|
6
|
-
|
|
7
5
|
The library is currently focused on non-streaming analytics:
|
|
8
6
|
|
|
9
7
|
- typed `TimeSeries` construction
|
|
@@ -12,6 +10,8 @@ The library is currently focused on non-streaming analytics:
|
|
|
12
10
|
- alignment, aggregation, joins, rolling windows, and smoothing
|
|
13
11
|
- timezone-aware calendar sequences and ingest helpers
|
|
14
12
|
|
|
13
|
+
The package is intended to work in modern Node and frontend projects.
|
|
14
|
+
|
|
15
15
|
## Install
|
|
16
16
|
|
|
17
17
|
```sh
|
|
@@ -20,6 +20,8 @@ npm install pond-ts
|
|
|
20
20
|
|
|
21
21
|
## Build
|
|
22
22
|
|
|
23
|
+
The repo toolchain should work on Node 18, but use `nvm` to verify against newer stable Node releases when needed.
|
|
24
|
+
|
|
23
25
|
```sh
|
|
24
26
|
npm run build
|
|
25
27
|
```
|
|
@@ -42,6 +44,10 @@ npm test
|
|
|
42
44
|
npm run verify
|
|
43
45
|
```
|
|
44
46
|
|
|
47
|
+
## Docs site
|
|
48
|
+
|
|
49
|
+
The documentation website lives in [`website/`](./website) and is built with Docusaurus.
|
|
50
|
+
|
|
45
51
|
## License
|
|
46
52
|
|
|
47
53
|
MIT
|
|
@@ -90,6 +96,67 @@ event.get('cpu');
|
|
|
90
96
|
event.data().host;
|
|
91
97
|
```
|
|
92
98
|
|
|
99
|
+
## Worked example
|
|
100
|
+
|
|
101
|
+
This is the kind of flow `pond-ts` is built for: start with typed events, then derive aligned, aggregated, and smoothed analytical views without mutating the original series.
|
|
102
|
+
|
|
103
|
+
```ts
|
|
104
|
+
import { Sequence, TimeSeries } from 'pond-ts';
|
|
105
|
+
|
|
106
|
+
const schema = [
|
|
107
|
+
{ name: 'time', kind: 'time' },
|
|
108
|
+
{ name: 'cpu', kind: 'number' },
|
|
109
|
+
{ name: 'requests', kind: 'number' },
|
|
110
|
+
{ name: 'host', kind: 'string' },
|
|
111
|
+
] as const;
|
|
112
|
+
|
|
113
|
+
const cpu = TimeSeries.fromJSON({
|
|
114
|
+
name: 'cpu',
|
|
115
|
+
schema,
|
|
116
|
+
rows: [
|
|
117
|
+
['2025-01-01T00:00:00Z', 0.31, 120, 'api-1'],
|
|
118
|
+
['2025-01-01T00:01:00Z', 0.44, 135, 'api-1'],
|
|
119
|
+
['2025-01-01T00:02:00Z', 0.52, 141, 'api-1'],
|
|
120
|
+
['2025-01-01T00:03:00Z', 0.48, 128, 'api-1'],
|
|
121
|
+
['2025-01-01T00:04:00Z', 0.63, 166, 'api-1'],
|
|
122
|
+
],
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
const perMinute = cpu.align(Sequence.every('1m'), {
|
|
126
|
+
method: 'hold',
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
const fiveMinute = cpu.aggregate(Sequence.every('5m'), {
|
|
130
|
+
cpu: 'avg',
|
|
131
|
+
requests: 'sum',
|
|
132
|
+
host: 'last',
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
const rolling = cpu.rolling('3m', {
|
|
136
|
+
cpu: 'avg',
|
|
137
|
+
requests: 'sum',
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
const smoothed = cpu.smooth('cpu', 'ema', {
|
|
141
|
+
alpha: 0.35,
|
|
142
|
+
output: 'cpuTrend',
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
console.log(perMinute.first()?.key().asString());
|
|
146
|
+
console.log(fiveMinute.first()?.data());
|
|
147
|
+
console.log(rolling.last()?.data());
|
|
148
|
+
console.log(smoothed.last()?.get('cpuTrend'));
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
From one typed source series, you can derive:
|
|
152
|
+
|
|
153
|
+
- aligned interval views for dashboards and joins
|
|
154
|
+
- bucketed aggregates for reporting
|
|
155
|
+
- rolling metrics for short-term behavior
|
|
156
|
+
- smoothed trends for visualization or alerting
|
|
157
|
+
|
|
158
|
+
All of those remain fully typed and immutable.
|
|
159
|
+
|
|
93
160
|
## JSON ingest
|
|
94
161
|
|
|
95
162
|
Use `TimeSeries.fromJSON(...)` for external data and ambiguous local timestamps.
|
package/dist/TimeSeries.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeSeries.d.ts","sourceRoot":"","sources":["../src/TimeSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAEX,YAAY,EACZ,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,mBAAmB,EAInB,cAAc,EACd,UAAU,EACV,QAAQ,EACR,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EAErB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAG3E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACb,aAAa,EACb,YAAY,EACZ,cAAc,EACd,cAAc,EACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,KAAK,SAAS,GAAG,QAAQ,GAAG,cAAc,GAAG,aAAa,CAAC;AAC3D,KAAK,YAAY,GAAG,QAAQ,GAAG,cAAc,CAAC;AAC9C,KAAK,OAAO,GAAG,QAAQ,GAAG,cAAc,GAAG,cAAc,GAAG,aAAa,CAAC;AAC1E,KAAK,eAAe,GAAG,YAAY,GAAG;IAAE,SAAS,IAAI,SAAS,GAAG,SAAS,CAAA;CAAE,CAAC;AAC7E,KAAK,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;AACrC,KAAK,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AACtC,KAAK,YAAY,GAAG,QAAQ,GAAG,eAAe,CAAC;AAC/C,KAAK,gBAAgB,GAAG;IAAE,IAAI,CAAC,EAAE,QAAQ,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAClE,KAAK,iBAAiB,CAAC,QAAQ,SAAS,SAAS,MAAM,EAAE,IAAI;IAC3D,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,UAAU,EAAE,QAAQ,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;
|
|
1
|
+
{"version":3,"file":"TimeSeries.d.ts","sourceRoot":"","sources":["../src/TimeSeries.ts"],"names":[],"mappings":"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"}
|
package/dist/TimeSeries.js
CHANGED
|
@@ -180,26 +180,38 @@ function eventAnchorTime(key) {
|
|
|
180
180
|
return key instanceof Time ? key.begin() : key.timeRange().midpoint();
|
|
181
181
|
}
|
|
182
182
|
function loessAt(x, anchors, values, span) {
|
|
183
|
-
|
|
184
|
-
const value = values[index];
|
|
185
|
-
return value === undefined ? [] : [{ x: anchor, y: value }];
|
|
186
|
-
});
|
|
187
|
-
if (points.length === 0) {
|
|
183
|
+
if (anchors.length === 0) {
|
|
188
184
|
return undefined;
|
|
189
185
|
}
|
|
190
|
-
if (
|
|
191
|
-
return
|
|
186
|
+
if (anchors.length === 1) {
|
|
187
|
+
return values[0];
|
|
188
|
+
}
|
|
189
|
+
const neighborCount = Math.max(2, Math.min(anchors.length, Math.ceil(span * anchors.length)));
|
|
190
|
+
let start = 0;
|
|
191
|
+
if (neighborCount < anchors.length) {
|
|
192
|
+
let low = 0;
|
|
193
|
+
let high = anchors.length - neighborCount;
|
|
194
|
+
while (low < high) {
|
|
195
|
+
const mid = Math.floor((low + high) / 2);
|
|
196
|
+
if (x - anchors[mid] > anchors[mid + neighborCount] - x) {
|
|
197
|
+
low = mid + 1;
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
high = mid;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
start = low;
|
|
192
204
|
}
|
|
193
|
-
const
|
|
194
|
-
const
|
|
195
|
-
.map((point) => ({ point, distance: Math.abs(point.x - x) }))
|
|
196
|
-
.sort((left, right) => left.distance - right.distance);
|
|
197
|
-
const bandwidth = sortedDistances[neighborCount - 1].distance;
|
|
205
|
+
const end = start + neighborCount;
|
|
206
|
+
const bandwidth = Math.max(Math.abs(x - anchors[start]), Math.abs(anchors[end - 1] - x));
|
|
198
207
|
if (bandwidth === 0) {
|
|
199
|
-
const
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
208
|
+
const coincidentStart = lowerBound(anchors, x);
|
|
209
|
+
const coincidentEnd = upperBound(anchors, x);
|
|
210
|
+
let coincidentSum = 0;
|
|
211
|
+
for (let index = coincidentStart; index < coincidentEnd; index++) {
|
|
212
|
+
coincidentSum += values[index];
|
|
213
|
+
}
|
|
214
|
+
return coincidentSum / (coincidentEnd - coincidentStart);
|
|
203
215
|
}
|
|
204
216
|
let weightedCount = 0;
|
|
205
217
|
let sumW = 0;
|
|
@@ -207,7 +219,10 @@ function loessAt(x, anchors, values, span) {
|
|
|
207
219
|
let sumWY = 0;
|
|
208
220
|
let sumWXX = 0;
|
|
209
221
|
let sumWXY = 0;
|
|
210
|
-
for (
|
|
222
|
+
for (let index = start; index < end; index++) {
|
|
223
|
+
const pointX = anchors[index];
|
|
224
|
+
const pointY = values[index];
|
|
225
|
+
const distance = Math.abs(pointX - x);
|
|
211
226
|
const ratio = distance / bandwidth;
|
|
212
227
|
const weight = ratio >= 1 ? 0 : (1 - ratio ** 3) ** 3;
|
|
213
228
|
if (weight === 0) {
|
|
@@ -215,10 +230,10 @@ function loessAt(x, anchors, values, span) {
|
|
|
215
230
|
}
|
|
216
231
|
weightedCount += 1;
|
|
217
232
|
sumW += weight;
|
|
218
|
-
sumWX += weight *
|
|
219
|
-
sumWY += weight *
|
|
220
|
-
sumWXX += weight *
|
|
221
|
-
sumWXY += weight *
|
|
233
|
+
sumWX += weight * pointX;
|
|
234
|
+
sumWY += weight * pointY;
|
|
235
|
+
sumWXX += weight * pointX * pointX;
|
|
236
|
+
sumWXY += weight * pointX * pointY;
|
|
222
237
|
}
|
|
223
238
|
if (weightedCount === 0 || sumW === 0) {
|
|
224
239
|
return undefined;
|
|
@@ -231,6 +246,34 @@ function loessAt(x, anchors, values, span) {
|
|
|
231
246
|
const slope = (sumW * sumWXY - sumWX * sumWY) / denominator;
|
|
232
247
|
return intercept + slope * x;
|
|
233
248
|
}
|
|
249
|
+
function lowerBound(values, target) {
|
|
250
|
+
let low = 0;
|
|
251
|
+
let high = values.length;
|
|
252
|
+
while (low < high) {
|
|
253
|
+
const mid = Math.floor((low + high) / 2);
|
|
254
|
+
if (values[mid] < target) {
|
|
255
|
+
low = mid + 1;
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
high = mid;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
return low;
|
|
262
|
+
}
|
|
263
|
+
function upperBound(values, target) {
|
|
264
|
+
let low = 0;
|
|
265
|
+
let high = values.length;
|
|
266
|
+
while (low < high) {
|
|
267
|
+
const mid = Math.floor((low + high) / 2);
|
|
268
|
+
if (values[mid] <= target) {
|
|
269
|
+
low = mid + 1;
|
|
270
|
+
}
|
|
271
|
+
else {
|
|
272
|
+
high = mid;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
return low;
|
|
276
|
+
}
|
|
234
277
|
function makeSmoothSchema(schema, target, output) {
|
|
235
278
|
if (output === undefined || output === target) {
|
|
236
279
|
return Object.freeze([
|
|
@@ -296,6 +339,232 @@ function aggregateValues(operation, values) {
|
|
|
296
339
|
return defined[defined.length - 1];
|
|
297
340
|
}
|
|
298
341
|
}
|
|
342
|
+
function createAggregateBucketState(operation) {
|
|
343
|
+
if (operation === 'count') {
|
|
344
|
+
let definedCount = 0;
|
|
345
|
+
return {
|
|
346
|
+
add(value) {
|
|
347
|
+
if (value !== undefined) {
|
|
348
|
+
definedCount += 1;
|
|
349
|
+
}
|
|
350
|
+
},
|
|
351
|
+
snapshot() {
|
|
352
|
+
return definedCount;
|
|
353
|
+
},
|
|
354
|
+
};
|
|
355
|
+
}
|
|
356
|
+
if (operation === 'sum') {
|
|
357
|
+
let numericSum = 0;
|
|
358
|
+
return {
|
|
359
|
+
add(value) {
|
|
360
|
+
if (typeof value === 'number') {
|
|
361
|
+
numericSum += value;
|
|
362
|
+
}
|
|
363
|
+
},
|
|
364
|
+
snapshot() {
|
|
365
|
+
return numericSum;
|
|
366
|
+
},
|
|
367
|
+
};
|
|
368
|
+
}
|
|
369
|
+
if (operation === 'avg') {
|
|
370
|
+
let numericSum = 0;
|
|
371
|
+
let numericCount = 0;
|
|
372
|
+
return {
|
|
373
|
+
add(value) {
|
|
374
|
+
if (typeof value === 'number') {
|
|
375
|
+
numericSum += value;
|
|
376
|
+
numericCount += 1;
|
|
377
|
+
}
|
|
378
|
+
},
|
|
379
|
+
snapshot() {
|
|
380
|
+
return numericCount === 0 ? undefined : numericSum / numericCount;
|
|
381
|
+
},
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
if (operation === 'min') {
|
|
385
|
+
let numericValue;
|
|
386
|
+
return {
|
|
387
|
+
add(value) {
|
|
388
|
+
if (typeof value !== 'number') {
|
|
389
|
+
return;
|
|
390
|
+
}
|
|
391
|
+
numericValue =
|
|
392
|
+
numericValue === undefined || value < numericValue
|
|
393
|
+
? value
|
|
394
|
+
: numericValue;
|
|
395
|
+
},
|
|
396
|
+
snapshot() {
|
|
397
|
+
return numericValue;
|
|
398
|
+
},
|
|
399
|
+
};
|
|
400
|
+
}
|
|
401
|
+
if (operation === 'max') {
|
|
402
|
+
let numericValue;
|
|
403
|
+
return {
|
|
404
|
+
add(value) {
|
|
405
|
+
if (typeof value !== 'number') {
|
|
406
|
+
return;
|
|
407
|
+
}
|
|
408
|
+
numericValue =
|
|
409
|
+
numericValue === undefined || value > numericValue
|
|
410
|
+
? value
|
|
411
|
+
: numericValue;
|
|
412
|
+
},
|
|
413
|
+
snapshot() {
|
|
414
|
+
return numericValue;
|
|
415
|
+
},
|
|
416
|
+
};
|
|
417
|
+
}
|
|
418
|
+
if (operation === 'first') {
|
|
419
|
+
let firstValue;
|
|
420
|
+
return {
|
|
421
|
+
add(value) {
|
|
422
|
+
if (firstValue === undefined && value !== undefined) {
|
|
423
|
+
firstValue = value;
|
|
424
|
+
}
|
|
425
|
+
},
|
|
426
|
+
snapshot() {
|
|
427
|
+
return firstValue;
|
|
428
|
+
},
|
|
429
|
+
};
|
|
430
|
+
}
|
|
431
|
+
if (operation === 'last') {
|
|
432
|
+
let lastValue;
|
|
433
|
+
return {
|
|
434
|
+
add(value) {
|
|
435
|
+
if (value !== undefined) {
|
|
436
|
+
lastValue = value;
|
|
437
|
+
}
|
|
438
|
+
},
|
|
439
|
+
snapshot() {
|
|
440
|
+
return lastValue;
|
|
441
|
+
},
|
|
442
|
+
};
|
|
443
|
+
}
|
|
444
|
+
throw new TypeError(`unsupported aggregate reducer: ${operation}`);
|
|
445
|
+
}
|
|
446
|
+
function createRollingReducerState(operation) {
|
|
447
|
+
const compact = (entries, head) => {
|
|
448
|
+
if (head > 0 && head * 2 >= entries.length) {
|
|
449
|
+
return [entries.slice(head), 0];
|
|
450
|
+
}
|
|
451
|
+
return [entries, head];
|
|
452
|
+
};
|
|
453
|
+
if (operation === 'count') {
|
|
454
|
+
let definedCount = 0;
|
|
455
|
+
return {
|
|
456
|
+
add(_index, value) {
|
|
457
|
+
if (value !== undefined) {
|
|
458
|
+
definedCount += 1;
|
|
459
|
+
}
|
|
460
|
+
},
|
|
461
|
+
remove(_index, value) {
|
|
462
|
+
if (value !== undefined) {
|
|
463
|
+
definedCount -= 1;
|
|
464
|
+
}
|
|
465
|
+
},
|
|
466
|
+
snapshot() {
|
|
467
|
+
return definedCount;
|
|
468
|
+
},
|
|
469
|
+
};
|
|
470
|
+
}
|
|
471
|
+
if (operation === 'sum') {
|
|
472
|
+
let numericSum = 0;
|
|
473
|
+
return {
|
|
474
|
+
add(_index, value) {
|
|
475
|
+
if (typeof value === 'number') {
|
|
476
|
+
numericSum += value;
|
|
477
|
+
}
|
|
478
|
+
},
|
|
479
|
+
remove(_index, value) {
|
|
480
|
+
if (typeof value === 'number') {
|
|
481
|
+
numericSum -= value;
|
|
482
|
+
}
|
|
483
|
+
},
|
|
484
|
+
snapshot() {
|
|
485
|
+
return numericSum;
|
|
486
|
+
},
|
|
487
|
+
};
|
|
488
|
+
}
|
|
489
|
+
if (operation === 'avg') {
|
|
490
|
+
let numericSum = 0;
|
|
491
|
+
let numericCount = 0;
|
|
492
|
+
return {
|
|
493
|
+
add(_index, value) {
|
|
494
|
+
if (typeof value === 'number') {
|
|
495
|
+
numericSum += value;
|
|
496
|
+
numericCount += 1;
|
|
497
|
+
}
|
|
498
|
+
},
|
|
499
|
+
remove(_index, value) {
|
|
500
|
+
if (typeof value === 'number') {
|
|
501
|
+
numericSum -= value;
|
|
502
|
+
numericCount -= 1;
|
|
503
|
+
}
|
|
504
|
+
},
|
|
505
|
+
snapshot() {
|
|
506
|
+
return numericCount === 0 ? undefined : numericSum / numericCount;
|
|
507
|
+
},
|
|
508
|
+
};
|
|
509
|
+
}
|
|
510
|
+
if (operation === 'min' || operation === 'max') {
|
|
511
|
+
let entries = [];
|
|
512
|
+
let head = 0;
|
|
513
|
+
return {
|
|
514
|
+
add(index, value) {
|
|
515
|
+
if (typeof value !== 'number') {
|
|
516
|
+
return;
|
|
517
|
+
}
|
|
518
|
+
while (entries.length > head) {
|
|
519
|
+
const last = entries[entries.length - 1];
|
|
520
|
+
if (operation === 'min' ? last.value <= value : last.value >= value) {
|
|
521
|
+
break;
|
|
522
|
+
}
|
|
523
|
+
entries.pop();
|
|
524
|
+
}
|
|
525
|
+
entries.push({ index, value });
|
|
526
|
+
},
|
|
527
|
+
remove(index, value) {
|
|
528
|
+
if (typeof value !== 'number') {
|
|
529
|
+
return;
|
|
530
|
+
}
|
|
531
|
+
if (entries[head]?.index === index) {
|
|
532
|
+
head += 1;
|
|
533
|
+
[entries, head] = compact(entries, head);
|
|
534
|
+
}
|
|
535
|
+
},
|
|
536
|
+
snapshot() {
|
|
537
|
+
return entries[head]?.value;
|
|
538
|
+
},
|
|
539
|
+
};
|
|
540
|
+
}
|
|
541
|
+
if (operation === 'first' || operation === 'last') {
|
|
542
|
+
let entries = [];
|
|
543
|
+
let head = 0;
|
|
544
|
+
return {
|
|
545
|
+
add(index, value) {
|
|
546
|
+
if (value !== undefined) {
|
|
547
|
+
entries.push({ index, value });
|
|
548
|
+
}
|
|
549
|
+
},
|
|
550
|
+
remove(index, value) {
|
|
551
|
+
if (value === undefined) {
|
|
552
|
+
return;
|
|
553
|
+
}
|
|
554
|
+
if (entries[head]?.index === index) {
|
|
555
|
+
head += 1;
|
|
556
|
+
[entries, head] = compact(entries, head);
|
|
557
|
+
}
|
|
558
|
+
},
|
|
559
|
+
snapshot() {
|
|
560
|
+
return operation === 'first'
|
|
561
|
+
? entries[head]?.value
|
|
562
|
+
: entries[entries.length - 1]?.value;
|
|
563
|
+
},
|
|
564
|
+
};
|
|
565
|
+
}
|
|
566
|
+
throw new TypeError(`unsupported rolling reducer: ${operation}`);
|
|
567
|
+
}
|
|
299
568
|
function parseDurationInput(value) {
|
|
300
569
|
if (typeof value === 'number') {
|
|
301
570
|
if (!Number.isFinite(value) || value <= 0) {
|
|
@@ -441,6 +710,19 @@ export class TimeSeries {
|
|
|
441
710
|
this.events = validateAndNormalize(input);
|
|
442
711
|
Object.freeze(this);
|
|
443
712
|
}
|
|
713
|
+
/**
|
|
714
|
+
* Builds a series from event data that has already been validated and ordered by the caller.
|
|
715
|
+
*
|
|
716
|
+
* This is intentionally private and only used by transforms that preserve the existing event
|
|
717
|
+
* order and normalized key invariants.
|
|
718
|
+
*/
|
|
719
|
+
static #fromTrustedEvents(name, schema, events) {
|
|
720
|
+
const series = Object.create(TimeSeries.prototype);
|
|
721
|
+
series.name = name;
|
|
722
|
+
series.schema = Object.freeze(schema.slice());
|
|
723
|
+
series.events = Object.freeze(events.slice());
|
|
724
|
+
return Object.freeze(series);
|
|
725
|
+
}
|
|
444
726
|
/** Example: `series.firstColumnKind`. Returns the first-column kind from the series schema. */
|
|
445
727
|
get firstColumnKind() {
|
|
446
728
|
return this.schema[0].kind;
|
|
@@ -478,10 +760,14 @@ export class TimeSeries {
|
|
|
478
760
|
{ name: 'time', kind: 'time' },
|
|
479
761
|
...this.schema.slice(1),
|
|
480
762
|
]);
|
|
763
|
+
const resultEvents = this.events.map((event) => event.asTime(options));
|
|
764
|
+
if ((options.at ?? 'begin') === 'begin') {
|
|
765
|
+
return TimeSeries.#fromTrustedEvents(this.name, schema, resultEvents);
|
|
766
|
+
}
|
|
481
767
|
return new TimeSeries({
|
|
482
768
|
name: this.name,
|
|
483
769
|
schema,
|
|
484
|
-
rows: toRows(schema,
|
|
770
|
+
rows: toRows(schema, resultEvents),
|
|
485
771
|
});
|
|
486
772
|
}
|
|
487
773
|
/** Example: `series.asTimeRange()`. Converts the series key type to `"timeRange"` while preserving each event extent. */
|
|
@@ -490,11 +776,8 @@ export class TimeSeries {
|
|
|
490
776
|
{ name: 'timeRange', kind: 'timeRange' },
|
|
491
777
|
...this.schema.slice(1),
|
|
492
778
|
]);
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
schema,
|
|
496
|
-
rows: toRows(schema, this.events.map((event) => event.asTimeRange())),
|
|
497
|
-
});
|
|
779
|
+
const resultEvents = this.events.map((event) => event.asTimeRange());
|
|
780
|
+
return TimeSeries.#fromTrustedEvents(this.name, schema, resultEvents);
|
|
498
781
|
}
|
|
499
782
|
asInterval(value) {
|
|
500
783
|
const schema = Object.freeze([
|
|
@@ -506,11 +789,7 @@ export class TimeSeries {
|
|
|
506
789
|
? event.asInterval(() => value(event, index))
|
|
507
790
|
: event.asInterval(value);
|
|
508
791
|
});
|
|
509
|
-
return
|
|
510
|
-
name: this.name,
|
|
511
|
-
schema,
|
|
512
|
-
rows: toRows(schema, nextEvents),
|
|
513
|
-
});
|
|
792
|
+
return TimeSeries.#fromTrustedEvents(this.name, schema, nextEvents);
|
|
514
793
|
}
|
|
515
794
|
join(other, options = {}) {
|
|
516
795
|
const [left, right] = prepareSeriesForJoin([this, other], options);
|
|
@@ -566,11 +845,7 @@ export class TimeSeries {
|
|
|
566
845
|
rightIndex += 1;
|
|
567
846
|
}
|
|
568
847
|
}
|
|
569
|
-
return
|
|
570
|
-
name: left.name,
|
|
571
|
-
schema: resultSchema,
|
|
572
|
-
rows: toRows(resultSchema, joinedEvents),
|
|
573
|
-
});
|
|
848
|
+
return TimeSeries.#fromTrustedEvents(left.name, resultSchema, joinedEvents);
|
|
574
849
|
}
|
|
575
850
|
/**
|
|
576
851
|
* Example: `series.align(Sequence.every("1m"))`.
|
|
@@ -613,18 +888,35 @@ export class TimeSeries {
|
|
|
613
888
|
}
|
|
614
889
|
const intervals = toBoundedSequence(sequence, range, sample).intervals();
|
|
615
890
|
const valueColumns = this.schema.slice(1);
|
|
616
|
-
const
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
.
|
|
626
|
-
|
|
627
|
-
|
|
891
|
+
const resultColumns = resultSchema.slice(1);
|
|
892
|
+
const alignedRows = method === 'linear'
|
|
893
|
+
? (() => {
|
|
894
|
+
const cursor = { index: 0 };
|
|
895
|
+
const rows = new Array(intervals.length);
|
|
896
|
+
for (let i = 0; i < intervals.length; i += 1) {
|
|
897
|
+
const interval = intervals[i];
|
|
898
|
+
const t = sampleTime(interval, sample);
|
|
899
|
+
const data = this.#alignLinearAt(t, valueColumns, cursor);
|
|
900
|
+
const row = new Array(resultColumns.length + 1);
|
|
901
|
+
row[0] = interval;
|
|
902
|
+
for (let j = 0; j < resultColumns.length; j += 1) {
|
|
903
|
+
const column = resultColumns[j];
|
|
904
|
+
row[j + 1] = data[column.name];
|
|
905
|
+
}
|
|
906
|
+
rows[i] = Object.freeze(row);
|
|
907
|
+
}
|
|
908
|
+
return rows;
|
|
909
|
+
})()
|
|
910
|
+
: intervals.map((interval) => {
|
|
911
|
+
const t = sampleTime(interval, sample);
|
|
912
|
+
const data = this.#alignHoldAt(t);
|
|
913
|
+
return Object.freeze([
|
|
914
|
+
interval,
|
|
915
|
+
...resultSchema
|
|
916
|
+
.slice(1)
|
|
917
|
+
.map((column) => data[column.name]),
|
|
918
|
+
]);
|
|
919
|
+
});
|
|
628
920
|
return new TimeSeries({
|
|
629
921
|
name: this.name,
|
|
630
922
|
schema: resultSchema,
|
|
@@ -693,9 +985,44 @@ export class TimeSeries {
|
|
|
693
985
|
});
|
|
694
986
|
}
|
|
695
987
|
const buckets = toBoundedSequence(sequence, range, 'begin').intervals();
|
|
988
|
+
const resultColumns = resultSchema.slice(1);
|
|
989
|
+
if (isTimeKeyed(this)) {
|
|
990
|
+
const columns = resultColumns.map((column) => ({
|
|
991
|
+
name: column.name,
|
|
992
|
+
operation: mapping[column.name],
|
|
993
|
+
}));
|
|
994
|
+
let eventIndex = 0;
|
|
995
|
+
const resultRows = buckets.map((bucket) => {
|
|
996
|
+
const states = columns.map((column) => createAggregateBucketState(column.operation));
|
|
997
|
+
while (eventIndex < this.events.length &&
|
|
998
|
+
this.events[eventIndex].begin() < bucket.begin()) {
|
|
999
|
+
eventIndex += 1;
|
|
1000
|
+
}
|
|
1001
|
+
let scanIndex = eventIndex;
|
|
1002
|
+
while (scanIndex < this.events.length &&
|
|
1003
|
+
this.events[scanIndex].begin() < bucket.end()) {
|
|
1004
|
+
const data = this.events[scanIndex].data();
|
|
1005
|
+
for (let index = 0; index < columns.length; index += 1) {
|
|
1006
|
+
const column = columns[index];
|
|
1007
|
+
states[index].add(data[column.name]);
|
|
1008
|
+
}
|
|
1009
|
+
scanIndex += 1;
|
|
1010
|
+
}
|
|
1011
|
+
eventIndex = scanIndex;
|
|
1012
|
+
return Object.freeze([
|
|
1013
|
+
bucket,
|
|
1014
|
+
...states.map((state) => state.snapshot()),
|
|
1015
|
+
]);
|
|
1016
|
+
});
|
|
1017
|
+
return new TimeSeries({
|
|
1018
|
+
name: this.name,
|
|
1019
|
+
schema: resultSchema,
|
|
1020
|
+
rows: resultRows,
|
|
1021
|
+
});
|
|
1022
|
+
}
|
|
696
1023
|
const resultRows = buckets.map((bucket) => {
|
|
697
1024
|
const contributors = this.events.filter((event) => bucketOverlapsHalfOpen(bucket, event.key()));
|
|
698
|
-
const aggregated =
|
|
1025
|
+
const aggregated = resultColumns.map((column) => {
|
|
699
1026
|
const operation = mapping[column.name];
|
|
700
1027
|
const values = contributors.map((event) => {
|
|
701
1028
|
const data = event.data();
|
|
@@ -791,23 +1118,122 @@ export class TimeSeries {
|
|
|
791
1118
|
rows: resultRows,
|
|
792
1119
|
});
|
|
793
1120
|
}
|
|
1121
|
+
const resultColumns = buildResultColumns();
|
|
794
1122
|
const resultSchema = Object.freeze([
|
|
795
1123
|
this.schema[0],
|
|
796
|
-
...
|
|
1124
|
+
...resultColumns,
|
|
797
1125
|
]);
|
|
798
|
-
const
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
}
|
|
1126
|
+
const reducerStates = resultColumns.map((column) => createRollingReducerState(mapping[column.name]));
|
|
1127
|
+
const beginTimes = this.events.map((event) => event.begin());
|
|
1128
|
+
const resultRows = new Array(this.events.length);
|
|
1129
|
+
let windowStart = 0;
|
|
1130
|
+
let windowEnd = 0;
|
|
1131
|
+
const addEvent = (index) => {
|
|
1132
|
+
const event = this.events[index];
|
|
1133
|
+
const data = event.data();
|
|
1134
|
+
for (let reducerIndex = 0; reducerIndex < reducerStates.length; reducerIndex++) {
|
|
1135
|
+
const column = resultColumns[reducerIndex];
|
|
1136
|
+
reducerStates[reducerIndex].add(index, data[column.name]);
|
|
1137
|
+
}
|
|
1138
|
+
};
|
|
1139
|
+
const removeEvent = (index) => {
|
|
1140
|
+
const event = this.events[index];
|
|
1141
|
+
const data = event.data();
|
|
1142
|
+
for (let reducerIndex = 0; reducerIndex < reducerStates.length; reducerIndex++) {
|
|
1143
|
+
const column = resultColumns[reducerIndex];
|
|
1144
|
+
reducerStates[reducerIndex].remove(index, data[column.name]);
|
|
1145
|
+
}
|
|
1146
|
+
};
|
|
1147
|
+
if (alignment === 'trailing') {
|
|
1148
|
+
for (let groupStart = 0; groupStart < this.events.length;) {
|
|
1149
|
+
const anchor = beginTimes[groupStart];
|
|
1150
|
+
let groupEnd = groupStart + 1;
|
|
1151
|
+
while (groupEnd < this.events.length &&
|
|
1152
|
+
beginTimes[groupEnd] === anchor) {
|
|
1153
|
+
groupEnd += 1;
|
|
1154
|
+
}
|
|
1155
|
+
while (windowEnd < this.events.length &&
|
|
1156
|
+
beginTimes[windowEnd] <= anchor) {
|
|
1157
|
+
addEvent(windowEnd);
|
|
1158
|
+
windowEnd += 1;
|
|
1159
|
+
}
|
|
1160
|
+
const lowerBound = anchor - windowMs;
|
|
1161
|
+
while (windowStart < windowEnd &&
|
|
1162
|
+
beginTimes[windowStart] <= lowerBound) {
|
|
1163
|
+
removeEvent(windowStart);
|
|
1164
|
+
windowStart += 1;
|
|
1165
|
+
}
|
|
1166
|
+
const aggregated = reducerStates.map((state) => state.snapshot());
|
|
1167
|
+
for (let index = groupStart; index < groupEnd; index++) {
|
|
1168
|
+
resultRows[index] = Object.freeze([
|
|
1169
|
+
this.events[index].key(),
|
|
1170
|
+
...aggregated,
|
|
1171
|
+
]);
|
|
1172
|
+
}
|
|
1173
|
+
groupStart = groupEnd;
|
|
1174
|
+
}
|
|
1175
|
+
}
|
|
1176
|
+
else if (alignment === 'leading') {
|
|
1177
|
+
for (let groupStart = 0; groupStart < this.events.length;) {
|
|
1178
|
+
const anchor = beginTimes[groupStart];
|
|
1179
|
+
let groupEnd = groupStart + 1;
|
|
1180
|
+
while (groupEnd < this.events.length &&
|
|
1181
|
+
beginTimes[groupEnd] === anchor) {
|
|
1182
|
+
groupEnd += 1;
|
|
1183
|
+
}
|
|
1184
|
+
const lowerBound = anchor;
|
|
1185
|
+
while (windowStart < windowEnd &&
|
|
1186
|
+
beginTimes[windowStart] < lowerBound) {
|
|
1187
|
+
removeEvent(windowStart);
|
|
1188
|
+
windowStart += 1;
|
|
1189
|
+
}
|
|
1190
|
+
const upperBound = anchor + windowMs;
|
|
1191
|
+
while (windowEnd < this.events.length &&
|
|
1192
|
+
beginTimes[windowEnd] < upperBound) {
|
|
1193
|
+
addEvent(windowEnd);
|
|
1194
|
+
windowEnd += 1;
|
|
1195
|
+
}
|
|
1196
|
+
const aggregated = reducerStates.map((state) => state.snapshot());
|
|
1197
|
+
for (let index = groupStart; index < groupEnd; index++) {
|
|
1198
|
+
resultRows[index] = Object.freeze([
|
|
1199
|
+
this.events[index].key(),
|
|
1200
|
+
...aggregated,
|
|
1201
|
+
]);
|
|
1202
|
+
}
|
|
1203
|
+
groupStart = groupEnd;
|
|
1204
|
+
}
|
|
1205
|
+
}
|
|
1206
|
+
else {
|
|
1207
|
+
const halfWindow = windowMs / 2;
|
|
1208
|
+
for (let groupStart = 0; groupStart < this.events.length;) {
|
|
1209
|
+
const anchor = beginTimes[groupStart];
|
|
1210
|
+
let groupEnd = groupStart + 1;
|
|
1211
|
+
while (groupEnd < this.events.length &&
|
|
1212
|
+
beginTimes[groupEnd] === anchor) {
|
|
1213
|
+
groupEnd += 1;
|
|
1214
|
+
}
|
|
1215
|
+
const lowerBound = anchor - halfWindow;
|
|
1216
|
+
while (windowStart < windowEnd &&
|
|
1217
|
+
beginTimes[windowStart] < lowerBound) {
|
|
1218
|
+
removeEvent(windowStart);
|
|
1219
|
+
windowStart += 1;
|
|
1220
|
+
}
|
|
1221
|
+
const upperBound = anchor + halfWindow;
|
|
1222
|
+
while (windowEnd < this.events.length &&
|
|
1223
|
+
beginTimes[windowEnd] < upperBound) {
|
|
1224
|
+
addEvent(windowEnd);
|
|
1225
|
+
windowEnd += 1;
|
|
1226
|
+
}
|
|
1227
|
+
const aggregated = reducerStates.map((state) => state.snapshot());
|
|
1228
|
+
for (let index = groupStart; index < groupEnd; index++) {
|
|
1229
|
+
resultRows[index] = Object.freeze([
|
|
1230
|
+
this.events[index].key(),
|
|
1231
|
+
...aggregated,
|
|
1232
|
+
]);
|
|
1233
|
+
}
|
|
1234
|
+
groupStart = groupEnd;
|
|
1235
|
+
}
|
|
1236
|
+
}
|
|
811
1237
|
return new TimeSeries({
|
|
812
1238
|
name: this.name,
|
|
813
1239
|
schema: resultSchema,
|
|
@@ -890,8 +1316,17 @@ export class TimeSeries {
|
|
|
890
1316
|
span > 1) {
|
|
891
1317
|
throw new TypeError('loess smoothing requires span to be a finite number in the range (0, 1]');
|
|
892
1318
|
}
|
|
1319
|
+
const loessAnchors = [];
|
|
1320
|
+
const loessValues = [];
|
|
1321
|
+
for (let index = 0; index < anchors.length; index++) {
|
|
1322
|
+
const value = sourceValues[index];
|
|
1323
|
+
if (typeof value === 'number') {
|
|
1324
|
+
loessAnchors.push(anchors[index]);
|
|
1325
|
+
loessValues.push(value);
|
|
1326
|
+
}
|
|
1327
|
+
}
|
|
893
1328
|
const resultRows = this.events.map((event, index) => {
|
|
894
|
-
const smoothed = loessAt(anchors[index],
|
|
1329
|
+
const smoothed = loessAt(anchors[index], loessAnchors, loessValues, span);
|
|
895
1330
|
const nextEvent = output === undefined
|
|
896
1331
|
? event.set(column, smoothed)
|
|
897
1332
|
: event.merge({ [output]: smoothed });
|
|
@@ -914,24 +1349,78 @@ export class TimeSeries {
|
|
|
914
1349
|
const window = options.window;
|
|
915
1350
|
const windowMs = parseDurationInput(window);
|
|
916
1351
|
const alignment = options.alignment ?? 'trailing';
|
|
917
|
-
const
|
|
918
|
-
|
|
919
|
-
|
|
1352
|
+
const resultValues = new Array(this.events.length);
|
|
1353
|
+
let windowStart = 0;
|
|
1354
|
+
let windowEnd = 0;
|
|
1355
|
+
let numericSum = 0;
|
|
1356
|
+
let numericCount = 0;
|
|
1357
|
+
const addEvent = (index) => {
|
|
1358
|
+
const value = sourceValues[index];
|
|
1359
|
+
if (typeof value === 'number') {
|
|
1360
|
+
numericSum += value;
|
|
1361
|
+
numericCount += 1;
|
|
920
1362
|
}
|
|
921
|
-
|
|
922
|
-
|
|
1363
|
+
};
|
|
1364
|
+
const removeEvent = (index) => {
|
|
1365
|
+
const value = sourceValues[index];
|
|
1366
|
+
if (typeof value === 'number') {
|
|
1367
|
+
numericSum -= value;
|
|
1368
|
+
numericCount -= 1;
|
|
923
1369
|
}
|
|
924
|
-
const halfWindow = windowMs / 2;
|
|
925
|
-
return (candidate >= anchor - halfWindow && candidate < anchor + halfWindow);
|
|
926
1370
|
};
|
|
1371
|
+
const snapshot = () => numericCount === 0 ? undefined : numericSum / numericCount;
|
|
1372
|
+
for (let groupStart = 0; groupStart < this.events.length;) {
|
|
1373
|
+
const anchor = anchors[groupStart];
|
|
1374
|
+
let groupEnd = groupStart + 1;
|
|
1375
|
+
while (groupEnd < this.events.length && anchors[groupEnd] === anchor) {
|
|
1376
|
+
groupEnd += 1;
|
|
1377
|
+
}
|
|
1378
|
+
if (alignment === 'trailing') {
|
|
1379
|
+
while (windowEnd < this.events.length &&
|
|
1380
|
+
anchors[windowEnd] <= anchor) {
|
|
1381
|
+
addEvent(windowEnd);
|
|
1382
|
+
windowEnd += 1;
|
|
1383
|
+
}
|
|
1384
|
+
const lowerBound = anchor - windowMs;
|
|
1385
|
+
while (windowStart < windowEnd && anchors[windowStart] <= lowerBound) {
|
|
1386
|
+
removeEvent(windowStart);
|
|
1387
|
+
windowStart += 1;
|
|
1388
|
+
}
|
|
1389
|
+
}
|
|
1390
|
+
else if (alignment === 'leading') {
|
|
1391
|
+
while (windowStart < windowEnd && anchors[windowStart] < anchor) {
|
|
1392
|
+
removeEvent(windowStart);
|
|
1393
|
+
windowStart += 1;
|
|
1394
|
+
}
|
|
1395
|
+
const upperBound = anchor + windowMs;
|
|
1396
|
+
while (windowEnd < this.events.length &&
|
|
1397
|
+
anchors[windowEnd] < upperBound) {
|
|
1398
|
+
addEvent(windowEnd);
|
|
1399
|
+
windowEnd += 1;
|
|
1400
|
+
}
|
|
1401
|
+
}
|
|
1402
|
+
else {
|
|
1403
|
+
const halfWindow = windowMs / 2;
|
|
1404
|
+
while (windowStart < windowEnd &&
|
|
1405
|
+
anchors[windowStart] < anchor - halfWindow) {
|
|
1406
|
+
removeEvent(windowStart);
|
|
1407
|
+
windowStart += 1;
|
|
1408
|
+
}
|
|
1409
|
+
const upperBound = anchor + halfWindow;
|
|
1410
|
+
while (windowEnd < this.events.length &&
|
|
1411
|
+
anchors[windowEnd] < upperBound) {
|
|
1412
|
+
addEvent(windowEnd);
|
|
1413
|
+
windowEnd += 1;
|
|
1414
|
+
}
|
|
1415
|
+
}
|
|
1416
|
+
const smoothed = snapshot();
|
|
1417
|
+
for (let index = groupStart; index < groupEnd; index++) {
|
|
1418
|
+
resultValues[index] = smoothed;
|
|
1419
|
+
}
|
|
1420
|
+
groupStart = groupEnd;
|
|
1421
|
+
}
|
|
927
1422
|
const resultRows = this.events.map((event, index) => {
|
|
928
|
-
const
|
|
929
|
-
const values = sourceValues
|
|
930
|
-
.filter((_, candidateIndex) => anchorInWindow(anchors[candidateIndex], anchor))
|
|
931
|
-
.flatMap((value) => (value === undefined ? [] : [value]));
|
|
932
|
-
const smoothed = values.length === 0
|
|
933
|
-
? undefined
|
|
934
|
-
: values.reduce((sum, value) => sum + value, 0) / values.length;
|
|
1423
|
+
const smoothed = resultValues[index];
|
|
935
1424
|
const nextEvent = output === undefined
|
|
936
1425
|
? event.set(column, smoothed)
|
|
937
1426
|
: event.merge({ [output]: smoothed });
|
|
@@ -950,19 +1439,11 @@ export class TimeSeries {
|
|
|
950
1439
|
}
|
|
951
1440
|
/** Example: `series.slice(0, 10)`. Returns a positional half-open slice of the series. */
|
|
952
1441
|
slice(beginIndex, endIndex) {
|
|
953
|
-
return
|
|
954
|
-
name: this.name,
|
|
955
|
-
schema: this.schema,
|
|
956
|
-
rows: toRows(this.schema, this.events.slice(beginIndex, endIndex)),
|
|
957
|
-
});
|
|
1442
|
+
return TimeSeries.#fromTrustedEvents(this.name, this.schema, this.events.slice(beginIndex, endIndex));
|
|
958
1443
|
}
|
|
959
1444
|
/** Example: `series.filter(event => event.get("active"))`. Returns a new series containing only events that match the predicate. */
|
|
960
1445
|
filter(predicate) {
|
|
961
|
-
return
|
|
962
|
-
name: this.name,
|
|
963
|
-
schema: this.schema,
|
|
964
|
-
rows: toRows(this.schema, this.events.filter((event, index) => predicate(event, index))),
|
|
965
|
-
});
|
|
1446
|
+
return TimeSeries.#fromTrustedEvents(this.name, this.schema, this.events.filter((event, index) => predicate(event, index)));
|
|
966
1447
|
}
|
|
967
1448
|
/** Example: `series.find(event => event.get("value") > 0)`. Returns the first event that matches the predicate, if any. */
|
|
968
1449
|
find(predicate) {
|
|
@@ -979,7 +1460,9 @@ export class TimeSeries {
|
|
|
979
1460
|
/** Example: `series.includesKey(new Time(Date.now()))`. Returns `true` when the series contains an event with an exactly matching key. */
|
|
980
1461
|
includesKey(key) {
|
|
981
1462
|
const normalizedKey = toKey(key);
|
|
982
|
-
|
|
1463
|
+
const index = this.bisect(normalizedKey);
|
|
1464
|
+
return (index < this.events.length &&
|
|
1465
|
+
this.events[index].key().equals(normalizedKey));
|
|
983
1466
|
}
|
|
984
1467
|
/** Example: `series.bisect(new Time(Date.now()))`. Returns the insertion index for the supplied key in the ordered event sequence. */
|
|
985
1468
|
bisect(key) {
|
|
@@ -1081,11 +1564,7 @@ export class TimeSeries {
|
|
|
1081
1564
|
const trimmedEvents = this.events
|
|
1082
1565
|
.map((event) => event.trim(range))
|
|
1083
1566
|
.filter((event) => event !== undefined);
|
|
1084
|
-
return
|
|
1085
|
-
name: this.name,
|
|
1086
|
-
schema: this.schema,
|
|
1087
|
-
rows: toRows(this.schema, trimmedEvents),
|
|
1088
|
-
});
|
|
1567
|
+
return TimeSeries.#fromTrustedEvents(this.name, this.schema, trimmedEvents);
|
|
1089
1568
|
}
|
|
1090
1569
|
/** Example: `series.before(Date.now())`. Returns the events ending strictly before the supplied temporal boundary. */
|
|
1091
1570
|
before(boundary) {
|
|
@@ -1117,11 +1596,7 @@ export class TimeSeries {
|
|
|
1117
1596
|
const selectedEvent = event.select(...keys);
|
|
1118
1597
|
return selectedEvent;
|
|
1119
1598
|
});
|
|
1120
|
-
return
|
|
1121
|
-
name: this.name,
|
|
1122
|
-
schema: resultSchema,
|
|
1123
|
-
rows: toRows(resultSchema, resultEvents),
|
|
1124
|
-
});
|
|
1599
|
+
return TimeSeries.#fromTrustedEvents(this.name, resultSchema, resultEvents);
|
|
1125
1600
|
}
|
|
1126
1601
|
/** Example: `series.rename({ cpu: "usage" })`. Returns a new series with payload field names renamed according to the supplied mapping. */
|
|
1127
1602
|
rename(mapping) {
|
|
@@ -1139,11 +1614,7 @@ export class TimeSeries {
|
|
|
1139
1614
|
const renamedEvent = event.rename(mapping);
|
|
1140
1615
|
return renamedEvent;
|
|
1141
1616
|
});
|
|
1142
|
-
return
|
|
1143
|
-
name: this.name,
|
|
1144
|
-
schema: resultSchema,
|
|
1145
|
-
rows: toRows(resultSchema, resultEvents),
|
|
1146
|
-
});
|
|
1617
|
+
return TimeSeries.#fromTrustedEvents(this.name, resultSchema, resultEvents);
|
|
1147
1618
|
}
|
|
1148
1619
|
collapse(keys, output, reducer, options) {
|
|
1149
1620
|
const nextEvents = this.events.map((event) => {
|
|
@@ -1171,11 +1642,7 @@ export class TimeSeries {
|
|
|
1171
1642
|
: 'string',
|
|
1172
1643
|
},
|
|
1173
1644
|
]);
|
|
1174
|
-
return
|
|
1175
|
-
name: this.name,
|
|
1176
|
-
schema: resultSchema,
|
|
1177
|
-
rows: toRows(resultSchema, nextEvents),
|
|
1178
|
-
});
|
|
1645
|
+
return TimeSeries.#fromTrustedEvents(this.name, resultSchema, nextEvents);
|
|
1179
1646
|
}
|
|
1180
1647
|
/** Example: `series.length`. Returns the number of events in the series. */
|
|
1181
1648
|
get length() {
|
|
@@ -1185,15 +1652,26 @@ export class TimeSeries {
|
|
|
1185
1652
|
const event = this.atOrBefore(new Time(t));
|
|
1186
1653
|
return (event?.data() ?? {});
|
|
1187
1654
|
}
|
|
1188
|
-
#alignLinearAt(t, valueColumns) {
|
|
1189
|
-
const
|
|
1190
|
-
|
|
1191
|
-
|
|
1655
|
+
#alignLinearAt(t, valueColumns, cursor) {
|
|
1656
|
+
const events = this.events;
|
|
1657
|
+
const hasCursor = cursor !== undefined;
|
|
1658
|
+
let index = hasCursor ? cursor.index : this.bisect(t);
|
|
1659
|
+
if (hasCursor) {
|
|
1660
|
+
while (index < events.length && events[index].begin() < t) {
|
|
1661
|
+
index += 1;
|
|
1662
|
+
}
|
|
1663
|
+
cursor.index = index;
|
|
1664
|
+
}
|
|
1665
|
+
if (index < events.length && events[index].begin() === t) {
|
|
1666
|
+
return events[index].data();
|
|
1667
|
+
}
|
|
1668
|
+
if (index === 0) {
|
|
1669
|
+
return {};
|
|
1192
1670
|
}
|
|
1193
|
-
const previous =
|
|
1194
|
-
const next =
|
|
1195
|
-
if (!
|
|
1196
|
-
return
|
|
1671
|
+
const previous = events[index - 1];
|
|
1672
|
+
const next = events[index];
|
|
1673
|
+
if (!next || previous.begin() === next.begin()) {
|
|
1674
|
+
return previous.data();
|
|
1197
1675
|
}
|
|
1198
1676
|
const ratio = (t - previous.begin()) / (next.begin() - previous.begin());
|
|
1199
1677
|
const result = {};
|
package/dist/TimeSeries.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeSeries.js","sourceRoot":"","sources":["../src/TimeSeries.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TimeSeries.js","sourceRoot":"","sources":["../src/TimeSeries.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pond-ts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "TypeScript-first time series primitives",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
],
|
|
25
25
|
"scripts": {
|
|
26
26
|
"build": "tsc -p tsconfig.json",
|
|
27
|
-
"format": "prettier --write
|
|
28
|
-
"format:check": "prettier --check
|
|
27
|
+
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\" \"test-d/**/*.ts\"",
|
|
28
|
+
"format:check": "prettier --check \"src/**/*.ts\" \"test/**/*.ts\" \"test-d/**/*.ts\"",
|
|
29
29
|
"prepack": "npm run build",
|
|
30
30
|
"test": "npm run test:type && npm run test:runtime",
|
|
31
31
|
"test:runtime": "vitest run",
|