edfcore 0.6.70 → 0.6.72
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/chunks.d.ts +8 -2
- package/dist/chunks.d.ts.map +1 -1
- package/dist/chunks.js +8 -2
- package/dist/chunks.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/dist/header/scale.d.ts +5 -2
- package/dist/header/scale.d.ts.map +1 -1
- package/dist/header/scale.js +5 -2
- package/dist/header/scale.js.map +1 -1
- package/docs/CHANGELOG.md +28 -0
- package/package.json +1 -1
- package/src/chunks.ts +8 -2
- package/src/constants.ts +1 -1
- package/src/header/scale.ts +5 -2
package/dist/chunks.d.ts
CHANGED
|
@@ -2,8 +2,14 @@
|
|
|
2
2
|
* Joining chunks that a read returned as several.
|
|
3
3
|
*
|
|
4
4
|
* Layer 7, and pure: nothing here reads. `readWindow` splits at every discontinuity, so a window
|
|
5
|
-
* over an EDF+D file comes back as one chunk per contiguous run
|
|
6
|
-
*
|
|
5
|
+
* over an EDF+D file comes back as one chunk per contiguous run ONCE THE INDEX IS COMPLETE. With
|
|
6
|
+
* the probed index `openEdf` hands you it does not return several chunks — it throws, because a
|
|
7
|
+
* pair of probes cannot say where the gap is, and `buildRecordIndex` is what changes that. This
|
|
8
|
+
* said the first half flatly until 0.6.71, which described a call that throws on the index a
|
|
9
|
+
* reader has at that moment.
|
|
10
|
+
*
|
|
11
|
+
* Code that then wants ONE array — a filter, an FFT, a CSV writer — has to join them, and joining
|
|
12
|
+
* is where the gap gets lost.
|
|
7
13
|
*
|
|
8
14
|
* Concatenating two runs separated by five minutes produces an array in which sample `i` and
|
|
9
15
|
* sample `i + 1` are five minutes apart. Every time derived from an index past that point is
|
package/dist/chunks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks.d.ts","sourceRoot":"","sources":["../src/chunks.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"chunks.d.ts","sourceRoot":"","sources":["../src/chunks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAiC,MAAM,YAAY,CAAC;AAsI1E;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,GAAG,QAAQ,CA8EjE"}
|
package/dist/chunks.js
CHANGED
|
@@ -2,8 +2,14 @@
|
|
|
2
2
|
* Joining chunks that a read returned as several.
|
|
3
3
|
*
|
|
4
4
|
* Layer 7, and pure: nothing here reads. `readWindow` splits at every discontinuity, so a window
|
|
5
|
-
* over an EDF+D file comes back as one chunk per contiguous run
|
|
6
|
-
*
|
|
5
|
+
* over an EDF+D file comes back as one chunk per contiguous run ONCE THE INDEX IS COMPLETE. With
|
|
6
|
+
* the probed index `openEdf` hands you it does not return several chunks — it throws, because a
|
|
7
|
+
* pair of probes cannot say where the gap is, and `buildRecordIndex` is what changes that. This
|
|
8
|
+
* said the first half flatly until 0.6.71, which described a call that throws on the index a
|
|
9
|
+
* reader has at that moment.
|
|
10
|
+
*
|
|
11
|
+
* Code that then wants ONE array — a filter, an FFT, a CSV writer — has to join them, and joining
|
|
12
|
+
* is where the gap gets lost.
|
|
7
13
|
*
|
|
8
14
|
* Concatenating two runs separated by five minutes produces an array in which sample `i` and
|
|
9
15
|
* sample `i + 1` are five minutes apart. Every time derived from an index past that point is
|
package/dist/chunks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks.js","sourceRoot":"","sources":["../src/chunks.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"chunks.js","sourceRoot":"","sources":["../src/chunks.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.72";
|
|
113
113
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.js
CHANGED
package/dist/header/scale.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Digital-to-physical scale, and the decision to refuse one.
|
|
3
3
|
*
|
|
4
|
-
* Layer 2. Sole owner of `EdfScale` construction and of the
|
|
5
|
-
* signal gets `scale: undefined` instead of a fabricated gain
|
|
4
|
+
* Layer 2. Sole owner of `EdfScale` construction and of the five conditions under which a
|
|
5
|
+
* signal gets `scale: undefined` instead of a fabricated gain: the three degenerate or inverted
|
|
6
|
+
* ranges, a log-transformed channel, and a derived gain that is not a usable float64. The last
|
|
7
|
+
* arrived in 0.4.509 and `design-decisions.md`, `physical-values.md` and `api-errors.md` have
|
|
8
|
+
* called it the fifth ever since; this said "the four conditions" until 0.6.72.
|
|
6
9
|
*
|
|
7
10
|
* The expression is EDFlib's, verbatim:
|
|
8
11
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scale.d.ts","sourceRoot":"","sources":["../../src/header/scale.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"scale.d.ts","sourceRoot":"","sources":["../../src/header/scale.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAkB,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAYhE,4EAA4E;AAC5E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,sCAAsC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,qFAAqF;IACrF,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,kFAAkF;IAClF,QAAQ,CAAC,GAAG,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC7C,6CAA6C;IAC7C,QAAQ,CAAC,WAAW,EAAE,iBAAiB,GAAG,SAAS,CAAC;CACrD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAE/D;AA6CD;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,GAAG,QAAQ,GAAG,SAAS,CA4IxF"}
|
package/dist/header/scale.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Digital-to-physical scale, and the decision to refuse one.
|
|
3
3
|
*
|
|
4
|
-
* Layer 2. Sole owner of `EdfScale` construction and of the
|
|
5
|
-
* signal gets `scale: undefined` instead of a fabricated gain
|
|
4
|
+
* Layer 2. Sole owner of `EdfScale` construction and of the five conditions under which a
|
|
5
|
+
* signal gets `scale: undefined` instead of a fabricated gain: the three degenerate or inverted
|
|
6
|
+
* ranges, a log-transformed channel, and a derived gain that is not a usable float64. The last
|
|
7
|
+
* arrived in 0.4.509 and `design-decisions.md`, `physical-values.md` and `api-errors.md` have
|
|
8
|
+
* called it the fifth ever since; this said "the four conditions" until 0.6.72.
|
|
6
9
|
*
|
|
7
10
|
* The expression is EDFlib's, verbatim:
|
|
8
11
|
*
|
package/dist/header/scale.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scale.js","sourceRoot":"","sources":["../../src/header/scale.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"scale.js","sourceRoot":"","sources":["../../src/header/scale.ts"],"names":[],"mappings":"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"}
|
package/docs/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,34 @@ 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.72
|
|
10
|
+
|
|
11
|
+
- **Fixed** `header/scale.ts` calling itself sole owner of "the four conditions" under which a
|
|
12
|
+
signal gets `scale: undefined`. There are five. The fifth — a physical range whose derived gain
|
|
13
|
+
is not a usable float64 — arrived in 0.4.509, and `design-decisions.md`, `physical-values.md`
|
|
14
|
+
and `api-errors.md` have each called it the fifth ever since. The module that owns them kept
|
|
15
|
+
the old count.
|
|
16
|
+
- It is the docblock a reader opens to find out when `signal.scale` can be `undefined`, which is
|
|
17
|
+
the whole reason that field is optional. A count one short there is a caller who handles four
|
|
18
|
+
cases and is surprised by a file.
|
|
19
|
+
- The test builds and drives each of the five rather than counting them out of the source, and
|
|
20
|
+
separates the fifth from the second — they share `DEGENERATE_PHYSICAL_RANGE` and the message
|
|
21
|
+
says which one fired. A sixth has to be exercised there before the count may grow again.
|
|
22
|
+
|
|
23
|
+
## 0.6.71
|
|
24
|
+
|
|
25
|
+
- **Fixed** `chunks.ts` opening with a call that throws on the index a reader holds. It said
|
|
26
|
+
`readWindow` "splits at every discontinuity, so a window over an EDF+D file comes back as one
|
|
27
|
+
chunk per contiguous run" — true of a COMPLETE index, and false of the probed one `openEdf`
|
|
28
|
+
returns, where the same call throws because two probes cannot say where the gap is.
|
|
29
|
+
- That paragraph is the argument for `mergeChunks` existing, so it is the first thing a reader of
|
|
30
|
+
this module reads, and it never mentioned `buildRecordIndex` — the step between them and the
|
|
31
|
+
several chunks the module is for. `recording.ts`, the README and `discontinuous.md` all carry
|
|
32
|
+
the qualifier.
|
|
33
|
+
- The test makes both calls on one file, so the difference is the index and nothing else, and
|
|
34
|
+
pins that the probed refusal is a plain `RangeError` rather than an `EdfError`: the file is
|
|
35
|
+
fine and the index passed was not enough.
|
|
36
|
+
|
|
9
37
|
## 0.6.70
|
|
10
38
|
|
|
11
39
|
- **Changed** `edfcore header` to label its first diagnostics block when a second one follows. It
|
package/package.json
CHANGED
package/src/chunks.ts
CHANGED
|
@@ -2,8 +2,14 @@
|
|
|
2
2
|
* Joining chunks that a read returned as several.
|
|
3
3
|
*
|
|
4
4
|
* Layer 7, and pure: nothing here reads. `readWindow` splits at every discontinuity, so a window
|
|
5
|
-
* over an EDF+D file comes back as one chunk per contiguous run
|
|
6
|
-
*
|
|
5
|
+
* over an EDF+D file comes back as one chunk per contiguous run ONCE THE INDEX IS COMPLETE. With
|
|
6
|
+
* the probed index `openEdf` hands you it does not return several chunks — it throws, because a
|
|
7
|
+
* pair of probes cannot say where the gap is, and `buildRecordIndex` is what changes that. This
|
|
8
|
+
* said the first half flatly until 0.6.71, which described a call that throws on the index a
|
|
9
|
+
* reader has at that moment.
|
|
10
|
+
*
|
|
11
|
+
* Code that then wants ONE array — a filter, an FFT, a CSV writer — has to join them, and joining
|
|
12
|
+
* is where the gap gets lost.
|
|
7
13
|
*
|
|
8
14
|
* Concatenating two runs separated by five minutes produces an array in which sample `i` and
|
|
9
15
|
* sample `i + 1` are five minutes apart. Every time derived from an index past that point is
|
package/src/constants.ts
CHANGED
package/src/header/scale.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Digital-to-physical scale, and the decision to refuse one.
|
|
3
3
|
*
|
|
4
|
-
* Layer 2. Sole owner of `EdfScale` construction and of the
|
|
5
|
-
* signal gets `scale: undefined` instead of a fabricated gain
|
|
4
|
+
* Layer 2. Sole owner of `EdfScale` construction and of the five conditions under which a
|
|
5
|
+
* signal gets `scale: undefined` instead of a fabricated gain: the three degenerate or inverted
|
|
6
|
+
* ranges, a log-transformed channel, and a derived gain that is not a usable float64. The last
|
|
7
|
+
* arrived in 0.4.509 and `design-decisions.md`, `physical-values.md` and `api-errors.md` have
|
|
8
|
+
* called it the fifth ever since; this said "the four conditions" until 0.6.72.
|
|
6
9
|
*
|
|
7
10
|
* The expression is EDFlib's, verbatim:
|
|
8
11
|
*
|