edfcore 0.6.15 → 0.6.16

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.15";
112
+ export declare const VERSION = "0.6.16";
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.15';
82
+ export const VERSION = '0.6.16';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,30 @@ 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.16
10
+
11
+ - **Added** the check that the five source constructors are interchangeable, which is what
12
+ `data-sources.md` promises and what nothing executed. Each was tested for the thing it does —
13
+ `file-source.test.ts` for descriptors and stat, the `http-*` files for Range and 200s and
14
+ concurrency, `cache-invisible.test.ts` for the block cache — and nothing ran the reading API over
15
+ all of them and compared the answers.
16
+ - That is the claim a caller depends on: develop against `byteSource` in a test, ship `httpSource`
17
+ in a browser and `fileSource` in a batch job, and expect one recording. The seams are real.
18
+ `fileSource` reads through a descriptor at an offset, `httpSource` splits a read into Range
19
+ requests, `cachedSource` serves from blocks that never line up with a record — three paths to the
20
+ same bytes, each a place an off-by-one would show through one source and no other.
21
+ - Header, timeline, segments, gaps, annotations, records, window, envelope and the validation
22
+ report, over every shape in the matrix, through all five. They agree.
23
+ - `bytesRead` is compared exactly, cache included. A block cache reads whole blocks, but a full
24
+ conformance sweep reads the whole file whatever the blocking and no source may read it twice —
25
+ checked with a block size small enough to split every record. The over-reading a partial window
26
+ provokes is `cache.test.ts`'s subject and is not this one.
27
+ - Every source is closed, in a `finally`. `fileSource` holds a descriptor and `close()` is optional
28
+ on the interface, so a sweep that opens one per shape per spelling leaks them — which on Node 26
29
+ is not a warning but an uncaught `ERR_INVALID_STATE` when the handle is collected. The three-way
30
+ Node matrix in CI is what said so, on a run that passed on 22.12 and 24.
31
+ - No behaviour changed. Nothing disagreed.
32
+
9
33
  ## 0.6.15
10
34
 
11
35
  - **Fixed** four copies of the definition of EDF field padding. `trimEdfField` states the rule and
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.6.15",
3
+ "version": "0.6.16",
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.15';
96
+ export const VERSION = '0.6.16';