edfcore 0.4.520 → 0.4.522
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 +43 -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.522";
|
|
113
113
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.js
CHANGED
package/docs/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,49 @@ 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.522
|
|
10
|
+
|
|
11
|
+
- **Added** the reading/scaling/decimating agreement checks to the offline suite — the third group
|
|
12
|
+
in `tests/corpus/whole-api.test.ts`, which skips without the corpus. These are four calls a
|
|
13
|
+
viewer makes in sequence: read a window, join the chunks, convert to units, draw a decimated
|
|
14
|
+
envelope. Each can be individually right while contradicting the one before it.
|
|
15
|
+
- The envelope is where that bites. `readEnvelope` reads and reduces on its own path rather than
|
|
16
|
+
decimating what `readWindow` returned, so its extremes and the samples' extremes are two
|
|
17
|
+
independent answers to the same question about the same window, and only comparing them says
|
|
18
|
+
they agree.
|
|
19
|
+
- Running it on built files covers more than running it on real ones. The shapes include a file
|
|
20
|
+
with no data signal at all and one with a zero record duration, where the honest answer to "read
|
|
21
|
+
a window of it" is nothing — and a helper that returns nothing where its neighbour throws is
|
|
22
|
+
exactly the disagreement this group exists to find. The corpus reaches those shapes by luck.
|
|
23
|
+
- Every case returns early on a file it cannot apply to, so the file ends by asserting how many
|
|
24
|
+
times it got through: windows read, envelopes compared, samples located. Without that the whole
|
|
25
|
+
run could return early and report green.
|
|
26
|
+
- The **annotation-helper** group lands with it, since it is the same argument about a different
|
|
27
|
+
four calls: a census, a text filter, a formatter and two time lookups, all describing one list.
|
|
28
|
+
Each is asked about every event's OWN onset, which puts every event on the boundary of the
|
|
29
|
+
half-open interval it is being looked for in rather than hoping one lands there — and half-open
|
|
30
|
+
boundaries are where five of the comparisons this project has had to fix went wrong. Four of the
|
|
31
|
+
eight shapes carry no annotations channel, and two empty lists agree about everything, so that
|
|
32
|
+
file also counts the events it reached.
|
|
33
|
+
|
|
34
|
+
## 0.4.521
|
|
35
|
+
|
|
36
|
+
- **Added** the timeline-helper agreement checks to the offline suite, the second group in
|
|
37
|
+
`tests/corpus/whole-api.test.ts` that skips without the corpus. `contiguityOf`, `segmentAt` and
|
|
38
|
+
`gapAt` each answer a question the index already answers, and the way they fail is by
|
|
39
|
+
disagreeing with it: a time reported as inside a segment AND inside a gap, a gap count that does
|
|
40
|
+
not match the segments it separates, segments that skip a record or claim one twice.
|
|
41
|
+
- The zero-record-duration shape is why this group is worth running on built files as well as real
|
|
42
|
+
ones. Records then occupy no time, so every segment's half-open interval `[start, start)` is
|
|
43
|
+
empty and `segmentAt` returns `undefined` for every instant — the same answer the sample helpers
|
|
44
|
+
give for the same reason, and one that looks like a bug until you notice there is no time axis to
|
|
45
|
+
be on. The sleep-edfx hypnogram is a file of exactly that shape, and a fresh clone had none.
|
|
46
|
+
- Each gap is checked to name the two segments it lies between and to start and end exactly where
|
|
47
|
+
they do, in ticks: a gap derived independently of the pair it separates is how a boundary comes
|
|
48
|
+
to be reported twice with two different numbers.
|
|
49
|
+
- The last case asserts the shapes reach both branches — one file discontinuous, one contiguous,
|
|
50
|
+
one with a zero-width segment — so a green run is not one where every branch was skipped.
|
|
51
|
+
|
|
9
52
|
## 0.4.520
|
|
10
53
|
|
|
11
54
|
- **Added** the header-helper agreement checks to the offline suite. `tests/corpus/whole-api.test.ts`
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED