edfcore 0.5.13 → 0.5.15
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 +42 -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.5.
|
|
112
|
+
export declare const VERSION = "0.5.15";
|
|
113
113
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.js
CHANGED
package/docs/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,48 @@ 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.5.15
|
|
10
|
+
|
|
11
|
+
- **Added** direct tests for `floorDiv` and `ceilDiv`, which had none. `tal/ticks.ts` owns them, and
|
|
12
|
+
`ticks.test.ts` — the file named for that module — covers the onset parsers and the tick
|
|
13
|
+
conversions and neither of these. Five modules import them: `envelope.ts`, `biosemi.ts`,
|
|
14
|
+
`format-annotations.ts`, `sample-locate.ts` and `time/window.ts`. Every assertion they had was
|
|
15
|
+
incidental, made through a caller that happens to divide.
|
|
16
|
+
- The whole content of both functions is the negative side. Bigint `/` truncates toward zero, so on
|
|
17
|
+
a negative numerator it is neither floor nor ceiling. Both are now checked against `Math.floor`
|
|
18
|
+
and `Math.ceil` over a grid crossing zero — 85 cells, small enough that float division is an exact
|
|
19
|
+
oracle — with `ceilDiv(a, b) === -floorDiv(-a, b)` asserted across it so the pair cannot drift
|
|
20
|
+
apart. The operator is then shown to disagree on every negative non-multiple **and only there**,
|
|
21
|
+
which is what stops the grid from proving nothing.
|
|
22
|
+
- The docblock's reason for their living in `ticks.ts` — "three modules had grown their own copies
|
|
23
|
+
of the same four lines" — is enumerated out of `src/`: exactly one module declares them, five
|
|
24
|
+
call them, and each of the five imports them rather than redeclaring.
|
|
25
|
+
- The last block pins the operand that makes this ordinary rather than an edge case. `trimToWindow`
|
|
26
|
+
selects sample `j` through `floorDiv((R - 1) * S, D) + 1`, and a window beginning at its own
|
|
27
|
+
chunk's start makes `R` zero — so the numerator is `-S`, negative for every file, with no unusual
|
|
28
|
+
geometry and nothing pre-stimulus about it. Truncation there returns `1` where the floor returns
|
|
29
|
+
`0`, and the window loses the first sample the caller aligned it to.
|
|
30
|
+
|
|
31
|
+
## 0.5.14
|
|
32
|
+
|
|
33
|
+
- **Added** the CLI's default print cap driven at all four places it is applied.
|
|
34
|
+
`cli-limit-default.test.ts` covers the NUMBER — twenty, and the four documents that promise it —
|
|
35
|
+
and its own docblock names the failure that made `DEFAULT_ITEM_LIMIT` a constant in 0.4.390: the
|
|
36
|
+
literal `20` at four separate call sites, "`header` printing twenty diagnostics while
|
|
37
|
+
`events --list` prints fifty, with both pages still saying twenty". It then exercised one of the
|
|
38
|
+
four. The three the sentence is about had never been run with the flag left off.
|
|
39
|
+
- They are not reachable by accident. Each needs more than twenty of one kind of diagnostic in one
|
|
40
|
+
particular array: `header.diagnostics`, then `timeline.diagnostics` under "From the record
|
|
41
|
+
probes:" — a second application of the same local, added in 0.3.94 — and `report.diagnostics`
|
|
42
|
+
through `formatValidationReport`, which is a different formatter with its own `maxItems`. The
|
|
43
|
+
fixtures are built for it: thirty signals declaring `physicalMinimum == physicalMaximum`, thirty
|
|
44
|
+
annotation signals each carrying a malformed slot-0 TAL that both record probes see, and a
|
|
45
|
+
malformed TAL in every one of forty records.
|
|
46
|
+
- Every count is compared against the cap the CLI was observed to apply rather than against a
|
|
47
|
+
literal, so this file names no number of its own and the two files move together. An explicit
|
|
48
|
+
`--limit 3` is then driven through all four as well, which is what separates a site that reads
|
|
49
|
+
`args.limit` from one that fell through to the constant.
|
|
50
|
+
|
|
9
51
|
## 0.5.13
|
|
10
52
|
|
|
11
53
|
- **Added** a `NaN` budget driven through every entry point that reads one. `options.ts` exists
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED