edfcore 0.6.207 → 0.6.208
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/dist/annotations-query.d.ts.map +1 -1
- package/dist/annotations-query.js +29 -4
- package/dist/annotations-query.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/docs/CHANGELOG.md +13 -0
- package/package.json +1 -1
- package/src/annotations-query.ts +31 -4
- package/src/constants.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotations-query.d.ts","sourceRoot":"","sources":["../src/annotations-query.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"annotations-query.d.ts","sourceRoot":"","sources":["../src/annotations-query.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAmDrE;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,SAAS,aAAa,EAAE,EACrC,MAAM,EAAE,mBAAmB,GAC1B,SAAS,aAAa,EAAE,CAwD1B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,SAAS,aAAa,EAAE,EACrC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,GACnD,SAAS,aAAa,EAAE,CAiB1B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,SAAS,aAAa,EAAE,GACpC,aAAa,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CASlE;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,WAAW,EAAE,SAAS,aAAa,EAAE,EACrC,OAAO,EAAE,MAAM,GACd,SAAS,aAAa,EAAE,CAU1B"}
|
|
@@ -35,11 +35,36 @@ import { describeValue } from './text/describe.js';
|
|
|
35
35
|
* 0.6.107).
|
|
36
36
|
*/
|
|
37
37
|
function assertAnnotations(annotations, call) {
|
|
38
|
-
if (Array.isArray(annotations))
|
|
38
|
+
if (!Array.isArray(annotations)) {
|
|
39
|
+
throw new RangeError(`${call}(): the annotations are ${describeValue(annotations)}, not an array. Next: pass the ` +
|
|
40
|
+
'`annotations` field of what readAnnotations(recording, records) resolved to, which is a ' +
|
|
41
|
+
'result object rather than the list itself.');
|
|
42
|
+
}
|
|
43
|
+
/*
|
|
44
|
+
* And the ELEMENTS, which being an array says nothing about.
|
|
45
|
+
*
|
|
46
|
+
* The three printers closed this one at a time — `formatDiagnostics` in 0.6.160,
|
|
47
|
+
* `summarizeDiagnostics` in 0.6.168, `formatAnnotations` in 0.6.185 — and these four QUERIES share
|
|
48
|
+
* a guard that still stopped at `Array.isArray`. Three of the four then answered:
|
|
49
|
+
* `filterAnnotationsByText` and `annotationsAt` returned `[]`, which means "no event matches" said
|
|
50
|
+
* of a list holding no events at all, and `countAnnotationsByText` returned one row counting
|
|
51
|
+
* `undefined`. Only `filterAnnotationsByTime` failed, with V8's `Cannot mix BigInt and other
|
|
52
|
+
* types` out of the tick comparison.
|
|
53
|
+
*
|
|
54
|
+
* `header.diagnostics` and `timeline.diagnostics` are the lists that get passed: they are the
|
|
55
|
+
* other arrays a reader holds after opening a file, and the printers for both sit beside these
|
|
56
|
+
* four in the barrel.
|
|
57
|
+
*
|
|
58
|
+
* The onset is the field to test — every one of these four reads it, and it is the one an
|
|
59
|
+
* annotation cannot be without.
|
|
60
|
+
*/
|
|
61
|
+
const first = annotations[0];
|
|
62
|
+
if (annotations.length === 0 || typeof first?.onsetTicksFromFirstRecord === 'bigint')
|
|
39
63
|
return;
|
|
40
|
-
throw new RangeError(`${call}(): the
|
|
41
|
-
'
|
|
42
|
-
'
|
|
64
|
+
throw new RangeError(`${call}(): the value at 0 carries no onset, so this is not a list of annotations — and three ` +
|
|
65
|
+
'of these four calls answer with a list, so a wrong one reads as a recording with nothing in ' +
|
|
66
|
+
'it. Next: pass the `annotations` field of what readAnnotations(recording, records) resolved ' +
|
|
67
|
+
'to, or print a list of diagnostics with formatDiagnostics().');
|
|
43
68
|
}
|
|
44
69
|
/**
|
|
45
70
|
* The annotations that overlap a time window, in the recording's own timebase.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotations-query.js","sourceRoot":"","sources":["../src/annotations-query.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD;;;;;;;;;;;;GAYG;AACH,SAAS,iBAAiB,CAAC,WAAqC,EAAE,IAAY;IAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC
|
|
1
|
+
{"version":3,"file":"annotations-query.js","sourceRoot":"","sources":["../src/annotations-query.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -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.6.
|
|
112
|
+
export declare const VERSION = "0.6.208";
|
|
113
113
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.js
CHANGED
package/docs/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,19 @@ 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.6.208
|
|
10
|
+
|
|
11
|
+
- **Fixed** the four annotation queries answering over an array of something else. Their shared guard
|
|
12
|
+
stopped at `Array.isArray`, and being an array says nothing about what is in it.
|
|
13
|
+
- Three of the four then ANSWERED. `filterAnnotationsByText` and `annotationsAt` returned `[]` —
|
|
14
|
+
"no event matches", said of a list holding no events at all — and `countAnnotationsByText` returned
|
|
15
|
+
one row counting `undefined`. Only `filterAnnotationsByTime` failed, with V8's `Cannot mix BigInt
|
|
16
|
+
and other types` out of the tick comparison.
|
|
17
|
+
- `header.diagnostics` and `timeline.diagnostics` are the lists that get passed: the other arrays a
|
|
18
|
+
reader holds after opening a file, whose printers sit beside these four in the barrel.
|
|
19
|
+
- The three printers closed this one at a time — 0.6.160, 0.6.168, 0.6.185 — each checking the field
|
|
20
|
+
its own rows must carry. These four share one guard, and the field is the onset.
|
|
21
|
+
|
|
9
22
|
## 0.6.207
|
|
10
23
|
|
|
11
24
|
- **Fixed** `fileSource` handing a non-file URL to `fs.open`. A URL object is an accepted argument —
|
package/package.json
CHANGED
package/src/annotations-query.ts
CHANGED
|
@@ -38,11 +38,38 @@ import type { EdfAnnotation, EdfAnnotationWindow } from './types.js';
|
|
|
38
38
|
* 0.6.107).
|
|
39
39
|
*/
|
|
40
40
|
function assertAnnotations(annotations: readonly EdfAnnotation[], call: string): void {
|
|
41
|
-
if (Array.isArray(annotations))
|
|
41
|
+
if (!Array.isArray(annotations)) {
|
|
42
|
+
throw new RangeError(
|
|
43
|
+
`${call}(): the annotations are ${describeValue(annotations)}, not an array. Next: pass the ` +
|
|
44
|
+
'`annotations` field of what readAnnotations(recording, records) resolved to, which is a ' +
|
|
45
|
+
'result object rather than the list itself.',
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
/*
|
|
49
|
+
* And the ELEMENTS, which being an array says nothing about.
|
|
50
|
+
*
|
|
51
|
+
* The three printers closed this one at a time — `formatDiagnostics` in 0.6.160,
|
|
52
|
+
* `summarizeDiagnostics` in 0.6.168, `formatAnnotations` in 0.6.185 — and these four QUERIES share
|
|
53
|
+
* a guard that still stopped at `Array.isArray`. Three of the four then answered:
|
|
54
|
+
* `filterAnnotationsByText` and `annotationsAt` returned `[]`, which means "no event matches" said
|
|
55
|
+
* of a list holding no events at all, and `countAnnotationsByText` returned one row counting
|
|
56
|
+
* `undefined`. Only `filterAnnotationsByTime` failed, with V8's `Cannot mix BigInt and other
|
|
57
|
+
* types` out of the tick comparison.
|
|
58
|
+
*
|
|
59
|
+
* `header.diagnostics` and `timeline.diagnostics` are the lists that get passed: they are the
|
|
60
|
+
* other arrays a reader holds after opening a file, and the printers for both sit beside these
|
|
61
|
+
* four in the barrel.
|
|
62
|
+
*
|
|
63
|
+
* The onset is the field to test — every one of these four reads it, and it is the one an
|
|
64
|
+
* annotation cannot be without.
|
|
65
|
+
*/
|
|
66
|
+
const first = annotations[0] as { onsetTicksFromFirstRecord?: unknown } | undefined;
|
|
67
|
+
if (annotations.length === 0 || typeof first?.onsetTicksFromFirstRecord === 'bigint') return;
|
|
42
68
|
throw new RangeError(
|
|
43
|
-
`${call}(): the
|
|
44
|
-
'
|
|
45
|
-
'
|
|
69
|
+
`${call}(): the value at 0 carries no onset, so this is not a list of annotations — and three ` +
|
|
70
|
+
'of these four calls answer with a list, so a wrong one reads as a recording with nothing in ' +
|
|
71
|
+
'it. Next: pass the `annotations` field of what readAnnotations(recording, records) resolved ' +
|
|
72
|
+
'to, or print a list of diagnostics with formatDiagnostics().',
|
|
46
73
|
);
|
|
47
74
|
}
|
|
48
75
|
|
package/src/constants.ts
CHANGED