edfcore 0.4.487 → 0.4.489

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.487";
112
+ export declare const VERSION = "0.4.489";
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.487';
82
+ export const VERSION = '0.4.489';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,41 @@ 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.489
10
+
11
+ - **Added** a property test for `summarizeDiagnostics`. Everything that prints a count of a file's
12
+ problems goes through it — the first line of `edfcore validate`, the summary under
13
+ `edfcore header`, and the `worst` a caller branches on to decide whether a recording is usable —
14
+ so its one job is to be the list, counted, and every way it can fail is quiet.
15
+ - The existing tests pin the two DECISIONS, which is right: `worst` is by severity rank rather
16
+ than arrival, and it is `undefined` rather than `'info'` for an empty list. What nothing pinned
17
+ is that the counting adds up, and that is the part with no decision in it — which is exactly the
18
+ part nobody writes a case for.
19
+ - Four invariants over arbitrary lists: the three severity counts sum to the length, each equals
20
+ the number of that severity in the input, `byCode` holds every code once and its counts sum to
21
+ the total, and it is descending by count with first-seen order inside a tie. The last is what
22
+ makes two runs over one file diffable, and the docblock promises it.
23
+ - The generator draws from a four-code alphabet on purpose. Unique codes would produce entries of
24
+ count 1 for ever, and repeats and ties are the whole point — a hand-written fixture reaches
25
+ neither.
26
+
27
+ ## 0.4.488
28
+
29
+ - **Added** a property test for `formatDiagnostics`' `maxItems` accounting. The cap is what stops a
30
+ file with four hundred defects filling a terminal, and the "... and N more" line under the output
31
+ is the only thing telling a reader that a cap was applied at all.
32
+ - Both ways of getting it wrong are silent. Too small an N and a reader believes they have seen
33
+ more of the file than they have; a missing line and they believe they have seen all of it.
34
+ - The rounding is where the untested cases were. `resolveLimit` floors a fractional `maxItems`,
35
+ clamps a negative one to zero, and treats `undefined` and any non-finite value as no cap —
36
+ four behaviours reachable from a flag, a config file or a caller's arithmetic, each changing
37
+ what N should be, and none of them a round number anyone writes into a fixture.
38
+ - Three invariants, and the third is what makes the other two mean anything: the blocks shown are
39
+ the resolved limit, the notice appears exactly when something was withheld, and shown plus
40
+ hidden is the number that went in. Without the third, showing nothing and claiming everything was
41
+ hidden satisfies both of the others. Order is pinned separately — a reader who raises the cap
42
+ expects the lines they already read to still be above the new ones.
43
+
9
44
  ## 0.4.487
10
45
 
11
46
  - **Set** the suite's test timeout explicitly, at thirty seconds, with the reasoning in the config.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.487",
3
+ "version": "0.4.489",
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.487';
96
+ export const VERSION = '0.4.489';