edfcore 0.6.30 → 0.6.31

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.30";
112
+ export declare const VERSION = "0.6.31";
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.30';
82
+ export const VERSION = '0.6.31';
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.6.31
10
+
11
+ - **Added** a fourteenth shape to the `AWKWARD` matrix: a file whose last record is half there.
12
+ It is the commonest damage a recording takes — a transfer drops, a disk fills, a copy is
13
+ interrupted, a recorder loses power mid-record — and what lands is a valid header promising more
14
+ records than the bytes hold, ending part way through one.
15
+ - The diagnostics were covered since 0.1: `TRUNCATED_FILE` for the shortfall, `PARTIAL_FINAL_RECORD`
16
+ for the tail, and the rule that only whole records are exposed "because the padding would decode
17
+ as real samples". The shape had never been put in front of the sweeps that run over the matrix —
18
+ every index resolves, ticks and seconds agree, nothing points at the caller's buffer, the five
19
+ source spellings, the second call agrees, every column lines up. Each asks a question of a whole
20
+ file, and none had seen one whose bytes end before its header says they do. They all pass.
21
+ - It makes a pair with 'a record count the header never gave'. Both resolve their count from the
22
+ source length, for different reasons: that one declares `-1`, a writer that never closed the file,
23
+ and this one declares a real count the bytes do not reach. `header.raw.recordCount` is what tells
24
+ them apart, which is why that field is kept beside the resolved one — and
25
+ `a-count-the-header-never-gave.test.ts` now says that rather than claiming to be the only shape
26
+ that recovers.
27
+
9
28
  ## 0.6.30
10
29
 
11
30
  - **Changed** the non-finite-seconds refusal to name the argument the caller passed. It ended
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.6.30",
3
+ "version": "0.6.31",
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.30';
96
+ export const VERSION = '0.6.31';