@hunt-labs/bytekit-cli 0.9.1 → 0.9.2
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 +15 -0
- package/dist/output.js +12 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,21 @@ today, see [README.md](./README.md), which remains the authoritative usage guide
|
|
|
10
10
|
|
|
11
11
|
## [Unreleased]
|
|
12
12
|
|
|
13
|
+
## [0.9.2] - 2026-08-31
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
|
|
17
|
+
- Corrected the `detailValueText` doc comment in `src/output.ts`, which claimed the object arm of
|
|
18
|
+
the `details` renderer carried the SAME depth bound as the array arm through `detailJson`
|
|
19
|
+
(#3691). It carries the same **constant** (`DETAIL_MAX_DEPTH`), not the same **counter**:
|
|
20
|
+
`detailJson` takes no depth argument and starts a fresh budget from its own replacer chain. The
|
|
21
|
+
comment now records the two consequences — the arms agree level-for-level only on homogeneous
|
|
22
|
+
chains, and a mixed array/object chain can render up to `2 × DETAIL_MAX_DEPTH` levels — and why
|
|
23
|
+
threading `depth` into `detailJson` is not the fix: it would elide shapes that render today,
|
|
24
|
+
breaking the byte-identical inverse-case contract #3647 shipped under. **No consumer-visible
|
|
25
|
+
change** — this release touches one comment, and every `details` shape renders byte-identically
|
|
26
|
+
to 0.9.1.
|
|
27
|
+
|
|
13
28
|
## [0.9.1] - 2026-08-27
|
|
14
29
|
|
|
15
30
|
### Fixed
|
package/dist/output.js
CHANGED
|
@@ -439,8 +439,18 @@ function isDetailRecord(value) {
|
|
|
439
439
|
* longer than the value it names.
|
|
440
440
|
*
|
|
441
441
|
* `depth` counts array levels already descended and is bounded by {@link DETAIL_MAX_DEPTH} (#3633);
|
|
442
|
-
* the object arm
|
|
443
|
-
* terminates on its own.
|
|
442
|
+
* the object arm reuses the same CONSTANT through {@link detailJson} (#3647) but spends its OWN
|
|
443
|
+
* INDEPENDENT budget, counted from that call, and every remaining arm terminates on its own.
|
|
444
|
+
*
|
|
445
|
+
* Two budgets, not one, so: the arms agree level-for-level only on HOMOGENEOUS chains — an object
|
|
446
|
+
* sitting at array-depth 8 is not elided, while an array sitting at object-depth 8 is — and a mixed
|
|
447
|
+
* array/object chain can render up to `2 × DETAIL_MAX_DEPTH` nesting levels rather than
|
|
448
|
+
* `DETAIL_MAX_DEPTH`.
|
|
449
|
+
*
|
|
450
|
+
* Threading `depth` into {@link detailJson} is NOT the fix. It elides shapes that render today
|
|
451
|
+
* (measured across a 101-case corpus: 15 cases change instead of 10), which breaks the
|
|
452
|
+
* byte-identical inverse-case contract #3647 shipped under. Stack safety does not need it either:
|
|
453
|
+
* the array arm never resumes below an object, so the total descent is bounded at 8 + 8.
|
|
444
454
|
*/
|
|
445
455
|
function detailValueText(value, depth = 0) {
|
|
446
456
|
if (typeof value === 'string')
|