edfcore 0.6.225 → 0.6.226
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/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/dist/sample-locate.d.ts.map +1 -1
- package/dist/sample-locate.js +15 -4
- package/dist/sample-locate.js.map +1 -1
- package/docs/CHANGELOG.md +17 -0
- package/package.json +1 -1
- package/src/constants.ts +1 -1
- package/src/sample-locate.ts +16 -4
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.226";
|
|
113
113
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sample-locate.d.ts","sourceRoot":"","sources":["../src/sample-locate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAyB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"sample-locate.d.ts","sourceRoot":"","sources":["../src/sample-locate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAyB,MAAM,YAAY,CAAC;AA4HzF;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CACtB,SAAS,EAAE,YAAY,EACvB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,iBAAiB,GAAG,SAAS,CAgE/B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,YAAY,EACvB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,MAAM,CAwCR;AAED,wFAAwF;AACxF,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,YAAY,EACvB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,MAAM,CAQR"}
|
package/dist/sample-locate.js
CHANGED
|
@@ -60,12 +60,23 @@ function resolveSignal(recording, signalIndex, call) {
|
|
|
60
60
|
* falls between two, which is the distinction 0.6.93 drew in `getSignal` itself. This is the
|
|
61
61
|
* other copy of that message (fixed in 0.6.133).
|
|
62
62
|
*/
|
|
63
|
-
|
|
63
|
+
// The canonical decimal string is a SPELLING of an index here, not text: the lookup one line up
|
|
64
|
+
// IS `recording.header.signals['9']`, which is the property access `recording.header.signals[9]`
|
|
65
|
+
// is — the coercion `a-selection-from-json.test.ts` names. Until 0.6.226 it was called "not a
|
|
66
|
+
// number this header can be indexed by", which is the one thing it is: index 9 simply is not in
|
|
67
|
+
// a 3-signal file, and the message said the spelling was the problem. 0.6.218 made this argument
|
|
68
|
+
// for the refusal the five reading calls share and 0.6.225 for `decodeDigital`; this is the copy
|
|
69
|
+
// that predates both. `' 9 '` and `''` are not spellings this header can be indexed by, and
|
|
70
|
+
// reading 9 or 0 out of them would name a signal nobody wrote.
|
|
71
|
+
const index = typeof signalIndex === 'string' && signalIndex === String(Number(signalIndex))
|
|
72
|
+
? Number(signalIndex)
|
|
73
|
+
: signalIndex;
|
|
74
|
+
const problem = !Number.isFinite(index)
|
|
64
75
|
? `signalIndex is ${describeValue(signalIndex)}, not a number this header can be indexed by`
|
|
65
|
-
: Number.isInteger(
|
|
66
|
-
? `signalIndex ${
|
|
76
|
+
: Number.isInteger(index)
|
|
77
|
+
? `signalIndex ${index} is outside the ` +
|
|
67
78
|
`${recording.header.signals.length} signals this file declares`
|
|
68
|
-
: `signalIndex ${
|
|
79
|
+
: `signalIndex ${index} is not a whole number, so it falls between two signals ` +
|
|
69
80
|
'rather than outside them';
|
|
70
81
|
throw new EdfChannelNotFoundError(`${problem}. Next: pass an index from ` +
|
|
71
82
|
'header.dataSignalIndices, or resolve one with getSignal(header, label).', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sample-locate.js","sourceRoot":"","sources":["../src/sample-locate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD;;;;;GAKG;AACH,SAAS,aAAa,CAAC,SAAuB,EAAE,WAAmB,EAAE,IAAY;IAC/E,iGAAiG;IACjG,kGAAkG;IAClG,mGAAmG;IACnG,+FAA+F;IAC/F,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACrD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB;;;;;;;;;WASG;QACH,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"sample-locate.js","sourceRoot":"","sources":["../src/sample-locate.ts"],"names":[],"mappings":"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"}
|
package/docs/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,23 @@ 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.226
|
|
10
|
+
|
|
11
|
+
- **Fixed** `sampleAt`, `sampleStartTicksOf` and `sampleStartSecondsOf` calling the canonical
|
|
12
|
+
decimal string the one thing it is not. The lookup they share is
|
|
13
|
+
`recording.header.signals[signalIndex]`, so `signals['9']` is the property access `signals[9]` is
|
|
14
|
+
— the coercion `a-selection-from-json.test.ts` names and 0.6.135 deduplicates against — and a
|
|
15
|
+
selection built from JSON, a query parameter or a form arrives with its index as text.
|
|
16
|
+
- The refusal said `signalIndex is the string "9", not a number this header can be indexed by`.
|
|
17
|
+
Index 9 is simply not in a 3-signal file, which is the sentence the same guard prints for `9`;
|
|
18
|
+
the message blamed the spelling instead and sent a reader to convert a value that needed no
|
|
19
|
+
converting.
|
|
20
|
+
- 0.6.218 made this argument for the refusal the five reading calls share and 0.6.225 for
|
|
21
|
+
`decodeDigital`. This copy is older than both — 0.6.133 wrote it, and its comment calls itself
|
|
22
|
+
"the other copy of that message" — so all three now agree.
|
|
23
|
+
- Only a round-trip-exact spelling counts: `' 9 '`, `''` and `'0x10'` are still described as the
|
|
24
|
+
strings they are, a label is untouched, and every number keeps its sentence.
|
|
25
|
+
|
|
9
26
|
## 0.6.225
|
|
10
27
|
|
|
11
28
|
- **Fixed** `decodeDigital` answering three different selector mistakes with one sentence and the
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED
package/src/sample-locate.ts
CHANGED
|
@@ -63,12 +63,24 @@ function resolveSignal(recording: EdfRecording, signalIndex: number, call: strin
|
|
|
63
63
|
* falls between two, which is the distinction 0.6.93 drew in `getSignal` itself. This is the
|
|
64
64
|
* other copy of that message (fixed in 0.6.133).
|
|
65
65
|
*/
|
|
66
|
-
|
|
66
|
+
// The canonical decimal string is a SPELLING of an index here, not text: the lookup one line up
|
|
67
|
+
// IS `recording.header.signals['9']`, which is the property access `recording.header.signals[9]`
|
|
68
|
+
// is — the coercion `a-selection-from-json.test.ts` names. Until 0.6.226 it was called "not a
|
|
69
|
+
// number this header can be indexed by", which is the one thing it is: index 9 simply is not in
|
|
70
|
+
// a 3-signal file, and the message said the spelling was the problem. 0.6.218 made this argument
|
|
71
|
+
// for the refusal the five reading calls share and 0.6.225 for `decodeDigital`; this is the copy
|
|
72
|
+
// that predates both. `' 9 '` and `''` are not spellings this header can be indexed by, and
|
|
73
|
+
// reading 9 or 0 out of them would name a signal nobody wrote.
|
|
74
|
+
const index =
|
|
75
|
+
typeof signalIndex === 'string' && signalIndex === String(Number(signalIndex))
|
|
76
|
+
? Number(signalIndex)
|
|
77
|
+
: signalIndex;
|
|
78
|
+
const problem = !Number.isFinite(index)
|
|
67
79
|
? `signalIndex is ${describeValue(signalIndex)}, not a number this header can be indexed by`
|
|
68
|
-
: Number.isInteger(
|
|
69
|
-
? `signalIndex ${
|
|
80
|
+
: Number.isInteger(index)
|
|
81
|
+
? `signalIndex ${index} is outside the ` +
|
|
70
82
|
`${recording.header.signals.length} signals this file declares`
|
|
71
|
-
: `signalIndex ${
|
|
83
|
+
: `signalIndex ${index} is not a whole number, so it falls between two signals ` +
|
|
72
84
|
'rather than outside them';
|
|
73
85
|
throw new EdfChannelNotFoundError(
|
|
74
86
|
`${problem}. Next: pass an index from ` +
|