{"_id":"@brainhubeu/hadron-validation","_rev":"25-bdea5c25d332e55eab039d6b59e2277a","name":"@brainhubeu/hadron-validation","dist-tags":{"latest":"1.0.0"},"versions":{"0.0.1":{"name":"@brainhubeu/hadron-validation","version":"0.0.1","keywords":["hadron","brainhub","hadron-validation"],"author":{"name":"Brainhub"},"license":"MIT","_id":"@brainhubeu/hadron-validation@0.0.1","maintainers":[{"name":"brainhub-adam","email":"adam@brainhub.pl"},{"name":"caderek","email":"maciej.caderek@gmail.com"},{"name":"drymek","email":"marcin@dryka.pl"},{"name":"dyoda","email":"lukasz.pluszczewski@gmail.com"},{"name":"szymon.morawski","email":"szymon.morawski@brainhub.pl"}],"dist":{"shasum":"f4db6a6dbd39559f1159b869af1e353fc8fa6f8e","tarball":"https://registry.npmjs.org/@brainhubeu/hadron-validation/-/hadron-validation-0.0.1.tgz","fileCount":7,"integrity":"sha512-MkcPZQRklU+NgJRbBNWiWvs8x9wjsbRv3UXnzjlmngH4bqdBs+xa5lIBEvN6LzzaUScN4oDkjj+YOIZLmImK7g==","signatures":[{"sig":"MEUCIQCD9kMHNA877gwhb69w9dgOq6pWVa5lfivAAKoRfoqSNAIgX7z6KsSZx2D2waCYTPFvsjjBPjnoNOk8hMHYZ+Zq6aM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7399,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa2fCCCRA9TVsSAnZWagAAdZMP/33HtKviFbv6Hn8REi5/\nObli3qzbibedZ/SwAFgU7lYu3A3eom9+HvfBKFuN838d41cbGIJsb4loRnj8\naDuFQmdVKn5Dwmw6UOERbsef81vTXy8fIli7SQkzzKg6YZBIyIdmIeVAR03x\nW17Unqh0jPx/jjz5La5eU5289vPSVCXmaz+YaQtoon5L4HY217lBwxcP+vtQ\nleMYIYOuCjFII+s7dUv9798Zi2Wz0T93LEkb8qZJI4LkmiV3nODrphU/kWBH\na+YsYXLbGz96CMMjQcLrEOnpFHiW/6tn6zFgddoiDVr3vX2YwgoW2lrnMi00\nUrFFHuMMAbbOkpWC9VWAqiQMFIDFwwoEk2mqZdFQcZdn8iTWD+XQk/AOLNx8\nheND/OSObnWzDj7IXdpNaVF+AqzjI85QBRIjEmVNlqQpsj+2V5oJX+HA4k4R\no4/BuV1b4LLyxFYdxw0Lg0OnCwGyB3jYTljU/o64tNWQV7a158oAPRleIJfq\n/2tCz00/NFQN7av5Nb+4+PFTCGSjCMU81Qgwq4V9t5AYUWkAQiErDY5BDwov\nCVH99ft8iNRSL3HHHHPIxKYRy2quR65lVU5oEOuu7D/zX/nS/fuVDvJuJc7S\ng2wc7CPA6f004qFMPGjvuEVInaD8KlHcPTz+KOkGEPho739ZWII9QDsyZxFe\neczw\r\n=NduS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","files":["dist","./LICENSE"],"scripts":{"test":"echo \"Error: no test specified\" && exit 1","prepare":"tsc"},"_npmUser":{"name":"szymon.morawski","email":"szymon.morawski@brainhub.pl"},"_npmVersion":"5.5.1","description":"Hadron validation layer module","directories":{},"_nodeVersion":"8.6.0","dependencies":{"ajv":"6.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hadron-validation_0.0.1_1524232321186_0.2844033096756329","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@brainhubeu/hadron-validation","version":"1.0.0","keywords":["hadron","brainhub","hadron-validation"],"author":{"name":"Brainhub"},"license":"MIT","_id":"@brainhubeu/hadron-validation@1.0.0","maintainers":[{"name":"brainhub-adam","email":"adam@brainhub.pl"},{"name":"caderek","email":"maciej.caderek@gmail.com"},{"name":"drymek","email":"marcin@dryka.pl"},{"name":"dyoda","email":"lukasz.pluszczewski@gmail.com"},{"name":"szymon.morawski","email":"szymon.morawski@brainhub.pl"}],"dist":{"shasum":"0f45386a3c14b74549349834b77233c0bf588c73","tarball":"https://registry.npmjs.org/@brainhubeu/hadron-validation/-/hadron-validation-1.0.0.tgz","fileCount":7,"integrity":"sha512-xvvRby6kU1Coi6gVex35Chz1eHQzQAf29kojPD7PU+D4sG5iRWT0XcJAuOh2vn/9DLGMz7FmpNPH7tQkRBW3Dg==","signatures":[{"sig":"MEUCICMrzAWvsthgM/v3VZ2//RRHw2/dXoXRyCyUzDZ2Ik8EAiEA3tTVO8Flo9g8K9phkmKTzgrAh/a6ch6iWNNcW+VvHVY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7399,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbFXVbCRA9TVsSAnZWagAAtLcP/ide/lcBROFlIMBWYXZ1\nfEwpQnDTMyI+hJ7Md88bjdjEeS98WfFxtAPhZDnLxQRfhwgZJd8I3yUo836Q\niOSmOlwr6xyd3HXBaKASCyZ5Z/Nofs8hI15yBcysuoWlwQGu6cLcOqeEzzps\nRt6L1I0odaF3R55ymdWLFyuRGO1ayUpCeBmXOLy2b0bKeLcAPR9T/rgYrKvS\n5DEgQLxYGzvlXZK0ZT3a+GQ3wcr0C6N4ROrd0N6SH3Indc2za/Kf94tq+3ek\n5QHauluTbsJUp1EDIGsSmFFRwfVvMqKyPrWjQ3dBBSRADssOBnmsJoDHsd1r\nubNwmUVXPomw8xZnft9L92HW2fMuNkr4xTZZ+4CgFnrYxViDrPcF5yk64bNt\nIRhyqtiKZ6ATJPCzTPIvC1GTy93Oc+jkrftfC3iaJPJQagXs9x/L+rVw6u6W\npfHFKuG8JXWQwKEt97ntflcifmCPSACSdWvrAi2uidXPuURTLhfRpO+dFS5c\nbwUP+4uCM5DsnK/8blXDkYbcJRB9CUYpbxz4civN9DopRHDLNCIIXpXfKjer\nq2YgA9fITt5uB05RV9f8o/KqvXox75kKoMF0hK0WP8GiH1j8mDI22n7nkCpo\nvTSVuuAc/1Rz5fVVZ8IRg2ekPPvoAq7ExYKlG//kUzIDLRdBk89zuhx0aQDf\nBXY2\r\n=lEGx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","files":["dist","./LICENSE"],"scripts":{"test":"echo \"Error: no test specified\" && exit 1","prepare":"tsc"},"_npmUser":{"name":"szymon.morawski","email":"szymon.morawski@brainhub.pl"},"_npmVersion":"5.5.1","description":"Hadron validation layer module","directories":{},"_nodeVersion":"8.6.0","dependencies":{"ajv":"6.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/hadron-validation_1.0.0_1528132955024_0.5705378002272119","host":"s3://npm-registry-packages"}}},"time":{"created":"2018-04-20T13:52:01.134Z","modified":"2024-10-25T13:04:47.688Z","0.0.1":"2018-04-20T13:52:01.271Z","1.0.0":"2018-06-04T17:22:35.111Z"},"author":{"name":"Brainhub"},"license":"MIT","keywords":["hadron","brainhub","hadron-validation"],"description":"Hadron validation layer module","maintainers":[{"email":"angjeziorska@gmail.com","name":"angjez"},{"email":"mateusz.jarzebowski.bownik@gmail.com","name":"matt-jb"},{"email":"filip.kublin@brainhub.pl","name":"fkublin"},{"email":"cypherq@gmail.com","name":"benedyktdryl"},{"email":"dariusz.luber@gmail.com","name":"dluber"},{"email":"devops@brainhub.pl","name":"brainhubeu-devops"},{"email":"anna.lach@brainhub.pl","name":"annalach"},{"email":"szymon.morawski@brainhub.pl","name":"szymon.morawski"},{"email":"lukasz.pluszczewski@gmail.com","name":"dyoda"},{"email":"dev@brainhub.pl","name":"brainhubeu-ci"},{"email":"robert_hebel@icloud.com","name":"roberthebel"}],"readme":"## Installation\n\n```bash\nnpm install @brainhubeu/hadron-validation --save\n```\n\n[More info about installation](/core/#installation)\n\n## Creating schema files\n\nTo use validation layer, first you need to provide some schemas. We use JSON Schema format, for example:\n\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"id\": {\n      \"type\": \"number\"\n    },\n    \"name\": {\n      \"type\": \"string\"\n    },\n    \"age\": {\n      \"type\": \"number\"\n    }\n  },\n  \"required\": [\"name\", \"age\"],\n  \"additionalProperties\": false\n}\n```\n\nFull documentation about JSON Schema: [Ajv documentation](https://epoberezkin.github.io/ajv/)\n\n## Preparing schema files for usage with Hadron\n\nWhen your schemas are ready you need to build object from them, where **key name** is a name of the schema, for example:\n\n```js\n// schemas.js\n\nconst insertTeam = require('./team/insertTeam.json');\nconst updateTeam = require('./team/updateTeam.json');\nconst insertUser = require('./user/insertUser.json');\nconst updateUser = require('./user/updateUser.json');\n\nconst schemas = {\n  insertTeam,\n  updateTeam,\n  insertUser,\n  updateUser,\n};\n\nmodule.exports = schemas;\n```\n\n## Validate function\n\nAfter you create schemas object you can create validate function from **Hadron validator factory**\n\n```js\n// validate.js\n\nconst validatorFactory = require('@brainhubeu/hadron-validation');\nconst schemas = require('./schemas');\n\nmodule.exports = validatorFactory(schemas);\n```\n\n## Using validate function\n\nAfter you created validate function with **hadron validator factory** you can use it to validate object by schemas you provide.\n\n```js\nconst validObject = {\n  name: 'Max',\n  age: 22,\n};\n\nvalidate('schemaName', objectToValidate)\n  .then((validObject) => {\n    console.log('I am a valid object', validObject);\n  })\n  .catch((error) => {\n    console.log('Object is invalid', error);\n  });\n```\n\nValidate function passes valid object, otherwise it throws an error.\n","readmeFilename":"README.md"}