edfcore 0.6.121 → 0.6.122

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.
@@ -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.121";
112
+ export declare const VERSION = "0.6.122";
113
113
  //# sourceMappingURL=constants.d.ts.map
package/dist/constants.js CHANGED
@@ -79,5 +79,5 @@ export const SIGNAL_FIELD_BLOCK_OFFSETS = {
79
79
  reserved: 224,
80
80
  };
81
81
  /** Published package version. Kept in sync with package.json by a test. */
82
- export const VERSION = '0.6.121';
82
+ export const VERSION = '0.6.122';
83
83
  //# sourceMappingURL=constants.js.map
@@ -33,6 +33,28 @@ export interface DecodedDigital {
33
33
  */
34
34
  readonly outOfDigitalRangeCount: number;
35
35
  }
36
+ /**
37
+ * `recordBytes` must be exactly the requested records and nothing else.
38
+ *
39
+ * Both halves matter. The range check catches a caller asking for records the file does not
40
+ * have; the length check catches a buffer that does not start where `records.start` says it
41
+ * does — which is unrecoverable rather than merely wrong, because nothing in the bytes
42
+ * identifies which record they came from.
43
+ */
44
+ /**
45
+ * The header and the record buffer, before either is measured against the other.
46
+ *
47
+ * Both decoders answer a size mismatch by stating the file's own geometry — "1 records of 716 bytes
48
+ * each are exactly 716" — which is the right message and the wrong one to compute from an argument
49
+ * nobody checked. A recording where the header belongs made it read "of this file is exactly NaN
50
+ * bytes (1 x undefined)", and an `ArrayBuffer` where the bytes belong made it "recordBytes is
51
+ * undefined bytes — NaN whole records". Both are sentences about the FILE with arithmetic nonsense
52
+ * in them, from a caller's wrong argument (fixed in 0.6.122).
53
+ *
54
+ * Shared by `decodeAnnotations`, which is the other function that measures a record buffer against a
55
+ * header and must refuse the same pair in the same words.
56
+ */
57
+ export declare function assertDecodable(header: EdfHeader, recordBytes: Uint8Array, call: string): void;
36
58
  /**
37
59
  * Decode one signal out of a record range, with the out-of-declared-range tally.
38
60
  *
@@ -1 +1 @@
1
- {"version":3,"file":"digital.d.ts","sourceRoot":"","sources":["../../src/decode/digital.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAa,WAAW,EAAE,MAAM,aAAa,CAAC;AAIrE;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACvC;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;CACzC;AAsLD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,UAAU,EACvB,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,MAAM,EACnB,GAAG,CAAC,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,cAAc,CA0BhB;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,UAAU,EACvB,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,MAAM,EACnB,GAAG,CAAC,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,UAAU,CAEZ"}
1
+ {"version":3,"file":"digital.d.ts","sourceRoot":"","sources":["../../src/decode/digital.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,KAAK,EAAE,SAAS,EAAa,WAAW,EAAE,MAAM,aAAa,CAAC;AAIrE;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACvC;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;CACzC;AA8CD;;;;;;;GAOG;AACH;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAa9F;AAkID;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,UAAU,EACvB,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,MAAM,EACnB,GAAG,CAAC,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,cAAc,CA2BhB;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,UAAU,EACvB,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,MAAM,EACnB,GAAG,CAAC,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,UAAU,CAEZ"}
@@ -9,9 +9,11 @@
9
9
  * multi-gigabyte BDF routinely exceeds 2^31, where every bitwise operator silently wraps it
10
10
  * negative. Every offset below is plain arithmetic, exact to 2^53.
11
11
  */
12
+ import { isByteArray } from '../bytes/latin1.js';
12
13
  import { EdfBudgetError, EdfChannelNotFoundError, EdfRangeError } from '../errors.js';
13
14
  import { resolveMaterializeBudget } from '../options.js';
14
15
  import { pluralise } from '../text/counted.js';
16
+ import { describeValue } from '../text/describe.js';
15
17
  const BYTES_PER_INT32 = 4;
