{"_id":"@apislash/validation","_rev":"2-59c91dddf72c3f1c150d387e3564866e","name":"@apislash/validation","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@apislash/validation","version":"1.0.0","license":"MIT","_id":"@apislash/validation@1.0.0","maintainers":[{"name":"jantheon","email":"vonhara@gmail.com"}],"dist":{"shasum":"a311320c44d02c3a1073e4a21e2f5bd038ef9020","tarball":"https://registry.npmjs.org/@apislash/validation/-/validation-1.0.0.tgz","fileCount":9,"integrity":"sha512-IToT5+KaNJs71s4TQfuV63FLsMw4j4w3itqSqGkfURVpoPaFV6qXb4YjbWeW7wCnnefGB1on3RbmkpzpW4UReg==","signatures":[{"sig":"MEUCIAcYJsa6H/n/HBJCXEpsYUMqRzamnYKjdiIGaKob+dxDAiEAhIYHiWEPs/URKaxZBlEivvujeSkUasuAaTnwejOOWZE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171023},"main":"dist/index.cjs","type":"module","_from":"file:apislash-validation-1.0.0.tgz","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"pnpm exec vitest run --passWithNoTests","build":"pnpm exec tsup src/index.ts --format esm,cjs --dts --sourcemap --clean --out-dir dist","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"pnpm exec vitest"},"_npmUser":{"name":"jantheon","email":"vonhara@gmail.com"},"_resolved":"/tmp/b19e781e0af2c19c17e233e1f4f049c0/apislash-validation-1.0.0.tgz","_integrity":"sha512-IToT5+KaNJs71s4TQfuV63FLsMw4j4w3itqSqGkfURVpoPaFV6qXb4YjbWeW7wCnnefGB1on3RbmkpzpW4UReg==","_npmVersion":"11.14.1","description":"OpenAPI-driven request and form validation for any TypeScript project — validates payloads and form fields against any OpenAPI 3 schema. Framework-agnostic; published by Apislash.","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public","registry":"https://gitlab.com/api/v4/projects/79759313/packages/npm/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.9.2","@types/node":"^20.17.30"},"_npmOperationalInternal":{"tmp":"tmp/validation_1.0.0_1780133531450_0.1898038401644253","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@apislash/validation","version":"1.0.1","description":"OpenAPI-driven request and form validation for any TypeScript project — validates payloads and form fields against any OpenAPI 3 schema. Framework-agnostic; published by Apislash.","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"publishConfig":{"access":"public","main":"dist/index.cjs","module":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}}},"sideEffects":false,"scripts":{"build":"pnpm exec tsup src/index.ts --format esm,cjs --dts --sourcemap --clean --out-dir dist","typecheck":"tsc -p tsconfig.json --noEmit","test":"pnpm exec vitest run --passWithNoTests","test:watch":"pnpm exec vitest"},"devDependencies":{"@types/node":"^20.17.30","tsup":"^8.5.0","typescript":"^5.9.2","vitest":"^3.2.4"},"license":"MIT","repository":{"type":"git","url":"git+https://gitlab.com/apislash/libs/client/validation/ts.git"},"homepage":"https://gitlab.com/apislash/libs/client/validation/ts#readme","bugs":{"url":"https://gitlab.com/apislash/libs/client/validation/ts/-/issues"},"author":{"name":"jantheon","email":"vonhara@gmail.com"},"keywords":["apislash","validation","openapi","schema","validator","typescript"],"gitHead":"07411897ddfd7a3ea46569476d00dbdeda88f7a8","_id":"@apislash/validation@1.0.1","_nodeVersion":"20.20.2","_npmVersion":"11.17.0","dist":{"integrity":"sha512-2S3T5uU/H4Ujy3JTgFSVC2lR3sPw8m3Y4Yr/rAvg0HzqgtfJB145VvXQZI3OZmksU25SN3zhoEy2xu1UCtdTRg==","shasum":"bf998789aa149ceb241224237ac32fba28712b07","tarball":"https://registry.npmjs.org/@apislash/validation/-/validation-1.0.1.tgz","fileCount":9,"unpackedSize":171654,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@apislash%2fvalidation@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v0.2"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCS+37TO3xopbj16/ScbEOPetoyYK2lVBg2wBlT+aBKLgIhANKoJvQ1dHgaCa5BrQEkcoZ9sYyX7n15QDiuxTuPkW4k"}]},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:3609595f-8532-4006-86ef-9ba406b84701"}},"directories":{},"maintainers":[{"name":"jantheon","email":"vonhara@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/validation_1.0.1_1781948644415_0.8014021053156537"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-30T09:32:11.245Z","modified":"2026-06-20T09:44:04.785Z","1.0.0":"2026-05-30T09:32:11.575Z","1.0.1":"2026-06-20T09:44:04.536Z"},"license":"MIT","description":"OpenAPI-driven request and form validation for any TypeScript project — validates payloads and form fields against any OpenAPI 3 schema. Framework-agnostic; published by Apislash.","maintainers":[{"name":"jantheon","email":"vonhara@gmail.com"}],"readme":"# @apislash/validation\n\n**OpenAPI-driven request and form validation for any TypeScript project.** Validate request payloads and individual form fields against any OpenAPI 3 schema — framework-agnostic, with schema loading, caching, and structured errors.\n\nGeneric and usable in any app; published and maintained by **Apislash** (offered to customers under the Apislash brand). MIT licensed.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE)\n\n## Install\n\n```bash\nnpm install @apislash/validation\n```\n\n## Usage\n\n```ts\nimport { createOpenApiValidator, ValidationError } from \"@apislash/validation\";\n\nconst validator = createOpenApiValidator(openApiDocument);\n\ntry {\n  validator.validateRequest(\"POST\", \"/users\", { body: { email: \"a@b.com\" } });\n} catch (e) {\n  if (e instanceof ValidationError) {\n    console.error(e.details); // structured field errors\n  }\n}\n```\n\nLoad a schema straight from a URL with `createOpenApiValidatorFromUrl(url)`, validate a single field with `validateFieldValue(...)`, or use the `OpenApiValidator` class directly.\n\n## Features\n\n- Validates against any **OpenAPI 3** document — no framework or Apislash coupling.\n- Schema loading with caching (`SchemaCacheStore`, pluggable `KvDriverLike`) and immutable snapshots.\n- **Field-level** validation for forms (`validateFieldValue`).\n- Structured `ValidationError` (use `isValidationError` to narrow).\n\n## License\n\nMIT © Apislash\n","readmeFilename":"README.md","homepage":"https://gitlab.com/apislash/libs/client/validation/ts#readme","keywords":["apislash","validation","openapi","schema","validator","typescript"],"repository":{"type":"git","url":"git+https://gitlab.com/apislash/libs/client/validation/ts.git"},"author":{"name":"jantheon","email":"vonhara@gmail.com"},"bugs":{"url":"https://gitlab.com/apislash/libs/client/validation/ts/-/issues"}}