edfcore 0.4.300 → 0.4.302

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.300";
112
+ export declare const VERSION = "0.4.302";
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.300';
82
+ export const VERSION = '0.4.302';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,33 @@ 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.302
10
+
11
+ - **Made** `api-reading.md`'s read counts the expectation rather than a second statement of it.
12
+ "On a plain EDF or BDF it costs two reads. On a file that carries an annotations signal it costs
13
+ four. A single-record file is probed once, for three reads total" is the random-access claim in
14
+ miniature, and the number a reader budgets an HTTP round trip against.
15
+ `read-pattern.test.ts` already pins those counts — against literals it holds itself, so the page
16
+ and the suite each stated the contract and nothing compared them.
17
+ - The numbers are parsed out of the sentence and each case driven through the counting source,
18
+ including the one the page states without a number: a file with no data records is not probed at
19
+ all, so it costs the plain count. Spelled-out numbers are read through a word list, the same
20
+ treatment the fixture counts get, because prose is the right place for them to be words.
21
+
22
+ ## 0.4.301
23
+
24
+ - **Executed** the worked example on `concepts.md`, the page the site opens with and the README
25
+ calls "the mental model the rest of the API follows from". It is built almost entirely out of
26
+ arithmetic on one described file — a 768-byte header, thirty 544-byte records, 17,088 bytes
27
+ total, and a ten-record read of the narrow channel costing 5,440 bytes for 160 samples — and
28
+ every number was prose. A reader who works through it and gets a different answer from their own
29
+ file has no way to tell which of the two is wrong.
30
+ - All of them are correct. What was missing is anything keeping them so: they follow from
31
+ `headerByteLength = 256 * (signals + 1)` and the record layout, and a change to either would
32
+ leave the page teaching the old ones. The fixture is built to the page's description with the
33
+ suite's own writer, which imports nothing from `src/`, so the numbers are checked against a file
34
+ assembled from the specification rather than against edfcore's idea of one.
35
+
9
36
  ## 0.4.300
10
37
 
11
38
  - **Executed** the claim the error API is shaped around. `src/errors.ts` says class identity is
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.300",
3
+ "version": "0.4.302",
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.300';
96
+ export const VERSION = '0.4.302';