edfcore 0.6.179 → 0.6.181
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/decode/physical.d.ts.map +1 -1
- package/dist/decode/physical.js +24 -0
- package/dist/decode/physical.js.map +1 -1
- package/dist/io/read.d.ts.map +1 -1
- package/dist/io/read.js +23 -0
- package/dist/io/read.js.map +1 -1
- package/docs/CHANGELOG.md +29 -0
- package/package.json +1 -1
- package/src/constants.ts +1 -1
- package/src/decode/physical.ts +28 -0
- package/src/io/read.ts +29 -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.181";
|
|
113
113
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"physical.d.ts","sourceRoot":"","sources":["../../src/decode/physical.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAkB,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/D,OAAO,KAAK,EAAqC,SAAS,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGvD,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAiKvD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,EACjB,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACnE,eAAe,CAkBjB;AAuED;;;;;;;;;;;;GAYG;AACH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAWlE;
|
|
1
|
+
{"version":3,"file":"physical.d.ts","sourceRoot":"","sources":["../../src/decode/physical.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAkB,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/D,OAAO,KAAK,EAAqC,SAAS,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGvD,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAiKvD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,EACjB,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACnE,eAAe,CAkBjB;AAuED;;;;;;;;;;;;GAYG;AACH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAWlE;AA4ED,wBAAgB,UAAU,CACxB,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,EAC1B,GAAG,CAAC,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,YAAY,CAed;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG;IAClD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAcA;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,UAAU,EACnB,GAAG,CAAC,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,UAAU,CAwBZ"}
|
package/dist/decode/physical.js
CHANGED
|
@@ -254,6 +254,30 @@ export function assertSignal(signal, call) {
|
|
|
254
254
|
* distinction `errors.ts` exists to keep.
|
|
255
255
|
*/
|
|
256
256
|
function assertSamples(digital, call) {
|
|
257
|
+
/*
|
|
258
|
+
* RAW RECORD BYTES, which pass both checks below: they have a length, and their first element is
|
|
259
|
+
* a number.
|
|
260
|
+
*
|
|
261
|
+
* `readRecordBytes` is a published primitive and the step before `decodeDigital` in the pipeline
|
|
262
|
+
* this package documents, so `toPhysical(signal, recordBytes)` is that pipeline with one call
|
|
263
|
+
* left out — and it is the mistake with no symptom. It returned a full-length `Float64Array`,
|
|
264
|
+
* scaling each BYTE of the record as though it were a sample: on a 2-record read of a
|
|
265
|
+
* 16-samples-per-record signal, 192 values where the signal has 32, every one of them a byte of
|
|
266
|
+
* a 16-bit word or of the annotation region. Numbers that look exactly like a signal, which is
|
|
267
|
+
* the failure `resolveSignals` names as the reason this library exists.
|
|
268
|
+
*
|
|
269
|
+
* One byte per element is the whole test, and it is not a heuristic: a digital sample is a signed
|
|
270
|
+
* 16-bit (EDF) or 24-bit (BDF) integer, so it does not fit in a byte array at all, and
|
|
271
|
+
* `decodeDigital` returns an `Int32Array` by contract.
|
|
272
|
+
*/
|
|
273
|
+
if (ArrayBuffer.isView(digital) &&
|
|
274
|
+
digital.BYTES_PER_ELEMENT === 1) {
|
|
275
|
+
throw new RangeError(`${call}(): the samples are ${describeValue(digital)}, one byte per element, so they are ` +
|
|
276
|
+
'record bytes rather than decoded samples — a digital value is a signed 16-bit (EDF) or ' +
|
|
277
|
+
'24-bit (BDF) integer and does not fit in one, so this would have scaled each byte of the ' +
|
|
278
|
+
'file as if it were a sample. Next: run decodeDigital() over those bytes first, and pass ' +
|
|
279
|
+
'the Int32Array it returns.');
|
|
280
|
+
}
|
|
257
281
|
const length = digital?.length;
|
|
258
282
|
if (typeof length === 'number') {
|
|
259
283
|
/*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"physical.js","sourceRoot":"","sources":["../../src/decode/physical.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"physical.js","sourceRoot":"","sources":["../../src/decode/physical.ts"],"names":[],"mappings":"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"}
|
package/dist/io/read.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/io/read.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAWH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAoBhG;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAuC9F;AAiHD;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/io/read.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAWH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAoBhG;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAuC9F;AAiHD;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,UAAU,CAAC,CA0CrB"}
|
package/dist/io/read.js
CHANGED
|
@@ -198,6 +198,29 @@ function assertWithinBudget(requiredBytes, records, options) {
|
|
|
198
198
|
*/
|
|
199
199
|
export async function readRecordBytes(source, header, records, options) {
|
|
200
200
|
assertByteSource(source);
|
|
201
|
+
/*
|
|
202
|
+
* The HEADER, before the range is measured against it.
|
|
203
|
+
*
|
|
204
|
+
* `assertRecordRange` reads `header.recordCount` and prints it, so a wrong header put the blame
|
|
205
|
+
* on the argument that was right: `readRecordBytes(source, recording, records)` — the recording
|
|
206
|
+
* being the object the source came off — answered `records { start: 0, count: 1 } is not inside
|
|
207
|
+
* the undefined data records this file contains`, and told the caller to clamp a range that was
|
|
208
|
+
* already inside the file. A chunk gave the same sentence.
|
|
209
|
+
*
|
|
210
|
+
* The timeline is worse and reaches further. It HAS a `recordCount`, so the range check passes
|
|
211
|
+
* and `records.count * header.recordByteLength` is `NaN` — reported as an `EdfBudgetError`,
|
|
212
|
+
* "needs a NaN-byte buffer, above the 268435456-byte maxMaterializeBytes budget", advising a
|
|
213
|
+
* smaller read. An `EdfError`, so `isEdfError` sent a caller mistake down the file-or-budget
|
|
214
|
+
* branch, which is the one distinction `errors.ts` exists to keep.
|
|
215
|
+
*
|
|
216
|
+
* `recordByteLength` is the field to test: it is the one this function multiplies by, and
|
|
217
|
+
* `decode/digital.ts` already names it for the same reason.
|
|
218
|
+
*/
|
|
219
|
+
if (!Number.isInteger(header?.recordByteLength)) {
|
|
220
|
+
throw new RangeError('readRecordBytes(): that is not a header — it has no recordByteLength, which is the record ' +
|
|
221
|
+
'size every offset and length below is measured in. Next: pass recording.header, or what ' +
|
|
222
|
+
'parseHeader(bytes, sourceByteLength) returned.');
|
|
223
|
+
}
|
|
201
224
|
assertRecordRange(header, records);
|
|
202
225
|
const byteLength = records.count * header.recordByteLength;
|
|
203
226
|
if (byteLength === 0)
|
package/dist/io/read.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/io/read.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/io/read.ts"],"names":[],"mappings":"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"}
|
package/docs/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,35 @@ 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.181
|
|
10
|
+
|
|
11
|
+
- **Fixed** `readRecordBytes` blaming the record range for a wrong header. It is the lowest
|
|
12
|
+
published read in the package and it takes `(source, header, records)` — and the source almost
|
|
13
|
+
always comes off a recording, so `readRecordBytes(recording.source, recording, records)` is one
|
|
14
|
+
field short and nothing checked it.
|
|
15
|
+
- `assertRecordRange` reads `header.recordCount` and prints it, so the answer was `records
|
|
16
|
+
{ start: 0, count: 1 } is not inside the undefined data records this file contains`, followed by
|
|
17
|
+
advice to clamp a range that was already inside the file. A chunk gave the same sentence.
|
|
18
|
+
- The timeline reached further, because it HAS a `recordCount`: the range check passed and
|
|
19
|
+
`records.count * header.recordByteLength` was `NaN`, reported as an `EdfBudgetError` about a
|
|
20
|
+
"NaN-byte buffer" above the budget. That one is an `EdfError`, so `isEdfError` sent a caller
|
|
21
|
+
mistake down the file-or-budget branch.
|
|
22
|
+
- The check names `recordByteLength`, which is the field this call multiplies by.
|
|
23
|
+
|
|
24
|
+
## 0.6.180
|
|
25
|
+
|
|
26
|
+
- **Fixed** `toPhysical` and `clampToDigitalRange` accepting raw record bytes as samples. The
|
|
27
|
+
documented pipeline is `readRecordBytes` → `decodeDigital` → `toPhysical`, all three published, so
|
|
28
|
+
`toPhysical(signal, recordBytes)` is that pipeline with the middle call left out — and it returned
|
|
29
|
+
a full-length `Float64Array` with no error, scaling each BYTE of the record as if it were a sample.
|
|
30
|
+
- On a two-record read of a sixteen-samples-per-record signal that is 192 values where the signal has
|
|
31
|
+
32, drawn from the halves of 16-bit words and from the annotation region. Numbers that look exactly
|
|
32
|
+
like a signal, which is the failure `resolveSignals` names as the reason this library exists.
|
|
33
|
+
- `assertSamples` could not see it: 0.6.128 checked for a `length` and the check after it requires
|
|
34
|
+
the first element to be a number, and a `Uint8Array` has both. One byte per element is now the
|
|
35
|
+
test, and it is a fact rather than a heuristic — an EDF digital value is signed 16-bit and a BDF
|
|
36
|
+
one signed 24-bit, so neither fits in a byte array, and `decodeDigital` returns an `Int32Array`.
|
|
37
|
+
|
|
9
38
|
## 0.6.179
|
|
10
39
|
|
|
11
40
|
- **Fixed** `getStatusSignal` answering `undefined` for a chunk. 0.6.120 gave it a guard and said
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED
package/src/decode/physical.ts
CHANGED
|
@@ -339,6 +339,34 @@ export function assertSignal(signal: EdfSignal, call: string): void {
|
|
|
339
339
|
* distinction `errors.ts` exists to keep.
|
|
340
340
|
*/
|
|
341
341
|
function assertSamples(digital: unknown, call: string): void {
|
|
342
|
+
/*
|
|
343
|
+
* RAW RECORD BYTES, which pass both checks below: they have a length, and their first element is
|
|
344
|
+
* a number.
|
|
345
|
+
*
|
|
346
|
+
* `readRecordBytes` is a published primitive and the step before `decodeDigital` in the pipeline
|
|
347
|
+
* this package documents, so `toPhysical(signal, recordBytes)` is that pipeline with one call
|
|
348
|
+
* left out — and it is the mistake with no symptom. It returned a full-length `Float64Array`,
|
|
349
|
+
* scaling each BYTE of the record as though it were a sample: on a 2-record read of a
|
|
350
|
+
* 16-samples-per-record signal, 192 values where the signal has 32, every one of them a byte of
|
|
351
|
+
* a 16-bit word or of the annotation region. Numbers that look exactly like a signal, which is
|
|
352
|
+
* the failure `resolveSignals` names as the reason this library exists.
|
|
353
|
+
*
|
|
354
|
+
* One byte per element is the whole test, and it is not a heuristic: a digital sample is a signed
|
|
355
|
+
* 16-bit (EDF) or 24-bit (BDF) integer, so it does not fit in a byte array at all, and
|
|
356
|
+
* `decodeDigital` returns an `Int32Array` by contract.
|
|
357
|
+
*/
|
|
358
|
+
if (
|
|
359
|
+
ArrayBuffer.isView(digital) &&
|
|
360
|
+
(digital as { BYTES_PER_ELEMENT?: unknown }).BYTES_PER_ELEMENT === 1
|
|
361
|
+
) {
|
|
362
|
+
throw new RangeError(
|
|
363
|
+
`${call}(): the samples are ${describeValue(digital)}, one byte per element, so they are ` +
|
|
364
|
+
'record bytes rather than decoded samples — a digital value is a signed 16-bit (EDF) or ' +
|
|
365
|
+
'24-bit (BDF) integer and does not fit in one, so this would have scaled each byte of the ' +
|
|
366
|
+
'file as if it were a sample. Next: run decodeDigital() over those bytes first, and pass ' +
|
|
367
|
+
'the Int32Array it returns.',
|
|
368
|
+
);
|
|
369
|
+
}
|
|
342
370
|
const length = (digital as { length?: unknown } | null | undefined)?.length;
|
|
343
371
|
if (typeof length === 'number') {
|
|
344
372
|
/*
|
package/src/io/read.ts
CHANGED
|
@@ -229,6 +229,35 @@ export async function readRecordBytes(
|
|
|
229
229
|
options?: ReadOptions,
|
|
230
230
|
): Promise<Uint8Array> {
|
|
231
231
|
assertByteSource(source);
|
|
232
|
+
/*
|
|
233
|
+
* The HEADER, before the range is measured against it.
|
|
234
|
+
*
|
|
235
|
+
* `assertRecordRange` reads `header.recordCount` and prints it, so a wrong header put the blame
|
|
236
|
+
* on the argument that was right: `readRecordBytes(source, recording, records)` — the recording
|
|
237
|
+
* being the object the source came off — answered `records { start: 0, count: 1 } is not inside
|
|
238
|
+
* the undefined data records this file contains`, and told the caller to clamp a range that was
|
|
239
|
+
* already inside the file. A chunk gave the same sentence.
|
|
240
|
+
*
|
|
241
|
+
* The timeline is worse and reaches further. It HAS a `recordCount`, so the range check passes
|
|
242
|
+
* and `records.count * header.recordByteLength` is `NaN` — reported as an `EdfBudgetError`,
|
|
243
|
+
* "needs a NaN-byte buffer, above the 268435456-byte maxMaterializeBytes budget", advising a
|
|
244
|
+
* smaller read. An `EdfError`, so `isEdfError` sent a caller mistake down the file-or-budget
|
|
245
|
+
* branch, which is the one distinction `errors.ts` exists to keep.
|
|
246
|
+
*
|
|
247
|
+
* `recordByteLength` is the field to test: it is the one this function multiplies by, and
|
|
248
|
+
* `decode/digital.ts` already names it for the same reason.
|
|
249
|
+
*/
|
|
250
|
+
if (
|
|
251
|
+
!Number.isInteger(
|
|
252
|
+
(header as { recordByteLength?: unknown } | null | undefined)?.recordByteLength,
|
|
253
|
+
)
|
|
254
|
+
) {
|
|
255
|
+
throw new RangeError(
|
|
256
|
+
'readRecordBytes(): that is not a header — it has no recordByteLength, which is the record ' +
|
|
257
|
+
'size every offset and length below is measured in. Next: pass recording.header, or what ' +
|
|
258
|
+
'parseHeader(bytes, sourceByteLength) returned.',
|
|
259
|
+
);
|
|
260
|
+
}
|
|
232
261
|
assertRecordRange(header, records);
|
|
233
262
|
const byteLength = records.count * header.recordByteLength;
|
|
234
263
|
if (byteLength === 0) return new Uint8Array(0);
|