edfcore 0.4.460 → 0.4.462
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.
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/docs/CHANGELOG.md +37 -0
- package/package.json +1 -1
- package/src/constants.ts +1 -1
package/dist/constants.d.ts
CHANGED
|
@@ -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.
|
|
112
|
+
export declare const VERSION = "0.4.462";
|
|
113
113
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.js
CHANGED
package/docs/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,43 @@ 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.462
|
|
10
|
+
|
|
11
|
+
- **Added** the edge cases for `countOutOfDigitalRange`, the third copy of a rule whose other two
|
|
12
|
+
copies were already pinned. `decodeInt16` and `decodeInt24` count a sample as out of range only
|
|
13
|
+
when it is strictly outside `[digitalMinimum, digitalMaximum]`; this copy runs when a trim
|
|
14
|
+
narrows a chunk that had one, and neither of its comparisons was pinned at the edge. Relaxing
|
|
15
|
+
either left the suite green.
|
|
16
|
+
- A sample sitting exactly at the declared maximum is the common case, not the exotic one — a
|
|
17
|
+
saturating amplifier parks a channel at 32767 for the length of an artefact.
|
|
18
|
+
`outOfDigitalRangeCount` is documented as meaning the declared range is WRONG, so counting a
|
|
19
|
+
clipped sample says that about the one file where the declaration is exactly right. And only
|
|
20
|
+
for callers who trimmed: the same samples would be in range before the trim and out of range
|
|
21
|
+
after it.
|
|
22
|
+
- The inverted declaration is pinned here too. `digitalMinimum > digitalMaximum` is a real writer
|
|
23
|
+
bug, the decoder compares against min/max of the pair rather than the pair as written, and this
|
|
24
|
+
copy has to agree — taking them as written makes every sample out of range, again only after a
|
|
25
|
+
trim.
|
|
26
|
+
- Found by mutation, not by coverage: all three lines were reported as covered.
|
|
27
|
+
|
|
28
|
+
## 0.4.461
|
|
29
|
+
|
|
30
|
+
- **Added** the exact-edge cases for `resolveTimeWindow` on a segmented index. The window is
|
|
31
|
+
half-open — `[start, start + duration)` — and the segmented path decides that on one line:
|
|
32
|
+
`segmentEndTicks <= windowStartTicks || segmentStartTicks >= windowEndTicks`. Relaxing either
|
|
33
|
+
comparison to a strict one left the whole suite green, because no window in it had ever landed
|
|
34
|
+
on a segment edge exactly: they overlapped by a record or missed by ninety seconds.
|
|
35
|
+
- The cost is a duplicated record at every gap. Walking a discontinuous file segment by segment —
|
|
36
|
+
`[0, 4)` then `[4, 100)` on the fixture here — a relaxed left comparison returns record 3 in
|
|
37
|
+
both, so a consumer concatenating the two gets one second of signal twice, at the seam where a
|
|
38
|
+
sleep study is most likely to be scored.
|
|
39
|
+
- Four cases: a segment ending exactly where the window starts is out, a segment starting exactly
|
|
40
|
+
where the window ends is out, a segment starting exactly where the window starts is IN, and a
|
|
41
|
+
three-window walk that visits records 0..7 once each. The third is what stops the first two
|
|
42
|
+
passing on an implementation that excluded every boundary rather than the right one.
|
|
43
|
+
- Found by mutating the comparisons rather than by reading the coverage report, which called the
|
|
44
|
+
line covered.
|
|
45
|
+
|
|
9
46
|
## 0.4.460
|
|
10
47
|
|
|
11
48
|
- **Added** the fourth rung of `timekeepingDefect`'s ladder, which had never run: a timekeeping
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED