edfcore 0.6.122 → 0.6.123
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/dist/time/window.d.ts.map +1 -1
- package/dist/time/window.js +23 -0
- package/dist/time/window.js.map +1 -1
- package/docs/CHANGELOG.md +15 -0
- package/package.json +1 -1
- package/src/constants.ts +1 -1
- package/src/time/window.ts +27 -0
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.6.
|
|
112
|
+
export declare const VERSION = "0.6.123";
|
|
113
113
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../src/time/window.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,cAAc,EAEd,WAAW,EACX,WAAW,EACZ,MAAM,aAAa,CAAC;AAcrB;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAU/F;AAaD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,cAAc,EACrB,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,GACtB,SAAS,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../src/time/window.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,cAAc,EAEd,WAAW,EACX,WAAW,EACZ,MAAM,aAAa,CAAC;AAcrB;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAU/F;AAaD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,cAAc,EACrB,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,GACtB,SAAS,WAAW,EAAE,CAyHxB;AA6ED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,cAAc,EAC3B,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,GACtB,cAAc,CA6EhB"}
|
package/dist/time/window.js
CHANGED
|
@@ -73,6 +73,29 @@ function signalAt(header, signalIndex) {
|
|
|
73
73
|
* on onsets nobody has read, and this function refuses rather than guessing them.
|
|
74
74
|
*/
|
|
75
75
|
export function resolveTimeWindow(timeline, index, startSeconds, durationSeconds) {
|
|
76
|
+
/*
|
|
77
|
+
* The timeline, and the index, before either decides anything.
|
|
78
|
+
*
|
|
79
|
+
* `resolveTimeWindow(header, index, …)` returned an answer. The header carries `recordCount` and
|
|
80
|
+
* `recordDurationTicks` under the same names with the same meanings, so every branch below ran —
|
|
81
|
+
* except the one that needs `spanTicks` and `coveredTicks`, which are the timeline's alone.
|
|
82
|
+
* `undefined !== undefined` is false, so the discontinuity check simply did not fire, and a
|
|
83
|
+
* window over an EDF+D file with a five-second hole came back as `[{ start: 0, count: 4 }]`: every
|
|
84
|
+
* record, mapped onto the nominal grid, as if the file were continuous. The correct call throws.
|
|
85
|
+
*
|
|
86
|
+
* That is the exact failure this function exists to prevent — "the records a window maps to depend
|
|
87
|
+
* on onsets nobody has read, and this function refuses rather than guessing them" — reachable by
|
|
88
|
+
* passing the wrong first argument (fixed in 0.6.123).
|
|
89
|
+
*/
|
|
90
|
+
if (typeof timeline?.spanTicks !== 'bigint') {
|
|
91
|
+
throw new RangeError('resolveTimeWindow(): that is not a timeline — it has no spanTicks, and the check that ' +
|
|
92
|
+
'refuses to map a window onto a file with an unseen gap is the one that reads it. Next: ' +
|
|
93
|
+
'pass recording.timeline.');
|
|
94
|
+
}
|
|
95
|
+
if (typeof index?.coverage !== 'string') {
|
|
96
|
+
throw new RangeError('resolveTimeWindow(): the second argument is not a record index — it has no coverage. ' +
|
|
97
|
+
'Next: pass recording.index, or the index buildRecordIndex(recording) returns.');
|
|
98
|
+
}
|
|
76
99
|
const recordCount = timeline.recordCount;
|
|
77
100
|
if (recordCount <= 0)
|
|
78
101
|
return NO_RANGES;
|
package/dist/time/window.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window.js","sourceRoot":"","sources":["../../src/time/window.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"window.js","sourceRoot":"","sources":["../../src/time/window.ts"],"names":[],"mappings":"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"}
|
package/docs/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,21 @@ 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.6.123
|
|
10
|
+
|
|
11
|
+
- **Fixed** `resolveTimeWindow` mapping a window onto a discontinuous file when handed the header
|
|
12
|
+
instead of the timeline.
|
|
13
|
+
- The header carries `recordCount` and `recordDurationTicks` under the same names with the same
|
|
14
|
+
meanings, so every branch of the function ran on one — except the branch that needs `spanTicks`
|
|
15
|
+
and `coveredTicks`, which are the timeline's alone. `undefined !== undefined` is false, so the
|
|
16
|
+
discontinuity check did not fire.
|
|
17
|
+
- A window over an EDF+D file with a five-second hole came back as `[{ start: 0, count: 4 }]`: every
|
|
18
|
+
record, on the nominal grid, as if the file were continuous. The correct call throws — "the records
|
|
19
|
+
a window maps to depend on onsets nobody has read, and this function refuses rather than guessing
|
|
20
|
+
them." The one failure this function exists to prevent was reachable by passing the wrong first
|
|
21
|
+
argument, and it was silent.
|
|
22
|
+
- Both arguments are checked now, and the index is named as the second.
|
|
23
|
+
|
|
9
24
|
## 0.6.122
|
|
10
25
|
|
|
11
26
|
- **Fixed** `decodeDigital` and `decodeAnnotations` describing the file's geometry with arithmetic
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED
package/src/time/window.ts
CHANGED
|
@@ -96,6 +96,33 @@ export function resolveTimeWindow(
|
|
|
96
96
|
startSeconds: number,
|
|
97
97
|
durationSeconds: number,
|
|
98
98
|
): readonly RecordRange[] {
|
|
99
|
+
/*
|
|
100
|
+
* The timeline, and the index, before either decides anything.
|
|
101
|
+
*
|
|
102
|
+
* `resolveTimeWindow(header, index, …)` returned an answer. The header carries `recordCount` and
|
|
103
|
+
* `recordDurationTicks` under the same names with the same meanings, so every branch below ran —
|
|
104
|
+
* except the one that needs `spanTicks` and `coveredTicks`, which are the timeline's alone.
|
|
105
|
+
* `undefined !== undefined` is false, so the discontinuity check simply did not fire, and a
|
|
106
|
+
* window over an EDF+D file with a five-second hole came back as `[{ start: 0, count: 4 }]`: every
|
|
107
|
+
* record, mapped onto the nominal grid, as if the file were continuous. The correct call throws.
|
|
108
|
+
*
|
|
109
|
+
* That is the exact failure this function exists to prevent — "the records a window maps to depend
|
|
110
|
+
* on onsets nobody has read, and this function refuses rather than guessing them" — reachable by
|
|
111
|
+
* passing the wrong first argument (fixed in 0.6.123).
|
|
112
|
+
*/
|
|
113
|
+
if (typeof (timeline as { spanTicks?: unknown } | null | undefined)?.spanTicks !== 'bigint') {
|
|
114
|
+
throw new RangeError(
|
|
115
|
+
'resolveTimeWindow(): that is not a timeline — it has no spanTicks, and the check that ' +
|
|
116
|
+
'refuses to map a window onto a file with an unseen gap is the one that reads it. Next: ' +
|
|
117
|
+
'pass recording.timeline.',
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
if (typeof (index as { coverage?: unknown } | null | undefined)?.coverage !== 'string') {
|
|
121
|
+
throw new RangeError(
|
|
122
|
+
'resolveTimeWindow(): the second argument is not a record index — it has no coverage. ' +
|
|
123
|
+
'Next: pass recording.index, or the index buildRecordIndex(recording) returns.',
|
|
124
|
+
);
|
|
125
|
+
}
|
|
99
126
|
const recordCount = timeline.recordCount;
|
|
100
127
|
if (recordCount <= 0) return NO_RANGES;
|
|
101
128
|
|