edf2csv 0.6.55 → 0.6.57

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.
Files changed (2) hide show
  1. package/docs/CHANGELOG.md +34 -0
  2. package/package.json +3 -2
package/docs/CHANGELOG.md CHANGED
@@ -3,6 +3,40 @@
3
3
  Notable changes to edf2csv. Versions follow [semantic versioning](https://semver.org); while the
4
4
  major version is 0, a minor bump may contain breaking changes.
5
5
 
6
+ ## 0.6.57
7
+
8
+ ### Added: a sweep checking that narrowing a conversion returns the part it names
9
+
10
+ `--channels` selects columns and `--start`/`--end` selects rows. Both are documented as
11
+ selections rather than transformations — output-files puts it as "a section converted on its own
12
+ lines up with the full conversion" — and nothing ran it. The layout sweep compares wide against
13
+ long, the estimate sweep compares predicted row counts against written ones, and neither asks
14
+ whether the rows a narrowed run writes are the rows the full run wrote.
15
+
16
+ `npm run narrowing` takes each fixture's full conversion as the truth, converts every channel
17
+ alone and three windows out of it, and requires the narrowed output to be the corresponding slice
18
+ byte for byte: 106 single-channel selections and 253 windows over 50 recordings. Everything
19
+ agrees, which is the result to want from a check written after the fact.
20
+
21
+ Its first run did not agree, and the disagreement was the sweep's. Window bounds were read back
22
+ off the CSV, where `time_s` is rounded — 8/17 is 0.47058823… and prints as `0.47059` — while a
23
+ conversion filters the exact sample times, so a bound taken from the file sits just past the
24
+ sample it came from and the conversion rightly keeps a row the check excluded. Bounds now sit
25
+ halfway between two samples, where no rounding on either side can move a row across them.
26
+
27
+ ## 0.6.56
28
+
29
+ ### Fixed: the `UNREADABLE` case list, four of the six things it covers
30
+
31
+ The reference gave a missing file, a directory where a file was expected, a permission failure
32
+ and a file that changed size mid-read. Missing: a path running through a regular file, which
33
+ 0.6.12 taught the reader to word as "part of the path is a file, not a directory"; anything that
34
+ is not a regular file, such as a socket or a fifo; and calling a method on a closed `EdfFile`,
35
+ which is where a library caller meets this code most often.
36
+
37
+ Third time a message change in this line has left prose behind it, after 0.6.20 and 0.6.42 — and
38
+ the same remedy each time: diff the list against the function, don't read it.
39
+
6
40
  ## 0.6.55
7
41
 
8
42
  ### Fixed: the API reference's first example serialised `startDateTime` the one way it must not
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edf2csv",
3
- "version": "0.6.55",
3
+ "version": "0.6.57",
4
4
  "description": "Convert EDF, EDF+ and BDF biosignal recordings (European Data Format) to CSV from the command line. Local, streaming, and never resamples or alters units.",
5
5
  "keywords": [
6
6
  "edf",
@@ -67,7 +67,8 @@
67
67
  "fuzz:batch": "npm run build && npm run fixtures && node test/fuzz/trees.mjs",
68
68
  "estimate": "npm run build && npm run fixtures && node test/fuzz/estimate.mjs",
69
69
  "roundtrip": "npm run build && node test/fuzz/roundtrip.mjs",
70
- "layouts": "npm run build && npm run fixtures && node test/fuzz/layouts.mjs"
70
+ "layouts": "npm run build && npm run fixtures && node test/fuzz/layouts.mjs",
71
+ "narrowing": "npm run build && npm run fixtures && node test/fuzz/narrowing.mjs"
71
72
  },
72
73
  "devDependencies": {
73
74
  "@types/node": "^22.10.0",