edfcore 0.4.363 → 0.4.365

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.363";
112
+ export declare const VERSION = "0.4.365";
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.363';
82
+ export const VERSION = '0.4.365';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,40 @@ 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.365
10
+
11
+ - **Added** a check that the layer table in `AGENTS.md` names the modules that are actually at each
12
+ layer. `module-layers.test.ts` already enforces that every module declares a layer, that no
13
+ runtime import goes up one, and that the table names every layer the source declares — but not
14
+ the contents of any row.
15
+ - AGENTS.md calls the table "a summary of it, not a second definition", and a summary that
16
+ disagrees with its source is still wrong. This one is easy to disagree with, because two rows
17
+ split a directory: layer 5 is `io/` and layer 6 carves `io/read.ts` back out, exactly as layers 1
18
+ and 3 split `tal/`. So a directory claims everything under it except what another row names by
19
+ file, and both splits are asserted as the point of the rule rather than exceptions to it.
20
+ - Row 7 names nothing — "entry points, and the pure helpers over them" — which supplies the
21
+ closure that makes the check tight: every module no row claims has to be at layer 7. Only a path
22
+ counts as a claim, since row 5 also mentions `ByteSource`, which is the type the adapters
23
+ implement rather than a module being placed.
24
+
25
+ ## 0.4.364
26
+
27
+ - **Added** checks for three claims in the README's "Design in one page", each of which is an
28
+ absence and therefore hard to notice. There is no recording-wide rate — a header field holding
29
+ one would be the obvious convenience and can only ever be right for one channel, so its
30
+ non-existence is asserted alongside the three per-signal rates the README names.
31
+ - `sampleRateHz` is `undefined` when the record duration is zero, which is legal EDF and which
32
+ PhysioNet's hypnograms really declare. `Infinity` is what an unguarded division gives, would pass
33
+ every `typeof` check, and would make `NaN` of every time converted through it — so the check is
34
+ that it is neither a number nor that number.
35
+ - And there is no gap-filling option, checked as an absence across every option name the public
36
+ types declare. An option to fill a gap is an option to fabricate samples the amplifier never
37
+ recorded, and once it exists somebody's config turns it on.
38
+ - Also pinned: that a window is measured on `onsetTicksFromFirstRecord` rather than `onsetTicks`.
39
+ The fixture puts the two axes in different records on purpose — a half-second offset leaves both
40
+ inside the same record-aligned chunk, which is how this advice would look correct while being
41
+ untestable.
42
+
9
43
  ## 0.4.363
10
44
 
11
45
  - **Corrected** the README's promise about diagnostics and widened 0.4.325's check to cover it. It
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.363",
3
+ "version": "0.4.365",
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.363';
96
+ export const VERSION = '0.4.365';