Skip to content

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 29 Jul 16:04
· 2 commits to main since this release
5a8cc10

Closes #3

Closes #4

without a default — it is simply absent from the result.

  • deserialize() no longer console.error()s for an omitted optional field

    cryptic TypeError (or silently packing false for booleans).

    "Missing value for required field ''" at pack() instead of a

  • undefined for a required field throws

    {id}; schemas with required fields always reach the serializer now.

    all-undefined object on an optional-only schema emit {id}0 instead of

  • pack() no longer short-circuits on Object.keys().length, which made an

Also:

is byte-identical to omitting the property, for every field type.

Presence is now decided by value !== undefined, so explicit undefined

silently packed as false, inventing a value the caller never passed.

rejected with "Invalid index -1 for enum". Booleans were worse — they

value was written. For enums this produced index -1, which unpack()

{ field: undefined } counted as present: the bitmask bit was set and a

fix: treat explicit undefined as omitted for optional fieldsOptional-field presence was checked with hasOwnProperty, so an explicit

chore: bump version to 0.1.1

bunx picks node_modules/.bin/tsc, matching local runs.

@types/bun globals (Buffer, console, bun:test) that resolve fine locally.

instead of the pinned devDependency, so the step failed with missing

ci: use project-pinned tsc for type-checkBare tsc resolved to whatever TypeScript the runner happened to expose
Full Changelog: v0.1.0...v0.1.1