edfcore 0.4.370 → 0.4.372

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.370";
112
+ export declare const VERSION = "0.4.372";
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.370';
82
+ export const VERSION = '0.4.372';
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.372
10
+
11
+ - **Added** checks for the sample-grid section of `api-helpers.md`. The page opens by naming what a
12
+ reader would otherwise write — `Math.round(seconds * signal.sampleRateHz)` — and tabulating three
13
+ ways it fails silently. Two of them are now demonstrated: an undefined rate on a zero-duration
14
+ file makes the expression `NaN` where the grid functions throw a `RangeError`, and rounding
15
+ rather than flooring reaches the next sample before its boundary.
16
+ - The rounding rule is checked as the property the page states it as: rounding a sample's start up
17
+ to a whole tick keeps `gridSampleStartTicks` and `gridSampleIndexAt` inverse for every index,
18
+ because a truncated tick lands inside the previous sample. Verified across every sample of six
19
+ records at 128 samples over 0.3 s — the geometry whose boundaries are half ticks — and with the
20
+ truncating alternative shown to land early.
21
+ - The third row, the index drifting by one over a long recording, is deliberately NOT asserted, and
22
+ the test says so. Fed the tick this package publishes, the naive expression agrees with the
23
+ integer arithmetic for every index of every geometry tried; the two roundings cancel. The drift
24
+ belongs to times a caller arrives at some other way, and a fixture manufacturing one would be
25
+ asserting about its own construction rather than about the library.
26
+
27
+ ## 0.4.371
28
+
29
+ - **Added** a check on where the type tests are actually verified. `tests/types/` holds five
30
+ `.test-d.ts` files carrying the only assertions a runtime test cannot make — what each subpath
31
+ can name alone, that the documented examples typecheck, that a `Blob` and a `Response` satisfy
32
+ the structural shims — and vitest runs them with its own typecheck disabled.
33
+ - That combination reports a false green. Put a plain type error into one and vitest loads it,
34
+ finds the runtime half fine, and prints a pass; only `npm run typecheck` catches it, because
35
+ `tsconfig.json` happens to include `tests`. Nothing connected that line to the five files
36
+ depending on it, and narrowing the include to `src` would look like an ordinary tidy-up: `npm run
37
+ check` would stay green, vitest would keep reporting the type tests as passing, and every
38
+ type-level guarantee in the package would be unchecked.
39
+ - So the wiring is asserted rather than assumed — which config the typecheck script names, that its
40
+ include reaches every type test, that the only exclusion is the gitignored scratch directory, and
41
+ that vitest is deliberately not the thing doing the checking.
42
+
9
43
  ## 0.4.370
10
44
 
11
45
  - **Added** an execution of the annotations-signal section of `concepts.md`, the page the README
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.370",
3
+ "version": "0.4.372",
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.370';
96
+ export const VERSION = '0.4.372';