edfcore 0.5.6 → 0.5.8

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.5.6";
112
+ export declare const VERSION = "0.5.8";
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.5.6';
82
+ export const VERSION = '0.5.8';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,44 @@ 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.5.8
10
+
11
+ - **Added** the tie between the three places that count the ways a scale can be refused.
12
+ `design-decisions.md` says "Four header conditions ... A fifth condition catches a derived gain",
13
+ `physical-values.md` tabulates five under "Five conditions produce it, checked in this order", and
14
+ `header/scale.ts` is what actually decides. Only the table was checked; nothing tied the decision
15
+ record to it or to the source.
16
+ - The split wording is deliberate, not stale, and the test says so rather than flattening it. Four
17
+ of the five are conditions a header DECLARES and a reader can see in the fields; the fifth is a
18
+ property of the gain those fields imply, which no field states, so calling it a header condition
19
+ would be wrong. What has to hold is that four plus one is the five the other page tabulates and
20
+ the five the source abandons a scale in.
21
+ - That is the part a later release breaks by adding a sixth in one place. 0.4.509 and 0.4.511 were
22
+ the previous instalment of exactly this: the fifth refusal existed in the source, the throw path
23
+ re-derived four of them, and the page documented the gap as permanent.
24
+ - The four declared conditions are also checked to still be named in the words the header fields
25
+ use — `digitalMinimum === digitalMaximum` and the rest — because the page is usable as a
26
+ checklist only while a reader can match each line against a field by eye.
27
+
28
+ ## 0.5.7
29
+
30
+ - **Added** the one worked `readWindow` result on `api-reading.md`, built and run. The page shows a
31
+ 65-second window over a discontinuous file coming back as two chunks — `{ start: 498, count: 2 }`
32
+ at 498 s and `{ start: 500, count: 3 }` at 560 s with a gap before it — and it is the only place
33
+ the page shows what "one chunk per contiguous run" produces. Every figure in it was prose.
34
+ - The counts are the part worth running. 2 and 3 are not the same number and neither is 5, so a
35
+ reader can see from them that the window did not return every record between its ends. Both fall
36
+ out of the half-open rule: record 499 ends exactly at 500 s and is in, record 503 starts exactly
37
+ at 563 s and is out — the rule that decides whether consecutive epochs partition or overlap. The
38
+ run asserts the excluded record starts exactly at the window's end.
39
+ - `startSeconds: 560` is the other half: sixty seconds of the window lie inside the gap, so the
40
+ second chunk starts 62 seconds after the first while being only 2 records later. A consumer that
41
+ assumed `startSeconds` advanced with the record number would place three records a minute early.
42
+ - The window and both chunks are parsed out of the page, anchored to the printed line rather than
43
+ to the first `startSeconds` on it — an unanchored pattern picked up an earlier example's window
44
+ and built one nothing on the page describes, which passed its own parse and tested a different
45
+ file.
46
+
9
47
  ## 0.5.6
10
48
 
11
49
  - **Fixed** two lines of the `EdfSignal` block on `api-types.md` describing a different file from
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.5.6",
3
+ "version": "0.5.8",
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.5.6';
96
+ export const VERSION = '0.5.8';