edfcore 0.4.303 → 0.4.305

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.303";
112
+ export declare const VERSION = "0.4.305";
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.303';
82
+ export const VERSION = '0.4.305';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,32 @@ 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.305
10
+
11
+ - **Pinned** the budget refusal `large-files.md` prints — `requiredBytes` 442,368,000,
12
+ `budgetBytes` 268,435,456, `optionName` `'maxMaterializeBytes'`. The middle one is the 256 MiB
13
+ default; the first is every record of the eight-hour file measured in RECORD bytes, not the
14
+ Int32Array one channel would decode into. Those two differ by an order of magnitude here and the
15
+ smaller would have looked just as plausible on the page, which is the sort of number a reader
16
+ copies into a capacity estimate.
17
+ - `optionName` is checked by triggering a real refusal rather than by reading the type: the field
18
+ exists so a message can point at an argument the caller can actually change, and a message
19
+ naming an option that had been renamed would be worse than none.
20
+
21
+ ## 0.4.304
22
+
23
+ - **Executed** the costing on `large-files.md`. Its whole argument is numeric: an eight-hour,
24
+ 30-channel, 256 Hz EDF — 28,800 one-second records of 15,360 bytes — where a ten-second window
25
+ is one read of 153,600 bytes out of 442,375,936, or 0.035 % of the file, opening it costs 7,936
26
+ bytes, and asking for one channel out of thirty costs byte-for-byte the same. That is the
27
+ random-access claim stated as money, and every figure was prose.
28
+ - They are the numbers a reader checks their own instinct against. Someone who expects
29
+ `signalIndices: [0]` to be thirty times cheaper needs the page to be right about it, because the
30
+ advice to name every channel in one call rests on that. The header is built at full width and
31
+ the arithmetic checked against what edfcore reports for it — record size, the byte offset the
32
+ window lands at, the last byte the read touches, and the overread factor of 30, which is the
33
+ record over one signal's block.
34
+
9
35
  ## 0.4.303
10
36
 
11
37
  - **Executed** the request budget on `api-sources.md`: one `HEAD` for the length, `bytes=0-255`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.303",
3
+ "version": "0.4.305",
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.303';
96
+ export const VERSION = '0.4.305';