@xndrjs/domain-ajv
v0.2.1
Published
Ajv adapter for @xndrjs/domain with helpers for JSON Schema and OpenAPI components.
Readme
@xndrjs/domain-ajv
Ajv adapter for @xndrjs/domain with helpers for:
- JSON Schema ->
ValidatorviajsonSchemaToValidator - OpenAPI bundled components ->
ValidatorviaopenApiComponentToValidator
This package re-exports @xndrjs/domain (domain, compose + types), so you can import from one place.
Install
pnpm add @xndrjs/domain-ajv ajv ajv-formatsQuickstart
import { domain, jsonSchemaToValidator } from "@xndrjs/domain-ajv";
const Email = domain.primitive(
"Email",
jsonSchemaToValidator<string>({
type: "string",
format: "email",
minLength: 1,
})
);import { domain, openApiComponentToValidator } from "@xndrjs/domain-ajv";
import bundledOas from "./generated/openapi.bundled.json";
import type { components } from "./generated/openapi.types";
type User = components["schemas"]["User"];
const UserShape = domain.shape("User", openApiComponentToValidator<User>(bundledOas, "User"));Custom Ajv instance
Use createAjvDomainAdapter({ instance }) when you need custom Ajv plugins/options.
License
MIT
