You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: 🎸 extract s.coerce into standalone opt-in module (20329ad)
BREAKING CHANGE
🧨 Move the coerce implementation from src/index.ts into a new
src/coerce.ts side-effect module, matching the pattern ofstring.ts /
number.ts / array.ts. s.coerce is an empty object by default — methods
are only availableafter importing the coerce module: import
'@esmj/schema/coerce'; // side-effect only import { s } from
'@esmj/schema/coerce'; // re-exports index.ts import { s } from
'@esmj/schema/full'; // includes all modulesWithout this import,
calling any s.coerce method throws at runtime.TypeScript enforces this
through the empty CoerceInterface./
🧨 The types were changed. The optional and nullable change behaviour to be
more like zod methods. The optional in chain not allow invalid values to
be transformed to undefined. The nullable in chain allow only valid type
or null.