edfcore 0.4.521 → 0.4.522

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.521";
112
+ export declare const VERSION = "0.4.522";
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.521';
82
+ export const VERSION = '0.4.522';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,31 @@ 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.522
10
+
11
+ - **Added** the reading/scaling/decimating agreement checks to the offline suite — the third group
12
+ in `tests/corpus/whole-api.test.ts`, which skips without the corpus. These are four calls a
13
+ viewer makes in sequence: read a window, join the chunks, convert to units, draw a decimated
14
+ envelope. Each can be individually right while contradicting the one before it.
15
+ - The envelope is where that bites. `readEnvelope` reads and reduces on its own path rather than
16
+ decimating what `readWindow` returned, so its extremes and the samples' extremes are two
17
+ independent answers to the same question about the same window, and only comparing them says
18
+ they agree.
19
+ - Running it on built files covers more than running it on real ones. The shapes include a file
20
+ with no data signal at all and one with a zero record duration, where the honest answer to "read
21
+ a window of it" is nothing — and a helper that returns nothing where its neighbour throws is
22
+ exactly the disagreement this group exists to find. The corpus reaches those shapes by luck.
23
+ - Every case returns early on a file it cannot apply to, so the file ends by asserting how many
24
+ times it got through: windows read, envelopes compared, samples located. Without that the whole
25
+ run could return early and report green.
26
+ - The **annotation-helper** group lands with it, since it is the same argument about a different
27
+ four calls: a census, a text filter, a formatter and two time lookups, all describing one list.
28
+ Each is asked about every event's OWN onset, which puts every event on the boundary of the
29
+ half-open interval it is being looked for in rather than hoping one lands there — and half-open
30
+ boundaries are where five of the comparisons this project has had to fix went wrong. Four of the
31
+ eight shapes carry no annotations channel, and two empty lists agree about everything, so that
32
+ file also counts the events it reached.
33
+
9
34
  ## 0.4.521
10
35
 
11
36
  - **Added** the timeline-helper agreement checks to the offline suite, the second group in
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.521",
3
+ "version": "0.4.522",
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.521';
96
+ export const VERSION = '0.4.522';