edfcore 0.4.472 → 0.4.474

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.472";
112
+ export declare const VERSION = "0.4.474";
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.472';
82
+ export const VERSION = '0.4.474';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,39 @@ 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.474
10
+
11
+ - **Added** all twelve month names to the `dd-MMM-yyyy` subfield tests. `MONTH_ABBREVIATIONS
12
+ .indexOf(...) + 1` turns a zero-based position into a month number, and `0` doubles as "not a
13
+ month name" — so January sits exactly on the boundary the bounds check uses.
14
+ - Narrowing `month < 1` to `month <= 1` refuses every January and passed the whole suite. The
15
+ fixtures ran on August, May and December, and no test had ever read a `JAN` subfield: that is a
16
+ twelfth of every patient birthdate and every recording `Startdate` there is, on the two fields
17
+ EDF+ added specifically so a year could be unambiguous.
18
+ - December was covered by accident, through one birthdate fixture. Both ends are now stated rather
19
+ than left to chance, and the ten in between cost one line.
20
+ - Two non-vacuity cases go with the table: a name that is not one of the twelve is refused, which
21
+ is what the lower bound is really for, and the numeric spelling is checked at 0, 1, 12 and 13,
22
+ since it reaches the same bounds by the other route.
23
+
24
+ ## 0.4.473
25
+
26
+ - **Added** tests for a runtime with no `TextDecoder`, which `tal/grammar.ts` is written for and
27
+ nothing had ever run. `utf8Decoder()` is two branches — build one, or record that this runtime
28
+ has none — and every test in the suite runs on Node, where the global is always there. Both the
29
+ `null` and the message it selects were dead.
30
+ - The degradation is the point of the branch. Annotation text is the one place edfcore decodes
31
+ UTF-8, and without the fallback a runtime lacking the global would throw while parsing a file
32
+ that is perfectly valid, losing the onsets, the timeline and every event over text nobody may be
33
+ reading.
34
+ - What is pinned is the MESSAGE, not just the code. `ANNOTATION_TEXT_NOT_UTF8` also fires for a
35
+ text run that really is malformed, and the two call for opposite responses: one is a broken
36
+ file, the other is a working file on a runtime that cannot check it. Both are asserted, each
37
+ against the other's wording.
38
+ - The Latin-1 expectation is derived from the fixture's own bytes rather than written out, so it
39
+ cannot drift from the string it is about, and the global is stubbed and restored rather than
40
+ deleted, so the decoder the module caches cannot leak into another file.
41
+
9
42
  ## 0.4.472
10
43
 
11
44
  - **Documented and tested** what `threeFields` actually tolerates in a date or time field. Its
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.472",
3
+ "version": "0.4.474",
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.472';
96
+ export const VERSION = '0.4.474';