@amritk/generate-validators
v0.19.6
Published
Deprecated — merged into @amritk/validation. Kept as a compatibility shim; use `generate` instead.
Downloads
18,037
Readme
@amritk/generate-validators
Deprecated. Use
@amritk/validationinstead.This package is now a compatibility shim:
buildValidatorSchemakeeps its signature and forwards togenerate()in@amritk/validation, so upgrading to it breaks no call site. It gets no new features; its output follows the engine it forwards to.
What this was
The predicate validator generator: given a JSON Schema (Draft 2020-12),
buildValidatorSchema(rootSchema, rootTypeName, …options) returned an array of
{ filename, content } records carrying a TypeScript type, a
validateX(input) reporting every error, and an isX(input) type guard.
What replaces it
The engine did not go away — it moved. It now lives inside
@amritk/validation,
behind a single generate() call that reaches every mode this package had plus
the others, over one shared type declaration:
| mode | function | value back | tells you |
|:---|:---|:---|:---|
| types | — | — | — |
| guard | isX | — | a boolean, stopping at the first problem |
| check | checkX | — | the first error only |
| validate | validateX | — | every error |
| coerce | coerceX | coerced | every error |
| repair | repairX | repaired | the repairs it made, and any errors left |
| parse | parseX | repaired | nothing; never fails |
| parseStrict | parseX | as given | throws on the first problem |
Before / after
// before
import { buildValidatorSchema } from '@amritk/generate-validators'
const files = await buildValidatorSchema(schema, 'Document')// after
import { generate } from '@amritk/validation'
const files = await generate(schema, 'Document', { modes: ['types', 'guard', 'validate'] })Both hand back { filename, content }[]. The positional arguments become named
options — see the
@amritk/validation README
for the full table.
The flags that switched extra functions in are now modes: coerce: true is
'coerce', repair: true is 'repair', and check: true is 'check', each
added to 'guard' and 'validate'.
