edfcore 0.4.503 → 0.4.505

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.503";
112
+ export declare const VERSION = "0.4.505";
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.503';
82
+ export const VERSION = '0.4.505';
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.505
10
+
11
+ - **Added** the values `design-decisions.md` prints beside three of its decisions. `AGENTS.md`
12
+ sends every contributor to that page before proposing an architectural change, so it is the one
13
+ document read specifically to be argued with — and `design-absences.test.ts` checks the absences
14
+ it claims, not the demonstrations that justify them.
15
+ - A decision whose example no longer produces what it prints is worse than an undocumented one: a
16
+ reader weighing the trade-off is reading the example to decide whether the cost is what the page
17
+ says it is.
18
+ - The three chosen are each the evidence for a REJECTION rather than an illustration of an accepted
19
+ design — the start time as fields, which is the argument against returning a `Date`; the onset as
20
+ exact ticks beside its lossy seconds, which is the argument against `parseFloat`; and
21
+ `clampToDigitalRange` as a separate pure function, which is the argument against clamping on read
22
+ the way the reference implementation does.
23
+ - The last one is asserted from both sides: the clamp produces the array the page prints, and a
24
+ read of the same samples does not clamp them.
25
+
26
+ ## 0.4.504
27
+
28
+ - **Added** the values `api-primitives.md` prints beside each primitive. That page is the reference
29
+ for the layer under `openEdf`, and each entry ends with a line showing what comes back. Six of
30
+ them say something a reader would otherwise take on trust, and none was executed.
31
+ - Two are contracts rather than examples. `again.buffer === scratch.buffer` is the whole reason
32
+ `decodeDigital` takes an `out` argument — zero allocations after the first, in a loop over a long
33
+ recording. And `decodeHeaderLatin1(bytes.subarray(0, 8))` printing `'0 '` with its padding
34
+ intact is the "no trimming, no interpretation" promise the paragraph above it spends five
35
+ sentences on: a function that trimmed would satisfy every other test of it, because almost
36
+ everything else compares a decoded field against its trimmed value.
37
+ - `[ 0, 1 ]` from `findSignals` is the duplicate-label case the page annotates as something CHB-MIT
38
+ really does, and the reason `getSignal` has an ambiguity error at all. The sentence beside it —
39
+ the argument is trimmed, the match is case-sensitive, nothing else is normalised — is asserted
40
+ with it.
41
+
9
42
  ## 0.4.503
10
43
 
11
44
  - **Added** the two snippets on `api-reading.md` that print values — what `openEdf` reports for an
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.503",
3
+ "version": "0.4.505",
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.503';
96
+ export const VERSION = '0.4.505';