edfcore 0.6.120 → 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.
@@ -10,6 +10,8 @@
10
10
  * Encoding Standard mandates U+20AC for those labels. The same header bytes would therefore
11
11
  * produce different strings in Node and in a spec-compliant browser.
12
12
  */
13
+ /** Whether a value is a real one-byte-per-element view, and therefore addressable as file bytes. */
14
+ export declare function isByteArray(value: unknown): value is Uint8Array;
13
15
  /**
14
16
  * Decode header bytes as ISO-8859-1: byte `b` becomes code point U+00`b`, always.
15
17
  *
@@ -1 +1 @@
1
- {"version":3,"file":"latin1.d.ts","sourceRoot":"","sources":["../../src/bytes/latin1.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAgCH;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAwB5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAK/D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMjD"}
1
+ {"version":3,"file":"latin1.d.ts","sourceRoot":"","sources":["../../src/bytes/latin1.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAqCH,oGAAoG;AACpG,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAwB5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAK/D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMjD"}
@@ -27,14 +27,23 @@ function fromCharCodes(bytes) {
27
27
  return String.fromCharCode.apply(null, bytes);
28
28
  }
29
29
  /**
30
- * The one-byte-per-element tags, written out rather than shared with `io/source.ts`'s `isByteArray`.
30
+ * The one-byte-per-element tags: `Uint8Array`, `Uint8ClampedArray`, and Node's `Buffer`, which is a
31
+ * `Uint8Array` subclass and inherits the tag.
31
32
  *
32
- * This module is Layer 0 and imports nothing, which is the property that lets the header decoder be
33
- * the one thing in the package with no dependencies. `a-header-that-was-never-bytes.test.ts`
34
- * asserts the two admit the same set, which is the drift `io/bytes.ts` records being bitten by in
35
- * 0.2.23 when one of its two copies was rewritten and the other was missed.
33
+ * Here, at Layer 0, because this is the lowest module that needs it and every other one that does is
34
+ * above it `io/source.ts` delegates and `header/parse.ts` calls it directly. 0.6.96 wrote the tags
35
+ * out a second time and pinned the agreement with a test, which is what `io/bytes.ts` had to do in
36
+ * 0.2.23 after one of its two copies was rewritten and the other was missed. One copy needs no
37
+ * pinning (0.6.121).
38
+ *
39
+ * The TAG, not `instanceof`: `instanceof` is false for a view that crossed a realm boundary — a
40
+ * worker, an iframe — and every caller of this is a public entry point.
36
41
  */
37
42
  const BYTE_ARRAY_TAGS = new Set(['[object Uint8Array]', '[object Uint8ClampedArray]']);
43
+ /** Whether a value is a real one-byte-per-element view, and therefore addressable as file bytes. */
44
+ export function isByteArray(value) {
45
+ return ArrayBuffer.isView(value) && BYTE_ARRAY_TAGS.has(Object.prototype.toString.call(value));
46
+ }
38
47
  /**
39
48
  * Decode header bytes as ISO-8859-1: byte `b` becomes code point U+00`b`, always.
40
49
  *
@@ -50,7 +59,7 @@ export function decodeHeaderLatin1(bytes) {
50
59
  * refuses exactly this pair at construction and says why; this is the same refusal one layer
51
60
  * down, where the bytes are actually read (fixed in 0.6.96).
52
61
  */
