edfcore 0.4.460 → 0.4.461

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.460";
112
+ export declare const VERSION = "0.4.461";
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.460';
82
+ export const VERSION = '0.4.461';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,24 @@ 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.461
10
+
11
+ - **Added** the exact-edge cases for `resolveTimeWindow` on a segmented index. The window is
12
+ half-open — `[start, start + duration)` — and the segmented path decides that on one line:
13
+ `segmentEndTicks <= windowStartTicks || segmentStartTicks >= windowEndTicks`. Relaxing either
14
+ comparison to a strict one left the whole suite green, because no window in it had ever landed
15
+ on a segment edge exactly: they overlapped by a record or missed by ninety seconds.
16
+ - The cost is a duplicated record at every gap. Walking a discontinuous file segment by segment —
17
+ `[0, 4)` then `[4, 100)` on the fixture here — a relaxed left comparison returns record 3 in
18
+ both, so a consumer concatenating the two gets one second of signal twice, at the seam where a
19
+ sleep study is most likely to be scored.
20
+ - Four cases: a segment ending exactly where the window starts is out, a segment starting exactly
21
+ where the window ends is out, a segment starting exactly where the window starts is IN, and a
22
+ three-window walk that visits records 0..7 once each. The third is what stops the first two
23
+ passing on an implementation that excluded every boundary rather than the right one.
24
+ - Found by mutating the comparisons rather than by reading the coverage report, which called the
25
+ line covered.
26
+
9
27
  ## 0.4.460
10
28
 
11
29
  - **Added** the fourth rung of `timekeepingDefect`'s ladder, which had never run: a timekeeping
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.460",
3
+ "version": "0.4.461",
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.460';
96
+ export const VERSION = '0.4.461';