edfcore 0.4.302 → 0.4.304

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.302";
112
+ export declare const VERSION = "0.4.304";
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.302';
82
+ export const VERSION = '0.4.304';
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.304
10
+
11
+ - **Executed** the costing on `large-files.md`. Its whole argument is numeric: an eight-hour,
12
+ 30-channel, 256 Hz EDF — 28,800 one-second records of 15,360 bytes — where a ten-second window
13
+ is one read of 153,600 bytes out of 442,375,936, or 0.035 % of the file, opening it costs 7,936
14
+ bytes, and asking for one channel out of thirty costs byte-for-byte the same. That is the
15
+ random-access claim stated as money, and every figure was prose.
16
+ - They are the numbers a reader checks their own instinct against. Someone who expects
17
+ `signalIndices: [0]` to be thirty times cheaper needs the page to be right about it, because the
18
+ advice to name every channel in one call rests on that. The header is built at full width and
19
+ the arithmetic checked against what edfcore reports for it — record size, the byte offset the
20
+ window lands at, the last byte the read touches, and the overread factor of 30, which is the
21
+ record over one signal's block.
22
+
23
+ ## 0.4.303
24
+
25
+ - **Executed** the request budget on `api-sources.md`: one `HEAD` for the length, `bytes=0-255`,
26
+ one more range for the rest of the header, and one whole record at each end for the timekeeping
27
+ probes — five in total, with the caller's headers on all five. That is the paragraph a reader
28
+ consults before pointing this at S3, and every clause is a cost they are budgeting.
29
+ - The count was pinned elsewhere against a literal; the composition was prose, and so was the
30
+ promise about headers — the clause with a security shape, since one request quietly going out
31
+ without the configured `Authorization` 403s in production and nowhere else. All of it is now
32
+ driven through an injected `fetch`, which the suite requires of anything touching the network
33
+ and which is also how the page tells a reader to test their own adapter.
34
+
9
35
  ## 0.4.302
10
36
 
11
37
  - **Made** `api-reading.md`'s read counts the expectation rather than a second statement of it.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.302",
3
+ "version": "0.4.304",
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.302';
96
+ export const VERSION = '0.4.304';