edfcore 0.4.475 → 0.4.476

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.475";
112
+ export declare const VERSION = "0.4.476";
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.475';
82
+ export const VERSION = '0.4.476';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,22 @@ 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.476
10
+
11
+ - **Added** the zero-record-duration case to `readTriggers`, the last reader in the package
12
+ without one. `formatHeader`, `resolveTimeWindow`, `trimToWindow`, `gridSampleStartTicks` and
13
+ `readEnvelope` all have theirs; BDF permits a zero record duration, and this is the reader whose
14
+ own comment states what it means — every sample of every record sits at one instant.
15
+ - What that costs is that time can no longer order the events, and `sampleIndex` is the only thing
16
+ that can. Three trigger runs come back as three events, all at tick 0, at sample indices 0, 2
17
+ and 5 — so the change detection still works when the times are all equal, which is the part
18
+ nothing else in the suite says.
19
+ - The all-or-nothing rule is pinned with it: a window starting after that instant yields nothing
20
+ rather than the tail of the recording, and a zero-length window yields nothing either.
21
+ - The guard the comment sits on is NOT claimed to be covered by this, and the test says so.
22
+ `ceilDiv(s * 0n, samplesPerRecord)` is 0 for every `s`, so its two branches agree on every
23
+ input and no test can tell them apart. What is checked is the outcome.
24
+
9
25
  ## 0.4.475
10
26
 
11
27
  - **Added** the boundary cases for `quote`, which is what keeps a `raw:` line on one line however
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.475",
3
+ "version": "0.4.476",
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.475';
96
+ export const VERSION = '0.4.476';