{"_id":"@henkel_dx_ipaas/schema-validation-package","_rev":"27-2e395d28f990ed922907587d3d5dabca","name":"@henkel_dx_ipaas/schema-validation-package","dist-tags":{"latest":"0.0.14"},"versions":{"0.0.1":{"name":"@henkel_dx_ipaas/schema-validation-package","version":"0.0.1","author":{"name":"Octavian Constantin"},"_id":"@henkel_dx_ipaas/schema-validation-package@0.0.1","maintainers":[{"name":"tavinpmjs","email":"octavian.constantin@henkel.com"},{"name":"shreder","email":"vira.shreder@henkel.com"},{"name":"cemusta","email":"nooneelse@gmail.com"}],"dist":{"shasum":"8a001b3bc4d36df587af2019e484ff4e66f0b480","tarball":"https://registry.npmjs.org/@henkel_dx_ipaas/schema-validation-package/-/schema-validation-package-0.0.1.tgz","fileCount":31,"integrity":"sha512-8oire9Bxg5LE5GJzmswChpPKETbQ+Qbd1cxkVWza1V5L7WvUhUJGqogM70DLVZBiQn+OeAPGHQFrgVG0C81xDQ==","signatures":[{"sig":"MEYCIQDued5f5ztm/7TooXm9K3KIsbHmRQQmE3F19dj0mJ4k4AIhAP7t06LLqDTMRodO/X+GmXG+8Hkugb7gmP0yaWOMbJmI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":229616},"main":"dist/index","types":"dist/index","gitHead":"f99ff7472622f33f004f398abb20b85ccfabfdf3","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rimraf dist && tsc","prepublish":"npm run build"},"_npmUser":{"name":"tavinpmjs","email":"octavian.constantin@henkel.com"},"deprecated":"Not working","_npmVersion":"10.2.3","description":"NestJs module with a caching layer for validating schemas taken from a schema registry api","directories":{},"_nodeVersion":"20.10.0","dependencies":{"ajv":"^8.13.0","rxjs":"^7.8.1","nestjs-pino":"^4.0.0","@nestjs/axios":"^3.0.2","@nestjs/common":"^10.3.8","@nestjs/config":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.7","typescript":"^5.4.5","@types/node":"^20.12.12"},"_npmOperationalInternal":{"tmp":"tmp/schema-validation-package_0.0.1_1715771872431_0.8587700580809341","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"@henkel_dx_ipaas/schema-validation-package","version":"0.0.2","author":{"name":"Octavian Constantin"},"_id":"@henkel_dx_ipaas/schema-validation-package@0.0.2","maintainers":[{"name":"tavinpmjs","email":"octavian.constantin@henkel.com"},{"name":"shreder","email":"vira.shreder@henkel.com"},{"name":"cemusta","email":"nooneelse@gmail.com"}],"dist":{"shasum":"cca7ed2c422966664d4f04827292ce9b9aa69518","tarball":"https://registry.npmjs.org/@henkel_dx_ipaas/schema-validation-package/-/schema-validation-package-0.0.2.tgz","fileCount":31,"integrity":"sha512-jSG99LucF+zGGELxZXklXb0mRupuNPmO+0i340u0Hir6mcBzhTT7/cGG8/jJV7eWKbuz7Rk4ggkzvu498q4njg==","signatures":[{"sig":"MEQCIHnaOBMzC919EKtDyXvL6FY9RercmSUF35cEN9P34RL7AiA24T5e6Y5yvNrf8b8YpaEvSGPkBldY5RnD+y4KUvMVdA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":276533},"main":"dist/index","types":"dist/index","gitHead":"de1063fb37332817aa9d570a917a5b287de0440c","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rimraf dist && tsc","prepublish":"npm run build"},"_npmUser":{"name":"tavinpmjs","email":"octavian.constantin@henkel.com"},"deprecated":"Not working","_npmVersion":"10.2.3","description":"NestJs module with a caching layer for validating schemas taken from a schema registry api","directories":{},"_nodeVersion":"20.10.0","dependencies":{"ajv":"^8.13.0","rxjs":"^7.8.1","nestjs-pino":"^4.0.0","@nestjs/axios":"^3.0.2","@nestjs/common":"^10.3.8","@nestjs/config":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.7","typescript":"^5.4.5","@types/node":"^20.12.12"},"_npmOperationalInternal":{"tmp":"tmp/schema-validation-package_0.0.2_1715773350513_0.21890835393802766","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"@henkel_dx_ipaas/schema-validation-package","version":"0.0.3","author":{"name":"Octavian Constantin"},"_id":"@henkel_dx_ipaas/schema-validation-package@0.0.3","maintainers":[{"name":"tavinpmjs","email":"octavian.constantin@henkel.com"},{"name":"shreder","email":"vira.shreder@henkel.com"},{"name":"cemusta","email":"nooneelse@gmail.com"}],"dist":{"shasum":"fd14142bf9a11719df3685d443ba66de17ffe850","tarball":"https://registry.npmjs.org/@henkel_dx_ipaas/schema-validation-package/-/schema-validation-package-0.0.3.tgz","fileCount":31,"integrity":"sha512-Pwoi+DSBzx4CNuAgMSuN9uliUEdcQC0t+gAN9n6Y1A24wxqePRg6mOCOCNps7l088DrFig9b9FKF3BuTzTnZSw==","signatures":[{"sig":"MEQCIHxVBgoCzBDuF1Cqt75k0cLFnLWxUYdyIyZU3kp2HLvrAiA7zJ1p5LuGnWEJMzVWVBNjc/bkPuTIKPkt40y00lT4Gg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":228581},"main":"dist/index","types":"dist/index","gitHead":"de1063fb37332817aa9d570a917a5b287de0440c","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rimraf dist && tsc","prepublish":"npm run build"},"_npmUser":{"name":"tavinpmjs","email":"octavian.constantin@henkel.com"},"deprecated":"Not working","_npmVersion":"10.2.3","description":"NestJs module with a caching layer for validating schemas taken from a schema registry api","directories":{},"_nodeVersion":"20.10.0","dependencies":{"ajv":"^8.13.0","rxjs":"^7.8.1","pino-http":"^10.1.0","nestjs-pino":"^4.0.0","@nestjs/axios":"^3.0.2","@nestjs/common":"^10.3.8","@nestjs/config":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.7","typescript":"^5.4.5","@types/node":"^20.12.12"},"_npmOperationalInternal":{"tmp":"tmp/schema-validation-package_0.0.3_1715774690277_0.059094938418778664","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"@henkel_dx_ipaas/schema-validation-package","version":"0.0.4","author":{"name":"Octavian Constantin"},"_id":"@henkel_dx_ipaas/schema-validation-package@0.0.4","maintainers":[{"name":"tavinpmjs","email":"octavian.constantin@henkel.com"},{"name":"shreder","email":"vira.shreder@henkel.com"},{"name":"cemusta","email":"nooneelse@gmail.com"}],"dist":{"shasum":"c68021d304193bd2817d6ca6bfcbac7c7836e670","tarball":"https://registry.npmjs.org/@henkel_dx_ipaas/schema-validation-package/-/schema-validation-package-0.0.4.tgz","fileCount":35,"integrity":"sha512-A606nMPcbrh34t7+0iN/wKAbQiOtupEgSL+OT9Cvixy8eha3opQoP/j2PG8qncKy+mS74NYiQlSiA0R4fFcbOA==","signatures":[{"sig":"MEUCIDgI939NRS4PZYH3ztSFByGhrwQ7TkyhOGMhkkrFFLLNAiEA/17451sJ8Fkb3fgmF6F30+9JYwN7eMVWcxnly4vERiQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":279872},"main":"dist/index","types":"dist/index","gitHead":"f3e83b1a4da4403f4f6c9fce00e61ecdcbcc14fa","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rimraf dist && tsc","prepublish":"npm run build"},"_npmUser":{"name":"tavinpmjs","email":"octavian.constantin@henkel.com"},"deprecated":"Not working","_npmVersion":"10.2.3","description":"NestJs module with a caching layer for validating schemas taken from a schema registry api","directories":{},"_nodeVersion":"20.10.0","dependencies":{"ajv":"^8.13.0","rxjs":"^7.8.1","pino-http":"^10.1.0","nestjs-pino":"^4.0.0","@nestjs/axios":"^3.0.2","@nestjs/common":"^10.3.8","@nestjs/config":"^3.2.2","pino-opentelemetry-transport":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.7","typescript":"^5.4.5","@types/node":"^20.12.12"},"_npmOperationalInternal":{"tmp":"tmp/schema-validation-package_0.0.4_1715778032326_0.5051203054814066","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"@henkel_dx_ipaas/schema-validation-package","version":"0.0.5","author":{"name":"Octavian Constantin"},"license":"UNLICENSED","_id":"@henkel_dx_ipaas/schema-validation-package@0.0.5","maintainers":[{"name":"tavinpmjs","email":"octavian.constantin@henkel.com"},{"name":"shreder","email":"vira.shreder@henkel.com"},{"name":"cemusta","email":"nooneelse@gmail.com"}],"dist":{"shasum":"3dfcc825e54149448306c0a9e2942a44339405e1","tarball":"https://registry.npmjs.org/@henkel_dx_ipaas/schema-validation-package/-/schema-validation-package-0.0.5.tgz","fileCount":36,"integrity":"sha512-CYVSaAUngBq1dEKO1Ew88fooxerYUffJKJ7U4h5uJZPDl4sifxW8ceb1lnprPZnCdp2ahx6DuRYh1LILFARcgw==","signatures":[{"sig":"MEUCICFcxQKEDgXG/0FCG8JDawPQkrgjov3ymYKwAHZHCyTIAiEA0TnFjpJ+Iz9bsYGOLw0bbQcQNCHq/I/UZGGdyHkHRTM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":279212},"main":"dist/index","types":"dist/index","gitHead":"2a2de2ddff9bc881eef2996313143d67b69f259b","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rimraf dist && tsc","prepublish":"npm run build"},"_npmUser":{"name":"tavinpmjs","email":"octavian.constantin@henkel.com"},"deprecated":"Not working","_npmVersion":"10.2.3","description":"NestJs module with a caching layer for validating schemas taken from a schema registry api","directories":{},"_nodeVersion":"20.10.0","dependencies":{"ajv":"^8.13.0","rxjs":"^7.8.1","pino-http":"^10.1.0","nestjs-pino":"^4.0.0","@nestjs/axios":"^3.0.2","@nestjs/common":"^10.3.8","@nestjs/config":"^3.2.2","pino-opentelemetry-transport":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.7","typescript":"^5.4.5","@types/node":"^20.12.12"},"_npmOperationalInternal":{"tmp":"tmp/schema-validation-package_0.0.5_1716204843358_0.9653496261993508","host":"s3://npm-registry-packages"}},"0.0.6":{"name":"@henkel_dx_ipaas/schema-validation-package","version":"0.0.6","author":{"name":"Octavian Constantin"},"license":"UNLICENSED","_id":"@henkel_dx_ipaas/schema-validation-package@0.0.6","maintainers":[{"name":"tavinpmjs","email":"octavian.constantin@henkel.com"},{"name":"shreder","email":"vira.shreder@henkel.com"},{"name":"cemusta","email":"nooneelse@gmail.com"}],"dist":{"shasum":"b5d53c5c01c9c2ac8ac303a6ae7c9299aba2f355","tarball":"https://registry.npmjs.org/@henkel_dx_ipaas/schema-validation-package/-/schema-validation-package-0.0.6.tgz","fileCount":36,"integrity":"sha512-mCZDteQGSYJy1Y/OVR5cpAulQ9cHWCIq3vux5uloltYVwsvuvOecD7qiDfT1G2FDhM5qskcAI4p88ll3PAh2eA==","signatures":[{"sig":"MEYCIQD3lqM1P4HyULDRgdIh95EXrrjCXDs4S7dZ/HEmgEBsVwIhAJGWFT4R9xaNh2Xrb8wXLa68JhBd0evkpd4SSP7L+6u4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":279617},"main":"dist/index","types":"dist/index","gitHead":"9c123b5639ea54d9ad73cc2c47996c765c5b2a2c","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rimraf dist && tsc","prepublish":"npm run build"},"_npmUser":{"name":"tavinpmjs","email":"octavian.constantin@henkel.com"},"_npmVersion":"10.2.3","description":"NestJs module with a caching layer for validating schemas taken from a schema registry API","directories":{},"_nodeVersion":"20.10.0","dependencies":{"ajv":"^8.13.0","rxjs":"^7.8.1","pino-http":"^10.1.0","nestjs-pino":"^4.0.0","@nestjs/axios":"^3.0.2","@nestjs/common":"^10.3.8","@nestjs/config":"^3.2.2","pino-opentelemetry-transport":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.7","typescript":"^5.4.5","@types/node":"^20.12.12"},"_npmOperationalInternal":{"tmp":"tmp/schema-validation-package_0.0.6_1716215668301_0.19967593989537047","host":"s3://npm-registry-packages"}},"0.0.13":{"name":"@henkel_dx_ipaas/schema-validation-package","version":"0.0.13","author":{"name":"Ipaas Team"},"license":"UNLICENSED","_id":"@henkel_dx_ipaas/schema-validation-package@0.0.13","maintainers":[{"name":"cemusta","email":"nooneelse@gmail.com"},{"name":"shreder","email":"vira.shreder@henkel.com"},{"name":"mariem.baderacc","email":"mariem.bader@henkel.com"}],"dist":{"shasum":"eebb763b8abccabf939f33c406b271aaa827adfd","tarball":"https://registry.npmjs.org/@henkel_dx_ipaas/schema-validation-package/-/schema-validation-package-0.0.13.tgz","fileCount":20,"integrity":"sha512-4eGJ4SOq71r8q6HCTyAQ0mcQEGJqOgmTh44H0ImruBe1hAFEh7udy9AS2clSL3LODkBOuLbjNz+yKZv8opmNLg==","signatures":[{"sig":"MEQCIBQSN4A1q1yxb48p9k8gqJQasxhR5q7xe2Fx6IVCfLaQAiBC7A/XBXMojafS62fJcJ4bjcr9+8UmC4jGHiaLSSYtcQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25707},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"54a3101942ec53689e9f7ef03413ad4968338be2","scripts":{"test":"jest","build":"rm -rf dist && tsc -p tsconfig.json","test:cov":"jest --coverage","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"cemusta","email":"nooneelse@gmail.com"},"_npmVersion":"11.6.2","description":"NestJs module with a caching layer for validating schemas taken from a schema registry API","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ajv":"^8.17.1","rxjs":"^7.8.2","pino-http":"^10.5.0","nestjs-pino":"^4.5.0","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.5","@nestjs/config":"^4.0.2","pino-opentelemetry-transport":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","rimraf":"^6.0.1","ts-jest":"^29.2.5","typescript":"^5.9.2","@types/jest":"^29.5.14","@types/node":"^24.1.0"},"_npmOperationalInternal":{"tmp":"tmp/schema-validation-package_0.0.13_1766242990592_0.5818067922374546","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"@henkel_dx_ipaas/schema-validation-package","version":"0.0.14","description":"NestJs module with a caching layer for validating schemas taken from a schema registry API","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"Ipaas Team"},"license":"UNLICENSED","scripts":{"test":"jest","test:watch":"jest --watch","test:cov":"jest --coverage","build":"rm -rf dist && tsc -p tsconfig.json","prepublishOnly":"npm run build"},"dependencies":{"@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.5","@nestjs/config":"^4.0.2","ajv":"^8.17.1","nestjs-pino":"^4.5.0","pino-http":"^10.5.0","pino-opentelemetry-transport":"^2.0.0","rxjs":"^7.8.2"},"devDependencies":{"@types/jest":"^29.5.14","@types/node":"^24.1.0","jest":"^29.7.0","rimraf":"^6.0.1","ts-jest":"^29.2.5","typescript":"^5.9.2"},"_id":"@henkel_dx_ipaas/schema-validation-package@0.0.14","gitHead":"cd9dcf8c82f67615683e32df4dec6f33937fa66f","_nodeVersion":"22.11.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-NH6gx7ytv66FikzKTtRr/trc+tH/PtRthZlWYFnHU9pMuvAbL+wjY9pDOKi5HnWUomSrwYKsdWjpTpPtLBK1bg==","shasum":"ecbec97fdc275c5bb6840eeb98e107f65bb6ad5b","tarball":"https://registry.npmjs.org/@henkel_dx_ipaas/schema-validation-package/-/schema-validation-package-0.0.14.tgz","fileCount":20,"unpackedSize":27132,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC68frrjEJRWliSaikptOUAER/mocdL/dqI7xevPpbqIwIgJuiE8zwBzGMKE7kJGKSMJV7jdo6PMqorrs0jsmEZkuw="}]},"_npmUser":{"name":"mariem.baderacc","email":"mariem.bader@henkel.com"},"directories":{},"maintainers":[{"name":"cemusta","email":"nooneelse@gmail.com"},{"name":"shreder","email":"vira.shreder@henkel.com"},{"name":"mariem.baderacc","email":"mariem.bader@henkel.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/schema-validation-package_0.0.14_1773233181707_0.9954811597704278"},"_hasShrinkwrap":false}},"time":{"created":"2024-05-15T11:17:52.311Z","modified":"2026-03-11T12:46:22.054Z","0.0.1":"2024-05-15T11:17:52.614Z","0.0.2":"2024-05-15T11:42:30.698Z","0.0.3":"2024-05-15T12:04:50.457Z","0.0.4":"2024-05-15T13:00:32.506Z","0.0.5":"2024-05-20T11:34:03.528Z","0.0.6":"2024-05-20T14:34:28.517Z","0.0.7":"2025-12-20T13:49:55.809Z","0.0.8":"2025-12-20T14:08:34.956Z","0.0.9":"2025-12-20T14:14:49.219Z","0.0.10":"2025-12-20T14:17:05.755Z","0.0.11":"2025-12-20T14:26:43.477Z","0.0.12":"2025-12-20T14:34:36.875Z","0.0.13":"2025-12-20T15:03:10.740Z","0.0.14":"2026-03-11T12:46:21.880Z"},"author":{"name":"Ipaas Team"},"license":"UNLICENSED","description":"NestJs module with a caching layer for validating schemas taken from a schema registry API","maintainers":[{"name":"cemusta","email":"nooneelse@gmail.com"},{"name":"shreder","email":"vira.shreder@henkel.com"},{"name":"mariem.baderacc","email":"mariem.bader@henkel.com"}],"readme":"# Schema Validation Package\n\nSchema Validation Package is a simple NestJS package (module) that allows you to validate your data against a schema which is get from a Schema Registry API and cached locally.\n\n## Features\n\n- Validate incoming data against a schema. Uses AJV under the hood.\n- Get schema from a Schema Registry API.\n- Cache schema locally for faster access. It stores the cache entries for 5 minutes.\n\n### Getting Started\n\n1. Add to your `app.module.ts` the following import:\n\n    ```typescript\n    @Module({\n      imports: [\n        SchemaValidationModule,\n      ],\n      controllers: [],\n      providers: [],\n    })\n    ```\n\n2. In your services or guards, use the `SchemaValidationService` to validate your data against a schema.\n\n## How it works\n\nThe package is exposing a `SchemaValidationModule` which is a NestJS module that should be imported in your application. This module provides a `SchemaValidationService` which is a service that can be used to validate data against a schema.\n\n`SchemaValidationService` exposes a single method called `validateAgainstSchema` with the following signature:\n\n```typescript\nasync validateAgainstSchema(schemaName: string, objectToValidate: unknown, schemaVersion?: string): { isValid: boolean, errors: Record<string, string> }\n```\n\n## Required configuration\n\nThe package is using the following environment variables:\n\n```plaintext\n- SCHEMA_API_URL - URL of the Schema Registry API\n- SCHEMA_API_SUBSCRIPTION_KEY - Subscription key for the Schema Registry API\n- SCHEMA_VALIDATION_CACHE_TTL - TTL of the cached schema in milliseconds\n```\n","readmeFilename":"README.md"}