edfcore 0.6.57 → 0.6.59
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/io/source.d.ts +7 -2
- package/dist/io/source.d.ts.map +1 -1
- package/dist/io/source.js +7 -2
- package/dist/io/source.js.map +1 -1
- package/dist/time/timeline.d.ts +9 -3
- package/dist/time/timeline.d.ts.map +1 -1
- package/dist/time/timeline.js +9 -3
- package/dist/time/timeline.js.map +1 -1
- package/docs/CHANGELOG.md +28 -0
- package/package.json +1 -1
- package/src/constants.ts +1 -1
- package/src/io/source.ts +7 -2
- package/src/time/timeline.ts +9 -3
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.59";
|
|
113
113
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.js
CHANGED
package/dist/io/source.d.ts
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The `ByteSource` contract guard.
|
|
3
3
|
*
|
|
4
|
-
* Layer 5, and the only file in `io/` that imports
|
|
5
|
-
* about EDF.
|
|
4
|
+
* Layer 5, and the only file in `io/` that imports nothing from `io/`: every adapter here calls
|
|
5
|
+
* into this one and it calls into none of them. Nothing here knows anything about EDF.
|
|
6
|
+
*
|
|
7
|
+
* It said "the only file in `io/` that imports an error class" until 0.6.58, which `bytes.ts`,
|
|
8
|
+
* `http.ts` and `read.ts` each disprove by raising one of their own. What is true is the
|
|
9
|
+
* dependency direction, and it is the load-bearing half: a guard the adapters could not all
|
|
10
|
+
* reach would be a contract checked in some of them.
|
|
6
11
|
*
|
|
7
12
|
* The contract is one sentence — a read resolves with EXACTLY `length` bytes or rejects, it
|
|
8
13
|
* never pads and never truncates — and it is *checked on every call*, including calls into a
|
package/dist/io/source.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/io/source.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/io/source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA0B5E;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAE/D;AAMD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAYhG;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAuBxF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAE1D;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI,CAKnE;AAmDD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,CAS9E"}
|
package/dist/io/source.js
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The `ByteSource` contract guard.
|
|
3
3
|
*
|
|
4
|
-
* Layer 5, and the only file in `io/` that imports
|
|
5
|
-
* about EDF.
|
|
4
|
+
* Layer 5, and the only file in `io/` that imports nothing from `io/`: every adapter here calls
|
|
5
|
+
* into this one and it calls into none of them. Nothing here knows anything about EDF.
|
|
6
|
+
*
|
|
7
|
+
* It said "the only file in `io/` that imports an error class" until 0.6.58, which `bytes.ts`,
|
|
8
|
+
* `http.ts` and `read.ts` each disprove by raising one of their own. What is true is the
|
|
9
|
+
* dependency direction, and it is the load-bearing half: a guard the adapters could not all
|
|
10
|
+
* reach would be a contract checked in some of them.
|
|
6
11
|
*
|
|
7
12
|
* The contract is one sentence — a read resolves with EXACTLY `length` bytes or rejects, it
|
|
8
13
|
* never pads and never truncates — and it is *checked on every call*, including calls into a
|
package/dist/io/source.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/io/source.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/io/source.ts"],"names":[],"mappings":"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"}
|
package/dist/time/timeline.d.ts
CHANGED
|
@@ -2,9 +2,15 @@
|
|
|
2
2
|
* The recording's time axis, built from probed record onsets.
|
|
3
3
|
*
|
|
4
4
|
* Layer 4. Pure and synchronous: it is handed onsets that someone else read, and it decides what
|
|
5
|
-
* they mean. Sole owner of what makes a timeline valid
|
|
6
|
-
* `recordOnsetTicks` and deliberately passes no judgement on it,
|
|
7
|
-
*
|
|
5
|
+
* they mean. Sole owner of what makes a timeline valid ON THE READING PATH —
|
|
6
|
+
* `tal/annotations.ts` produces `recordOnsetTicks` and deliberately passes no judgement on it,
|
|
7
|
+
* so every monotonicity and spacing verdict a read reaches is made here.
|
|
8
|
+
*
|
|
9
|
+
* Not "and nowhere else", which this said until 0.6.59. `validateRecording` checks the spacing
|
|
10
|
+
* rule again and reports `RECORD_ONSET_SPACING_VIOLATION` of its own, from the segments a
|
|
11
|
+
* COMPLETE index gives it — a stronger check than the one below, which sees a probed pair and
|
|
12
|
+
* can only report net drift. A reader of this file concluded the conformance sweep did not
|
|
13
|
+
* look.
|
|
8
14
|
*
|
|
9
15
|
* TIME AXIS, fixed here for the whole library: `t = 0` is the START OF RECORD 0, not the header
|
|
10
16
|
* start time. Record 0's timekeeping onset is `startOffsetTicks` — in [0, 1) s — and it is the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../src/time/timeline.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../src/time/timeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIvF,2FAA2F;AAC3F,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,4FAA4F;IAC5F,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;CACtD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAkB9F;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,EAC7B,gBAAgB,GAAE,MAAU,GAC3B,IAAI,CAUN;AAiID;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,WAAW,CAkEjG"}
|
package/dist/time/timeline.js
CHANGED
|
@@ -2,9 +2,15 @@
|
|
|
2
2
|
* The recording's time axis, built from probed record onsets.
|
|
3
3
|
*
|
|
4
4
|
* Layer 4. Pure and synchronous: it is handed onsets that someone else read, and it decides what
|
|
5
|
-
* they mean. Sole owner of what makes a timeline valid
|
|
6
|
-
* `recordOnsetTicks` and deliberately passes no judgement on it,
|
|
7
|
-
*
|
|
5
|
+
* they mean. Sole owner of what makes a timeline valid ON THE READING PATH —
|
|
6
|
+
* `tal/annotations.ts` produces `recordOnsetTicks` and deliberately passes no judgement on it,
|
|
7
|
+
* so every monotonicity and spacing verdict a read reaches is made here.
|
|
8
|
+
*
|
|
9
|
+
* Not "and nowhere else", which this said until 0.6.59. `validateRecording` checks the spacing
|
|
10
|
+
* rule again and reports `RECORD_ONSET_SPACING_VIOLATION` of its own, from the segments a
|
|
11
|
+
* COMPLETE index gives it — a stronger check than the one below, which sees a probed pair and
|
|
12
|
+
* can only report net drift. A reader of this file concluded the conformance sweep did not
|
|
13
|
+
* look.
|
|
8
14
|
*
|
|
9
15
|
* TIME AXIS, fixed here for the whole library: `t = 0` is the START OF RECORD 0, not the header
|
|
10
16
|
* start time. Record 0's timekeeping onset is `startOffsetTicks` — in [0, 1) s — and it is the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../src/time/timeline.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../src/time/timeline.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.59
|
|
10
|
+
|
|
11
|
+
- **Fixed** `time/timeline.ts` claiming that "monotonicity and record-onset spacing are enforced
|
|
12
|
+
here and nowhere else". `validateRecording` enforces the spacing rule too, and its check is the
|
|
13
|
+
stronger one: it walks the gaps of a COMPLETE index and reports
|
|
14
|
+
`RECORD_ONSET_SPACING_VIOLATION` for each negative one, naming the two segments that overlap.
|
|
15
|
+
- The check in `timeline.ts` sees the two records `openEdf` probes, so it can only report net
|
|
16
|
+
drift — and a file whose gap and overlap cancel leaves it nothing to report. A reader who took
|
|
17
|
+
"nowhere else" at its word believed the conformance sweep did not look at spacing, and that the
|
|
18
|
+
probed verdict was the only one available. Both are the opposite of true.
|
|
19
|
+
- The docblock now scopes itself to the reading path, which is what it is sole owner of, and
|
|
20
|
+
names the other enforcer. The test builds the cancelling file and shows the two answers
|
|
21
|
+
differing on it.
|
|
22
|
+
|
|
23
|
+
## 0.6.58
|
|
24
|
+
|
|
25
|
+
- **Fixed** `io/source.ts` describing itself as "the only file in `io/` that imports an error
|
|
26
|
+
class". Four of the six do: `bytes.ts` and `http.ts` raise `EdfSourceError` for their own
|
|
27
|
+
failures, `read.ts` raises `EdfBudgetError` and `EdfRangeError`, and this file raises
|
|
28
|
+
`EdfSourceError` for a contract violation.
|
|
29
|
+
- The sentence was a claim about the whole directory, made in the file a reader opens to learn
|
|
30
|
+
how the directory is arranged. What is true is the dependency direction, and it is the half the
|
|
31
|
+
design rests on: `source.ts` imports nothing from `io/`, and every other file in `io/` imports
|
|
32
|
+
it. That is what makes `assertExactRead` reachable from every adapter — including one a caller
|
|
33
|
+
wrote, which is the property the guard exists for.
|
|
34
|
+
- The test counts both halves out of the directory, so a new adapter that skipped the guard fails
|
|
35
|
+
it, and so does a `source.ts` that grows an import from a sibling.
|
|
36
|
+
|
|
9
37
|
## 0.6.57
|
|
10
38
|
|
|
11
39
|
- **Fixed** "the cache never sees a header", said on `large-files.md`, `api-sources.md` and
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED
package/src/io/source.ts
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The `ByteSource` contract guard.
|
|
3
3
|
*
|
|
4
|
-
* Layer 5, and the only file in `io/` that imports
|
|
5
|
-
* about EDF.
|
|
4
|
+
* Layer 5, and the only file in `io/` that imports nothing from `io/`: every adapter here calls
|
|
5
|
+
* into this one and it calls into none of them. Nothing here knows anything about EDF.
|
|
6
|
+
*
|
|
7
|
+
* It said "the only file in `io/` that imports an error class" until 0.6.58, which `bytes.ts`,
|
|
8
|
+
* `http.ts` and `read.ts` each disprove by raising one of their own. What is true is the
|
|
9
|
+
* dependency direction, and it is the load-bearing half: a guard the adapters could not all
|
|
10
|
+
* reach would be a contract checked in some of them.
|
|
6
11
|
*
|
|
7
12
|
* The contract is one sentence — a read resolves with EXACTLY `length` bytes or rejects, it
|
|
8
13
|
* never pads and never truncates — and it is *checked on every call*, including calls into a
|
package/src/time/timeline.ts
CHANGED
|
@@ -2,9 +2,15 @@
|
|
|
2
2
|
* The recording's time axis, built from probed record onsets.
|
|
3
3
|
*
|
|
4
4
|
* Layer 4. Pure and synchronous: it is handed onsets that someone else read, and it decides what
|
|
5
|
-
* they mean. Sole owner of what makes a timeline valid
|
|
6
|
-
* `recordOnsetTicks` and deliberately passes no judgement on it,
|
|
7
|
-
*
|
|
5
|
+
* they mean. Sole owner of what makes a timeline valid ON THE READING PATH —
|
|
6
|
+
* `tal/annotations.ts` produces `recordOnsetTicks` and deliberately passes no judgement on it,
|
|
7
|
+
* so every monotonicity and spacing verdict a read reaches is made here.
|
|
8
|
+
*
|
|
9
|
+
* Not "and nowhere else", which this said until 0.6.59. `validateRecording` checks the spacing
|
|
10
|
+
* rule again and reports `RECORD_ONSET_SPACING_VIOLATION` of its own, from the segments a
|
|
11
|
+
* COMPLETE index gives it — a stronger check than the one below, which sees a probed pair and
|
|
12
|
+
* can only report net drift. A reader of this file concluded the conformance sweep did not
|
|
13
|
+
* look.
|
|
8
14
|
*
|
|
9
15
|
* TIME AXIS, fixed here for the whole library: `t = 0` is the START OF RECORD 0, not the header
|
|
10
16
|
* start time. Record 0's timekeeping onset is `startOffsetTicks` — in [0, 1) s — and it is the
|