edfcore 0.4.255 → 0.4.257
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/tal/ticks.d.ts +9 -4
- package/dist/tal/ticks.d.ts.map +1 -1
- package/dist/tal/ticks.js +9 -4
- package/dist/tal/ticks.js.map +1 -1
- package/docs/CHANGELOG.md +32 -0
- package/package.json +1 -1
- package/src/constants.ts +1 -1
- package/src/tal/ticks.ts +9 -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.4.
|
|
112
|
+
export declare const VERSION = "0.4.257";
|
|
113
113
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.js
CHANGED
package/dist/tal/ticks.d.ts
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Decimal text to exact 100 ns ticks.
|
|
3
3
|
*
|
|
4
|
-
* Layer 3
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Layer 1, not 3 — this file sits in `tal/` but does not belong to it. It imports `constants.ts`
|
|
5
|
+
* and nothing else, and `header/parse.ts` and `header/lookup.ts` at layer 2 both call it, so
|
|
6
|
+
* labelling it 3 with the rest of the directory made the only two upward runtime imports in the
|
|
7
|
+
* package (corrected in 0.4.256). A module's layer is its dependencies, not its folder.
|
|
8
|
+
*
|
|
9
|
+
* Sole owner of the string -> tick conversion, which is the whole reason event times in edfcore
|
|
10
|
+
* compare exactly. `parseFloat`, `Number(text)` and float arithmetic appear nowhere on that path:
|
|
11
|
+
* an onset written `+0.1` and one written `+0.3` are integers here, so equality, ordering and
|
|
12
|
+
* subtraction are decided by the digits on disk rather than by float64 rounding.
|
|
8
13
|
*/
|
|
9
14
|
/**
|
|
10
15
|
* One parsed onset or duration field.
|
package/dist/tal/ticks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ticks.d.ts","sourceRoot":"","sources":["../../src/tal/ticks.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ticks.d.ts","sourceRoot":"","sources":["../../src/tal/ticks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,wFAAwF;IACxF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAwED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAOxD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAQ1D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAGpD;AAKD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIrD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQtD"}
|
package/dist/tal/ticks.js
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Decimal text to exact 100 ns ticks.
|
|
3
3
|
*
|
|
4
|
-
* Layer 3
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Layer 1, not 3 — this file sits in `tal/` but does not belong to it. It imports `constants.ts`
|
|
5
|
+
* and nothing else, and `header/parse.ts` and `header/lookup.ts` at layer 2 both call it, so
|
|
6
|
+
* labelling it 3 with the rest of the directory made the only two upward runtime imports in the
|
|
7
|
+
* package (corrected in 0.4.256). A module's layer is its dependencies, not its folder.
|
|
8
|
+
*
|
|
9
|
+
* Sole owner of the string -> tick conversion, which is the whole reason event times in edfcore
|
|
10
|
+
* compare exactly. `parseFloat`, `Number(text)` and float arithmetic appear nowhere on that path:
|
|
11
|
+
* an onset written `+0.1` and one written `+0.3` are integers here, so equality, ordering and
|
|
12
|
+
* subtraction are decided by the digits on disk rather than by float64 rounding.
|
|
8
13
|
*/
|
|
9
14
|
import { TICKS_PER_SECOND } from '../constants.js';
|
|
10
15
|
const ASCII_ZERO = 0x30;
|
package/dist/tal/ticks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ticks.js","sourceRoot":"","sources":["../../src/tal/ticks.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ticks.js","sourceRoot":"","sources":["../../src/tal/ticks.ts"],"names":[],"mappings":"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"}
|
package/docs/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,38 @@ 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.4.257
|
|
10
|
+
|
|
11
|
+
- **Fixed** `AGENTS.md`'s description of the layering, which had been wrong about nearly every
|
|
12
|
+
tier. It sketched six — "`bytes`/`text` → `diagnostics` → `header`/`decode`/`tal` → `time` →
|
|
13
|
+
`io` → entry points" — where the declarations use eight, and grouped modules that are not
|
|
14
|
+
together: `bytes` is layer 0 and `text` is layer 1, `header`, `decode` and `tal` are three
|
|
15
|
+
different layers rather than one, and `io` spans two. 0.4.256 reasoned from that sentence to
|
|
16
|
+
correct a module's layer, which is a good argument for the sentence being right. It is now a
|
|
17
|
+
table of the eight, and says plainly that each module's own declaration is the source of truth
|
|
18
|
+
rather than a second definition.
|
|
19
|
+
- **Added** a check that the summary names the layers that exist, and that the count in the
|
|
20
|
+
sentence above it matches. Only the numbers are compared — a prose list of members is the
|
|
21
|
+
inventory problem this project keeps deleting, and the declarations already answer membership.
|
|
22
|
+
What a summary can still get wrong unnoticed is the shape: a tier added or removed in one place
|
|
23
|
+
and not the other.
|
|
24
|
+
|
|
25
|
+
## 0.4.256
|
|
26
|
+
|
|
27
|
+
- **Corrected** `src/tal/ticks.ts` from layer 3 to layer 1, and started enforcing the direction
|
|
28
|
+
the layers imply. `AGENTS.md` has always said a module may only import from a lower layer, and
|
|
29
|
+
every module now declares its own — but nothing compared the two, and applying that comparison
|
|
30
|
+
for the first time found two upward runtime imports, both real and both the same mistake:
|
|
31
|
+
`header/parse.ts` and `header/lookup.ts` at layer 2 call `tal/ticks.ts`, which was labelled 3
|
|
32
|
+
because it lives in `tal/`. It imports `constants.ts` and nothing else. A module's layer is its
|
|
33
|
+
dependencies, not its folder, so the fix was the number and no code moved.
|
|
34
|
+
- **Exempted** `import type`, which is the architecture rather than a loophole: `src/types.ts`
|
|
35
|
+
opens by saying it emits no runtime code so any layer may import it without creating a
|
|
36
|
+
dependency edge. Without the exemption the check would report `types.ts` importing
|
|
37
|
+
`diagnostics/codes.ts` — precisely the edge that does not exist. Level imports are allowed too;
|
|
38
|
+
there are 28 of them inside layers 2, 3 and 7, so "only from a lower layer" is shorthand for
|
|
39
|
+
"never from a higher one".
|
|
40
|
+
|
|
9
41
|
## 0.4.255
|
|
10
42
|
|
|
11
43
|
- **Gave four modules the layer declaration every other one has.** `AGENTS.md` states this
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED
package/src/tal/ticks.ts
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Decimal text to exact 100 ns ticks.
|
|
3
3
|
*
|
|
4
|
-
* Layer 3
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Layer 1, not 3 — this file sits in `tal/` but does not belong to it. It imports `constants.ts`
|
|
5
|
+
* and nothing else, and `header/parse.ts` and `header/lookup.ts` at layer 2 both call it, so
|
|
6
|
+
* labelling it 3 with the rest of the directory made the only two upward runtime imports in the
|
|
7
|
+
* package (corrected in 0.4.256). A module's layer is its dependencies, not its folder.
|
|
8
|
+
*
|
|
9
|
+
* Sole owner of the string -> tick conversion, which is the whole reason event times in edfcore
|
|
10
|
+
* compare exactly. `parseFloat`, `Number(text)` and float arithmetic appear nowhere on that path:
|
|
11
|
+
* an onset written `+0.1` and one written `+0.3` are integers here, so equality, ordering and
|
|
12
|
+
* subtraction are decided by the digits on disk rather than by float64 rounding.
|
|
8
13
|
*/
|
|
9
14
|
|
|
10
15
|
import { TICKS_PER_SECOND } from '../constants.js';
|