edfcore 0.6.272 → 0.6.274

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.272";
112
+ export declare const VERSION = "0.6.274";
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.272';
82
+ export const VERSION = '0.6.274';
83
83
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../src/header/lookup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAaxD;AAgHD,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,SAAS,EAAE,CAMlF;AAyED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAoDjF;AAED;;;;;;;;;;;;;;GAcG;AACH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAM5F;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAQpE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,GAC3C,SAAS,SAAS,EAAE,CAgBtB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAoDjE"}
1
+ {"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../src/header/lookup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAaxD;AAgHD,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,SAAS,EAAE,CAMlF;AAyED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAoDjF;AAED;;;;;;;;;;;;;;GAcG;AACH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAM5F;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAQpE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,GAC3C,SAAS,SAAS,EAAE,CA8CtB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAoDjE"}
@@ -324,6 +324,34 @@ export function matchSignals(header, match) {
324
324
  ? matchesText(match)
325
325
  : assertMatcher(match, 'matchSignals', 'a RegExp or a predicate on the label', 'pass a RegExp for a pattern, or findSignals(header, label) for an exact label — the ' +
326
326
  'case this function deliberately does not cover');
327
+ /*
328
+ * An ASYNC predicate, which matches EVERYTHING.
329
+ *
330
+ * `assertMatcher` checks that the matcher is a function; nothing checked what it answers with. An
331
+ * `async` function answers with a Promise, a Promise is always truthy, so every data signal passed
332
+ * the filter and the call returned the whole file's channels.
333
+ *
334
+ * This is the selector, which is what makes it the worst place for that. `assertSignalIndices`
335
+ * states the rule a read is built on — "there is no 'all signals' default, so that the whole of a
336
+ * 256-channel file is never read because an argument was omitted" — and an async predicate
337
+ * produces exactly that outcome through an argument that was supplied. A montage lookup is where
338
+ * it comes from: `matchSignals(header, async (label) => isInMontage(label))` against IndexedDB, a
339
+ * config file or a server.
340
+ *
341
+ * Tested on the first signal's answer rather than by inspecting the function. `AsyncFunction` is
342
+ * not the only way to return a Promise — a plain function whose body returns one does too — and
343
+ * what matters is the value, which is the same rule `describeValue`'s own Promise branch follows:
344
+ * a `.then` property read, never a call.
345
+ */
346
+ const answered = header.signals.find((signal) => signal.kind === 'data');
347
+ if (answered !== undefined) {
348
+ const first = test(answered.label);
349
+ if (typeof first?.then === 'function') {
350
+ throw new RangeError('matchSignals(): the predicate returned a pending Promise, and a Promise is always ' +
351
+ 'truthy — so every data signal in the file would have matched. Next: make the predicate ' +
352
+ 'synchronous; resolve whatever it needs first, then match against the resolved value.');
353
+ }
354
+ }
327
355
  return Object.freeze(header.signals.filter((signal) => signal.kind === 'data' && test(signal.label)));
328
356
  }
329
357
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../src/header/lookup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../src/header/lookup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAwBH,OAAO,KAAK,EAEV,aAAa,EAEb,SAAS,EAET,YAAY,EAIZ,eAAe,EACf,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D;;;;;;;;;;;;GAYG;AACH,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,cAAc,EAGd,YAAY,EACZ,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAwZpB;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,aAAa,EAAE,CA+D1E;AAmPD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,YAAY,EACvB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAqK3B"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAwBH,OAAO,KAAK,EAEV,aAAa,EAEb,SAAS,EAET,YAAY,EAIZ,eAAe,EACf,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D;;;;;;;;;;;;GAYG;AACH,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,cAAc,EAGd,YAAY,EACZ,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAwZpB;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,aAAa,EAAE,CA+D1E;AAgRD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,YAAY,EACvB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAsK3B"}
package/dist/validate.js CHANGED
@@ -452,6 +452,34 @@ function finaliseStats(accumulator) {
452
452
  };
453
453
  }
454
454
  /** A supplied index is only usable when it covers this file completely. */
