edfcore 0.5.47 → 0.5.48

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.5.47";
112
+ export declare const VERSION = "0.5.48";
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.5.47';
82
+ export const VERSION = '0.5.48';
83
83
  //# sourceMappingURL=constants.js.map
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.5.48
10
+
11
+ - **Added** two shapes to the `AWKWARD` matrix: a file with no records at all, and a file with
12
+ exactly one. Both are legal, both are reachable, and neither was in the matrix — so the thirteen
13
+ sweeps built on it had never seen either.
14
+ - They are the two the record probes are about. `openEdf` reads the first record and the last;
15
+ `open-cost.test.ts` states in prose that it "probes once when there is only one record to probe"
16
+ and "probes nothing when there are no records at all", and every other sweep assumed a file with
17
+ several. A zero-record file makes every span zero, every window empty and every record range out
18
+ of bounds; a single-record file makes the first record and the last the same one, which is the
19
+ case where a two-probe path can quietly become a one-probe path or a double-count.
20
+ - Adding them exercised nine existing sweeps and four added this batch at no further cost, and one
21
+ test needed changing: `reads-and-returns.test.ts` (0.5.26) hard-coded a one-record range for
22
+ `readAnnotations`, which a file with no records correctly refuses. It now clamps against
23
+ `header.recordCount` — which is the advice that refusal's own `Next:` clause gives.
24
+ - That is the matrix working as its docblock says it should: "anything using this list should assert
25
+ `AWKWARD.length` rather than trusting it", so a shape added here lands in every sweep at once and
26
+ a sweep that cannot take it says so.
27
+
9
28
  ## 0.5.47
10
29
 
11
30
  - **Added** the transformation of appending bytes after the last record: exactly one diagnostic, and
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.5.47",
3
+ "version": "0.5.48",
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.5.47';
96
+ export const VERSION = '0.5.48';