edfcore 0.3.81 → 0.3.82
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 +16 -0
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/dist/time/segments.d.ts +10 -2
- package/dist/time/segments.d.ts.map +1 -1
- package/dist/time/segments.js +10 -2
- package/dist/time/segments.js.map +1 -1
- package/package.json +1 -1
- package/src/constants.ts +1 -1
- package/src/time/segments.ts +10 -2
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,22 @@ 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.82
|
|
10
|
+
|
|
11
|
+
- **Corrected** the `time/segments.ts` docblock, which promised that running
|
|
12
|
+
`assertMonotonicOnsetArray` on the onsets first means "a gap can then only have a non-negative
|
|
13
|
+
duration". Ninety lines below it, the comment on `durationTicks` says "Negative for an overlap."
|
|
14
|
+
- Monotonicity is `onset[r] >= onset[r - 1]`, and an **overlap satisfies it**: `onset[r]` can be
|
|
15
|
+
at or after its predecessor and still before `onset[r - 1] + recordDurationTicks`.
|
|
16
|
+
`buildSegmentation` then closes the earlier segment past where the next one begins, and the gap
|
|
17
|
+
between them is negative — which is what `index.gaps` reports for a real overlapping file, and
|
|
18
|
+
what an existing test has asserted since 0.3.41 (`durationTicks` of `-2_000_000n`).
|
|
19
|
+
- The docblock now says what monotonicity actually buys: every segment starts at or after the one
|
|
20
|
+
before it, and nothing more.
|
|
21
|
+
- The test that pins the negative gap now also asserts that the same array passes
|
|
22
|
+
`assertMonotonicOnsetArray`, so the two halves of the retired claim are checked against each other
|
|
23
|
+
rather than separately.
|
|
24
|
+
|
|
9
25
|
## 0.3.81
|
|
10
26
|
|
|
11
27
|
- **Fixed** `validateHeader` being structurally unable to report `DATE_FIELDS_DISAGREE` under the
|
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.3.
|
|
112
|
+
export declare const VERSION = "0.3.82";
|
|
113
113
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.js
CHANGED
package/dist/time/segments.d.ts
CHANGED
|
@@ -3,8 +3,16 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Layer 4. Pure and synchronous, and structural only: it reports the shape the onsets actually
|
|
5
5
|
* have and judges none of it. Monotonicity and the spacing rules belong to `time/timeline.ts`,
|
|
6
|
-
* which is their sole owner — run `assertMonotonicOnsetArray` on the same array first, and
|
|
7
|
-
*
|
|
6
|
+
* which is their sole owner — run `assertMonotonicOnsetArray` on the same array first, and every
|
|
7
|
+
* segment then starts at or after the one before it.
|
|
8
|
+
*
|
|
9
|
+
* That is all monotonicity buys. It requires `onset[r] >= onset[r - 1]`, which an OVERLAP
|
|
10
|
+
* satisfies: `onset[r]` can be at or after its predecessor and still before
|
|
11
|
+
* `onset[r - 1] + recordDurationTicks`, and `buildSegmentation` then closes the earlier segment
|
|
12
|
+
* past where the next one begins. The gap between them is negative, which is exactly what the
|
|
13
|
+
* comment on `durationTicks` below says and what `index.gaps` reports for a real overlapping file.
|
|
14
|
+
* This docblock claimed a gap "can then only have a non-negative duration" until 0.3.82, ninety
|
|
15
|
+
* lines above the line saying otherwise.
|
|
8
16
|
*
|
|
9
17
|
* Only `buildRecordIndex` calls this, because only a complete traversal has every onset. The
|
|
10
18
|
* boundary rule is the one edfcore states everywhere else: a new segment starts wherever
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segments.d.ts","sourceRoot":"","sources":["../../src/time/segments.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"segments.d.ts","sourceRoot":"","sources":["../../src/time/segments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,WAAW,YAAY;IAC3B,2FAA2F;IAC3F,QAAQ,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,CAAC;IACzC,0FAA0F;IAC1F,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAOD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,EAC7B,mBAAmB,EAAE,MAAM,EAC3B,WAAW,CAAC,EAAE,MAAM,GACnB,YAAY,CAkEd"}
|
package/dist/time/segments.js
CHANGED
|
@@ -3,8 +3,16 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Layer 4. Pure and synchronous, and structural only: it reports the shape the onsets actually
|
|
5
5
|
* have and judges none of it. Monotonicity and the spacing rules belong to `time/timeline.ts`,
|
|
6
|
-
* which is their sole owner — run `assertMonotonicOnsetArray` on the same array first, and
|
|
7
|
-
*
|
|
6
|
+
* which is their sole owner — run `assertMonotonicOnsetArray` on the same array first, and every
|
|
7
|
+
* segment then starts at or after the one before it.
|
|
8
|
+
*
|
|
9
|
+
* That is all monotonicity buys. It requires `onset[r] >= onset[r - 1]`, which an OVERLAP
|
|
10
|
+
* satisfies: `onset[r]` can be at or after its predecessor and still before
|
|
11
|
+
* `onset[r - 1] + recordDurationTicks`, and `buildSegmentation` then closes the earlier segment
|
|
12
|
+
* past where the next one begins. The gap between them is negative, which is exactly what the
|
|
13
|
+
* comment on `durationTicks` below says and what `index.gaps` reports for a real overlapping file.
|
|
14
|
+
* This docblock claimed a gap "can then only have a non-negative duration" until 0.3.82, ninety
|
|
15
|
+
* lines above the line saying otherwise.
|
|
8
16
|
*
|
|
9
17
|
* Only `buildRecordIndex` calls this, because only a complete traversal has every onset. The
|
|
10
18
|
* boundary rule is the one edfcore states everywhere else: a new segment starts wherever
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segments.js","sourceRoot":"","sources":["../../src/time/segments.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"segments.js","sourceRoot":"","sources":["../../src/time/segments.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED
package/src/time/segments.ts
CHANGED
|
@@ -3,8 +3,16 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Layer 4. Pure and synchronous, and structural only: it reports the shape the onsets actually
|
|
5
5
|
* have and judges none of it. Monotonicity and the spacing rules belong to `time/timeline.ts`,
|
|
6
|
-
* which is their sole owner — run `assertMonotonicOnsetArray` on the same array first, and
|
|
7
|
-
*
|
|
6
|
+
* which is their sole owner — run `assertMonotonicOnsetArray` on the same array first, and every
|
|
7
|
+
* segment then starts at or after the one before it.
|
|
8
|
+
*
|
|
9
|
+
* That is all monotonicity buys. It requires `onset[r] >= onset[r - 1]`, which an OVERLAP
|
|
10
|
+
* satisfies: `onset[r]` can be at or after its predecessor and still before
|
|
11
|
+
* `onset[r - 1] + recordDurationTicks`, and `buildSegmentation` then closes the earlier segment
|
|
12
|
+
* past where the next one begins. The gap between them is negative, which is exactly what the
|
|
13
|
+
* comment on `durationTicks` below says and what `index.gaps` reports for a real overlapping file.
|
|
14
|
+
* This docblock claimed a gap "can then only have a non-negative duration" until 0.3.82, ninety
|
|
15
|
+
* lines above the line saying otherwise.
|
|
8
16
|
*
|
|
9
17
|
* Only `buildRecordIndex` calls this, because only a complete traversal has every onset. The
|
|
10
18
|
* boundary rule is the one edfcore states everywhere else: a new segment starts wherever
|