455
+ /*
456
+ * The `index` option, before `usableIndex` decides whether it can be REUSED.
457
+ *
458
+ * That function answers one question — is this a complete index for this file — and answers it with
459
+ * `undefined` for four different reasons: not an index at all, a probed one, one built for a
460
+ * different record count, one missing its segments. Three of those are a reason to rebuild and say
461
+ * nothing. The first is a caller mistake, and it was silent too.
462
+ *
463
+ * `validateRecording(recording, { index: buildRecordIndex(recording) })` is the shape: this option
464
+ * exists to "reuse a completed index so conformance costs one traversal, not two", so it is reached
465
+ * for on exactly the files where a traversal is expensive, and it is handed the result of an async
466
+ * call. One keyword short, the option was dropped and the sweep read the whole file again — the cost
467
+ * the option exists to avoid, paid in full, with a correct report at the end of it and nothing
468
+ * saying the index had not been used.
469
+ *
470
+ * `coverage` is the test, because it is the field `contiguityOf` and `resolveTimeWindow` both
471
+ * identify an index by: "the second argument is not a record index — it has no coverage".
472
+ */
473
+ function assertIndexOption(index) {
474
+ if (index === undefined)
475
+ return;
476
+ if (typeof index?.coverage === 'string')
477
+ return;
478
+ throw new RangeError(`validateRecording(): options.index is ${describeValue(index)}, not a record index — it has ` +
479
+ 'no coverage, so this sweep would have silently rebuilt one and read the whole file again, ' +
480
+ 'which is the cost the option exists to avoid. Next: pass `await buildRecordIndex(recording)`, ' +
481
+ 'or recording.index, or omit it.');
482
+ }
455
483
  function usableIndex(index, recordCount) {
456
484
  if (index === undefined)
457
485
  return undefined;
@@ -722,6 +750,7 @@ export async function validateRecording(recording, options) {
722
750
  const { header, timeline } = recording;
723
751
  const recordCount = header.recordCount;
724
752
  const scanSamples = options?.scanSamples === true;
753
+ assertIndexOption(options?.index);
725
754
  const supplied = usableIndex(options?.index, recordCount);
726
755
  const onsetsAreArithmetic = header.annotationSignalIndices.length === 0;
727
756
  /*
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,42 @@ 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.274
10
+
11
+ - **Fixed** `matchSignals(header, async (label) => …)` matching every channel in the file.
12
+ `assertMatcher` checks that the matcher is a function; nothing checked what it answers with. An
13
+ `async` function answers with a Promise, a Promise is always truthy, so every data signal passed the
14
+ filter and the call that exists to narrow a montage returned the whole recording.
15
+ - This is the selector, which is the worst place for it. `assertSignalIndices` states the rule a read
16
+ is built on — "there is no 'all signals' default, so that the whole of a 256-channel file is never
17
+ read because an argument was omitted" — and an async predicate produced exactly that outcome through
18
+ an argument that was supplied, so nothing about the call looked careless.
19
+ - A montage lookup is where it comes from: `isInMontage(label)` against IndexedDB, a config file or a
20
+ server is async, and the predicate wrapping it is the obvious thing to write.
21
+ - Tested on the first signal's answer rather than by inspecting the function, because `AsyncFunction`
22
+ is not the only way to return a Promise. A `.then` property read, never a call, so a predicate
23
+ returning a Promise that never settles is refused rather than awaited.
24
+ - A predicate returning a truthy non-boolean is not refused: `(label) => label.length` is ordinary
25
+ JavaScript and the caller means it. A Promise is the one truthy value nobody means. RegExp matchers
26
+ never had this problem and are unchanged.
27
+
28
+ ## 0.6.273
29
+
30
+ - **Fixed** `validateRecording`'s `index` option being discarded in silence when it is not an index.
31
+ `usableIndex` answers one question — is this a complete index for this file — with `undefined` for
32
+ four different reasons. Three are a reason to rebuild and say nothing. The fourth, not an index at
33
+ all, is a caller mistake, and it was silent too.
34
+ - `validateRecording(recording, { index: buildRecordIndex(recording) })` is how it gets written. The
35
+ option exists to "reuse a completed index so conformance costs one traversal, not two", so it is
36
+ reached for on exactly the files where a traversal is expensive, and it is handed the result of an
37
+ async call. One keyword short, the sweep read the whole file again and the report at the end was
38
+ correct — the only symptom was the cost the option was added to avoid.
39
+ - `coverage` is the test, because it is the field the other two index-taking calls identify one by:
40
+ "the second argument is not a record index — it has no coverage".
41
+ - The three silent cases stay silent and are now pinned so they cannot become refusals by accident: a
42
+ probed index (which is what `recording.index` is), an index built for a different record count, and
43
+ a complete index with no segments on it are all real indices, and rebuilding is right for them.
44
+
9
45
  ## 0.6.272
10
46
 
11
47
  - **Fixed** `validateRecording` counting one malformed identification field as two warnings.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.6.272",
3
+ "version": "0.6.274",
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.272';
96
+ export const VERSION = '0.6.274';
@@ -368,6 +368,36 @@ export function matchSignals(
368
368
  'pass a RegExp for a pattern, or findSignals(header, label) for an exact label — the ' +
369
369
  'case this function deliberately does not cover',
370
370
  );
371
+ /*
372
+ * An ASYNC predicate, which matches EVERYTHING.
373
+ *
374
+ * `assertMatcher` checks that the matcher is a function; nothing checked what it answers with. An
375
+ * `async` function answers with a Promise, a Promise is always truthy, so every data signal passed
376
+ * the filter and the call returned the whole file's channels.
377
+ *
378
+ * This is the selector, which is what makes it the worst place for that. `assertSignalIndices`
379
+ * states the rule a read is built on — "there is no 'all signals' default, so that the whole of a
380
+ * 256-channel file is never read because an argument was omitted" — and an async predicate
381
+ * produces exactly that outcome through an argument that was supplied. A montage lookup is where
382
+ * it comes from: `matchSignals(header, async (label) => isInMontage(label))` against IndexedDB, a
383
+ * config file or a server.
384
+ *
385
+ * Tested on the first signal's answer rather than by inspecting the function. `AsyncFunction` is
386
+ * not the only way to return a Promise — a plain function whose body returns one does too — and
387
+ * what matters is the value, which is the same rule `describeValue`'s own Promise branch follows:
388
+ * a `.then` property read, never a call.
389
+ */
390
+ const answered = header.signals.find((signal) => signal.kind === 'data');
391
+ if (answered !== undefined) {
392
+ const first = test(answered.label) as unknown;
393
+ if (typeof (first as { then?: unknown } | null | undefined)?.then === 'function') {
394
+ throw new RangeError(
395
+ 'matchSignals(): the predicate returned a pending Promise, and a Promise is always ' +
396
+ 'truthy — so every data signal in the file would have matched. Next: make the predicate ' +
397
+ 'synchronous; resolve whatever it needs first, then match against the resolved value.',
398
+ );
399
+ }
400
+ }
371
401
  return Object.freeze(
372
402
  header.signals.filter((signal) => signal.kind === 'data' && test(signal.label)),
373
403
  );
package/src/validate.ts CHANGED
@@ -589,6 +589,35 @@ function finaliseStats(accumulator: StatsAccumulator): ObservedSignalStats {
589
589
  }
590
590
 
591
591
  /** A supplied index is only usable when it covers this file completely. */
592
+ /*
593
+ * The `index` option, before `usableIndex` decides whether it can be REUSED.
594
+ *
595
+ * That function answers one question — is this a complete index for this file — and answers it with
596
+ * `undefined` for four different reasons: not an index at all, a probed one, one built for a
597
+ * different record count, one missing its segments. Three of those are a reason to rebuild and say
598
+ * nothing. The first is a caller mistake, and it was silent too.
599
+ *
600
+ * `validateRecording(recording, { index: buildRecordIndex(recording) })` is the shape: this option
601
+ * exists to "reuse a completed index so conformance costs one traversal, not two", so it is reached
602
+ * for on exactly the files where a traversal is expensive, and it is handed the result of an async
603
+ * call. One keyword short, the option was dropped and the sweep read the whole file again — the cost
604
+ * the option exists to avoid, paid in full, with a correct report at the end of it and nothing
605
+ * saying the index had not been used.
606
+ *
607
+ * `coverage` is the test, because it is the field `contiguityOf` and `resolveTimeWindow` both
608
+ * identify an index by: "the second argument is not a record index — it has no coverage".
609
+ */
610
+ function assertIndexOption(index: unknown): void {
611
+ if (index === undefined) return;
612
+ if (typeof (index as { coverage?: unknown } | null)?.coverage === 'string') return;
613
+ throw new RangeError(
614
+ `validateRecording(): options.index is ${describeValue(index)}, not a record index — it has ` +
615
+ 'no coverage, so this sweep would have silently rebuilt one and read the whole file again, ' +
616
+ 'which is the cost the option exists to avoid. Next: pass `await buildRecordIndex(recording)`, ' +
617
+ 'or recording.index, or omit it.',
618
+ );
619
+ }
620
+
592
621
  function usableIndex(
593
622
  index: EdfRecordIndex | undefined,
594
623
  recordCount: number,
@@ -919,6 +948,7 @@ export async function validateRecording(
919
948
  const { header, timeline } = recording;
920
949
  const recordCount = header.recordCount;
921
950
  const scanSamples = options?.scanSamples === true;
951
+ assertIndexOption(options?.index);
922
952
  const supplied = usableIndex(options?.index, recordCount);
923
953
  const onsetsAreArithmetic = header.annotationSignalIndices.length === 0;
924
954