ata-validator
1.61.3 · 29 Oct 2026MIT21.8k / weekRepositoryHomepagenpmAtom feed
1.61.3 is the newest release of 1.x.
In short
2 new1 fixed
Release note
Added
parse()is now emitted for the record shape:additionalPropertiesas a schema, which is whatz.recordand every generator's map type compile to, with or without declaredpropertiesbeside it. The key set is open by declaration, so keeping every key is exact, and every undeclared value is rebuilt against the one schema that governs it, stripping unknown keys inside it the same way a declared property's rebuild would. Defaults under a record value are not filled, because the runtime'suseDefaultsdoes not fill them there andparse()output stays equal tovalidate().data. Still declined, loudly:additionalProperties: true, applicators next to a record, andpatternProperties.onWarningnow receives a second argument,{ kind }, naming which capability degraded:'error-detail'or'parse'. A build that requested both can tell the warnings apart instead of treating any warning as degraded errors.build()result warnings carry the samekindfield. Existing single-argument callbacks keep working unchanged.
Fixed
Two more fixed-name collisions in the generated-code path, the same family as the
patternPropertieshelper-scope bug fixed in 1.26.0: a record whose values are themselves records (additionalPropertiesnested in itself) generated an inner loop that redeclared the outer loop's variables and threwReferenceErrorat validation time, andpatternPropertiesinside apatternPropertiesvalue schema had the same collision on its own loop variables. All the loop names now carry a unique suffix; the combined error generator already did this, and the boolean generator now matches it.