edfcore 0.4.348 → 0.4.350

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.348";
112
+ export declare const VERSION = "0.4.350";
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.348';
82
+ export const VERSION = '0.4.350';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,33 @@ 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.350
10
+
11
+ - **Added** an execution of the truth table on `validation.md` — four rows over two independent
12
+ conditions, whether the file carries per-record timestamps and whether `scanSamples` was asked
13
+ for — plus the `0 0` the page prints when a complete index is handed over.
14
+ - The `none` rows are a promise about cost: a sweep that quietly started traversing a plain EDF
15
+ would return exactly the same report, and the only evidence would be the wall clock on a 13 GiB
16
+ file. The `every record` rows are a promise about correctness: skipping them would report a
17
+ clean file it had not checked.
18
+ - The row with a trap in it is the one about the index. A PROBED index is what `openEdf` hands you
19
+ and the obvious thing to pass, and it describes two records; the page says it is ignored and
20
+ "buys nothing", so a version that accepted it would report a clean file on the strength of the
21
+ first and last record. That it still reads everything is now asserted.
22
+
23
+ ## 0.4.349
24
+
25
+ - **Added** an execution of the cost table on `reading-signals.md`: one call for three channels
26
+ against three calls for one, at one read and 15,380 bytes versus three and 46,140. The file is
27
+ rebuilt from the sentence above the table, and both rows are measured through a recording source.
28
+ - The table is an argument about how to write a loop, and it is the argument most likely to be
29
+ ignored, because three calls return the same answers as one and nothing in the result says the
30
+ caller paid triple. The check also constrains the direction that would look like an improvement:
31
+ narrowing a multi-signal read to per-signal ranges decodes fewer bytes and turns one request into
32
+ three. The row that must not move is the first — one read, and the whole record.
33
+ - The three calls are additionally asserted to read the identical byte range each time, which is
34
+ what makes the extra two waste rather than work.
35
+
9
36
  ## 0.4.348
10
37
 
11
38
  - **Added** a check for what `index.locate` costs, against the two read counts `discontinuous.md`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.348",
3
+ "version": "0.4.350",
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.348';
96
+ export const VERSION = '0.4.350';