edfcore 0.4.257 → 0.4.259

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.
@@ -109,5 +109,5 @@ export declare const SIGNAL_FIELD_BLOCK_OFFSETS: {
109
109
  readonly reserved: 224;
110
110
  };
111
111
  /** Published package version. Kept in sync with package.json by a test. */
112
- export declare const VERSION = "0.4.257";
112
+ export declare const VERSION = "0.4.259";
113
113
  //# sourceMappingURL=constants.d.ts.map
package/dist/constants.js CHANGED
@@ -79,5 +79,5 @@ export const SIGNAL_FIELD_BLOCK_OFFSETS = {
79
79
  reserved: 224,
80
80
  };
81
81
  /** Published package version. Kept in sync with package.json by a test. */
82
- export const VERSION = '0.4.257';
82
+ export const VERSION = '0.4.259';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,38 @@ alone does not tell you whether you were affected.
6
6
  edfcore is pre-1.0. Patch releases have carried behaviour changes where the old behaviour was a
7
7
  defect; those are called out below.
8
8
 
9
+ ## 0.4.259
10
+
11
+ - **Fixed** the snippet in `AGENTS.md` that does not compile. Its "Using edfcore in generated
12
+ code" section exists to be copied verbatim into somebody's project, which makes it the
13
+ highest-leverage code in the repository — and it ended `chunks[0].signals[0].digital`, which
14
+ under `noUncheckedIndexedAccess` is two `error TS2532`s, because both index reads are
15
+ `T | undefined`. That flag is on in this repo and in every strict TypeScript project, so the
16
+ file agents are told to copy from was teaching a line the compiler rejects. It narrows now,
17
+ which is what 0.4.208 settled on for this codebase over a `!`, and the two guards double as the
18
+ lesson the list right below it already gives: `readWindow` returns an array, and an empty one is
19
+ an ordinary answer.
20
+ - **Added** the compiled twin. `documented-examples.test-d.ts` has done this for three website
21
+ snippets since 0.3.46 found two of them rejected the same way; the snippet an agent is likeliest
22
+ to paste had no such guard. It runs both directions — the copy is real code `npm run typecheck`
23
+ compiles, and the test reads the fenced block back out of `AGENTS.md` and fails if a line of it
24
+ is missing here.
25
+
26
+ ## 0.4.258
27
+
28
+ - **Added** a check on the `Next:` convention, which `AGENTS.md` states as an absolute — "every
29
+ thrown message ends with a `Next:` clause naming what the caller should do" — and nothing
30
+ enforced. All 151 messages keep it today; what was missing is that the 152nd would not have
31
+ had to. The clause is the part that survives contact with a real user: "byte range [0, 512) is
32
+ outside the 256-byte buffer" says what happened, and "Next: check that the header and these
33
+ bytes came from the same file" says what it means.
34
+ - Both halves are covered, which took two passes. `EdfFormatError` is never thrown with `new` — it
35
+ is built from a diagnostic by `fatalError`, `sink.fatal`, `scalingError` and `toFormatError` — so
36
+ reading only `throw new` sees 90 messages and misses the 61 that carry the larger share of the
37
+ contract. And finding where a `throw` ends cannot be done by balancing parentheses:
38
+ `[${offset}, ${offset + length})` closes one, and the first version of this check reported the
39
+ two messages using that interval notation as violations of a rule they keep.
40
+
9
41
  ## 0.4.257
10
42
 
11
43
  - **Fixed** `AGENTS.md`'s description of the layering, which had been wrong about nearly every
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.257",
3
+ "version": "0.4.259",
4
4
  "description": "Modern, typed, zero-dependency reader for EDF, EDF+, BDF and BDF+ biosignal files. Works in browsers and Node with true random access.",
5
5
  "keywords": [
6
6
  "edf",
package/src/constants.ts CHANGED
@@ -93,4 +93,4 @@ export const SIGNAL_FIELD_BLOCK_OFFSETS = {
93
93
  } as const;
94
94
 
95
95
  /** Published package version. Kept in sync with package.json by a test. */
96
- export const VERSION = '0.4.257';
96
+ export const VERSION = '0.4.259';