aieventjs 0.3.0 → 0.3.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/llms-full.txt +21 -0
  2. package/package.json +2 -1
package/llms-full.txt CHANGED
@@ -181,6 +181,27 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
181
181
 
182
182
  ## [Unreleased]
183
183
 
184
+ ## [0.3.1] - 2026-05-29
185
+ ### Added
186
+ - `test/emitter.prop.test.ts`: three fast-check property invariants — dispatch
187
+ order (typed before wildcard, registration order preserved), snapshot stability
188
+ under mid-dispatch `off()`, live-set accuracy after upfront unsubscribe.
189
+ `numRuns: 100`; inline `fc.assert` style matching family convention.
190
+ - `test/wildcard-throttle.test.ts` §F: five edge-case tests — pre-aborted signal
191
+ + valid `sampleRate` never registers; `on()` guard-before-signal ordering;
192
+ `captureErrors` + signal leak check (`removeEventListener` called on abort);
193
+ throttled wildcard + mid-dispatch abort (snapshot-in-flight completes);
194
+ `sampleRate` exact boundary (`Math.random() === sampleRate` is a miss).
195
+ - `test/capture-errors.test.ts` §F: dispose-during-capturing-dispatch —
196
+ snapshot completes; `EmitterDisposedError` from re-entrant `emit()` is routed
197
+ through the capture callback; sibling handler still runs.
198
+ - `fast-check ^3.23.0` devDependency (family convention: aifsmjs `^3.20.0`,
199
+ aiquadtreejs `^3.23.0`).
200
+
201
+ ### Changed
202
+ - No `src/index.ts` behaviour change. `dist/` is byte-identical to v0.3.0.
203
+ gzip 1050 B / 1100 B unchanged.
204
+
184
205
  ## [0.3.0] - 2026-05-29
185
206
  ### Added
186
207
  - `EmitterOptions.captureHandlerErrors`: opt-in emitter-level error policy. Accepts `true` (swallow) or `(err, type, payload) => void` callback. Default behaviour (first throw aborts dispatch) is unchanged.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aieventjs",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Small, strict, typed event emitter — on() returns an unsubscribe function, once is built-in, AbortSignal is first-class, dispose() is idempotent, wildcard '*' handlers preserved. Mitt-shaped API; ai*js conventions everywhere else.",
5
5
  "keywords": [
6
6
  "event-emitter",
@@ -61,6 +61,7 @@
61
61
  "@biomejs/biome": "^1.9.0",
62
62
  "@types/node": "^22.0.0",
63
63
  "@vitest/coverage-v8": "^4.1.7",
64
+ "fast-check": "^3.23.0",
64
65
  "tsup": "^8.3.0",
65
66
  "tsx": "^4.22.3",
66
67
  "typescript": "^5.6.0",