edfcore 0.4.412 → 0.4.414
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/docs/CHANGELOG.md +37 -0
- package/package.json +1 -1
- package/src/constants.ts +1 -1
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.414";
|
|
113
113
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.js
CHANGED
package/docs/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,43 @@ 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.414
|
|
10
|
+
|
|
11
|
+
- **Added** a check that binds every entry of AGENTS.md's "Things that look like bugs and are not"
|
|
12
|
+
to the test that pins it. The section exists because each entry is something a reader improves on
|
|
13
|
+
sight — the scaling expression has an obviously better rearrangement, `readWindow` returning an
|
|
14
|
+
array for a continuous file is an obviously unnecessary wrapper, an optional `signal.scale` is an
|
|
15
|
+
obviously missing default — and every one of them has been proposed.
|
|
16
|
+
- It closes with a promise about itself: "Each of the code rules has a test pinning it and a comment
|
|
17
|
+
explaining why." Nothing checked that sentence, and both ways it stops being true are ordinary. A
|
|
18
|
+
rule gets added because someone was bitten by it and no test comes with it, so the list reads as
|
|
19
|
+
enforced while it is not. Or a test is renamed in a tidy-up, and nothing fails — the rule is still
|
|
20
|
+
checked, or it is not, and nobody can tell which from the list.
|
|
21
|
+
- The binding is checked in both directions: a new bullet with no entry fails, and an entry naming
|
|
22
|
+
a file that no longer exists or no longer mentions the rule fails too. Each binding carries a
|
|
23
|
+
phrase the file must contain, so a filename alone cannot stand in for a check.
|
|
24
|
+
- The last entry is exempt by the sentence's own words — it is a fact about a branch on a remote,
|
|
25
|
+
which an offline suite cannot see — and it is required to still BE the last, because a rule
|
|
26
|
+
appended after it would inherit an excuse written for something else.
|
|
27
|
+
|
|
28
|
+
## 0.4.413
|
|
29
|
+
|
|
30
|
+
- **Added** tests for the calendar edfcore validates against. `isValidCalendarDate` exists because
|
|
31
|
+
a `Date` is the wrong tool: real files carry 31 April and 29 February in common years, and
|
|
32
|
+
`new Date(1997, 3, 31)` rolls both forward into a neighbouring month rather than rejecting them.
|
|
33
|
+
A recording silently dated a day later than it was made is the kind of error nobody finds,
|
|
34
|
+
because the wrong answer is a perfectly ordinary date.
|
|
35
|
+
- `date-ban.test.ts` proves no `Date` is constructed anywhere. That left the arithmetic which
|
|
36
|
+
replaced it, exercised only through the parser, where a rejected date is indistinguishable from a
|
|
37
|
+
rejected field.
|
|
38
|
+
- The month lengths are not restated — restating a table checks a transcription, and the
|
|
39
|
+
transcription is what would already be wrong. The properties it must satisfy are checked instead,
|
|
40
|
+
from the Gregorian calendar rather than from this file: the twelve months sum to 365 or 366 for
|
|
41
|
+
every year from 1 to 9999; four hundred consecutive years hold exactly 97 leap years and 146,097
|
|
42
|
+
days, which is a whole number of weeks; and a century not divisible by 400 holds 24, not 25.
|
|
43
|
+
- A table with a month a day short fails the first for every year, and a leap rule missing its
|
|
44
|
+
century exception fails the second by three days a cycle.
|
|
45
|
+
|
|
9
46
|
## 0.4.412
|
|
10
47
|
|
|
11
48
|
- **Added** tests for four header fields that are all finite and imply a gain that is not. An EDF
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED