edfcore 0.4.349 → 0.4.351

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.349";
112
+ export declare const VERSION = "0.4.351";
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.349';
82
+ export const VERSION = '0.4.351';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,36 @@ 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.351
10
+
11
+ - **Added** checks for two read counts on `api-reading.md`, a page that opens by inviting them:
12
+ "They are exact and testable: wrap your source in a recorder and count."
13
+ - Both are about paths a well-formed file never takes, which is why neither had a test.
14
+ `readHeader` is exactly two reads, and one when the signal-count field is unreadable — because
15
+ the second read's size is computed from that field, and a speculative read of an unknown size is
16
+ the thing being avoided. The saved read is not the point: the caller gets `SIGNAL_COUNT_INVALID`
17
+ rather than a complaint about a byte range, and that is what is asserted.
18
+ - The same distinction on the next line. A file too short for the header it declares is a file
19
+ defect, `SOURCE_TOO_SMALL`, not an `EdfSourceError` about a range past the end — getting it
20
+ backwards is not a crash but a truncated recording reported as an I/O error, which sends the
21
+ reader to their network stack instead of to their file. Also pinned: the probe costs nothing
22
+ without an annotations signal, and both probed onsets are memoised into the index while a record
23
+ between them is not.
24
+
25
+ ## 0.4.350
26
+
27
+ - **Added** an execution of the truth table on `validation.md` — four rows over two independent
28
+ conditions, whether the file carries per-record timestamps and whether `scanSamples` was asked
29
+ for — plus the `0 0` the page prints when a complete index is handed over.
30
+ - The `none` rows are a promise about cost: a sweep that quietly started traversing a plain EDF
31
+ would return exactly the same report, and the only evidence would be the wall clock on a 13 GiB
32
+ file. The `every record` rows are a promise about correctness: skipping them would report a
33
+ clean file it had not checked.
34
+ - The row with a trap in it is the one about the index. A PROBED index is what `openEdf` hands you
35
+ and the obvious thing to pass, and it describes two records; the page says it is ignored and
36
+ "buys nothing", so a version that accepted it would report a clean file on the strength of the
37
+ first and last record. That it still reads everything is now asserted.
38
+
9
39
  ## 0.4.349
10
40
 
11
41
  - **Added** an execution of the cost table on `reading-signals.md`: one call for three channels
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.349",
3
+ "version": "0.4.351",
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.349';
96
+ export const VERSION = '0.4.351';