53
- if (!ArrayBuffer.isView(bytes) || !BYTE_ARRAY_TAGS.has(Object.prototype.toString.call(bytes))) {
62
+ if (!isByteArray(bytes)) {
54
63
  throw new RangeError('decodeHeaderLatin1() needs a Uint8Array. An ArrayBuffer has no length, so it decoded to ' +
55
64
  'the empty string; an Int8Array has one byte per element, so it decoded every byte above ' +
56
65
  '0x7f to a different character. Next: pass `new Uint8Array(buffer)` for an ArrayBuffer, ' +
@@ -1 +1 @@
1
- {"version":3,"file":"latin1.js","sourceRoot":"","sources":["../../src/bytes/latin1.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,2FAA2F;AAC3F,MAAM,QAAQ,GAAG,IAAI,CAAC;AACtB,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,oFAAoF;AACpF,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACjC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEjC;;;GAGG;AACH,MAAM,WAAW,GAAG,IAAI,CAAC;AAEzB,SAAS,aAAa,CAAC,KAAiB;IACtC,mFAAmF;IACnF,+EAA+E;IAC/E,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAA4B,CAAC,CAAC;AACvE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,qBAAqB,EAAE,4BAA4B,CAAC,CAAC,CAAC;AAEvF;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAiB;IAClD;;;;;;;;OAQG;IACH,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC9F,MAAM,IAAI,UAAU,CAClB,0FAA0F;YACxF,0FAA0F;YAC1F,yFAAyF;YACzF,yFAAyF,CAC5F,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,IAAI,WAAW;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,WAAW,EAAE,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAiB;IACpD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,GAAG,mBAAmB,IAAI,IAAI,GAAG,mBAAmB;YAAE,OAAO,IAAI,CAAC;IAC5E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,QAAQ,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IACtB,OAAO,GAAG,GAAG,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAAE,GAAG,EAAE,CAAC;IACpE,OAAO,KAAK,GAAG,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAAE,KAAK,EAAE,CAAC;IACpE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"latin1.js","sourceRoot":"","sources":["../../src/bytes/latin1.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,2FAA2F;AAC3F,MAAM,QAAQ,GAAG,IAAI,CAAC;AACtB,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,oFAAoF;AACpF,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACjC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEjC;;;GAGG;AACH,MAAM,WAAW,GAAG,IAAI,CAAC;AAEzB,SAAS,aAAa,CAAC,KAAiB;IACtC,mFAAmF;IACnF,+EAA+E;IAC/E,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAA4B,CAAC,CAAC;AACvE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,qBAAqB,EAAE,4BAA4B,CAAC,CAAC,CAAC;AAEvF,oGAAoG;AACpG,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACjG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAiB;IAClD;;;;;;;;OAQG;IACH,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,UAAU,CAClB,0FAA0F;YACxF,0FAA0F;YAC1F,yFAAyF;YACzF,yFAAyF,CAC5F,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,IAAI,WAAW;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,WAAW,EAAE,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAiB;IACpD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,GAAG,mBAAmB,IAAI,IAAI,GAAG,mBAAmB;YAAE,OAAO,IAAI,CAAC;IAC5E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,QAAQ,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IACtB,OAAO,GAAG,GAAG,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAAE,GAAG,EAAE,CAAC;IACpE,OAAO,KAAK,GAAG,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAAE,KAAK,EAAE,CAAC;IACpE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAChC,CAAC"}
@@ -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.120";
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.120';
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":"parse.d.ts","sourceRoot":"","sources":["../../src/header/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAaH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA6K3D;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,WAAW,EAAE,UAAU,EACvB,gBAAgB,EAAE,MAAM,EACxB,OAAO,CAAC,EAAE,YAAY,GACrB,SAAS,CA4PX"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/header/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAaH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA6K3D;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,WAAW,EAAE,UAAU,EACvB,gBAAgB,EAAE,MAAM,EACxB,OAAO,CAAC,EAAE,YAAY,GACrB,SAAS,CA4QX"}
@@ -20,7 +20,7 @@
20
20
  * size of the file the header came from: recovering `recordCount = -1`, and telling a truncated
21
21
  * file from a complete one.
22
22
  */
23
- import { trimEdfField } from '../bytes/latin1.js';
23
+ import { isByteArray, trimEdfField } from '../bytes/latin1.js';
24
24
  import { copyBytes } from '../bytes/view.js';
25
25
  import { EDF_HEADER_BLOCK_BYTES, EDF_RECOMMENDED_MAX_RECORD_BYTES, HEADER_FIELDS, SIGNAL_FIELD_WIDTHS, } from '../constants.js';
26
26
  import { DiagnosticSink } from '../diagnostics/collector.js';
@@ -178,6 +178,19 @@ export function parseHeader(headerBytes, sourceByteLength, options) {
178
178
  `bytes.byteLength ` +
179
179
  'for an in-memory file, or source.byteLength for a ByteSource.');
180
180
  }
181
+ /*
182
+ * And the bytes, which no check in this function reached. Every size test below reads
183
+ * `headerBytes.length`, which is `undefined` on an `ArrayBuffer` — what `await response.arrayBuffer()`
184
+ * and `await blob.arrayBuffer()` both hand over — so every one of them compared false and the
185
+ * failure arrived as `bytes.subarray is not a function` from a field reader several checks later.
186
+ * `decodeHeaderLatin1` refuses the same pair one layer down (0.6.96); this is the entry point a
187
+ * reader is actually sent to (fixed in 0.6.121).
188
+ */
189
+ if (!isByteArray(headerBytes)) {
190
+ throw new RangeError(`parseHeader(): the header bytes are ${describeValue(headerBytes)}, not a Uint8Array. ` +
191
+ 'Next: pass `new Uint8Array(buffer)` for an ArrayBuffer, or the bytes a ByteSource read ' +
192
+ 'gave you — source.read(0, 256) resolves to one.');
193
+ }
181
194
  const sink = new DiagnosticSink(options);
182
195
  // ---- 1. The fixed header must be present at all. --------------------------------------
183
196
  if (headerBytes.length < EDF_HEADER_BLOCK_BYTES) {
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/header/parse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/header/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EAChC,aAAa,EACb,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EACL,6BAA6B,EAC7B,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE1D,6FAA6F;AAC7F,MAAM,uBAAuB,GAAW,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC;AAiBvD;;;;;;;GAOG;AACH,SAAS,kBAAkB,CAAC,KAAuB,EAAE,IAAoB;IACvE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IACtF,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,CAAC,CAAC;IAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,gBAAgB,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,kBAAkB,GAAG,YAAY,GAAG,gBAAgB,CAAC;IAE1E,MAAM,WAAW,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,aAAa,CAAC;IAC5B,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC;IACpD,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC;IAEpD,MAAM,wBAAwB,GAAG,GAAS,EAAE;QAC1C,IAAI,YAAY,KAAK,CAAC;YAAE,OAAO;QAC/B,IAAI,CAAC,MAAM,CAAC;YACV,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EACL,mBAAmB,YAAY,2BAA2B,YAAY,aAAa;gBACnF,GAAG,gBAAgB,8CAA8C,aAAa,UAAU;gBACxF,wEAAwE,YAAY,GAAG;gBACvF,wFAAwF;gBACxF,mDAAmD;YACrD,KAAK,EAAE,aAAa;YACpB,UAAU,EAAE,gBAAgB,GAAG,YAAY,GAAG,gBAAgB;YAC9D,UAAU,EAAE,YAAY;YACxB,4FAA4F;YAC5F,2FAA2F;YAC3F,4FAA4F;YAC5F,0FAA0F;YAC1F,0FAA0F;YAC1F,kEAAkE;YAClE,QAAQ,EAAE,GAAG,gBAAgB,QAAQ;YACrC,MAAM,EAAE,GAAG,YAAY,QAAQ;YAC/B,aAAa;SACd,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,6FAA6F;IAC7F,0FAA0F;IAC1F,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;YACzC,CAAC,CAAC,+CAA+C;YACjD,CAAC,CAAC,UAAU,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC;YACV,IAAI,EAAE,wBAAwB;YAC9B,OAAO,EACL,GAAG,WAAW,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,YAAY,+BAA+B;gBACtF,kCAAkC,gBAAgB,MAAM,gBAAgB,MAAM;gBAC9E,GAAG,gBAAgB,OAAO,YAAY,wBAAwB,aAAa,aAAa;gBACxF,gEAAgE;gBAChE,GAAG,YAAY,qEAAqE;gBACpF,kFAAkF;YACpF,KAAK;YACL,UAAU;YACV,UAAU;YACV,GAAG;YACH,QAAQ,EAAE,gCAAgC;YAC1C,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC;YACxB,aAAa;SACd,CAAC,CAAC;QACH,wBAAwB,EAAE,CAAC;QAC3B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC;IAC9E,CAAC;IAED,IAAI,QAAQ,GAAG,YAAY,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC;YACV,IAAI,EAAE,gBAAgB;YACtB,OAAO,EACL,GAAG,WAAW,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,QAAQ,mBAAmB;gBAC7E,GAAG,gBAAgB,sBAAsB;gBACzC,GAAG,gBAAgB,GAAG,QAAQ,GAAG,gBAAgB,wBAAwB;gBACzE,GAAG,gBAAgB,oBAAoB,YAAY,mBAAmB,aAAa,IAAI;gBACvF,+BAA+B,YAAY,mCAAmC;gBAC9E,iFAAiF;gBACjF,iBAAiB;YACnB,KAAK;YACL,UAAU;YACV,UAAU;YACV,GAAG;YACH,QAAQ,EAAE,WAAW,YAAY,eAAe;YAChD,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC;YACxB,aAAa;SACd,CAAC,CAAC;QACH,wBAAwB,EAAE,CAAC;QAC3B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC;IAC9E,CAAC;IAED,MAAM,UAAU,GAAG,kBAAkB,GAAG,QAAQ,GAAG,gBAAgB,CAAC;IACpE,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC9B,wBAAwB,EAAE,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC;gBACV,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EACL,sBAAsB,UAAU,qBAAqB,QAAQ,oBAAoB;oBACjF,sCAAsC,gBAAgB,GAAG,QAAQ,GAAG,gBAAgB,GAAG;oBACvF,MAAM,gBAAgB,KAAK,aAAa,yCAAyC;oBACjF,kFAAkF;oBAClF,4BAA4B;gBAC9B,KAAK,EAAE,aAAa;gBACpB,UAAU,EAAE,gBAAgB,GAAG,QAAQ,GAAG,gBAAgB;gBAC1D,UAAU,EAAE,UAAU;gBACtB,wFAAwF;gBACxF,mEAAmE;gBACnE,QAAQ,EAAE,GAAG,QAAQ,GAAG,gBAAgB,aAAa;gBACrD,MAAM,EAAE,GAAG,kBAAkB,aAAa;gBAC1C,aAAa;aACd,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC;AACrE,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,qBAAqB,CAAC,GAAW,EAAE,OAAe;IACzD,MAAM,KAAK,GAAG,kBAAkB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;AACnF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,WAAuB,EACvB,gBAAwB,EACxB,OAAsB;IAEtB,+FAA+F;IAC/F,oEAAoE;IACpE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,UAAU,CAClB,gFAAgF;YAC9E,GAAG,aAAa,CAAC,gBAAgB,CAAC,mDAAmD;YACrF,mBAAmB;YACnB,+DAA+D,CAClE,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,UAAU,CAClB,uCAAuC,aAAa,CAAC,WAAW,CAAC,sBAAsB;YACrF,yFAAyF;YACzF,iDAAiD,CACpD,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;IAEzC,0FAA0F;IAC1F,IAAI,WAAW,CAAC,MAAM,GAAG,sBAAsB,EAAE,CAAC;QAChD;;;;;WAKG;QACH,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,KAAK,CAAC;YACf,IAAI,EAAE,kBAAkB;YACxB;;;;;;;;;;;eAWG;YACH,OAAO,EACL,WAAW,CAAC,MAAM,KAAK,CAAC;gBACtB,CAAC,CAAC,gEAAgE;oBAChE,GAAG,sBAAsB,6DAA6D;oBACtF,gFAAgF;oBAChF,uFAAuF;oBACvF,kBAAkB;gBACpB,CAAC,CAAC,iBAAiB,WAAW,CAAC,MAAM,2CAA2C;oBAC9E,GAAG,sBAAsB,yDAAyD;oBAClF,sDAAsD;oBACtD,CAAC,SAAS,KAAK,SAAS;wBACtB,CAAC,CAAC,4EAA4E;4BAC5E,iFAAiF;wBACnF,CAAC,CAAC,qBAAqB,SAAS,iDAAiD;4BAC/E,gDAAgD,CAAC;YAC3D,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,WAAW,CAAC,MAAM;YAC9B,QAAQ,EAAE,YAAY,sBAAsB,QAAQ;YACpD,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,QAAQ;YACrC,aAAa,EAAE,8CAA8C;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,GAAG,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAE7C,6FAA6F;IAC7F,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAEjD,6FAA6F;IAC7F,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAE5D,4FAA4F;IAC5F,MAAM,gBAAgB,GAAG,sBAAsB,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;IACpE,IAAI,WAAW,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAC1C,MAAM,IAAI,CAAC,KAAK,CAAC;YACf,IAAI,EAAE,kBAAkB;YACxB,OAAO,EACL,kCAAkC,WAAW,eAAe,sBAAsB,KAAK;gBACvF,IAAI,WAAW,WAAW,gBAAgB,oBAAoB,WAAW,CAAC,MAAM,GAAG;gBACnF,oEAAoE;gBACpE,GAAG,gBAAgB,mEAAmE;gBACtF,iFAAiF;YACnF,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,WAAW,CAAC,MAAM;YAC9B,QAAQ,EAAE,GAAG,gBAAgB,QAAQ;YACrC,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,QAAQ;YACrC,aAAa,EAAE,4EAA4E;SAC5F,CAAC,CAAC;IACL,CAAC;IAED,4FAA4F;IAC5F,MAAM,wBAAwB,GAAG,6BAA6B,CAC5D,GAAG,CAAC,gBAAgB,EACpB,gBAAgB,EAChB,IAAI,CACL,CAAC;IAEF,4FAA4F;IAC5F,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAC5E,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,GAAG,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC;IAE7F,4FAA4F;IAC5F,MAAM,MAAM,GAAG,kBAAkB,CAC/B,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,qBAAqB,EAAE,EAC5D,IAAI,CACL,CAAC;IACF,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAEjD,4FAA4F;IAC5F,IAAI,gBAAgB,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,kBAAkB,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QACjF,MAAM,IAAI,CAAC,KAAK,CAAC;YACf,IAAI,EAAE,kBAAkB;YACxB,OAAO,EACL,oBAAoB,WAAW,yDAAyD;gBACxF,mFAAmF;gBACnF,sFAAsF;gBACtF,2CAA2C,kBAAkB,IAAI;gBACjE,GAAG,mBAAmB,CAAC,gBAAgB,8CAA8C;gBACrF,UAAU;YACZ,KAAK,EAAE,kBAAkB;YACzB,UAAU,EAAE,kBAAkB;YAC9B,UAAU,EAAE,WAAW,GAAG,mBAAmB,CAAC,gBAAgB;YAC9D,QAAQ,EAAE,kEAAkE;YAC5E,MAAM,EAAE,yBAAyB;YACjC,aAAa,EAAE,iCAAiC;SACjD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,gBAAgB,GAAG,gCAAgC,EAAE,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC;YACV,IAAI,EAAE,+BAA+B;YACrC,OAAO,EACL,oBAAoB,gBAAgB,WAAW,OAAO,CAAC,cAAc,aAAa;gBAClF,YAAY,gBAAgB,GAAG,OAAO,CAAC,cAAc,uBAAuB;gBAC5E,GAAG,gCAAgC,0CAA0C;gBAC7E,uFAAuF;gBACvF,qFAAqF;gBACrF,kDAAkD;YACpD,KAAK,EAAE,kBAAkB;YACzB,QAAQ,EAAE,WAAW,gCAAgC,QAAQ;YAC7D,MAAM,EAAE,GAAG,gBAAgB,QAAQ;YACnC,aAAa,EAAE,iCAAiC;SACjD,CAAC,CAAC;IACL,CAAC;IAED,4FAA4F;IAC5F,MAAM,mBAAmB,GAAG,wBAAwB,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC5E,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,kBAAkB,CAC3D;QACE,GAAG,EAAE,GAAG,CAAC,WAAW;QACpB,QAAQ,EAAE,mBAAmB;QAC7B,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;KACjB,EACD,IAAI,CACL,CAAC;IAEF,4FAA4F;IAC5F,EAAE;IACF,2FAA2F;IAC3F,6FAA6F;IAC7F,8FAA8F;IAC9F,2FAA2F;IAC3F,gEAAgE;IAChE,EAAE;IACF,8FAA8F;IAC9F,+FAA+F;IAC/F,2BAA2B;IAC3B,MAAM,iBAAiB,GAAG,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IACpE,IAAI,iBAAiB,GAAG,uBAAuB,EAAE,CAAC;QAChD,MAAM,IAAI,CAAC,KAAK,CAAC;YACf,IAAI,EAAE,gCAAgC;YACtC,OAAO,EACL,uBAAuB,WAAW,eAAe,qBAAqB,mBAAmB;gBACzF,MAAM,iBAAiB,kEAAkE;gBACzF,6CAA6C,uBAAuB,kBAAkB;gBACtF,yFAAyF;gBACzF,qFAAqF;gBACrF,6CAA6C,aAAa,CAAC,cAAc,CAAC,MAAM,OAAO;gBACvF,iBAAiB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,mCAAmC;YACxF,KAAK,EAAE,gBAAgB;YACvB,UAAU,EAAE,aAAa,CAAC,cAAc,CAAC,MAAM;YAC/C,UAAU,EAAE,aAAa,CAAC,cAAc,CAAC,MAAM;YAC/C,GAAG,EAAE,GAAG,CAAC,cAAc;YACvB,QAAQ,EAAE,qBAAqB,uBAAuB,QAAQ;YAC9D,MAAM,EAAE,GAAG,iBAAiB,QAAQ;YACpC,aAAa,EAAE,uDAAuD;SACvE,CAAC,CAAC;IACL,CAAC;IAED,4FAA4F;IAC5F,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,uBAAuB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,CAAC,KAAK,CAAC;YACf,IAAI,EAAE,mCAAmC;YACzC,OAAO,EACL,gCAAgC,aAAa,CAAC,QAAQ,CAAC,MAAM,YAAY;gBACzE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,6BAA6B;gBAC5E,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC,yCAAyC;gBACpF,sFAAsF;gBACtF,uFAAuF;gBACvF,qDAAqD;gBACrD,GAAG,OAAO,CAAC,MAAM,kEAAkE;gBACnF,8CAA8C;YAChD,KAAK,EAAE,UAAU;YACjB,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,MAAM;YACzC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,MAAM;YACzC,GAAG,EAAE,GAAG,CAAC,QAAQ;YACjB,QAAQ,EAAE,qBAAqB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;YACzE,MAAM,EAAE,GAAG,WAAW,oCAAoC;YAC1D,aAAa,EAAE,yDAAyD;SACzE,CAAC,CAAC;IACL,CAAC;IAED,4FAA4F;IAC5F,0BAA0B,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;IACjF,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;IACvF,MAAM,SAAS,GAAG,gBAAgB,CAChC;QACE,YAAY,EAAE,GAAG,CAAC,SAAS;QAC3B,YAAY,EAAE,GAAG,CAAC,SAAS;QAC3B,eAAe,EAAE,SAAS,CAAC,SAAS;KACrC,EACD,IAAI,CACL,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,gBAAgB;QAChB,wBAAwB;QACxB,gBAAgB;QAChB,cAAc,EAAE,WAAW,GAAG,gBAAgB;QAC9C,qBAAqB;QACrB,mBAAmB;QACnB,WAAW;QACX,mBAAmB;QACnB,iBAAiB;QACjB,SAAS;QACT,OAAO;QACP,SAAS;QACT,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC;QAClD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;QACvD,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,GAAG;QACH,2FAA2F;QAC3F,gFAAgF;QAChF,QAAQ,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,gBAAgB,CAAC;QACrD,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,CAAC;AACJ,CAAC"}
@@ -15,15 +15,34 @@
15
15
  * from a truncated file, so without this guard the parser would confidently report the wrong
16
16
  * cause for the wrong thing.
17
17
  */
18
+ import { isByteArray } from '../bytes/latin1.js';
18
19
  import type { AbortSignalLike, ByteSource, ReadOptions } from '../types.js';
19
20
  /**
20
- * Whether a value is a real one-byte-per-element view: `Uint8Array`, `Uint8ClampedArray`, or
21
- * Node's `Buffer` (a `Uint8Array` subclass, so it inherits the tag).
21
+ * The byte count of a genuine byte array, or `undefined` for anything else — which is why
22
+ * `EdfSourceError.receivedLength` is `number | undefined` rather than `number`.
22
23
  *
23
- * Shared with `byteSource`, which has to reject the same set at construction time rather than
24
- * building a source over something that is not bytes.
24
+ * Reading `.length` off the value was not enough, even though the message it feeds already
25
+ * promised to detect "a value that is not a byte array". A `string`, a `number[]` and a
26
+ * `{ length }` object all satisfied it and then threw an unrelated `TypeError` deeper in — noisy,
27
+ * but at least loud. The case that was not loud is a typed-array view of the WRONG signedness:
28
+ * `Int8Array` has one byte per element, so it passes a length check, and `decodeInt16` then
29
+ * sign-extends an already-signed element a second time. A file holding `[-32768, -1, 200, 32767]`
30
+ * decodes as `[-98304, -65537, -65592, -65537]` with no error anywhere — fabricated microvolts.
31
+ *
32
+ * The test is on the built-in tag, not on `instanceof` and not on `BYTES_PER_ELEMENT`.
33
+ * `instanceof Uint8Array` is false across a realm boundary, and a `Uint8Array` from a worker or an
34
+ * iframe is a perfectly good byte array — the same reason `io/bytes.ts` reaches for
35
+ * `ArrayBuffer.isView`. `BYTES_PER_ELEMENT === 1` looks like the right test and is not: `Int8Array`
36
+ * has one byte per element too, so it is exactly the dangerous case that check would admit.
37
+ *
38
+ * `Object.prototype.toString` reads `Symbol.toStringTag` off the TypedArray prototype, which every
39
+ * realm agrees on. It admits `Uint8Array` — including Node's `Buffer`, a subclass that inherits the
40
+ * tag — and `Uint8ClampedArray`, and rejects `Int8Array`, every wider view, and `DataView`.
41
+ *
42
+ * The test itself lives in `bytes/latin1.ts` at Layer 0, which is the lowest module that needs it;
43
+ * this re-export is what `byteSource` and the rest of `io/` reach it by (0.6.121).
25
44
  */
26
- export declare function isByteArray(value: unknown): value is Uint8Array;
45
+ export { isByteArray };
27
46
  /**
28
47
  * Enforces the exact-length contract and returns the value unchanged so it can wrap a read
29
48
  * expression directly.
@@ -1 +1 @@
1
- {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/io/source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA0B5E;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAE/D;AAMD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAYhG;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAuBxF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAE1D;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI,CAKnE;AAmDD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,CAS9E"}
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/io/source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,WAAW,EAAE,CAAC;AAMvB;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAYhG;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAuBxF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAE1D;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI,CAKnE;AAmDD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,CAS9E"}
package/dist/io/source.js CHANGED
@@ -15,6 +15,7 @@
15
15
  * from a truncated file, so without this guard the parser would confidently report the wrong
16
16
  * cause for the wrong thing.
17
17
  */
18
+ import { isByteArray } from '../bytes/latin1.js';
18
19
  import { EdfSourceError } from '../errors.js';
19
20
  /**
20
21
  * The byte count of a genuine byte array, or `undefined` for anything else — which is why
@@ -37,18 +38,11 @@ import { EdfSourceError } from '../errors.js';
37
38
  * `Object.prototype.toString` reads `Symbol.toStringTag` off the TypedArray prototype, which every
38
39
  * realm agrees on. It admits `Uint8Array` — including Node's `Buffer`, a subclass that inherits the
39
40
  * tag — and `Uint8ClampedArray`, and rejects `Int8Array`, every wider view, and `DataView`.
40
- */
41
- const BYTE_ARRAY_TAGS = new Set(['[object Uint8Array]', '[object Uint8ClampedArray]']);
42
- /**
43
- * Whether a value is a real one-byte-per-element view: `Uint8Array`, `Uint8ClampedArray`, or
44
- * Node's `Buffer` (a `Uint8Array` subclass, so it inherits the tag).
45
41
  *
46
- * Shared with `byteSource`, which has to reject the same set at construction time rather than
47
- * building a source over something that is not bytes.
42
+ * The test itself lives in `bytes/latin1.ts` at Layer 0, which is the lowest module that needs it;
43
+ * this re-export is what `byteSource` and the rest of `io/` reach it by (0.6.121).
48
44
  */
49
- export function isByteArray(value) {
50
- return ArrayBuffer.isView(value) && BYTE_ARRAY_TAGS.has(Object.prototype.toString.call(value));
51
- }
45
+ export { isByteArray };
52
46
  function receivedLengthOf(received) {
53
47
  return isByteArray(received) ? received.byteLength : undefined;
54
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/io/source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/io/source.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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAStE,OAAO,EACL,cAAc,EAEd,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,GAItB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,gBAAgB,GAAG,uDAAuD,CAAC;AACjF,MAAM,gBAAgB,GAAG,yDAAyD,CAAC;AACnF,MAAM,UAAU,GAAG,2EAA2E,CAAC;AAE/F,MAAM,WAAW,GAA2C;IAC1D,aAAa,EACX,2FAA2F;QAC3F,kCAAkC;IACpC,2BAA2B,EACzB,0FAA0F;QAC1F,kBAAkB;IACpB,6BAA6B,EAAE,uDAAuD;IACtF,wBAAwB,EAAE,0BAA0B;CACrD,CAAC;AAEF,MAAM,gBAAgB,GAA2C;IAC/D,aAAa,EACX,0FAA0F;QAC1F,6CAA6C;IAC/C,2BAA2B,EACzB,0FAA0F;QAC1F,6CAA6C;IAC/C,6BAA6B,EAC3B,2FAA2F;QAC3F,qDAAqD;IACvD,wBAAwB,EACtB,4FAA4F;QAC5F,qDAAqD;CACxD,CAAC;AAEF,MAAM,qBAAqB,GAA2C;IACpE,aAAa,EAAE,gBAAgB;IAC/B,2BAA2B,EAAE,gBAAgB;IAC7C,6BAA6B,EAAE,gBAAgB;IAC/C,wBAAwB,EAAE,gBAAgB;CAC3C,CAAC;AAEF,iGAAiG;AACjG,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;AAuCrD,SAAS,aAAa,CAAC,KAAkB;IACvC,OAAO,YAAY,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,KAAK,IAAI,CAAC;AAC5D,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAiB,EAAE,WAAuB,EAAE,OAAoB;IACzF,MAAM,SAAS,GAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;IACvE,MAAM,YAAY,GAChB,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC;QACnC,OAAO,CAAC,KAAK,IAAI,CAAC;QAClB,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC;QACnC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;IACrB,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACxE,MAAM,IAAI,aAAa,CACrB,WAAW,aAAa,CAAC,OAAO,CAAC,qBAAqB;YACpD,GAAG,MAAM,CAAC,WAAW,0BAA0B;YAC/C,gCAAgC,MAAM,CAAC,WAAW,IAAI,EACxD,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAClC,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACzD,IAAI,WAAW,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,aAAa,CACrB,kBAAkB,WAAW,CAAC,MAAM,sBAAsB;YACxD,GAAG,aAAa,CAAC,OAAO,CAAC,4BAA4B,QAAQ,SAAS;YACtE,IAAI,OAAO,CAAC,KAAK,MAAM,MAAM,CAAC,gBAAgB,KAAK;YACnD,kFAAkF;QACpF,iFAAiF;QACjF,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAC3E,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,cAAc,CACrB,MAAiB,EACjB,SAAwC;IAExC,MAAM,OAAO,GAAG,SAAS,IAAI,MAAM,CAAC,uBAAuB,CAAC;IAC5D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,SAAS;QAC9B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,uBAAuB,CAC/B,eAAe,KAAK,mBAAmB,MAAM,CAAC,OAAO,CAAC,MAAM,qBAAqB;gBAC/E,6EAA6E;gBAC7E,iCAAiC,EACnC,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAC7E,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAClC,MAAM,IAAI,UAAU,CAClB,UAAU,KAAK,4CAA4C;gBACzD,2BAA2B,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;gBACzE,kEAAkE,CACrE,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,WAAW,CAAC,IAAoB,EAAE,OAAsB,EAAE,KAAe;IAChF,MAAM,OAAO,GACX,KAAK,CAAC,WAAW,GAAG,CAAC;QACnB,CAAC,CAAC,KAAK,KAAK,CAAC,WAAW,sDAAsD;QAC9E,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;IAC1E,IAAI,CAAC,MAAM,CAAC;QACV,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EACL,+BAA+B,OAAO,CAAC,MAAM,CAAC,KAAK,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,QAAQ;YACrF,UAAU,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC,MAAM,GAAG,OAAO,IAAI;YAC5D,0BAA0B,KAAK,CAAC,GAAG,YAAY,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI;YAC1E,SAAS,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG;QAC1C,KAAK,EAAE,mBAAmB;QAC1B,UAAU,EAAE,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,kBAAkB;QACzD,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,kBAAkB,EAAE,cAAc,CAAC;QAC9F,wFAAwF;QACxF,0FAA0F;QAC1F,6FAA6F;QAC7F,4FAA4F;QAC5F,8BAA8B;QAC9B,GAAG,EAAE,KAAK,CAAC,OAAO;QAClB,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;QACjC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,aAAa,EAAE,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC;KACjD,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAoB,EAAE,OAAsB;IAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,CAAC;IAChF,IAAI,CAAC,MAAM,CAAC;QACV,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EACL,UAAU,OAAO,CAAC,WAAW,4DAA4D;YACzF,UAAU,OAAO,CAAC,MAAM,CAAC,KAAK,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,gCAAgC;YACxF,wBAAwB,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK;YAC/E,qFAAqF;YACrF,kEAAkE;YAClE,oDAAoD,OAAO,CAAC,WAAW,KAAK;YAC5E,uFAAuF;YACvF,2DAA2D;QAC7D,KAAK,EAAE,iBAAiB;QACxB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB;QAC3C,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;QAC1D,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;QACjC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,aAAa,EAAE,gBAAgB;KAChC,CAAC,CAAC;AACL,CAAC;AA8BD,SAAS,iBAAiB,CAAC,GAAc;IACvC,8FAA8F;IAC9F,gGAAgG;IAChG,+FAA+F;IAC/F,qFAAqF;IACrF,EAAE;IACF,8FAA8F;IAC9F,+FAA+F;IAC/F,8FAA8F;IAC9F,iDAAiD;IACjD,6FAA6F;IAC7F,2FAA2F;IAC3F,0FAA0F;IAC1F,2FAA2F;IAC3F,gGAAgG;IAChG,8FAA8F;IAC9F,+DAA+D;IAC/D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,aAAa,GACjB,GAAG,CAAC,WAAW,KAAK,SAAS;YAC3B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,uBAAuB,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;QACjE,OAAO;YACL,MAAM,EACJ,oBAAoB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACjF,GAAG,aAAa,8DAA8D;YAChF,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO;YACL,MAAM,EAAE,yBAAyB,GAAG,CAAC,WAAW,sCAAsC;YACtF,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL,MAAM,EACJ,oFAAoF;gBACpF,0CAA0C;YAC5C,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,MAAM,EAAE,WAAW,GAAG,CAAC,KAAK,CAAC,MAAM,oDAAoD;YACvF,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,uBAAuB,CAC9B,IAAoB,EACpB,OAAsB,EACtB,GAAc,EACd,MAAyB;IAEzB,IAAI,CAAC,MAAM,CAAC;QACV,IAAI,EAAE,+BAA+B;QACrC,OAAO,EACL,iCAAiC,OAAO,CAAC,WAAW,sBAAsB;YAC1E,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,YAAY,GAAG,CAAC,QAAQ,MAAM,MAAM,CAAC,MAAM,IAAI;YACtE,oFAAoF;YACpF,4BAA4B;YAC5B,CAAC,MAAM,CAAC,WAAW;gBACjB,CAAC,CAAC,4EAA4E;oBAC5E,uFAAuF;oBACvF,uFAAuF;oBACvF,oFAAoF;gBACtF,CAAC,CAAC,qFAAqF;oBACrF,sFAAsF;oBACtF,kBAAkB,CAAC;QACzB,KAAK,EAAE,iBAAiB;QACxB,UAAU,EAAE,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC,kBAAkB;QACvD,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,8FAA8F;QAC9F,6FAA6F;QAC7F,8EAA8E;QAC9E,8FAA8F;QAC9F,+FAA+F;QAC/F,yEAAyE;QACzE,EAAE;QACF,oFAAoF;QACpF,QAAQ,EAAE,UAAU,CAClB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,kBAAkB,EACvC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,sBAAsB,CAAC,CACjD;QACD,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,UAAU,CAAC;QACzF,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;QACjC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,aAAa,EAAE,gBAAgB;KAChC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAoB,EAAE,OAAsB,EAAE,GAAc;IACvF,IAAI,CAAC,MAAM,CAAC;QACV,IAAI,EAAE,2BAA2B;QACjC,OAAO,EACL,qBAAqB,GAAG,CAAC,QAAQ,eAAe,OAAO,CAAC,WAAW,WAAW;YAC9E,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,kBAAkB,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY;YACnF,kBAAkB;YAClB,uFAAuF;YACvF,sCAAsC;YACtC,yFAAyF;YACzF,6CAA6C;QAC/C,KAAK,EAAE,kBAAkB;QACzB,UAAU,EAAE,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC,kBAAkB;QACvD,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,mFAAmF;QACnF,QAAQ,EAAE,UAAU,CAClB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,kBAAkB,EACvC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,sBAAsB,CAAC,CACjD;QACD,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,UAAU,CAAC;QACzF,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;QACjC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,aAAa,EAAE,UAAU;KAC1B,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,CAAoB,EAAE,CAAoB;IACpE,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;QAAE,OAAO,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW;QAAE,OAAO,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;IAC1E,IAAI,CAAC,CAAC,kBAAkB,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC;QAClD,OAAO,CAAC,CAAC,kBAAkB,GAAG,CAAC,CAAC,kBAAkB,CAAC;IACrD,CAAC;IACD,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAiB,EACjB,WAAuB,EACvB,OAAoB,EACpB,OAAkC;IAElC,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAEhD,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAC/D,4FAA4F;IAC5F,+FAA+F;IAC/F,+FAA+F;IAC/F,2EAA2E;IAC3E,MAAM,sBAAsB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,MAAM,CAAC,mBAAmB,CAAC;IAEjD,MAAM,cAAc,GAAG,IAAI,KAAK,CAAqB,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpF,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,IAAI,aAAwC,CAAC;IAC7C,IAAI,qBAAqB,GAAG,KAAK,CAAC;IAClC,IAAI,yBAAyB,GAAG,KAAK,CAAC;IAEtC,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC;QAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC;QAC7C,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAExD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAkB;gBAC7B,MAAM;gBACN,WAAW;gBACX,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC,gBAAgB;gBAC9C,UAAU,EACR,MAAM,CAAC,gBAAgB,GAAG,WAAW,GAAG,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB;aAC5F,CAAC;YACF,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;YACnF,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM;gBAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAEpE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,WAAW,GACf,MAAM,CAAC,KAAK,KAAK,sBAAsB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC;gBACnF,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,SAAS,CAAC;YAEhB,IAAI,MAAM,CAAC,KAAK,KAAK,sBAAsB,EAAE,CAAC;gBAC5C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC9B,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACN,cAAc,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC;oBAClD,aAAa,KAAK;wBAChB,WAAW;wBACX,KAAK,EAAE,WAAW,CAAC,UAAU;wBAC7B,GAAG,EAAE,WAAW,CAAC,QAAQ;qBAC1B,CAAC;oBACF,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;oBAC9C,yFAAyF;oBACzF,wFAAwF;oBACxF,oFAAoF;oBACpF,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,yBAAyB,CAAC,EAAE,CAAC;wBAC/E,IAAI,CAAC,MAAM,CAAC,WAAW;4BAAE,yBAAyB,GAAG,IAAI,CAAC;wBAC1D,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;oBAC9D,CAAC;gBACH,CAAC;YACH,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC7B,IAAI,GAAG,KAAK,WAAW;oBAAE,SAAS;gBAClC,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;oBAC5B,8EAA8E;oBAC9E,0EAA0E;oBAC1E,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;wBAAE,SAAS;oBACpC,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC1C,MAAM,UAAU,GAAsB;wBACpC,UAAU,EAAE,GAAG,CAAC,UAAU;wBAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,aAAa,EAAE,GAAG,CAAC,aAAa;wBAChC,WAAW,EAAE,GAAG,CAAC,WAAW;wBAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,WAAW,EAAE,MAAM,CAAC,KAAK;wBACzB,WAAW;wBACX,kBAAkB,EAAE,MAAM,CAAC,gBAAgB,GAAG,GAAG,CAAC,kBAAkB;wBACpE,YAAY,EAAE,GAAG,CAAC,QAAQ;wBAC1B,KAAK,EAAE,OAAO,CAAC,MAAM;qBACtB,CAAC;oBACF,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACzB,IAAI,UAAU,CAAC,UAAU,GAAG,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC;wBACzD,qBAAqB,GAAG,IAAI,CAAC;wBAC7B,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;oBAC1C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,4FAA4F;IAC5F,yFAAyF;IACzF,EAAE;IACF,+FAA+F;IAC/F,6FAA6F;IAC7F,6FAA6F;IAC7F,2FAA2F;IAC3F,wFAAwF;IACxF,EAAE;IACF,6FAA6F;IAC7F,6FAA6F;IAC7F,gGAAgG;IAChG,4FAA4F;IAC5F,0FAA0F;IAC1F,4FAA4F;IAC5F,8BAA8B;IAC9B,iGAAiG;IACjG,gGAAgG;IAChG,8FAA8F;IAC9F,6FAA6F;IAC7F,2FAA2F;IAC3F,EAAE;IACF,gGAAgG;IAChG,+FAA+F;IAC/F,8FAA8F;IAC9F,+FAA+F;IAC/F,qFAAqF;IACrF,4EAA4E;IAC5E,EAAE;IACF,iGAAiG;IACjG,8FAA8F;IAC9F,+FAA+F;IAC/F,+DAA+D;IAC/D,MAAM,cAAc,GAAG,OAAO,EAAE,WAAW,IAAI,OAAO,EAAE,gBAAgB,CAAC;IACzE,MAAM,SAAS,GACb,cAAc;QACd,CAAC,aAAa,KAAK,SAAS;YAC1B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC,CAAC;IAE/E,MAAM,gBAAgB,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1D,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC;QAC/D,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC1C,gBAAgB,CAAC,QAAQ,CAAC;YACxB,QAAQ,IAAI,eAAe,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,aAAa,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,gBAAgB,GAAG,uBAAuB,CAC9C,IAAI,EACJ,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,OAAO,CACR,CAAC;IAEF,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACjC,MAAM,WAAW,GAAoB,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxD,uFAAuF;QACvF,4FAA4F;QAC5F,2EAA2E;QAC3E,EAAE;QACF,6FAA6F;QAC7F,+FAA+F;QAC/F,kFAAkF;QAClF,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,CAAC;QACzE,OAAO;YACL,2BAA2B,EAAE,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC;YAC5D,2BAA2B,EAAE,cAAc,CAAC,YAAY,CAAC;YACzD,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,yBAAyB,EAAE,YAAY;YACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,eAAe,EACb,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC;YACnF,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;QACvC,gBAAgB;QAChB,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,uBAAuB,CAC9B,IAAoB,EACpB,MAAiB,EACjB,OAAoB,EACpB,gBAA+B,EAC/B,SAAiB,EACjB,aAAwC,EACxC,OAA6C;IAE7C,IAAI,OAAO,CAAC,KAAK,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,MAAM,MAAM,GACV,aAAa,KAAK,SAAS;QACzB,CAAC,CAAC,mDAAmD;QACrD,CAAC,CAAC,aAAa,CAAC,WAAW,KAAK,CAAC;YAC/B,CAAC,CAAC,0BAA0B,aAAa,CAAC,GAAG,GAAG;YAChD,CAAC,CAAC,uBAAuB,aAAa,CAAC,WAAW,sBAAsB;gBACtE,IAAI,aAAa,CAAC,GAAG,GAAG,CAAC;IAEjC,gGAAgG;IAChG,gGAAgG;IAChG,wEAAwE;IACxE,EAAE;IACF,6FAA6F;IAC7F,iGAAiG;IACjG,+FAA+F;IAC/F,6FAA6F;IAC7F,+FAA+F;IAC/F,6FAA6F;IAC7F,4FAA4F;IAC5F,MAAM,QAAQ,GAAG,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,WAAW,CAAC;IACnE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAE5C,IAAI,OAAO,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,KAAK,GAAG,EAAE,IAAI,KAAK,IAAI,gBAAgB,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC;gBACV,IAAI,EAAE,2BAA2B;gBACjC,OAAO,EACL,mBAAmB,cAAc,CAAC,KAAK,CAAC,wCAAwC;oBAChF,6CAA6C;oBAC7C,WAAW,MAAM,IAAI;oBACrB,sFAAsF;oBACtF,iFAAiF;oBACjF,mFAAmF;oBACnF,2EAA2E;gBAC7E,KAAK,EAAE,iBAAiB;gBACxB,GAAG,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE;gBAC7B,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,gBAAgB;aAChC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,SAAS,IAAI,EAAE,IAAI,SAAS,GAAG,gBAAgB;QAAE,OAAO,SAAS,CAAC;IAEtE,IAAI,MAAM,CAAC,UAAU,KAAK,YAAY,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC;YACV,IAAI,EAAE,2BAA2B;YACjC,OAAO,EACL,sCAAsC,OAAO,CAAC,KAAK,mCAAmC;gBACtF,kBAAkB,MAAM,wBAAwB,cAAc,CAAC,SAAS,CAAC,gBAAgB;gBACzF,iFAAiF;gBACjF,8CAA8C;gBAC9C,oFAAoF;gBACpF,sDAAsD;gBACtD,sFAAsF;gBACtF,sFAAsF;gBACtF,oCAAoC;YACtC,KAAK,EAAE,iBAAiB;YACxB,GAAG,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE;YAC7B,WAAW,EAAE,OAAO,CAAC,KAAK;YAC1B,aAAa,EAAE,gBAAgB;SAChC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
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,33 @@ 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
+
22
+ ## 0.6.121
23
+
24
+ - **Fixed** `parseHeader` accepting an `ArrayBuffer` and failing several checks later with
25
+ `bytes.subarray is not a function`.
26
+ - Every size test in the function reads `headerBytes.length`, which is `undefined` on a buffer —
27
+ what `await response.arrayBuffer()` and `await blob.arrayBuffer()` both hand over — so all of them
28
+ compared false and the fixed-header check passed a buffer of unknown size. `decodeHeaderLatin1`
29
+ refuses the same pair one layer down (0.6.96); this is the entry point `api-primitives.md` opens
30
+ with.
31
+ - The byte-view test now has one home, at Layer 0 in `bytes/latin1.ts`. 0.6.96 wrote the tags out a
32
+ second time and pinned the agreement with a test, the way `io/bytes.ts` had to in 0.2.23 after one
33
+ of its two copies was rewritten and the other was missed. `io/source.ts` re-exports it and
34
+ `parseHeader` calls it; one copy needs no pinning.
35
+
9
36
  ## 0.6.120
10
37
 
11
38
  - **Fixed** `getStatusSignal` reporting that a BDF+ file with a Status channel has none, when handed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.6.120",
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",
@@ -32,15 +32,25 @@ function fromCharCodes(bytes: Uint8Array): string {
32
32
  }
33
33
 
34
34
  /**
35
- * The one-byte-per-element tags, written out rather than shared with `io/source.ts`'s `isByteArray`.
35
+ * The one-byte-per-element tags: `Uint8Array`, `Uint8ClampedArray`, and Node's `Buffer`, which is a
36
+ * `Uint8Array` subclass and inherits the tag.
36
37
  *
37
- * This module is Layer 0 and imports nothing, which is the property that lets the header decoder be
38
- * the one thing in the package with no dependencies. `a-header-that-was-never-bytes.test.ts`
39
- * asserts the two admit the same set, which is the drift `io/bytes.ts` records being bitten by in
40
- * 0.2.23 when one of its two copies was rewritten and the other was missed.
38
+ * Here, at Layer 0, because this is the lowest module that needs it and every other one that does is
39
+ * above it `io/source.ts` delegates and `header/parse.ts` calls it directly. 0.6.96 wrote the tags
40
+ * out a second time and pinned the agreement with a test, which is what `io/bytes.ts` had to do in
41
+ * 0.2.23 after one of its two copies was rewritten and the other was missed. One copy needs no
42
+ * pinning (0.6.121).
43
+ *
44
+ * The TAG, not `instanceof`: `instanceof` is false for a view that crossed a realm boundary — a
45
+ * worker, an iframe — and every caller of this is a public entry point.
41
46
  */
42
47
  const BYTE_ARRAY_TAGS = new Set(['[object Uint8Array]', '[object Uint8ClampedArray]']);
43
48
 
49
+ /** Whether a value is a real one-byte-per-element view, and therefore addressable as file bytes. */
50
+ export function isByteArray(value: unknown): value is Uint8Array {
51
+ return ArrayBuffer.isView(value) && BYTE_ARRAY_TAGS.has(Object.prototype.toString.call(value));
52
+ }
53
+
44
54
  /**
45
55
  * Decode header bytes as ISO-8859-1: byte `b` becomes code point U+00`b`, always.
46
56
  *
@@ -56,7 +66,7 @@ export function decodeHeaderLatin1(bytes: Uint8Array): string {
56
66
  * refuses exactly this pair at construction and says why; this is the same refusal one layer
57
67
  * down, where the bytes are actually read (fixed in 0.6.96).
58
68
  */
59
- if (!ArrayBuffer.isView(bytes) || !BYTE_ARRAY_TAGS.has(Object.prototype.toString.call(bytes))) {
69
+ if (!isByteArray(bytes)) {
60
70
  throw new RangeError(
61
71
  'decodeHeaderLatin1() needs a Uint8Array. An ArrayBuffer has no length, so it decoded to ' +
62
72
  'the empty string; an Int8Array has one byte per element, so it decoded every byte above ' +
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.120';
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
 
@@ -21,7 +21,7 @@
21
21
  * file from a complete one.
22
22
  */
23
23
 
24
- import { trimEdfField } from '../bytes/latin1.js';
24
+ import { isByteArray, trimEdfField } from '../bytes/latin1.js';
25
25
  import { copyBytes } from '../bytes/view.js';
26
26
  import {
27
27
  EDF_HEADER_BLOCK_BYTES,
@@ -228,6 +228,22 @@ export function parseHeader(
228
228
  );
229
229
  }
230
230
 
231
+ /*
232
+ * And the bytes, which no check in this function reached. Every size test below reads
233
+ * `headerBytes.length`, which is `undefined` on an `ArrayBuffer` — what `await response.arrayBuffer()`
234
+ * and `await blob.arrayBuffer()` both hand over — so every one of them compared false and the
235
+ * failure arrived as `bytes.subarray is not a function` from a field reader several checks later.
236
+ * `decodeHeaderLatin1` refuses the same pair one layer down (0.6.96); this is the entry point a
237
+ * reader is actually sent to (fixed in 0.6.121).
238
+ */
239
+ if (!isByteArray(headerBytes)) {
240
+ throw new RangeError(
241
+ `parseHeader(): the header bytes are ${describeValue(headerBytes)}, not a Uint8Array. ` +
242
+ 'Next: pass `new Uint8Array(buffer)` for an ArrayBuffer, or the bytes a ByteSource read ' +
243
+ 'gave you — source.read(0, 256) resolves to one.',
244
+ );
245
+ }
246
+
231
247
  const sink = new DiagnosticSink(options);
232
248
 
233
249
  // ---- 1. The fixed header must be present at all. --------------------------------------
package/src/io/source.ts CHANGED
@@ -16,6 +16,7 @@
16
16
  * cause for the wrong thing.
17
17
  */
18
18
 
19
+ import { isByteArray } from '../bytes/latin1.js';
19
20
  import { EdfSourceError } from '../errors.js';
20
21
  import type { AbortSignalLike, ByteSource, ReadOptions } from '../types.js';
21
22
 
@@ -40,19 +41,11 @@ import type { AbortSignalLike, ByteSource, ReadOptions } from '../types.js';
40
41
  * `Object.prototype.toString` reads `Symbol.toStringTag` off the TypedArray prototype, which every
41
42
  * realm agrees on. It admits `Uint8Array` — including Node's `Buffer`, a subclass that inherits the
42
43
  * tag — and `Uint8ClampedArray`, and rejects `Int8Array`, every wider view, and `DataView`.
43
- */
44
- const BYTE_ARRAY_TAGS = new Set(['[object Uint8Array]', '[object Uint8ClampedArray]']);
45
-
46
- /**
47
- * Whether a value is a real one-byte-per-element view: `Uint8Array`, `Uint8ClampedArray`, or
48
- * Node's `Buffer` (a `Uint8Array` subclass, so it inherits the tag).
49
44
  *
50
- * Shared with `byteSource`, which has to reject the same set at construction time rather than
51
- * building a source over something that is not bytes.
45
+ * The test itself lives in `bytes/latin1.ts` at Layer 0, which is the lowest module that needs it;
46
+ * this re-export is what `byteSource` and the rest of `io/` reach it by (0.6.121).
52
47
  */
53
- export function isByteArray(value: unknown): value is Uint8Array {
54
- return ArrayBuffer.isView(value) && BYTE_ARRAY_TAGS.has(Object.prototype.toString.call(value));
55
- }
48
+ export { isByteArray };
56
49
 
57
50
  function receivedLengthOf(received: unknown): number | undefined {
58
51
  return isByteArray(received) ? received.byteLength : undefined;
@@ -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);