edfcore 0.4.322 → 0.4.324

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.322";
112
+ export declare const VERSION = "0.4.324";
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.322';
82
+ export const VERSION = '0.4.324';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,30 @@ 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.324
10
+
11
+ - **Added** an execution of the TAL grammar `edf-format.md` prints as ABNF. Two of its five lines
12
+ carry a rule the rest of the page argues from: `Onset` requires its sign and `Duration` forbids
13
+ one, and `tal/ticks.ts` refuses a signed duration outright because a signed duration means the
14
+ field layout is not the one being read. Both are now checked against the page's own text.
15
+ - The claim underneath the block is proved rather than quoted. "Every byte of a multi-byte UTF-8
16
+ sequence is at least `0x80` and can never collide with one of them" is why the region may be
17
+ split on the structural bytes BEFORE decoding, and it is checked over every code point above
18
+ U+007F rather than sampled — about three million bytes. The other order, which the page says
19
+ corrupts any non-ASCII annotation, is exercised end to end through a file carrying one.
20
+
21
+ ## 0.4.323
22
+
23
+ - **Added** an execution of the four-line record arithmetic on `edf-format.md` — the sample width
24
+ per family, the record length as the summed sample counts, each signal's offset within a record
25
+ as the sum of the counts before it, and the file offset of record `r`. The four lines are checked
26
+ to still be on the page, then run against four shapes: both families, a five-signal file, a
27
+ one-signal file, and the mixed-rate case the page describes, EEG at 256 samples per record beside
28
+ a channel at 1.
29
+ - `concepts-arithmetic.test.ts` covers one specific file from the concepts page. These are the
30
+ general equations that file is an instance of, including the closing one: the last record has to
31
+ end exactly at the end of the file, with no padding and no trailer.
32
+
9
33
  ## 0.4.322
10
34
 
11
35
  - **Fixed** a wrong claim on `edf-format.md`. It named `|0`, `<<` and `>>>` together as operators
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.322",
3
+ "version": "0.4.324",
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.322';
96
+ export const VERSION = '0.4.324';