edfcore 0.4.116 → 0.4.118

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.116";
112
+ export declare const VERSION = "0.4.118";
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.116';
82
+ export const VERSION = '0.4.118';
83
83
  //# sourceMappingURL=constants.js.map
@@ -34,9 +34,19 @@ export type EdfKnownDiagnosticCode = 'NOT_AN_EDF_FILE' | 'SOURCE_TOO_SMALL' | 'S
34
34
  * code in a minor release cannot break a consumer's exhaustive switch.
35
35
  */
36
36
  export type EdfDiagnosticCode = EdfKnownDiagnosticCode | (string & {});
37
+ /**
38
+ * Every known code and how it behaves, as one table. Typed by `EdfKnownDiagnosticCode`, so adding
39
+ * a code to the union without deciding its disposition fails to compile — which is what keeps the
40
+ * two from drifting apart.
41
+ */
37
42
  export declare const DIAGNOSTIC_DISPOSITIONS: Readonly<Record<EdfKnownDiagnosticCode, EdfDiagnosticDisposition>>;
38
43
  /** Unknown codes are treated as warnings — an unrecognised note must never escalate. */
39
44
  export declare function dispositionOf(code: EdfDiagnosticCode): EdfDiagnosticDisposition;
45
+ /**
46
+ * The severity a consumer sees, collapsed from the disposition. `fatal` and `deferred` both
47
+ * surface as `error` on purpose: they differ in WHEN they stop a parse, not in how wrong the file
48
+ * is, and that distinction is this module's business rather than a reader's.
49
+ */
40
50
  export declare function severityOf(code: EdfDiagnosticCode): EdfSeverity;
41
51
  /** Fires regardless of `strict`: proceeding would require inventing data. */
42
52
  export declare function isAlwaysFatal(code: EdfDiagnosticCode): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../src/diagnostics/codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEvD,gEAAgE;AAChE,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;AAEjF;;;;;;GAMG;AACH,MAAM,MAAM,sBAAsB,GAE9B,iBAAiB,GACjB,kBAAkB,GAClB,sBAAsB,GACtB,uBAAuB,GACvB,yBAAyB,GACzB,kBAAkB,GAClB,mCAAmC,GACnC,wBAAwB,GACxB,gCAAgC,GAEhC,0BAA0B,GAC1B,2BAA2B,GAC3B,wBAAwB,GACxB,yBAAyB,GACzB,mBAAmB,GAEnB,sBAAsB,GACtB,wBAAwB,GACxB,gBAAgB,GAChB,sBAAsB,GACtB,gBAAgB,GAChB,+BAA+B,GAC/B,4BAA4B,GAC5B,wBAAwB,GACxB,kCAAkC,GAClC,sBAAsB,GACtB,kBAAkB,GAClB,uBAAuB,GACvB,0BAA0B,GAC1B,4BAA4B,GAC5B,wBAAwB,GACxB,8BAA8B,GAC9B,yBAAyB,GACzB,sBAAsB,GACtB,wCAAwC,GACxC,wBAAwB,GACxB,yBAAyB,GACzB,+BAA+B,GAC/B,2BAA2B,GAC3B,eAAe,GACf,6BAA6B,GAC7B,+BAA+B,GAC/B,0BAA0B,GAC1B,gCAAgC,GAChC,kCAAkC,GAElC,2BAA2B,GAC3B,yBAAyB,GACzB,2BAA2B,CAAC;AAiHhC;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,sBAAsB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEvE,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAC5C,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,CAC1C,CAAC;AAEjB,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,wBAAwB,CAE/E;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,WAAW,CAK/D;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAE9D"}
1
+ {"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../src/diagnostics/codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEvD,gEAAgE;AAChE,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;AAEjF;;;;;;GAMG;AACH,MAAM,MAAM,sBAAsB,GAE9B,iBAAiB,GACjB,kBAAkB,GAClB,sBAAsB,GACtB,uBAAuB,GACvB,yBAAyB,GACzB,kBAAkB,GAClB,mCAAmC,GACnC,wBAAwB,GACxB,gCAAgC,GAEhC,0BAA0B,GAC1B,2BAA2B,GAC3B,wBAAwB,GACxB,yBAAyB,GACzB,mBAAmB,GAEnB,sBAAsB,GACtB,wBAAwB,GACxB,gBAAgB,GAChB,sBAAsB,GACtB,gBAAgB,GAChB,+BAA+B,GAC/B,4BAA4B,GAC5B,wBAAwB,GACxB,kCAAkC,GAClC,sBAAsB,GACtB,kBAAkB,GAClB,uBAAuB,GACvB,0BAA0B,GAC1B,4BAA4B,GAC5B,wBAAwB,GACxB,8BAA8B,GAC9B,yBAAyB,GACzB,sBAAsB,GACtB,wCAAwC,GACxC,wBAAwB,GACxB,yBAAyB,GACzB,+BAA+B,GAC/B,2BAA2B,GAC3B,eAAe,GACf,6BAA6B,GAC7B,+BAA+B,GAC/B,0BAA0B,GAC1B,gCAAgC,GAChC,kCAAkC,GAElC,2BAA2B,GAC3B,yBAAyB,GACzB,2BAA2B,CAAC;AAiHhC;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,sBAAsB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEvE;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAC5C,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,CAC1C,CAAC;AAEjB,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,wBAAwB,CAE/E;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,WAAW,CAK/D;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAE9D"}
@@ -120,11 +120,21 @@ const DISPOSITIONS = {
120
120
  /** A negative annotation onset is normal for pre-stimulus events. */
121
121
  NEGATIVE_ANNOTATION_ONSET: 'info',
122
122
  };
