edf2csv 0.6.56 → 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 +21 -0
  2. package/package.json +3 -2
package/docs/CHANGELOG.md CHANGED
@@ -3,6 +3,27 @@
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
+
6
27
  ## 0.6.56
7
28
 
8
29
  ### Fixed: the `UNREADABLE` case list, four of the six things it covers
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edf2csv",
3
- "version": "0.6.56",
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",