edfcore 0.4.264 → 0.4.266

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.264";
112
+ export declare const VERSION = "0.4.266";
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.264';
82
+ export const VERSION = '0.4.266';
83
83
  //# sourceMappingURL=constants.js.map
@@ -21,6 +21,15 @@
21
21
  * Only C0 and DEL are replaced. Latin-1 letters above 0x7f are ordinary characters in an
22
22
  * electrode label written on a European system, and 0x80-0x9f are left alone because edfcore
23
23
  * decodes headers as ISO-8859-1, where that range is not control characters.
24
+ *
25
+ * That argument covers header text, which is Latin-1 and therefore stops at U+00FF. It is not the
26
+ * only thing printed through here: ANNOTATION text is UTF-8, so `U+2028 LINE SEPARATOR` and
27
+ * anything else above U+00FF can arrive from a file — `cli-run.ts` prints it for `events` and
28
+ * `format-annotations.ts` for the hypnogram. Those pass through unchanged, deliberately. No
29
+ * terminal and no HTML renderer breaks a line on U+2028, so it is not structure in any output
30
+ * edfcore produces, and replacing it would be replacing a character an annotation legitimately
31
+ * contains. The rule is about what the OUTPUT treats as structure, not about what a language
32
+ * specification calls a line terminator.
24
33
  */
25
34
  /** Every C0 control character and DEL becomes `.`; everything else is returned unchanged. */
26
35
  export declare function printable(text: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"printable.d.ts","sourceRoot":"","sources":["../../src/text/printable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,6FAA6F;AAC7F,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO9C"}
1
+ {"version":3,"file":"printable.d.ts","sourceRoot":"","sources":["../../src/text/printable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,6FAA6F;AAC7F,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO9C"}
@@ -21,6 +21,15 @@
21
21
  * Only C0 and DEL are replaced. Latin-1 letters above 0x7f are ordinary characters in an
22
22
  * electrode label written on a European system, and 0x80-0x9f are left alone because edfcore
23
23
  * decodes headers as ISO-8859-1, where that range is not control characters.
24
+ *
25
+ * That argument covers header text, which is Latin-1 and therefore stops at U+00FF. It is not the
26
+ * only thing printed through here: ANNOTATION text is UTF-8, so `U+2028 LINE SEPARATOR` and
27
+ * anything else above U+00FF can arrive from a file — `cli-run.ts` prints it for `events` and
28
+ * `format-annotations.ts` for the hypnogram. Those pass through unchanged, deliberately. No
29
+ * terminal and no HTML renderer breaks a line on U+2028, so it is not structure in any output
30
+ * edfcore produces, and replacing it would be replacing a character an annotation legitimately
31
+ * contains. The rule is about what the OUTPUT treats as structure, not about what a language
32
+ * specification calls a line terminator.
24
33
  */
25
34
  /** Every C0 control character and DEL becomes `.`; everything else is returned unchanged. */
26
35
  export function printable(text) {
@@ -1 +1 @@
1
- {"version":3,"file":"printable.js","sourceRoot":"","sources":["../../src/text/printable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,6FAA6F;AAC7F,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3C,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"printable.js","sourceRoot":"","sources":["../../src/text/printable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,6FAA6F;AAC7F,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3C,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,36 @@ 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.266
10
+
11
+ - **Added** a check that every `npx edfcore …` written in the documentation is one the CLI
12
+ accepts. The commands were checked two ways already and neither covered it: `api-surface.md`'s
13
+ count is compared with `--help`, and `cli-command-list.test.ts` asserts `--help` offers exactly
14
+ what the dispatch switch handles. Both compare the CLI with itself. The sixteen invocations
15
+ spread across the README, the CLI page and the guides — the lines a reader actually copies into
16
+ a terminal — were checked by nobody, and renaming a command is exactly the change that would
17
+ leave both existing checks green while every page still named the old one.
18
+ - Driven through `runCli` rather than `parseArgs`, because an unknown command is not a parse
19
+ error: `parseArgs` puts any non-flag word in the command slot quite happily, so checking the
20
+ parser would have passed on `edfcore summary`. Exit code 2 is the documented contract for bad
21
+ usage, and that is what this asserts against.
22
+
23
+ ## 0.4.265
24
+
25
+ - **Added** the unit test `printable` never had. It is the smallest module in the package and its
26
+ whole content is one rule — replace the C0 controls and DEL, leave everything else — and four
27
+ test files mentioned it while testing something else. Nothing pinned which code points it acts
28
+ on, in either direction: replacing too little lets a tab invent a column in the CLI's
29
+ tab-separated output, and replacing too much mangles an electrode label written on a European
30
+ system, where `0xB5` for micro is ordinary text.
31
+ - **Completed** the module's own argument for that rule. It justified leaving `0x80`-`0xFF` alone
32
+ by pointing at ISO-8859-1 header decoding, which stops at `U+00FF` — and header text is not the
33
+ only thing printed through it. Annotation text is UTF-8, so `U+2028 LINE SEPARATOR` really can
34
+ arrive from a file and reach `edfcore events`. It passes through, which is right and now says
35
+ why: no terminal and no HTML renderer breaks a line on it, so it is not structure in any output
36
+ edfcore produces. The rule is about what the output treats as structure, not about what a
37
+ language specification calls a line terminator.
38
+
9
39
  ## 0.4.264
10
40
 
11
41
  - **Widened** the guard added in 0.4.239, which enforced the narrower half of its own rule. It
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.264",
3
+ "version": "0.4.266",
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.264';
96
+ export const VERSION = '0.4.266';
@@ -21,6 +21,15 @@
21
21
  * Only C0 and DEL are replaced. Latin-1 letters above 0x7f are ordinary characters in an
22
22
  * electrode label written on a European system, and 0x80-0x9f are left alone because edfcore
23
23
  * decodes headers as ISO-8859-1, where that range is not control characters.
24
+ *
25
+ * That argument covers header text, which is Latin-1 and therefore stops at U+00FF. It is not the
26
+ * only thing printed through here: ANNOTATION text is UTF-8, so `U+2028 LINE SEPARATOR` and
27
+ * anything else above U+00FF can arrive from a file — `cli-run.ts` prints it for `events` and
28
+ * `format-annotations.ts` for the hypnogram. Those pass through unchanged, deliberately. No
29
+ * terminal and no HTML renderer breaks a line on U+2028, so it is not structure in any output
30
+ * edfcore produces, and replacing it would be replacing a character an annotation legitimately
31
+ * contains. The rule is about what the OUTPUT treats as structure, not about what a language
32
+ * specification calls a line terminator.
24
33
  */
25
34
 
26
35
  /** Every C0 control character and DEL becomes `.`; everything else is returned unchanged. */