@pond-ts/react 0.13.0 → 0.13.1

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 (2) hide show
  1. package/CHANGELOG.md +55 -1
  2. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,10 +7,64 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
7
7
  file covers both packages. Pre-1.0: minor bumps may include new features and
8
8
  type-level changes; patch bumps are strictly additive.
9
9
 
10
- [Unreleased]: https://github.com/pjm17971/pond-ts/compare/v0.13.0...HEAD
10
+ [Unreleased]: https://github.com/pjm17971/pond-ts/compare/v0.13.1...HEAD
11
11
 
12
12
  ## [Unreleased]
13
13
 
14
+ ## [0.13.1] — 2026-05-01
15
+
16
+ Strictly additive over v0.13.0. Adds a sugar factory on `Trigger`
17
+ following Codex feedback after adopting v0.12 triggers in the
18
+ production webapp telemetry app: the explicit form
19
+ (`Trigger.clock(Sequence.every('30s'))`) is "ceremony-heavy for the
20
+ common case."
21
+
22
+ ### Added
23
+
24
+ - **`Trigger.every(duration, options?)`** — sugar for the common
25
+ `Trigger.clock(Sequence.every(duration, options))` pattern. Removes
26
+ the need to import `Sequence` for trigger-only use sites. Forwards
27
+ `{ anchor }` to `Sequence.every` and inherits the same fixed-step
28
+ validation:
29
+
30
+ ```ts
31
+ // Before
32
+ live.rolling('1m', mapping, {
33
+ trigger: Trigger.clock(Sequence.every('30s')),
34
+ });
35
+
36
+ // After
37
+ live.rolling('1m', mapping, { trigger: Trigger.every('30s') });
38
+
39
+ // Anchored variant (passes through to Sequence.every):
40
+ Trigger.every('30s', { anchor: 5_000 });
41
+ ```
42
+
43
+ The explicit `Trigger.clock(seq)` form remains for callers who
44
+ already hold a `Sequence` object (e.g. one shared across batch
45
+ `series.aggregate(seq, ...)` and live triggers) — `Trigger.every`
46
+ always builds a fresh `Sequence`.
47
+
48
+ ### Docs
49
+
50
+ - Telemetry recipe and live-transforms doc updated to lead with
51
+ the sugar form. `Trigger.clock` documented as the explicit form
52
+ for "I already have a Sequence object" cases.
53
+ - JSDoc on `LiveRollingAggregation.trigger` and the partitioned
54
+ rolling clock-trigger example updated to show the sugar.
55
+
56
+ ### Tests
57
+
58
+ - 3 new tests in `test/Triggers.test.ts` covering: sugar produces
59
+ `kind: 'clock'` with correct stepMs/anchor; anchor option
60
+ forwards correctly; behavioural equivalence between
61
+ `Trigger.every('30s')` and `Trigger.clock(Sequence.every('30s'))`
62
+ pinned by emission-time comparison through a real
63
+ `LiveRollingAggregation`.
64
+ - Total core tests: 1063 (was 1060).
65
+
66
+ [0.13.1]: https://github.com/pjm17971/pond-ts/compare/v0.13.0...v0.13.1
67
+
14
68
  ## [0.13.0] — 2026-05-01
15
69
 
16
70
  The "AggregateOutputMap on live" release. Closes the feature-parity
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pond-ts/react",
3
- "version": "0.13.0",
3
+ "version": "0.13.1",
4
4
  "description": "React hooks for pond-ts live time series",
5
5
  "license": "MIT",
6
6
  "repository": {