16
18
  function assertWithinBudget(requiredBytes, what, bytesPerSample, options) {
17
19
  const budgetBytes = resolveMaterializeBudget(options?.maxMaterializeBytes);
@@ -43,6 +45,29 @@ function signalAt(header, signalIndex) {
43
45
  * does — which is unrecoverable rather than merely wrong, because nothing in the bytes
44
46
  * identifies which record they came from.
45
47
  */
48
+ /**
49
+ * The header and the record buffer, before either is measured against the other.
50
+ *
51
+ * Both decoders answer a size mismatch by stating the file's own geometry — "1 records of 716 bytes
52
+ * each are exactly 716" — which is the right message and the wrong one to compute from an argument
53
+ * nobody checked. A recording where the header belongs made it read "of this file is exactly NaN
54
+ * bytes (1 x undefined)", and an `ArrayBuffer` where the bytes belong made it "recordBytes is
55
+ * undefined bytes — NaN whole records". Both are sentences about the FILE with arithmetic nonsense
56
+ * in them, from a caller's wrong argument (fixed in 0.6.122).
57
+ *
58
+ * Shared by `decodeAnnotations`, which is the other function that measures a record buffer against a
59
+ * header and must refuse the same pair in the same words.
60
+ */
61
+ export function assertDecodable(header, recordBytes, call) {
62
+ if (!Number.isSafeInteger(header?.recordByteLength)) {
63
+ throw new RangeError(`${call}(): that is not a header — it has no recordByteLength, so there is no record size ` +
64
+ 'to measure the buffer against. Next: pass recording.header.');
65
+ }
66
+ if (!isByteArray(recordBytes)) {
67
+ throw new RangeError(`${call}(): the record bytes are ${describeValue(recordBytes)}, not a Uint8Array. Next: ` +
68
+ 'pass what readRecordBytes(source, header, records) resolved to, unsliced.');
69
+ }
70
+ }
46
71
  function assertRecordRange(header, recordBytes, records) {
47
72
  const available = { start: 0, count: header.recordCount };
48
73
  const startValid = Number.isSafeInteger(records.start) && records.start >= 0;
@@ -161,6 +186,7 @@ function decodeInt24(bytes, out, plan) {
161
186
  * nothing about the samples.
162
187
  */
163
188
  export function decodeDigitalCounted(header, recordBytes, records, signalIndex, out, options) {
189
+ assertDecodable(header, recordBytes, 'decodeDigital');
164
190
  const signal = signalAt(header, signalIndex);
165
191
  assertRecordRange(header, recordBytes, records);
166
192
  const bytesPerSample = header.bytesPerSample;
@@ -1 +1 @@
1
- {"version":3,"file":"digital.js","sourceRoot":"","sources":["../../src/decode/digital.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"digital.js","sourceRoot":"","sources":["../../src/decode/digital.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../src/tal/annotations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAMH,OAAO,KAAK,EACV,wBAAwB,EAExB,oBAAoB,EACpB,SAAS,EAET,WAAW,EACZ,MAAM,aAAa,CAAC;AAqYrB;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,UAAU,EACvB,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,wBAAwB,GACjC,oBAAoB,CAsLtB"}
1
+ {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../src/tal/annotations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAOH,OAAO,KAAK,EACV,wBAAwB,EAExB,oBAAoB,EACpB,SAAS,EAET,WAAW,EACZ,MAAM,aAAa,CAAC;AAqYrB;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,UAAU,EACvB,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,wBAAwB,GACjC,oBAAoB,CAuLtB"}
@@ -38,6 +38,7 @@
38
38
  */
39
39
  import { sliceBytes } from '../bytes/view.js';
40
40
  import { TICKS_PER_SECOND } from '../constants.js';
41
+ import { assertDecodable } from '../decode/digital.js';
41
42
  import { DiagnosticSink } from '../diagnostics/collector.js';
42
43
  import { EdfChannelNotFoundError, EdfRangeError } from '../errors.js';
43
44
  import { escapeControls, parseTalRegion, previewBytes, rawBytesText, splitChannelLabel, TAL_PREVIEW_MAX_BYTES, } from './grammar.js';
@@ -304,6 +305,7 @@ function compareAnnotations(a, b) {
304
305
  * read, and is what most callers want.
305
306
  */
306
307
  export function decodeAnnotations(header, recordBytes, records, options) {
308
+ assertDecodable(header, recordBytes, 'decodeAnnotations');
307
309
  assertRecordRange(header, recordBytes, records);
308
310
  const sink = new DiagnosticSink(options);
309
311
  const signals = resolveSignals(header, options?.signalIndices);
@@ -1 +1 @@
1
- {"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../src/tal/annotations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../src/tal/annotations.ts"],"names":[],"mappings":"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"}
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,19 @@ 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.122
10
+
11
+ - **Fixed** `decodeDigital` and `decodeAnnotations` describing the file's geometry with arithmetic
12
+ computed from a wrong argument.
13
+ - Both answer a size mismatch by stating what the file actually is — "1 records of 716 bytes each are
14
+ exactly 716" — which is the right message and the wrong thing to compute from an argument nobody
15
+ checked. The recording where the header belongs made `decodeAnnotations` say "of this file is
16
+ exactly NaN bytes (1 x undefined)"; an `ArrayBuffer` where the bytes belong made `decodeDigital`
17
+ say "recordBytes is undefined bytes — NaN whole records".
18
+ - Both are sentences about the FILE with nonsense in them, from a caller's wrong argument, which is
19
+ the one confusion `byteSource` says this package works hardest to avoid. Both now check the header
20
+ and the buffer first, in one guard the two decoders share.
21
+
9
22
  ## 0.6.121
10
23
 
11
24
  - **Fixed** `parseHeader` accepting an `ArrayBuffer` and failing several checks later with
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.6.121",
3
+ "version": "0.6.122",
4
4
  "description": "Modern, typed, zero-dependency reader for EDF, EDF+, BDF and BDF+ biosignal files. Works in browsers and Node with true random access.",
5
5
  "keywords": [
6
6
  "edf",
package/src/constants.ts CHANGED
@@ -93,4 +93,4 @@ export const SIGNAL_FIELD_BLOCK_OFFSETS = {
93
93
  } as const;
94
94
 
95
95
  /** Published package version. Kept in sync with package.json by a test. */
96
- export const VERSION = '0.6.121';
96
+ export const VERSION = '0.6.122';
@@ -10,9 +10,11 @@
10
10
  * negative. Every offset below is plain arithmetic, exact to 2^53.
11
11
  */
12
12
 
13
+ import { isByteArray } from '../bytes/latin1.js';
13
14
  import { EdfBudgetError, EdfChannelNotFoundError, EdfRangeError } from '../errors.js';
14
15
  import { resolveMaterializeBudget } from '../options.js';
15
16
  import { pluralise } from '../text/counted.js';
17
+ import { describeValue } from '../text/describe.js';
16
18
  import type { EdfHeader, EdfSignal, RecordRange } from '../types.js';
17
19
 
18
20
  const BYTES_PER_INT32 = 4;
@@ -94,6 +96,34 @@ function signalAt(header: EdfHeader, signalIndex: number): EdfSignal {
94
96
  * does — which is unrecoverable rather than merely wrong, because nothing in the bytes
95
97
  * identifies which record they came from.
96
98
  */
99
+ /**
100
+ * The header and the record buffer, before either is measured against the other.
101
+ *
102
+ * Both decoders answer a size mismatch by stating the file's own geometry — "1 records of 716 bytes
103
+ * each are exactly 716" — which is the right message and the wrong one to compute from an argument
104
+ * nobody checked. A recording where the header belongs made it read "of this file is exactly NaN
105
+ * bytes (1 x undefined)", and an `ArrayBuffer` where the bytes belong made it "recordBytes is
106
+ * undefined bytes — NaN whole records". Both are sentences about the FILE with arithmetic nonsense
107
+ * in them, from a caller's wrong argument (fixed in 0.6.122).
108
+ *
109
+ * Shared by `decodeAnnotations`, which is the other function that measures a record buffer against a
110
+ * header and must refuse the same pair in the same words.
111
+ */
112
+ export function assertDecodable(header: EdfHeader, recordBytes: Uint8Array, call: string): void {
113
+ if (!Number.isSafeInteger((header as { recordByteLength?: unknown } | null)?.recordByteLength)) {
114
+ throw new RangeError(
115
+ `${call}(): that is not a header — it has no recordByteLength, so there is no record size ` +
116
+ 'to measure the buffer against. Next: pass recording.header.',
117
+ );
118
+ }
119
+ if (!isByteArray(recordBytes)) {
120
+ throw new RangeError(
121
+ `${call}(): the record bytes are ${describeValue(recordBytes)}, not a Uint8Array. Next: ` +
122
+ 'pass what readRecordBytes(source, header, records) resolved to, unsliced.',
123
+ );
124
+ }
125
+ }
126
+
97
127
  function assertRecordRange(header: EdfHeader, recordBytes: Uint8Array, records: RecordRange): void {
98
128
  const available: RecordRange = { start: 0, count: header.recordCount };
99
129
  const startValid = Number.isSafeInteger(records.start) && records.start >= 0;
@@ -238,6 +268,7 @@ export function decodeDigitalCounted(
238
268
  out?: Int32Array,
239
269
  options?: MaterializeOptions,
240
270
  ): DecodedDigital {
271
+ assertDecodable(header, recordBytes, 'decodeDigital');
241
272
  const signal = signalAt(header, signalIndex);
242
273
  assertRecordRange(header, recordBytes, records);
243
274
 
@@ -39,6 +39,7 @@
39
39
 
40
40
  import { sliceBytes } from '../bytes/view.js';
41
41
  import { TICKS_PER_SECOND } from '../constants.js';
42
+ import { assertDecodable } from '../decode/digital.js';
42
43
  import { DiagnosticSink } from '../diagnostics/collector.js';
43
44
  import { EdfChannelNotFoundError, EdfRangeError } from '../errors.js';
44
45
  import type {
@@ -448,6 +449,7 @@ export function decodeAnnotations(
448
449
  records: RecordRange,
449
450
  options?: DecodeAnnotationsOptions,
450
451
  ): EdfAnnotationsResult {
452
+ assertDecodable(header, recordBytes, 'decodeAnnotations');
451
453
  assertRecordRange(header, recordBytes, records);
452
454
 
453
455
  const sink = new DiagnosticSink(options);