edfcore 0.3.63 → 0.3.65

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.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,50 @@ 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.3.65
10
+
11
+ - **Fixed** `api-errors.md` publishing the wrong signature for `isEdfError` and calling a cast
12
+ mandatory that the compiler does not require.
13
+ - The page said `function isEdfError(value: unknown): value is EdfError`. It returns
14
+ `value is AnyEdfError` — the discriminated union over the seven concrete classes.
15
+ - Around that it built a **Note** explaining that "the cast in each branch is load-bearing" and
16
+ that "reaching for `error.budgetBytes` without the cast is a compile error", with three `as`
17
+ casts in the snippet to match. None of it is true: the snippet compiles without them under
18
+ edfcore's own `tsconfig.json`. `src/errors.ts` says why in the docblock on `AnyEdfError` — the
19
+ union exists precisely so that switching on `edfErrorKind` reaches the extra fields "without
20
+ one". The page documented the problem the union was added to solve as though it were still
21
+ there.
22
+ - The snippet is now in `tests/types/documented-examples.test-d.ts` alongside the other two, so
23
+ `npm run typecheck` compiles it: if a cast ever became necessary, the build would say so rather
24
+ than a paragraph.
25
+ - Adding it immediately caught a second error in the same snippet. `EdfRangeError.available` is a
26
+ `RecordRange`, not a count, so the helper the page calls `clampToFile(error.available)` cannot
27
+ take a `number`.
28
+ - The comparison against the page is now indentation-insensitive, because a page-level fragment sits
29
+ at column 0 and a compiled copy has to live inside a function. The snippet's `switch` arms were
30
+ reflowed to the form this project's formatter produces, so the page shows code that would survive
31
+ `biome check`.
32
+
33
+ ## 0.3.64
34
+
35
+ - **Fixed** the pre-0.2 status text still on the website, which contradicted the package and, in one
36
+ case, the page it linked to in the same sentence.
37
+ - `concepts.md` said the pyEDFlib comparison harness "does not exist yet in 0.1" and linked, in
38
+ that sentence, to `physical-values.md`, which says it has existed since 0.2.34-0.2.48. So the
39
+ one claim a reader would check was denied by the page they were sent to check it on.
40
+ - `installation.md` said "edfcore is at 0.1.0" and that an element-by-element comparison against
41
+ pyEDFlib is "still missing"; `api-primitives.md` tabled `VERSION` as `'0.1.0'` and repeated it
42
+ in prose as "at the time of writing".
43
+ - Three pages scoped a still-true statement to a dead series — "edfcore has no other lifetime
44
+ mechanism in 0.1". The claim holds (`Symbol.asyncDispose` is not Baseline); the version scope
45
+ did not.
46
+ - The `VERSION` row no longer spells a number at all. A version written into a table is stale the
47
+ next release, which is how this started.
48
+ - `tests/integration/readme-status.test.ts` now sweeps every docs page for two present-tense shapes:
49
+ "edfcore is at X.Y.Z" that is not the published version, and "in X.Y" scoping a claim to a series
50
+ that is no longer this one. Past-tense history — "renamed in 0.3.0", "fixed in 0.2.63", "since
51
+ 0.2.34-0.2.48" — is correct forever and is deliberately not matched.
52
+
9
53
  ## 0.3.63
10
54
 
11
55
  - **Fixed** `diagnostics.md`'s always-fatal table, which said "Nine codes are always fatal", listed
@@ -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.3.63";
112
+ export declare const VERSION = "0.3.65";
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.3.63';
82
+ export const VERSION = '0.3.65';
83
83
  //# sourceMappingURL=constants.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.3.63",
3
+ "version": "0.3.65",
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.3.63';
96
+ export const VERSION = '0.3.65';