123
+ /**
124
+ * Every known code and how it behaves, as one table. Typed by `EdfKnownDiagnosticCode`, so adding
125
+ * a code to the union without deciding its disposition fails to compile — which is what keeps the
126
+ * two from drifting apart.
127
+ */
123
128
  export const DIAGNOSTIC_DISPOSITIONS = DISPOSITIONS;
124
129
  /** Unknown codes are treated as warnings — an unrecognised note must never escalate. */
125
130
  export function dispositionOf(code) {
126
131
  return DISPOSITIONS[code] ?? 'warning';
127
132
  }
133
+ /**
134
+ * The severity a consumer sees, collapsed from the disposition. `fatal` and `deferred` both
135
+ * surface as `error` on purpose: they differ in WHEN they stop a parse, not in how wrong the file
136
+ * is, and that distinction is this module's business rather than a reader's.
137
+ */
128
138
  export function severityOf(code) {
129
139
  const disposition = dispositionOf(code);
130
140
  if (disposition === 'fatal' || disposition === 'deferred')
@@ -1 +1 @@
1
- {"version":3,"file":"codes.js","sourceRoot":"","sources":["../../src/diagnostics/codes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codes.js","sourceRoot":"","sources":["../../src/diagnostics/codes.ts"],"names":[],"mappings":"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"}
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,18 @@ 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.118
10
+
11
+ - **Added** a docblock to `severityOf` saying why `fatal` and `deferred` both surface as `error`:
12
+ they differ in when they stop a parse, not in how wrong the file is, and that distinction is
13
+ internal rather than something a consumer should branch on.
14
+
15
+ ## 0.4.117
16
+
17
+ - **Added** a docblock to `DIAGNOSTIC_DISPOSITIONS` naming the property that makes it the registry
18
+ worth counting: it is typed by the known-code union, so adding a code without deciding how it
19
+ behaves fails to compile.
20
+
9
21
  ## 0.4.116
10
22
 
11
23
  - **Added** a docblock to `runCli` naming what the shape buys: it returns an exit code and takes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.116",
3
+ "version": "0.4.118",
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.116';
96
+ export const VERSION = '0.4.118';
@@ -200,6 +200,11 @@ const DISPOSITIONS: Readonly<Record<EdfKnownDiagnosticCode, EdfDiagnosticDisposi
200
200
  */
201
201
  export type EdfDiagnosticCode = EdfKnownDiagnosticCode | (string & {});
202
202
 
203
+ /**
204
+ * Every known code and how it behaves, as one table. Typed by `EdfKnownDiagnosticCode`, so adding
205
+ * a code to the union without deciding its disposition fails to compile — which is what keeps the
206
+ * two from drifting apart.
207
+ */
203
208
  export const DIAGNOSTIC_DISPOSITIONS: Readonly<
204
209
  Record<EdfKnownDiagnosticCode, EdfDiagnosticDisposition>
205
210
  > = DISPOSITIONS;
@@ -209,6 +214,11 @@ export function dispositionOf(code: EdfDiagnosticCode): EdfDiagnosticDisposition
209
214
  return DISPOSITIONS[code as EdfKnownDiagnosticCode] ?? 'warning';
210
215
  }
211
216
 
217
+ /**
218
+ * The severity a consumer sees, collapsed from the disposition. `fatal` and `deferred` both
219
+ * surface as `error` on purpose: they differ in WHEN they stop a parse, not in how wrong the file
220
+ * is, and that distinction is this module's business rather than a reader's.
221
+ */
212
222
  export function severityOf(code: EdfDiagnosticCode): EdfSeverity {
213
223
  const disposition = dispositionOf(code);
214
224
  if (disposition === 'fatal' || disposition === 'deferred') return 'error';