edfcore 0.4.492 → 0.4.494

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.492";
112
+ export declare const VERSION = "0.4.494";
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.492';
82
+ export const VERSION = '0.4.494';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,37 @@ 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.494
10
+
11
+ - **Added** a test that produces the refusal `large-files.md` prints. That page's budget section is
12
+ a transcript — three field values and the whole error message, wrapped over three lines, for a
13
+ named file — and nothing had compared any of it with what `readRecords` throws.
14
+ - A message reworded in `io/read.ts` leaves a transcript on the site that no version of edfcore has
15
+ ever produced, and the transcript is the part a reader searches for when they hit the error.
16
+ `budget-boundary.test.ts` owns the rule; this owns the page.
17
+ - The file on that page is 442 MB and is never built. `readRecords` refuses before it allocates or
18
+ reads, which is the property the section is about, so a source reporting the length and serving
19
+ the header is all this needs — and the last case counts the bytes to prove the refusal really did
20
+ come first, rather than after a 442,368,000-byte read of zeros.
21
+ - Every number is read out of the page, including the geometry in the sentence that introduces the
22
+ file, so a fixture drifting from the prose fails rather than agreeing about the wrong recording.
23
+
24
+ ## 0.4.493
25
+
26
+ - **Added** the two edges of `readHeader`'s prefetch decision, both of which could be moved with
27
+ the suite green.
28
+ - The upper one is the one that matters. Narrowing `<= 9999` refuses the hint for a file declaring
29
+ the most signals a header can — and the consequence is not a slower read but a wrong answer: the
30
+ second read is skipped, `parseHeader` gets a quarter of a kilobyte of a 2.56 MB header, and a
31
+ perfectly good recording is reported `SOURCE_TOO_SMALL`. At exactly one signal count.
32
+ - The other side of that guard is unreachable, and the test says so with a check rather than in
33
+ prose: the field is four ASCII bytes and `parseEdfInteger` admits no exponent, so `9999` is the
34
+ largest value that parses. Widening the field or admitting `9e9` makes the guard live, and fails
35
+ this in the same commit.
36
+ - The lower edge is a source that ends with the fixed header. `remaining` is zero, and asking for
37
+ zero bytes is still a read — a round trip over HTTP, and an entry in every read-count claim this
38
+ file makes.
39
+
9
40
  ## 0.4.492
10
41
 
11
42
  - **Added** a test that runs the worked example on `reading-signals.md`. That page carries the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.492",
3
+ "version": "0.4.494",
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.492';
96
+ export const VERSION = '0.4.494';