exact-mirror
1.2.6 · 6 Sep 2026MIT1.2M / weekRepositorynpmAtom feed
Upgrading exact-mirror from 0.2.2 to 1.2.6
17 releases in betweenevery note read
Release by release
1.2.1 – 1.2.66 releases, nothing new or fixed in the notes
- new
Add
decode/encodecodec transform mode. A drop in replacement for TypeBox Value.Decode
- new
1.1.1nothing new or fixed in the note
- new
Support cyclic schema (
~kind: 'Cyclic'): each$defsdefinition compiles to its own mirror function and recursion happens between functions at runtime — unbounded depth, norecursionLimittruncation, no exponential ref inlining,modulesoption no longer required - fixed
Handle array schema without
itemsand object schema withoutproperties, eg. elysiat.ArrayString()inside a union crashed codegen
- new
1.0.2nothing new or fixed in the note
- new
Add
emitmethod
- new
0.2.6 – 1.0.03 releases, nothing new or fixed in the notes
- fixed
Handle strict union check in array
- fixed
23 other lines we could not sort, mostly version bumps
- 1.2.6
Encode an union member (or array element)
- 1.2.6
A decoded value that no sibling matches (e.g. a JSON array next to an object member) is returned as-is
- 1.2.6
sanitizestill applies inside a container-shaped codec - 1.2.6
Scalar codecs (
Numeric,Date) no longer re-enter their union on decode - 1.2.5
decodestop dropping optional fields of a container produced by a codec - 1.2.5
sanitizenow not applied to a codec decoded value - 1.2.4
Codec missing field is sometime lossy
- 1.2.3
A
__proto__key in a record value no longer hijacks the cleaned output's prototype - 1.2.2
Building a mirror over a union no longer throws on a frozen union member (e.g. Elysia's
Object.freezed coercion singletons) - 1.2.2
A plain
Refused as a union member is now resolved againstdefinitionsbefore the union's Compile gate, so the ref branch validates anddecodes instead of falling through undecoded