edfcore 0.4.342 → 0.4.344

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.342";
112
+ export declare const VERSION = "0.4.344";
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.342';
82
+ export const VERSION = '0.4.344';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,39 @@ 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.344
10
+
11
+ - **Added** a check over what `data-sources.md` publishes about `cachedSource`. `cache.test.ts`
12
+ covers the behaviour thoroughly — eviction order, deduplication, copies, clamping, abort — but
13
+ every one of those tests passes its own sizes in order to be deterministic, so the two DEFAULTS
14
+ a caller inherits by writing `cachedSource(inner)` were invisible to all of them.
15
+ - Those defaults are what almost every caller actually gets. They are checked twice: against the
16
+ private constants they come from, and behaviourally — one byte asked for, one whole 1 MiB block
17
+ fetched, and the rest of that block then free.
18
+ - Also executed: the worked recipe at the end of the section, which is arithmetic a reader is told
19
+ to do themselves and which makes a claim about cost. `readHeader` costs two reads against the
20
+ uncached source, the derived block size is a whole number of records, and `openEdf`'s second pass
21
+ pulls in block 0 — the block the first record read needs anyway.
22
+
23
+ ## 0.4.343
24
+
25
+ - **Added** `tests/property/scaling.test.ts`, which measures the bound 0.4.342 asserted. Random
26
+ declarations are built, written, parsed and converted at both endpoints, and the error is
27
+ compared against what the file itself declares — the fourth property file in the suite and the
28
+ first over the scaling expression.
29
+ - Two wrong units on the way to the right one, both recorded in the file. ULP distance is the
30
+ mistake `mne-parity.test.ts` already documents: a declaration with bounds of 0.0002 and -4827
31
+ sits 5.4 million ULP from the smaller one while being physically indistinguishable from it.
32
+ Relative error fails at the other end — a bound of 0.001 beside one of 99,999 shows a relative
33
+ error of 1.3e-3 for an absolute error far below anything the file can express. Quantisation steps
34
+ are the only unit in which "you could not notice this" is a statement about the recording, and
35
+ they are what the rest of the page already uses. The measured worst is about 2e-5 of a step, and
36
+ 0.4.342's note has been corrected from a relative figure to that one.
37
+ - The property found a real constraint on its first run: a physical bound lives in an
38
+ eight-character field, so `1e-6` is written `0.000000` and comes back degenerate. Everything is
39
+ now measured against the parsed header rather than the numbers handed to the writer, which makes
40
+ this a property about declarations a file can actually hold.
41
+
9
42
  ## 0.4.342
10
43
 
11
44
  - **Corrected** a claim on `physical-values.md` that read as general and holds only for the range
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.342",
3
+ "version": "0.4.344",
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.342';
96
+ export const VERSION = '0.4.344';