edfcore 0.4.344 → 0.4.346

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.344";
112
+ export declare const VERSION = "0.4.346";
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.344';
82
+ export const VERSION = '0.4.346';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,40 @@ 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.346
10
+
11
+ - **Added** an execution of the `strict` section of `design-decisions.md`, which is where the
12
+ odd-looking choices are defended and where two pieces of load-bearing behaviour had no test that
13
+ read the page.
14
+ - The `info` exemption is the first. Without it, `strict: true` would reject nearly every real
15
+ recording — `DATE_CLIPPED_TO_1985_2084` is on almost all of them — and it would do it while
16
+ looking correct, because the mode is called strict and rejecting is what it is for. Removing it
17
+ reads as tightening. A conforming file now has to open under strict and still carry that
18
+ diagnostic.
19
+ - The second is the list of conditions that throw "either way". Three of the four are properties of
20
+ the header and are checked in both modes. The fourth, record onsets that go backwards, gets its
21
+ own section, because choosing a fixture where it throws at open would have hidden something real:
22
+ `openEdf` reads records 0 and n-1 and nothing else, so a reversal between them throws immediately
23
+ and one in the middle is not something it has seen. That file opens with a probed index and
24
+ throws the moment `buildRecordIndex` reads the records — "either way" is about the two modes, not
25
+ about throwing before the bytes are read.
26
+
27
+ ## 0.4.345
28
+
29
+ - **Added** a check that the six single-interface field tables on `api-types.md` list exactly the
30
+ members those interfaces have, in declaration order. That page is the field-by-field reference
31
+ and where someone goes to learn what is on an `EdfHeader` without opening `types.ts`, and all six
32
+ tables are hand-typed copies of a declaration.
33
+ - Both directions of drift are silent. A member added to `types.ts` and not to the page is a field
34
+ nobody can discover — which is how `declaredRecordCount` or `recordCountSource` would go unused
35
+ by exactly the caller who needed them. A row for a member that no longer exists is worse: it
36
+ reads as an API, the reader writes `header.something`, and the answer is `undefined` rather than
37
+ an error. `docs-coverage.test.ts` proves every export is mentioned; nothing had looked inside a
38
+ type.
39
+ - One table spans three interfaces and cannot have its rows attributed to any one of them, so it
40
+ is skipped by name and the number of skipped tables is asserted — an exemption that cannot
41
+ quietly grow.
42
+
9
43
  ## 0.4.344
10
44
 
11
45
  - **Added** a check over what `data-sources.md` publishes about `cachedSource`. `cache.test.ts`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.344",
3
+ "version": "0.4.346",
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.344';
96
+ export const VERSION = '0.4.346';