edfcore 0.4.414 → 0.4.416

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.
package/README.md CHANGED
@@ -78,7 +78,7 @@ for (const event of annotations) {
78
78
  }
79
79
  ```
80
80
 
81
- > **Status: 0.4.x, early.** edfcore runs 2,000+ tests on generated fixtures, and it's checked
81
+ > **Status: 0.4.x, early.** edfcore runs 2,500+ tests on generated fixtures, and it's checked
82
82
  > against public corpora it didn't author: the EDF, EDF+ and 24-bit BDF+ test files from
83
83
  > teuniz.net, and PhysioNet's sleep-edfx (a real 22-hour polysomnography recording and its
84
84
  > sleep-staging file). Those checks are numeric. Channels labelled `sine 8.5 Hz` decode to
@@ -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.414";
112
+ export declare const VERSION = "0.4.416";
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.414';
82
+ export const VERSION = '0.4.416';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,38 @@ 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.416
10
+
11
+ - **Added** tests for a file with no annotations signal, whose record onsets are arithmetic. Plain
12
+ EDF and plain BDF carry no timekeeping TALs, so record `r` starts at `r * recordDuration` by
13
+ definition and reading the data would answer a question the bytes do not contain.
14
+ - The consequence is a cost, and cost is why the index is shaped the way it is.
15
+ `locate-cost.test.ts` pins the EDF+ numbers the page prints for a file whose onsets have to be
16
+ read. For the majority of files in the world the number is zero, and nothing said so — a refactor
17
+ that probed unconditionally would be invisible in every result, because the probe would derive
18
+ the same arithmetic value it found written nowhere. Only the request count changes, and on a
19
+ remote recording that is the difference between opening a file and paying one range request per
20
+ step of a binary search.
21
+ - `buildRecordIndex` is the sharper case. On an EDF+ file it is a full traversal, which is why the
22
+ page tells you to gate it on the two-probe verdict; on a plain EDF it must be free, and it still
23
+ has to call `onProgress` once with the traversal complete, so the fastest possible file is not
24
+ the one whose progress bar never moves.
25
+
26
+ ## 0.4.415
27
+
28
+ - **Raised** the test-count figure from 2,000 to 2,500 in the README's status line, the note at the
29
+ foot of `installation.md` and the docblock of `browser-safety.test.ts`. The suite has outgrown
30
+ the old number: 2,002 written-out cases, and vitest reports around 2,900 once `it.each` rows
31
+ expand.
32
+ - Found by `test-count-claims.test.ts`, added in 0.4.388 for exactly this. A claim of the form
33
+ "N or more" stays true forever once it is true, which is the property that makes it worthless —
34
+ it can never be wrong, so it is never re-read, and half the real scale is a wrong impression
35
+ conveyed in a true sentence. This is the first time the guard has fired.
36
+ - **Fixed** the same self-quotation trap in that file, for the second time. The comment documenting
37
+ the regex illustrated it with the two spellings it matches, so the scanner read its own examples
38
+ as a fourth statement of the figure — and the one place raising the claim elsewhere would never
39
+ touch. The comment now describes the shape instead of spelling a number.
40
+
9
41
  ## 0.4.414
10
42
 
11
43
  - **Added** a check that binds every entry of AGENTS.md's "Things that look like bugs and are not"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.414",
3
+ "version": "0.4.416",
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.414';
96
+ export const VERSION = '0.4.416';