edfcore 0.6.63 → 0.6.65

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.63";
112
+ export declare const VERSION = "0.6.65";
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.63';
82
+ export const VERSION = '0.6.65';
83
83
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/header/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAYH,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,CAiPX"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/header/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAYH,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,CA2PX"}
@@ -29,7 +29,7 @@ import { resolveStartTime } from './dates.js';
29
29
  import { checkDeclaredHeaderByteLength, describeFixedField, fixedFieldSpecReference, parseDeclaredRecordCount, parseRecordDuration, parseSignalCount, readRawHeaderFields, reportNonAsciiHeaderFields, } from './fields.js';
30
30
  import { parsePatientId, parseRecordingId } from './identification.js';
31
31
  import { buildSignals, parseSignalHeaders, signalFieldOffset } from './signals.js';
32
- import { detectVariant } from './variant.js';
32
+ import { containerAt, detectVariant } from './variant.js';
33
33
  /** The largest value a `BigInt64Array` element holds: about 29,000 years of 100 ns ticks. */
34
34
  const MAX_REPRESENTABLE_TICKS = 2n ** 63n - 1n;
35
35
  /**
@@ -179,6 +179,13 @@ export function parseHeader(headerBytes, sourceByteLength, options) {
179
179
  const sink = new DiagnosticSink(options);
180
180
  // ---- 1. The fixed header must be present at all. --------------------------------------
181
181
  if (headerBytes.length < EDF_HEADER_BLOCK_BYTES) {
182
+ /*
183
+ * The magic number is in hand even here, so the size menu below is only offered when it says
184
+ * nothing. A file too short for the fixed header is also too short to reach `NOT_AN_EDF_FILE`,
185
+ * which is where the container is normally named — so a 76-byte zip earned a message about a
186
+ * transfer cut short, two causes named and the actual one excluded (fixed in 0.6.65).
187
+ */
188
+ const container = containerAt(headerBytes);
182
189
  throw sink.fatal({
183
190
  code: 'SOURCE_TOO_SMALL',
184
191
  /*
@@ -201,9 +208,12 @@ export function parseHeader(headerBytes, sourceByteLength, options) {
201
208
  'no bytes at all.'
202
209
  : `the source is ${headerBytes.length} bytes, which stops part way through the ` +
203
210
  `${EDF_HEADER_BLOCK_BYTES}-byte fixed header every EDF and BDF file begins with. ` +
204
- 'EDF specification, header record bytes 0-255. Next: compare the size edfcore was ' +
205
- 'given with the size on disk — a transfer cut short and a truncated copy both land ' +
206
- 'here, and neither leaves anything to read.',
211
+ 'EDF specification, header record bytes 0-255. Next: ' +
212
+ (container === undefined
213
+ ? 'compare the size edfcore was given with the size on disk — a transfer cut ' +
214
+ 'short and a truncated copy both land here, and neither leaves anything to read.'
215
+ : `these bytes begin ${container}, which is not a recording however long it is: ` +
216
+ 'unpack it and open the EDF or BDF file inside.'),
207
217
  field: 'header',
208
218
  byteOffset: 0,
209
219
  byteLength: headerBytes.length,
@@ -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":"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"}
@@ -61,6 +61,8 @@ export declare function isBdfVersionBlock(versionBytes: Uint8Array): boolean;
61
61
  * The prefix rule is what makes `'EDF+D v2.1'` an EDF+D file rather than an unrecognised one.
62
62
  */
63
63
  export declare function reservedMarkerOf(reserved: string): EdfReservedMarker | undefined;
64
+ /** The container these bytes begin with, or `undefined` — which is most files. */
65
+ export declare function containerAt(bytes: Uint8Array): string | undefined;
64
66
  /**
65
67
  * Read the version block and the reserved field, and decide the variant.
66
68
  *
@@ -1 +1 @@
1
- {"version":3,"file":"variant.d.ts","sourceRoot":"","sources":["../../src/header/variant.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAcH,OAAO,EAAE,KAAK,cAAc,EAAc,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAW9C;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,CAAC;AAEtC,8FAA8F;AAC9F,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAUhF;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,qFAAqF;IACrF,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,YAAY,GAAG,eAAe,CAAC;IACpD;uFACmF;IACnF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB;wBACoB;IACpB,QAAQ,CAAC,cAAc,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACvD,gEAAgE;IAChE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,kFAAkF;IAClF,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,UAAU,GAAG,OAAO,CAOnE;AAED,iGAAiG;AACjG,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,UAAU,GAAG,OAAO,CAMnE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAKhF;AA8CD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,GAAG,cAAc,CAqG3F"}
1
+ {"version":3,"file":"variant.d.ts","sourceRoot":"","sources":["../../src/header/variant.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAcH,OAAO,EAAE,KAAK,cAAc,EAAc,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAW9C;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,CAAC;AAEtC,8FAA8F;AAC9F,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAUhF;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,qFAAqF;IACrF,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,YAAY,GAAG,eAAe,CAAC;IACpD;uFACmF;IACnF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB;wBACoB;IACpB,QAAQ,CAAC,cAAc,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACvD,gEAAgE;IAChE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,kFAAkF;IAClF,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,UAAU,GAAG,OAAO,CAOnE;AAED,iGAAiG;AACjG,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,UAAU,GAAG,OAAO,CAMnE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAKhF;AAwBD,kFAAkF;AAClF,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAKjE;AAgBD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,GAAG,cAAc,CAqG3F"}
@@ -92,7 +92,7 @@ const CONTAINERS = [
92
92
  ['a 7-Zip archive', [0x37, 0x7a, 0xbc, 0xaf, 0x27, 0x1c]],
93
93
  ];
94
94
  /** The container these bytes begin with, or `undefined` — which is most files. */
95
- function containerAt(bytes) {
95
+ export function containerAt(bytes) {
96
96
  for (const [name, magic] of CONTAINERS) {
97
97
  if (magic.every((byte, at) => bytes[at] === byte))
98
98
  return name;
@@ -1 +1 @@
1
- {"version":3,"file":"variant.js","sourceRoot":"","sources":["../../src/header/variant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"variant.js","sourceRoot":"","sources":["../../src/header/variant.ts"],"names":[],"mappings":"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"}
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,37 @@ 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.65
10
+
11
+ - **Changed** `SOURCE_TOO_SMALL` to name the container when the first bytes say what it is. A file
12
+ shorter than the 256-byte fixed header never reaches `detectVariant`, which is where a container
13
+ is normally named — so a 76-byte zip, a gzip that failed to download, or an HTML error page
14
+ saved under an `.edf` name all earned the message written for a truncated recording: "a transfer
15
+ cut short and a truncated copy both land here, and neither leaves anything to read." Two causes
16
+ named, and the one the reader actually had excluded.
17
+ - The magic number is four bytes at most, so it is in hand at 76 as much as at 76,000. The refusal
18
+ now says "these bytes begin a zip, which is not a recording however long it is" and keeps the
19
+ size menu for the files whose bytes say nothing — which is the shape 0.6.26 gave
20
+ `NOT_AN_EDF_FILE` and 0.6.40 gave this code's own empty/short split.
21
+ - `containerAt` is exported from `header/variant.ts` rather than duplicated. Nothing else changed:
22
+ the code, severity, `field`, `byteOffset`, `expected`, `actual` and spec reference are the same,
23
+ a genuinely truncated recording gets the same message it did, and an empty source keeps its own.
24
+
25
+ ## 0.6.64
26
+
27
+ - **Fixed** `installation.md` counting `TextDecoder` among "the four platform features edfcore
28
+ relies on". It does not rely on it. `tal/grammar.ts` takes an ASCII fast path first, which is
29
+ what almost every recording's annotation text is, so the decoder is never built for them; and
30
+ when one is needed and absent the text run falls back to ISO-8859-1 with an
31
+ `ANNOTATION_TEXT_NOT_UTF8` diagnostic rather than throwing. The `null` branch in `utf8Decoder()`
32
+ exists for exactly that and its docblock says so.
33
+ - The sentence told a reader on a runtime without `TextDecoder` that they were unsupported, when
34
+ the library is built to carry on without one.
35
+ - No floor moved and nothing is asserted here about browser release history —
36
+ `browser-floor.test.ts` says why that is not a claim this repository can settle, and still pins
37
+ the four-item basis string. The new test deletes the global and reads a file each way, through
38
+ a fresh module registry, because `utf8Decoder()` memoises its answer — the `null` included.
39
+
9
40
  ## 0.6.63
10
41
 
11
42
  - **Fixed** the README contradicting itself about another package inside one screen. The "Before
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.6.63",
3
+ "version": "0.6.65",
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.63';
96
+ export const VERSION = '0.6.65';
@@ -45,7 +45,7 @@ import {
45
45
  } from './fields.js';
46
46
  import { parsePatientId, parseRecordingId } from './identification.js';
47
47
  import { buildSignals, parseSignalHeaders, signalFieldOffset } from './signals.js';
48
- import { detectVariant } from './variant.js';
48
+ import { containerAt, detectVariant } from './variant.js';
49
49
 
50
50
  /** The largest value a `BigInt64Array` element holds: about 29,000 years of 100 ns ticks. */
51
51
  const MAX_REPRESENTABLE_TICKS: bigint = 2n ** 63n - 1n;
@@ -230,6 +230,13 @@ export function parseHeader(
230
230
 
231
231
  // ---- 1. The fixed header must be present at all. --------------------------------------
232
232
  if (headerBytes.length < EDF_HEADER_BLOCK_BYTES) {
233
+ /*
234
+ * The magic number is in hand even here, so the size menu below is only offered when it says
235
+ * nothing. A file too short for the fixed header is also too short to reach `NOT_AN_EDF_FILE`,
236
+ * which is where the container is normally named — so a 76-byte zip earned a message about a
237
+ * transfer cut short, two causes named and the actual one excluded (fixed in 0.6.65).
238
+ */
239
+ const container = containerAt(headerBytes);
233
240
  throw sink.fatal({
234
241
  code: 'SOURCE_TOO_SMALL',
235
242
  /*
@@ -253,9 +260,12 @@ export function parseHeader(
253
260
  'no bytes at all.'
254
261
  : `the source is ${headerBytes.length} bytes, which stops part way through the ` +
255
262
  `${EDF_HEADER_BLOCK_BYTES}-byte fixed header every EDF and BDF file begins with. ` +
256
- 'EDF specification, header record bytes 0-255. Next: compare the size edfcore was ' +
257
- 'given with the size on disk — a transfer cut short and a truncated copy both land ' +
258
- 'here, and neither leaves anything to read.',
263
+ 'EDF specification, header record bytes 0-255. Next: ' +
264
+ (container === undefined
265
+ ? 'compare the size edfcore was given with the size on disk — a transfer cut ' +
266
+ 'short and a truncated copy both land here, and neither leaves anything to read.'
267
+ : `these bytes begin ${container}, which is not a recording however long it is: ` +
268
+ 'unpack it and open the EDF or BDF file inside.'),
259
269
  field: 'header',
260
270
  byteOffset: 0,
261
271
  byteLength: headerBytes.length,
@@ -139,7 +139,7 @@ const CONTAINERS: ReadonlyArray<readonly [string, readonly number[]]> = [
139
139
  ];
140
140
 
141
141
  /** The container these bytes begin with, or `undefined` — which is most files. */
142
- function containerAt(bytes: Uint8Array): string | undefined {
142
+ export function containerAt(bytes: Uint8Array): string | undefined {
143
143
  for (const [name, magic] of CONTAINERS) {
144
144
  if (magic.every((byte, at) => bytes[at] === byte)) return name;
145
145
  }