edfcore 0.4.418 → 0.4.420
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 +34 -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.420";
|
|
113
113
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.js
CHANGED
package/docs/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,40 @@ 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.420
|
|
10
|
+
|
|
11
|
+
- **Added** tests for how long a TAL timestamp field may be. An onset and a duration are digits
|
|
12
|
+
with no declared length — the grammar ends them with a structural byte, so their size is whatever
|
|
13
|
+
the writer put between two markers, in a region that is 30 bytes on one file and 60 kilobytes on
|
|
14
|
+
another.
|
|
15
|
+
- `MAX_TIMESTAMP_FIELD_CHARS` is that bound. Both fields carry the check; the onset's was
|
|
16
|
+
exercised and the duration's was not, and they matter differently. An over-long onset is a
|
|
17
|
+
malformed TAL from the first byte. An over-long duration arrives after a perfectly good onset,
|
|
18
|
+
which is the shape that gets past a reader's attention.
|
|
19
|
+
- The guard sits before the decode, which is the property worth having: past it, a region full of
|
|
20
|
+
digits between two markers is a bigint the size of the region, parsed on every record of every
|
|
21
|
+
read that touches annotations.
|
|
22
|
+
- A skipped TAL is skipped alone — the parser resumes at the terminator, so the events after a
|
|
23
|
+
hostile one are still read, and the bound is checked from both sides so it is where the message
|
|
24
|
+
says it is.
|
|
25
|
+
|
|
26
|
+
## 0.4.419
|
|
27
|
+
|
|
28
|
+
- **Added** tests for the two ways `mergeChunks` can be handed an input whose numbers look right.
|
|
29
|
+
It concatenates by position — signal `i` of the second chunk continues signal `i` of the first —
|
|
30
|
+
and the refusal for a different NUMBER of channels was pinned. The same channels in a different
|
|
31
|
+
ORDER was not.
|
|
32
|
+
- A caller reaches that without doing anything strange: `signalIndices` built from a `Set`, from
|
|
33
|
+
`Object.keys`, from a checkbox list re-rendered between reads, or from `getSignal` calls made in
|
|
34
|
+
whatever order the labels came back. Merging those splices one electrode's samples onto another's
|
|
35
|
+
and returns a chunk that looks entirely normal — right length, right record range, right
|
|
36
|
+
timestamps — with two channels swapped halfway through. Nothing downstream would catch it,
|
|
37
|
+
because there is nothing wrong with the numbers, only with which channel they belong to. On a
|
|
38
|
+
montage that is the difference between a left-temporal seizure and a right-temporal one.
|
|
39
|
+
- The second is the array itself. `mergeChunks` addresses its input by index, so a hole left by a
|
|
40
|
+
`filter` or a splice would read as `undefined` and be dereferenced; it is refused by name
|
|
41
|
+
instead, pointing at the array `readWindow` returned.
|
|
42
|
+
|
|
9
43
|
## 0.4.418
|
|
10
44
|
|
|
11
45
|
- **Fixed** the rest of what 0.4.417 was about. Memoising the diagnostic sweep cut
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED