edfcore 0.4.456 → 0.4.457

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.4.456";
112
+ export declare const VERSION = "0.4.457";
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.4.456';
82
+ export const VERSION = '0.4.457';
83
83
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../src/inspect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAUH,OAAO,KAAK,EAAE,UAAU,EAAiB,aAAa,EAAc,WAAW,EAAE,MAAM,YAAY,CAAC;AAgFpG;;;;;;;;;;;GAWG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,UAAU,EAClB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,aAAa,CAAC,CAiGxB"}
1
+ {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../src/inspect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAUH,OAAO,KAAK,EAAE,UAAU,EAAiB,aAAa,EAAc,WAAW,EAAE,MAAM,YAAY,CAAC;AA6FpG;;;;;;;;;;;GAWG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,UAAU,EAClB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,aAAa,CAAC,CAiGxB"}
package/dist/inspect.js CHANGED
@@ -75,6 +75,19 @@ function diagnosticOf(error) {
75
75
  return (formatError.diagnostic ??
76
76
  createDiagnostic({ code: formatError.code, message: formatError.message }));
77
77
  }
78
+ /*
79
+ * Unreachable today, and kept deliberately rather than deleted.
80
+ *
81
+ * `inspectEdf` wraps exactly one call, and every `EdfError` `parseHeader` can throw is an
82
+ * `EdfFormatError`: a `DiagnosticSink` is the only channel a fatal takes, and both `fatal` and
83
+ * `report` construct that class. Its one other throw is a plain `RangeError` for a bad
84
+ * `sourceByteLength`, which is not an `EdfError` and is rethrown a line earlier.
85
+ *
86
+ * It stays because the day a parse-time rule refuses with an `EdfRangeError` or an
87
+ * `EdfSourceError` — a budget check moved earlier, a scaling rule that refuses on the header —
88
+ * this is the arm that has to be here, and a missing one is harder to notice than an idle one.
89
+ * `tests/integration/inspection-failed-guard.test.ts` pins the premise so that stays honest.
90
+ */
78
91
  return createDiagnostic({
79
92
  // Not a format code: the header did not fail its grammar, some other rule refused it. The
80
93
  // code union is open precisely so a case like this does not have to borrow a wrong name.
@@ -1 +1 @@
1
- {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../src/inspect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../src/inspect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAsC,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGnE,kFAAkF;AAClF,MAAM,iBAAiB,GAAG,GAAG,GAAG,IAAI,CAAC;AAErC;;;;;GAKG;AACH,SAAS,eAAe,CAAC,WAAuB;IAC9C,IAAI,WAAW,CAAC,MAAM,GAAG,sBAAsB;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,WAAW,CAAC;IACrD,MAAM,KAAK,GAAG,eAAe,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3E,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,GAAG,oBAAoB;QAAE,OAAO,SAAS,CAAC;IACzF,OAAO,KAAK,CAAC,KAAK,CAAC;AACrB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,WAAuB;IAC1C,IAAI,WAAW,CAAC,MAAM,GAAG,sBAAsB;QAAE,OAAO,SAAS,CAAC;IAClE,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,WAAW,EAAE,IAAI,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,KAAe;IACnC,6FAA6F;IAC7F,qEAAqE;IACrE,IAAI,KAAK,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,KAAuB,CAAC;QAC5C,OAAO,CACL,WAAW,CAAC,UAAU;YACtB,gBAAgB,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAC3E,CAAC;IACJ,CAAC;IACD;;;;;;;;;;;;OAYG;IACH,OAAO,gBAAgB,CAAC;QACtB,0FAA0F;QAC1F,yFAAyF;QACzF,IAAI,EAAE,mBAAmB;QACzB,OAAO,EACL,sCAAsC,KAAK,CAAC,OAAO,uCAAuC;YAC1F,0EAA0E;KAC7E,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,WAAmB,EAAE,gBAAwB;IACrE,OAAO,gBAAgB,CAAC;QACtB,IAAI,EAAE,kCAAkC;QACxC,OAAO,EACL,kCAAkC,WAAW,eAAe,gBAAgB,SAAS;YACrF,WAAW,WAAW,qBAAqB,iBAAiB,6BAA6B;YACzF,sFAAsF;YACtF,wFAAwF;YACxF,cAAc;QAChB,KAAK,EAAE,aAAa;QACpB,UAAU,EAAE,aAAa,CAAC,WAAW,CAAC,MAAM;QAC5C,UAAU,EAAE,aAAa,CAAC,WAAW,CAAC,MAAM;QAC5C,QAAQ,EAAE,WAAW,iBAAiB,eAAe;QACrD,MAAM,EAAE,GAAG,gBAAgB,eAAe;QAC1C,aAAa,EAAE,oEAAoE;KACpF,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAkB,EAClB,OAAqB;IAErB,gGAAgG;IAChG,sFAAsF;IACtF,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAEvD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;IAChG,IAAI,SAAS,GAAG,WAAW,CAAC;IAC5B,IAAI,WAAW,GAAG,WAAW,CAAC;IAC9B,IAAI,UAAqC,CAAC;IAE1C,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,gBAAgB,GAAG,sBAAsB,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QACpE,IAAI,gBAAgB,GAAG,iBAAiB,EAAE,CAAC;YACzC,UAAU,GAAG,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,MAAM,GAAG,WAAW,CAAC;QACvC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,eAAe,CAC1B,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,EAClD,WAAW,EACX,SAAS,CACV,CAAC;YACF,SAAS,IAAI,SAAS,CAAC;YACvB,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;YACxC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC7B,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAChC,WAAW,GAAG,QAAQ,CAAC;QACzB,CAAC;IACH,CAAC;IAED,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B;;;;;;;;;;;;WAYG;QACH,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC;YACjC,MAAM,EAAE,SAAS;YACjB,UAAU;YACV,SAAS;YACT,WAAW;YACX,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;SACzC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,0FAA0F;QAC1F,2CAA2C;QAC3C,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACpD,6FAA6F;QAC7F,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,OAAO;YACL,EAAE,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,KAAK,OAAO,CAAC;YACtE,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM;YACN,UAAU;YACV,SAAS;YACT,WAAW;YACX,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;SACxC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,MAAM,KAAK,CAAC;QACpC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACpC,6FAA6F;QAC7F,6FAA6F;QAC7F,0FAA0F;QAC1F,4FAA4F;QAC5F,0FAA0F;QAC1F,wEAAwE;QACxE,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC;YACjC,MAAM,EAAE,SAAS;YACjB,UAAU;YACV,SAAS;YACT,WAAW;YACX,yFAAyF;YACzF,6EAA6E;YAC7E,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC;SACpD,CAAC;IACJ,CAAC;AACH,CAAC"}
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,25 @@ 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.4.457
10
+
11
+ - **Documented** `INSPECTION_FAILED` as unreachable today, and added the test that keeps that
12
+ statement honest.
13
+ - `diagnosticOf` in `inspect.ts` has two arms: an `EdfFormatError` becomes the diagnostic it is
14
+ already carrying, and anything else becomes `INSPECTION_FAILED`. Nothing can reach the second.
15
+ `inspectEdf` wraps exactly one call, and every `EdfError` `parseHeader` throws is an
16
+ `EdfFormatError` — a `DiagnosticSink` is the only channel a fatal takes, and both `fatal` and
17
+ `report` construct that class. Its one other throw is a plain `RangeError`, rethrown a line
18
+ earlier.
19
+ - Kept rather than deleted, for the reason `validate.ts` gives about its own idle date check: the
20
+ day a parse-time rule refuses with an `EdfRangeError` or an `EdfSourceError`, this is the arm
21
+ that has to be there, and a missing guard is harder to notice than an idle one.
22
+ - The new test checks the premise structurally — no module the parse reaches constructs and throws
23
+ an `EdfError` directly — and `header/lookup.ts`, which is on the graph and does throw two channel
24
+ errors, is exempted by a check rather than by name: the only binding anything on the parse path
25
+ imports from it is `isAnnotationLabel`, a pure predicate. An import of `getSignal` added there
26
+ fails the test, in the same commit that would make this code reachable.
27
+
9
28
  ## 0.4.456
10
29
 
11
30
  - **Added** a test for the line that divides the two kinds of failure inside `inspectEdf`: the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.456",
3
+ "version": "0.4.457",
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.4.456';
96
+ export const VERSION = '0.4.457';
package/src/inspect.ts CHANGED
@@ -79,6 +79,19 @@ function diagnosticOf(error: EdfError): EdfDiagnostic {
79
79
  createDiagnostic({ code: formatError.code, message: formatError.message })
80
80
  );
81
81
  }
82
+ /*
83
+ * Unreachable today, and kept deliberately rather than deleted.
84
+ *
85
+ * `inspectEdf` wraps exactly one call, and every `EdfError` `parseHeader` can throw is an
86
+ * `EdfFormatError`: a `DiagnosticSink` is the only channel a fatal takes, and both `fatal` and
87
+ * `report` construct that class. Its one other throw is a plain `RangeError` for a bad
88
+ * `sourceByteLength`, which is not an `EdfError` and is rethrown a line earlier.
89
+ *
90
+ * It stays because the day a parse-time rule refuses with an `EdfRangeError` or an
91
+ * `EdfSourceError` — a budget check moved earlier, a scaling rule that refuses on the header —
92
+ * this is the arm that has to be here, and a missing one is harder to notice than an idle one.
93
+ * `tests/integration/inspection-failed-guard.test.ts` pins the premise so that stays honest.
94
+ */
82
95
  return createDiagnostic({
83
96
  // Not a format code: the header did not fail its grammar, some other rule refused it. The
84
97
  // code union is open precisely so a case like this does not have to borrow a wrong name.