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.
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/docs/CHANGELOG.md +33 -0
- package/package.json +1 -1
- package/src/constants.ts +1 -1
package/dist/constants.d.ts
CHANGED
|
@@ -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.
|
|
112
|
+
export declare const VERSION = "0.4.505";
|
|
113
113
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.js
CHANGED
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
package/src/constants.ts
CHANGED