{"_id":"openapi-typescript-validator","_rev":"42-616c77e8f649bd2e3f5b38a9ecf370c4","name":"openapi-typescript-validator","dist-tags":{"beta":"3.0.1-beta.2","latest":"4.0.0"},"versions":{"0.1.0":{"name":"openapi-typescript-validator","version":"0.1.0","author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@0.1.0","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"985691202df666dd5c7795da5a9da19eda15c072","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-0.1.0.tgz","fileCount":11,"integrity":"sha512-bXVkJLYmBzcjdCN8O9csJPZkk650+lwuOSbL34q9YJWk9NK060b+1uuXTTbXih4oEz6HWc2IOTmxcqcAK+91UA==","signatures":[{"sig":"MEUCIQD9KkD5FMU7jA2jEid0olKWwaYyTpwquY37dsLszv5kGAIgNawpigqIKWuhsfVwieO4AMUQAHzpmlr+pB4r/7bj8fs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18961,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgP2YVCRA9TVsSAnZWagAA3hkQAJUXezT5QMr+oHp7D7vX\nMwvgy2+43jzwxvxrfZDTyKOpxNTdXyNFsrKXyXhMigek8poFT2LuSlfpdNPy\nsw+imYYqySC71cOr+XjsRxm1IKkNHdupBOVBnPt1ZYEWahQ3dYWqiGtW1lxn\nMi8kGCWDChz9m6E/42lHafsQv1+rgLzDnul2xkh1m+PDMSsaxEU9kmVFE8OF\nln7ovbsJrIDyOVVJqnnJYOgOW+gdF/790+xUmJEsw6HH4RSSePM1E8xdpqlL\nhhRF1ly883wqBlOC4PXhH2APmPWGx+IRDo7YmVEmAoX454GoBAhbw80KzPHX\nPy7iSooYoloa8MJzCLsxCZ68D6+ltPRifDr7S6JvQkJL10wCl/QN9dIVhpqp\n/AHkfHOMJ8KZUfFuIZudbpGITY3zxBv/bHRFYBR37uecaI/tJWTYEnuqxnpm\nDVONQGc0JDDOddsBPwsZrBem0BSz2jXrTtQJIGVCmOpoim7fUuwCYM9ndqSh\n/h7g3wAhuHmjZJaFsfpZX9C2ohHS0YNqQNIAfSnyxdKyRpiumXVeZ6KxGfbd\nRlt6Ht1uC9sN0pVA+ES4RkbIzctMIRQ/D1qrybeGbnV1yQ1Abp/4j4//9nbf\nctQHZzdWw5DPmPvi4u/vQsZb4YC3hScvpL2iZRpU1lJxEx3vx0EavhlgF8Aw\nXCcN\r\n=YGDO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"3c40c54f836304262500ad137cf3c29c677b7c8a","scripts":{"build":"tsc","prepublish":"rm -rf dist && npm run build","build:watch":"tsc --build --watch"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"js-yaml":"^4.0.0","object-hash":"^2.1.1","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_0.1.0_1614767636626_0.6264523590016897","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"openapi-typescript-validator","version":"0.1.1","author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@0.1.1","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"6f547a4c9fa3fe5adfa69c8b3ae322ddb0dea884","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-0.1.1.tgz","fileCount":11,"integrity":"sha512-EIlIuO7XjzofkMoSvlm9UVfRNG+XHWkUHgjH7WY3/Kc77IrKzl8BTaetPCGK+UmQ134oTulOU2Lu/3EZ/elLkQ==","signatures":[{"sig":"MEUCIFvSQ15/FONNUETkiomrFqikMHo+PLRUxByEYS6FIwx0AiEA94UEC8nsS54F5SueEdOlGFSMoUbNtjBshjTguJd144o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19011,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgP2ehCRA9TVsSAnZWagAAVA8P/Rz/UlBtskXmGBWG+oi+\nKkyd3bWA6t9GeEwdJiCGbhhOjpu6hqNGSj2aZV/NxRvgarulzuzhex/vnxzo\n3Ji9C9acXCLdlCZ+Fp3J8pcKmxvO0H8ccGZxcWYRn8n1BtBGj0cYFqXTu5u+\nbX4JOFc0e370XfhcipoCpQic08PrcIEB6Kd6rC/JMW0qzAdSr6m1ARpImO+Y\nTE0kEQP9RKRviFvuJL4balO/0qhYa2KjO2/MGmL/38cyGloXEHbLm7EKB8uB\nURROF+I8EJVTfaU7FqMMfMw0pdwOSwGOXNDxmRd4UImcKLR5p99W3eA4IG6f\nwX+NnzMktvLWe6xfVDNUYeh6rsdAG5IO4lLcsElr0+gkZLqtQIewZjJBQlk5\nEwYB7UMbRd6PFDQA4CN/+ew8ZYRhhA80M0G47EB1+y/FXtJGFdzIuuugT4C2\nhXaDlNOBtkGzP1Jb9jrOI9/JH0eU5hbmPr5fqZMi8jKBfFfVNT31TDr5Oqd+\ncgHN9IoTiIb3c9xpjK0aw/gAAZPXYowQ/PK0FYLDXUOLC5zd0Vhtc9kqg9Rp\nq6rjw8jcKclftKrDdIIBsmsqf4kKbm6gBs22QO/Q6kdUz4O0K6zUg3rCynX0\n5wWxTA+bPTxU7ZSLPKSk3YWc20+5vQVddpKjTx3j/mhjCPUaAqFdf2d0cJEc\n3khj\r\n=t4SN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"95b8703d249057bba49af080f2d0c8a34121e686","scripts":{"build":"tsc","prepublish":"rm -rf dist && npm run build","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"js-yaml":"^4.0.0","object-hash":"^2.1.1","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_0.1.1_1614768033289_0.018537879308457184","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"openapi-typescript-validator","version":"0.2.0","author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@0.2.0","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"04f518e544a43c5181b564618992d75d91c3ea55","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-0.2.0.tgz","fileCount":11,"integrity":"sha512-pgYKk40ulN5eNI0z31655tLOPfATCdwjpnZTzvDt8NpfOr5rdwCGVTKSEzWynUnY1XKyMWj1H0RT+rGIyqbUiw==","signatures":[{"sig":"MEYCIQDqq/6U4sND+yrE/XIvMZrPSpixJXzrPI2DiJ3eQAfB6gIhAIEMpSyGcyXeGqPWS9xim8aLs9YFMM2+jnpCAPaqrNAt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18971,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgP3YRCRA9TVsSAnZWagAA/asP/R1KZ2nG7ilBl1wBbtwO\n+8GSPDEiVdFudexFKzwEzutumWKIBtOBE4lgm6M+RII4KZZ5iippW2DQcciX\nbytjOIhDEYG5PtDJq3cs2ViAIVvMXPysYNvJLfBVGNjX/a0e3eudohOVbLKu\nREUnQQbqqH4JGN5qz1MAPgARi6ChZA8lSe8u/NIHOtkcFi3foJAf67DpSeqf\nCO3BbTHWN6f96PJ/GgydVJ87nmq2NPJU1JFziHeOIiT6xIrqGYwFbRTi9iqe\nAsRuRKJfCe56iK9ILaDXzXSsJEYfNJWT3yuHMLbOv0mu101Kzechj7H0sxtT\nNsnh3FarRCV+MpAMzKP50kPDutyvDOuy6wfyh5dbICFPAZVVT6Tl9xsgx7EP\nyBIMSJEymZqYTG1CxDqC23EAYJAHssXIq1rR+Bl67e3qsvRZ7+OrursiGmt+\n2B9ZCwLfppfKm3z+re1Rjklj3jcpftuiO04Zm6ze2iYcLAcw4dGkPx8JyI8e\n80Y3OfdUEvvHOMSrHsU5yIy5DyS8tsh0FIpaBqHyJs87Yk8S6IsMbLA/XnTV\njZKr/yulih9EnhASd3BtIqu+kzaiG6j5CAyabjSf3n+ICv6WGbpNLymi2pH8\nBQroGpDZ1PwUey0ozWL6m8LxdElPM9hK1wZSqGh/4bBH+29Zl45GqIk7d49K\n3R1+\r\n=Z1tg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"40de0600b7014904d211f8106eba65ca651a2cc0","scripts":{"build":"tsc","prepublish":"rm -rf dist && npm run build","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"js-yaml":"^4.0.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_0.2.0_1614771729165_0.5508457643192803","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"openapi-typescript-validator","version":"1.0.0","author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@1.0.0","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"800f5a0104b730e7dd383f229cc2e4a7768c4dcc","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-1.0.0.tgz","fileCount":17,"integrity":"sha512-tHB7mbd/mx70gJs7Dq9BcDrtxXVujobo+cFlQdw6j1CLxz99jI7G4gu9mRwxRlIAyJsuelqjZMLN+0a10W5Y4g==","signatures":[{"sig":"MEQCIFw7/zFPYEW9rhdkx/J4mcG611AaafNlzfBHGsSBlInrAiBddxdWUBVXQfhjQMzz1vd1lJcv5OSrHGWL/P161qEl/w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37336,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgP7kjCRA9TVsSAnZWagAAY4sQAI+v6boYiLrASD7kIQIr\nanyyUGV+30X95Qz70DkqsaNtRnpO0WWZ83+YaG86b7xGVV9AlpiFtX0joUgp\nZ6CnAK/9PTi4bmKNeCDOCpbDF3uvFu/ZI3DrfwzdrPQIYsvy6J5+DoGAvhgi\nU4b2rlKssHT0LITb31T4QexlggH/NsVoDxi8cNzqEV8lCGXJMLIFZa2ewmKl\nYYntWTIgQtxKwRXPTjRaXXoNCubfdSAm6QNlrbegU5upcsrTDZ/TOY8FCNpd\nYCLgB5gNe6rt9MTWR6w/wKpUA6ilMctywOdUGQ06XYODcdbMRfoSrWZ8B2yk\nRmT5QOeXW9IjqGEGUyZt2j/rhQjS2BWbkrfYbL9oE83KuwFSl6iQMry+aEwo\ndOyAiLhHY4pL2x9MCJ8CmOrK6fGiJ6/xJs9LqLKlOVFmULUPTKKWueBKM2gz\nggUg05vVnhci2LsD5ctVmqSyKuFRryso2u+Hb3r75DNiOzpS53b93Ne4KllB\n4RAnkpJ9xRHy98ns7b026+FBGflrx8FnG6iUAxaxg2DXOgkp6jt2yzHS7sil\n6AcCyv0zQa8iPl6s03yMvdXpnNIVsu6XS3WJSLEGIyaWsJF6DnIrcMTEAfdY\n5gYSrt16bFjt4da+bea8ouG8AXUj7JU7Vv1Hyodk/ngeDnqedKpQmKEi1BFw\nkjoD\r\n=8r54\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"882f0780effc8a678a4e5dd288a5c165da13bb30","scripts":{"build":"tsc","prepublish":"rm -rf dist && npm run build","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"js-yaml":"^4.0.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_1.0.0_1614788898562_0.5358918988160868","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"openapi-typescript-validator","version":"1.0.1","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@1.0.1","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"b88135d0f7436a8a6e907b880baf5309b0bd19c8","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-1.0.1.tgz","fileCount":17,"integrity":"sha512-TX6sQr8ryhMDi/0u5hjsToHUgPl5KUDrLLgPVjXQfn7NDZd5s/FTg0OXQAE8sNs5Gy9TyhJrVxE+Ydix9h9OfQ==","signatures":[{"sig":"MEUCIQDS8XP6GlzfIaWq87FwcRNrPe8aXaJolU0Yon3X5eNPTQIgC3533Er6er7/L7E+MNY/eA91+ZF2z7/yglW5MhdCG/s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37500,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgP79mCRA9TVsSAnZWagAAIZcQAJlpWB2Fgh02M+QyxEGe\nJtn5OCDmaqwdDKAEgD0t8fkqgRR3t9U39aKi3UZQa3tCPLJLuDMQLdj5ttLw\n+eDn7Rp0dYwCdPn+zECP+sF3OED4viOZ8YL5wKcOL44i/Fk0bAHw14K49pSE\n9Wxd/KbsvS+iXqWRszA7i0AMGjitVaaVU8BJR76RKhzB5YAQInDtrMOd5/oo\nQmawA56K9kzwfyYG6kKapfS1fwxjF0sZFYbyLvDfdgJQbzEBGaaFeBXkd5/x\nWeBmF7h0dwKDjzdOXhdo50RY041XBy6qpL02rzADCSCJhiZrtbzrRDOs185x\nK+L+1RRTFBbDbIzZrKnMMR5e2/eSVUoeptcYQxW85Dca4KjgJzeWl2xjWPki\npn3Fx5UYJTAiq9M/c2SC+B/AGuxoOcf9bY4jDHAGahGWSMW6zUqf7gIIeyCb\nf903UMQFe7+UT8l546YXKqex4BSWqYDiM9Wlw/DqCV2bV8t81QrPyyWTKOfB\nvysvKfj/JHfXADDntHsxHcpamkJxOo4r5NrRI6TGp4uKmAvn5XNkIBGi4Uoj\nhAdfc3hpbhvtOBV3MhgXtglkpzbP29LN4rLHWP4PudOcsO/EyII1qN53ggI9\nTXxEelle19fwdc8VF9v7FSj+xHGMlNU2qS0DaqQOfkYHxvcPymrMI6bUMAN/\n/m5M\r\n=oa5m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"920ec45f69c8dd4ad7b37f19420b2f64e708460f","scripts":{"build":"tsc","prepublish":"rm -rf dist && npm run build","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"js-yaml":"^4.0.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_1.0.1_1614790501791_0.10064502737415437","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"openapi-typescript-validator","version":"1.1.0","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@1.1.0","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"33c1498470db5991da2d831ccc804d5006ac6f84","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-1.1.0.tgz","fileCount":17,"integrity":"sha512-Sp1XB1I+ZyiZ2DUhv15Tyc6RSb+pIuZFPOCNejvdybrm11J3AElZLFbgma/SOJKwB17O7L7T5UyEBeHpeVGe2A==","signatures":[{"sig":"MEQCH2p5V+Owh9BlfwXh3TfppfVI6qfvfZF/homy6qkz5ycCIQD2gpbfOzMht9iqPKFHByxY3MXr2NMXBO+93sNWUPP6Zg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33973,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQOcACRA9TVsSAnZWagAATTAQAJJEimVNrz2FBCVhWV2j\nxocmqyPNU3va0lDL0b24DvDTI6A0WVWQgYWcbL+9KGagqqlQOl7yZeb7vKI5\nSs/D7IPoqbwJlNlz9LP2FPD5c17NNd7MUSkJVrvmVSXED3WvEgOBKJsm3573\nMoXPXsNjDz3dInlAQkSKvGOTHxFJD/XlvURt6kDQ9zEWucZWBCibDZPeLbid\nXQQHFW2Or7+NcLn57/U6IceHANx+W3w5F41YwDCbTppEuJWIL7vvgj3gh2M8\nILsDs4grp+swDe4pBHjmaswUpn2KzdiNCygH7mribvzv2TBMRAlqlRcyIPzN\ntACy+i0m1t/8BejbxR950oExulxWIONTvgNBumj3HAP/E+Wb0qOP7+oFGTeY\n2I+fPRO0ZMLzfqzlTIyju0d513hoPy+Hz8NNgnBkzkXZqbmIYEsxFnuq5Ia4\nJQJv2ZipSNWIhkcxQKC0EWxGoEUL6DjPnIiJj1aC89Ysny+AsuczEzpcFIt+\n18pYodMRhaHyGllfVQaaFjeQVrFTj4nu+hgHvRMPtX+PK/xmCzbdJqkAWFoP\nPR7Iot0vtX0VVeneY+0LFI6I6PgmWmsPboLON00DRcr3zver6SbISTOrfH23\nXsZwLSHiQJMASZHwdneb7Xd3x83yuAXRN1Gw+Eu/FpnYMLiySQDsw6ccdWkt\nYgFt\r\n=VQft\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"2e33222b468a9a993462551976ec92907adcb38a","scripts":{"build":"tsc","prepublish":"rm -rf dist && npm run build","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"js-yaml":"^4.0.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_1.1.0_1614866176362_0.49350084051486953","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"openapi-typescript-validator","version":"1.2.0","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@1.2.0","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"5f20d1ab716f647ab2c71a1b5333d448cf49c9a0","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-1.2.0.tgz","fileCount":17,"integrity":"sha512-SNGbQ5QbCkWs0Eo720aaLGSwoY6S1RB3sjm2+qRVYNyv3rJWqaWC1R4k00kHFpJ34Wb9pGsaauDUY0sfPZqaxw==","signatures":[{"sig":"MEUCIBSyBujWytFOmGBQW+Vgn/xjCeRRO7m1oxoqnbMBo5EoAiEA+gGx2fxufZgegaOtEUdG35xvnESM/1CbI5KkVaF35+A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33985,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeBBeCRA9TVsSAnZWagAA6akQAJcSK6ApnFdttCxAP2hx\n0PJeEy9AOZN23Nxub/4PMQeF3byZqSkKEzTDfQf0i9UpK3sKEtUPj1JVAR+w\nt0LX+ugk8v8Kgq74P4XqVRRb0xW3e3qAmXT4Gv3HYJEzGEzYIojL3h3HwccI\nmvpKaeA13XPlhTqcrofB40ALwao4mMysHtMqvP+1S5hncwXBxC4XJA3HXYrN\nMCbdd4hvyayLd+NV9usAMRXgmtybjapoivF/uBe+KcHYMXICrESqGWvQQ92R\nTtzN02sHhMyzg/oTsaZzJVg6ks9mGsegLbn8ZXFd8t+1ROkS2NqYC/84sqww\nkAkJPzZyxANsWkhBRIDNaBRPuvFLa6dSolM9xyFfK33JHidZDpuOkRg93U3h\ne7IWsgEmiYm6C9NQoJzag/AeUfqSVQdcszcfQ3b4155pheErj4T9OABN01Wl\njonwxyfLfTyR5iTSY2yzxGTzW2zDtUuiMt9+7oI6/J4V4mGhiLAkAz4Nec6O\nLojvfLB3oCBLW/DJKO9lEUcvUzYtCGn1YURXqOfkU7ymFZfTFGoItguf1PVP\nGGNNdKMCioWV+4UaFGeu3JUzdMe8Tv6+UAJHfOQtL5CW2UktSS6qFZx0JxbA\n0u0UW7VtFL01sg4N5N9T5/MGUW+KkH+VBNba6W34v/qJrZq25NKt4xbT070s\nREzT\r\n=ko6k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"29cc096048f10d2366556aea3e3b2e6c2de75477","scripts":{"build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"js-yaml":"^4.0.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_1.2.0_1618481245881_0.1691623622496179","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"openapi-typescript-validator","version":"1.3.0","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@1.3.0","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"a12bf3e58802dc72c10227ae39194709cbb4a08e","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-1.3.0.tgz","fileCount":17,"integrity":"sha512-z1/4AeYjnSEMsf1K0/GC+dTHQ/NsMX4HzRFP/3JNRSmba4+UhvI+i7M0JugOK7tBVqIMVc/PbkARB29aRO1h6Q==","signatures":[{"sig":"MEUCICVLm7CHHeQDLAIfQt8nCjsr/bjMF3tmRqeVo2Ahen/dAiEA8dmC+lICQsUxYSpyhx+t0bXKMmvDS42Q7++/MIEAvZE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeCETCRA9TVsSAnZWagAAjIwP/0sI5lNxtm7SzmMB3GvL\nZZXUK2NtPxzv1ULdMPNSMKI4mFZMSPbDdJa7XdyJul7u758fVVlfMx3Gykb1\ncdQiJBq4hCyEJJQ8pwbqQzM7DwL/ytjCin5zUu6knLrI4mXAIzPX08SM/5Z6\nlmxxz8KvKjcc21g7nK6HbkZYVdCKLVXS5q+WqAEXX/HLxOtxNbSzRSLXr0XP\nz7ml8sv7GA9Lky53Yj0YWaBkst2gShs4XttqtPoYjHr1yHOO72xJm8y/SGq3\n6jC8wimEnMZXAE6e2BVYNhd0PD84ALaWyVd12BZ0Wk2M+HIVAJL5DazJ95EO\n4JVawpGwJr7mRvPb/Zk+s1xTFjtZAIZ4v3gYNWYuSEi701iXeLUgAgq8Pwjz\n1souQFUk8vdERMjk4QWR5ww7j85UUqQUlPgENLS+RP2xi+2/dEWOyfa7/VpG\nQlX5xnxoWMBEtmPZxkhau5Fr8MtWVWASW5e3SI0GQfK4F+RXDeB3VIeP3Ndd\nxpOlWbDt3u2lkoqigTeOfKQ9HhBju3L/GqKg6Gy6VBlQSPDMOzk035lBpCOw\ncrWZNB7B8uM/ZLG76nyu2QCTsFSNoi6JBykPSw2TZqKenWEviJVDSgLcgNtc\n3fqMtFXsxJYI8ct4T8woL7nsVBMD7O1xmz9vWjkRp3+VnsjzCcufjxVql8SR\ngqSO\r\n=ynwn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"a03e2c8ff380f6548306275c118ad35df038554f","scripts":{"build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"js-yaml":"^4.0.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_1.3.0_1618485523202_0.6551979664084171","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"openapi-typescript-validator","version":"1.4.0","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@1.4.0","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"f81891d61ddf533c33e7b44af306025dd65e120b","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-1.4.0.tgz","fileCount":17,"integrity":"sha512-YkYah/mSZeSDQVyFpvwqjXKYlEXs/xXk+r9H62nbu/ZGshxwgARQmB8ZoM0lHUGXKrUCJW2ie/fWxBCAZTMMLA==","signatures":[{"sig":"MEUCIQDGVwApGY6QEYY7rnACmJxMH/ZfOvxY7RabzD1Z2AwFHgIgaLsWJMwa0CQbEOZ8NAIPSgOHFsKNTwRZq/e3VigSmEw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33685,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeCV/CRA9TVsSAnZWagAAzsEP/AiimQELaqLwAD4JpsTF\nsZ6xbpjAvfqqaQm1IVFPi564FPlo68ykLY6xbSfTiAHQ8xaZdqAlkIAvykCd\nTYPSeGa0JqBMwevATpTT7/Vyku8pZdY6SKG62DFk9ydgR+IY9QQJJtPDbkMU\nCUC8x/6iODCZFmKhcaLnT0HVQVCMaINTjE5WdV6Si21JX+vQ6sHhGNtg+WCG\nxtTEgZbvGKdNSNovqhaz3AI1b0VGKtveA+BEDHLwLsD4xUAYjbC5pFfTgn/7\nySNUfj0aQdIR5KZB5osqtWkyQN6MYlWmaYgJfp5E8KbIi6dVQKoffA10uGca\nSp6qdzTzQjHVIVMx2z0F92+YS9D1TMLMiWxg79lK0xgm8cvS1H9dzFWc+8DL\nyRWPgmyyd6JfvMDNWP826V7uJDr4DFrH4dvMxmWz6rjUY0V2Rw2rdOg3cHPg\nD7gIa1ZEhClSRy97h7CmJSOl8u31JrXBrKeR9jpfeQZKlytJd3uTINrZhwFO\nyvhYwV5E4V5Oq2KkymttRj1vIme/VcpExi1sQeLtjdfil/S9jWoiiXTyWx5n\n/5MYgN3rvUmFkpzNHe8mA9XzC94LTRmRDliFSe5bz4eKlfSwHZ6ULgoMRR4e\nTYDPI8SnAo+Fz2jjJSwIexgyLH8cp85SblnQVsGXLwm/zb/tIKG15DdPQ/2C\nk4QG\r\n=WHjb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"40e84b3420aada9ed212f367ad0b5ce9f423a406","scripts":{"build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"js-yaml":"^4.0.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_1.4.0_1618486655358_0.8959417373734164","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"openapi-typescript-validator","version":"2.0.0","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@2.0.0","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"8d9797deaf5caa2d603b08b55efb89b7e9cbacad","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-2.0.0.tgz","fileCount":26,"integrity":"sha512-VKx8p8WDXc0oaWrrDgZJ45yoQzBb9/0LjuzdsUQ2Gxls9JCCYAXlF99erhLGEX8j26FkJVFoL/yOwS2v4iFxYA==","signatures":[{"sig":"MEUCIQCqUy+AMELLU3/PPsMH/kKIiX0QilX4HGoLcP1G9B63hAIgPXxzN0cg+JZaxHFJ/8W36C0xOvwBQNeQMwzEs4yfbEI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfBgbCRA9TVsSAnZWagAA8KwP/37plVc7U8SSNJ2eS6I6\nKQ82MbQHfyuEd4OUohFjQXEWYtwmUHuKEszt3P3Ofv1dJz4KtWH7mNCuLN7N\nG4dZjxhD+7eHztjfwmxUsZAxNd2Opq1PIeJiXFrJSTGLpDJgok0zTe3W78li\ny21gS5w9csao9myxEZeTwYKuFUh4aaOK9RY+HJxmFVcBcg02nSqOVk22gJtX\n84Q056KtFhZ1qoDDVxON/xKVHC+wv6eBbrmtnvr23tXCAV1ERVK8Y+21SAl9\n4hUThRiXEYwQDh2HIUG+L7usQjhpvSPQi+en7+TFqM/N4Yj89WK4vUGYDatF\nrWokxlwhDWIo5kFbIlrJuSOQy8JakH21ranMVQ/4wDsaXPHHxzd3lDGShOYF\nqW0YYympX/jYLgGwRDYzFaE0nts6d1CBKmUlooph98rjUqZETL1q6RGkSr6U\nhV/KlgCrP8JWmefR55AJ0FmFP3t1HpH6ksMZZPufTYnLRRo1gddNhg8GSow8\nUobAY37swwGFde3GLGKH+S8P71fV0uTmZq5zqzse1or0LJmUR/PQLxCc0uVp\nrquW3HoTBLFHSigY6XzsOVFR8VbUgfQGBxK9JMdjZvN9aXEvMdaB5xHoot0G\n/p63Xbv66+JUfMNiEGKrNatPNxBANlVimxkEEgbr3Uy1fm//GrQFm3cbkJio\n2/1p\r\n=EUAt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"eb80ed6e3f72f05ba8d90c57611b8a780f705529","scripts":{"test":"(cd tests && npm test)","build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"ajv":"^8.1.0","js-yaml":"^4.0.0","lodash.keyby":"^4.6.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4","@types/lodash.keyby":"^4.6.6"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_2.0.0_1618745371257_0.22812292790478228","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"openapi-typescript-validator","version":"2.0.1","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@2.0.1","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"0f6dd8c8c812c8f0239a58194d72f1d647e55c87","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-2.0.1.tgz","fileCount":26,"integrity":"sha512-Z9a/+qvukVgnu5tydCTCYNA5g8l0BAf1g06AGJRYDOPIXWbi9Wzr9+DtXFYqtArsKjywClROiDFSxGAReWJUaA==","signatures":[{"sig":"MEUCIEC/8cCBYdcWBTJ+rP1M3JSL1UEABOgHKLLRLXmQT6aVAiEA/vfRrBdB2YxAE0SDIr/4+9tLYqOtzrV6/Crgvm4B8RU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57891,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfBxICRA9TVsSAnZWagAAqQoP/idCi9Wt/SzdTePZPXbh\nvsZHNABNeYEgioj3lqEiIHxOyx0IAHBR22UqdVbAX3WtFdRJWTNWR1N/GMcJ\niyY4N/AoAFW5jRwy2YryeLIeFWpAXDXEewdhxxgXT/22yHVantFqXpRnIjSc\nuKQXmsJ0+7xHQn0KTGlh0ZlwlrpYJjtYcQIu/QbfWDfeFeTUQwXeGYpbAcQp\ni1K63ScvHUKHcNJWJgSD1+LIhy1xYuX6ovAgMnK+wxeUBy+fPJevSunOiBRu\nnmBwJWdSZlhUhSpvLCXKvV4dBaOI0xRyInYW1w7dJ6uoV5UGffWZdnqVtGXG\nm6ixOwC20AR795llHvrk9aPNK5bmMCJCVbiV8mpflQRf3VuOa7VqMSpfS7f9\n1Vo4wKnYUK4S0HrY013pGKiCFJm9EsCSLO1+FfVAUpAUD9kTTkixtVg5GCid\nmuCa1J89MhmIllITO1BX34/oaAfPz6yT1VZXFYWFHxxli7ek2+gOmknRf7bl\nQ82MRGtsaba3xD2mq9Lg1WAxs/cIzvN+2EZXNElxcPOWPdENSDgpp7M6j/bF\nKRM78MygTf7CMjsKNkd5QRwrijq97wiaEIeOG4iyjla7DhITbQbH8qem9Oz6\n2xB+mVGoajzm+DhKy6761+BewC2+y/dSfzQtST7ytb1Ik/O6ji1VYDSQvSoo\nW4m8\r\n=D+MJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"7b08f4b77711e506de9e2ee9b32c4827690e43c9","scripts":{"test":"(cd tests && npm test)","build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"ajv":"^8.1.0","js-yaml":"^4.0.0","lodash.keyby":"^4.6.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4","@types/lodash.keyby":"^4.6.6"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_2.0.1_1618746439425_0.05870255821137782","host":"s3://npm-registry-packages"}},"2.0.2":{"name":"openapi-typescript-validator","version":"2.0.2","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@2.0.2","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"21156306115f04d9abe0208736e750db16bfa2b6","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-2.0.2.tgz","fileCount":26,"integrity":"sha512-/1XCTbmpBj4a4cNeIBdcOEGIvgQ0BAIYvk/zbO9H1G1ci/3Yj5ElQ3nuzVDhytxgcsraNqMqydzK70PyulE+hw==","signatures":[{"sig":"MEQCIGjH/ZfHvWJvR+ytQFVT1Nh/L1hAmYJbFZ18PkwFlwEOAiBL8sdlPVc6/e/mUrCVmYp4e+TkCLmUStQ8Jcou51RT1g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57899,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfCT9CRA9TVsSAnZWagAAocQP/idlyBVj64oDKKyy2qHE\nOnbjCTEnFhKf8og9RIMtKgVAyX3YgrEol3F/TJzu3isJ5SIAjjWNRO62dz/U\n8Pecg/w/cLwPC2jIIpcAgcgCCXN8+24uaiGx4mIT49FQw+97T2Wt2FvRgkCk\nlOGp9tvQVCCG5kb7Zja6+3aZlYcUjC7NafhGRne8JGP17FLGFjrOk8NzQXYl\ncIgSmRpUKzQwo8VD9FdRuy2D/SL+jsN6Uw050piVE5/VzOCmIU6DQSONjtZD\n+JLA6DON1HCtThb5AGefsSSTn9/hlUoXzqjjyfV1sciKYIpWcNQQMxWVKvEV\n5dqIYUA7PmMH5lYW/1kFltpsxUygXqHHHWuoHumVMUL58Hk6DdfPtVXDzqc4\nsBp9r7Ge2wWtWERuqYcpxbaMiVb0oVR5EdGI58YMnbrDZY/ueGgIuEK9P2IL\nK9a9krD1mHRDKPGWpVpKuBEf4PE+afL5IGgiWR9kwV/1g6lzRRuarLGodL47\n4SLV61Ptlkg7E/N1M8wpSDmlXRFEfdOpOARVA/rQ7TqiPDyu6MEravvYAe4B\nslgulg52orLI95wPAHOmPEb1BqPP1vKIRKrFvSkEpU3COry+G3CIf96d+PS1\n8h2n1jOgIEazmHdtQOjVvRsLNwBBGfaSzFiQpj03zozc7TcLOEncrxn6aAuy\nRTaH\r\n=I9iC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"3f4a394392dc75bf00088465f61b459bd0a1942c","scripts":{"test":"(cd tests && npm test)","build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"ajv":"^8.1.0","js-yaml":"^4.0.0","lodash.keyby":"^4.6.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4","@types/lodash.keyby":"^4.6.6"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_2.0.2_1618748668635_0.3091720482873257","host":"s3://npm-registry-packages"}},"2.1.0-beta.0":{"name":"openapi-typescript-validator","version":"2.1.0-beta.0","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@2.1.0-beta.0","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"47952a43e9dfd950ab01f2c19b8f9cfe1f36ba39","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-2.1.0-beta.0.tgz","fileCount":26,"integrity":"sha512-+IBIX0riiL3PAfePbijShJBK6oVNNAy0kYPLQHrfgleDX8i5dxvyJHODXkaxBxUUZtSVHio3K2iHRTIWimrjUg==","signatures":[{"sig":"MEYCIQDaS7cQuB+6LQ4hVwR8Av4qzGggYOxUcLZyG0E1mnJ0wwIhAONxxGq2it4wv8LsKtXrdd1jZZcQt41sOKEk+Vybo6rl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58379,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfVgCCRA9TVsSAnZWagAAxZYP/ik0GX/QCgAl71ol+Oep\n2j/2ej0fC0DlqDC7fFj5cBC4tNr/0QPtDpeNCmEf5WOwW04KJ2u5M7TJ6ADN\nU+UOEvJM2wC1bVv1U71yogf2SP0NIRds3ttMLkP25OJv2tfAH+semrTbE7nG\nqqmLkfS0HvzmhH5VVUbgIBpWrs6POJJynyzPly34atz6Pqqy0hOY4yk5tWSU\n+ZiQ+MpL8D18kAKqtIEr+uwmsdv2meQPqeSBAlJn+HYWMZL1hgzNnbsbpiCO\nBbABGDGTomxKLUGsCf5Vkw+rOSH7UkzKg+Mb0mGPMmf7gD9VWxLTWIw7NVXT\nl85+a4VbgCkAYezCMw1f5QYvAdqYP2n8AL9nWcukqQd3419nUhU9ztTUkmcP\n59emVhe54OMCHZLAPPs+SYmruO8dPgWCvSf6rwbu3JyJtPfXEtBE90Q/iH9J\nzFzjcGRtxpz5/+E40YZlPdyCWTNNsMpL4ZrbdhMooFrwK8Hp+9dluRGLrj2E\n2U6G+no/443KN77o159lPzSXOYsGfG9ayP1FjutRGkgGUfEtvp1CqlPsEj4z\nipztQC+xUyRl1jeai2IJ/dpRjhxMbekIUIs3TLGgZl+g205WMWGSvpAuGmg8\ni6XqwUHUBamKB4KO63INBYCT7FiNDTndwbNfJILuw9++wVjzfJpjoPUI+Ome\nuSwB\r\n=cbE5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# openapi-typescript-validator\nGenerate typescript with ajv validation based on openapi schemas\n\n- [What does this do?](#what-does-this-do)\n- [Getting started](#getting-started)\n- [Documentation](#documentation)\n  - [generate](#generate)\n\n## What does this do?\n\nThis package will convert your `openapi 3.0` spec to:\n- Typescript models\n- Decoders which validate your models against a JSON schema\n\n### Example\nThis schema (note: also works with JSON based schema's)\n```yaml\ncomponents:\n  schemas:\n    User:\n      type: object\n      properties:\n        id:\n          type: string\n        name:\n          type: string\n      required: ['id']\n```\n\nWill convert to:\n\n```typescript\nexport interface User {\n  id: string;\n  name?: string;\n}\n```\n\nAnd will generate a decoder:\n\n```typescript\n// user will be of type User if the JSON is valid\nconst user = UserDecoder.decode(json);\n```\n\nIf the JSON is invalid, it will throw an error:\n\n```typescript\nconst user = UserDecoder.decode({\n  id: 1\n});\n\n// User: /id: should be string. JSON: {\"id\":1}\n```\n\n### References\nReferences als work, this schema\n\n```json\n{\n  \"components\": {\n    \"schemas\": {\n      \"Screen\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"components\": {\n            \"type\": \"array\",\n            \"items\": { \"$ref\": \"#/components/schemas/Component\" }\n          }\n        },\n        \"required\": [ \"components\" ]\n      },\n\n      \"Component\": {\n        \"anyOf\": [\n          { \"$ref\": \"#/components/schemas/TitleComponent\" },\n          { \"$ref\": \"#/components/schemas/ImageComponent\" }\n        ]\n      },\n\n      \"TitleComponent\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"type\": {\n            \"type\": \"string\",\n            \"enum\": [\"title\"]\n          },\n          \"title\": {\n            \"type\": \"string\"\n          },\n          \"subtitle\": {\n            \"type\": \"string\",\n            \"nullable\": true\n          }\n        },\n        \"required\": [ \"type\", \"title\" ]\n      },\n\n      \"ImageComponent\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"type\": {\n            \"type\": \"string\",\n            \"enum\": [\"image\"]\n          },\n          \"url\": {\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [ \"type\", \"url\" ]\n      }\n    }\n  }\n}\n```\n\nwill generate\n\n```typescript\nexport type Component = TitleComponent | ImageComponent;\n\nexport interface Screen {\n  components: Component[];\n}\nexport interface TitleComponent {\n  type: \"title\";\n  title: string;\n  subtitle?: string | null;\n}\nexport interface ImageComponent {\n  type: \"image\";\n  url: string;\n}\n```\n\n### Custom builder\n\nWe also created a way to define your JSON schema a bit easier. The example above can also be written as:\n\nExample: `custom-schema.js`\n```javascript\nconst { anyOf, array, constant, nillable, object, string } = require('openapi-typescript-validator');\n\nconst types = {};\n\ntypes.Screen = object({\n  components: array('Component'),\n})\n\ntypes.Component = anyOf(['TitleComponent', 'ImageComponent']);\n\ntypes.TitleComponent = object({\n  type: constant('title'),\n  title: string,\n  subtitle: nillable(string),\n});\n\ntypes.ImageComponent = object({\n  type: constant('image'),\n  url: string,\n});\n\nmodule.exports = { types }\n```\n\nJust call `generate` with `schemaType: custom`.\n\nSee [src/builder.ts](src/builder.ts) for all helpers which can be used.\n\n## Getting started\n\nInstall the package\n```\nnpm i openapi-typescript-validator --save-dev\n```\n\nWe use [ajv](https://github.com/ajv-validator/ajv) for the decoders\n```\nnpm i ajv\n```\n\nYour `tsconfig.json` file will need to be able to resolve the json files.\n```json\n\"resolveJsonModule\": true\n```\n\nCreate a node script called `generate-schemas.js`\n```javascript\n\nconst path = require('path');\nconst { generate } = require('openapi-typescript-validator');\n\ngenerate({\n  schemaFile: path.join(__dirname, 'myswagger.yaml'),\n  schemaType: 'yaml',\n  name: 'api',\n  directory: path.join(__dirname, '/generated')\n})\n\n```\n\nand run `node generate-schemas.js`\n\n## Documentation\n\n### generate\n`generate` can be called with [GenerateOptions](src/GenerateOptions.ts). See the file for more info.","gitHead":"ad7f9ca34fa5367d60d9ae28858c59295a677953","scripts":{"test":"(cd tests && npm test)","build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"ajv":"^8.1.0","js-yaml":"^4.0.0","lodash.keyby":"^4.6.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4","@types/lodash.keyby":"^4.6.6"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_2.1.0-beta.0_1618827265544_0.23571346181608765","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"openapi-typescript-validator","version":"2.1.0","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@2.1.0","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"bb3c5880b7dcd8748d528f4a1a3043240e354170","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-2.1.0.tgz","fileCount":26,"integrity":"sha512-2NCDJxpf0OdLTTLc9m4Or6+XsKLvzKtANeThM3moZpWPTngCoyk5wbu4IiQa1UrL6+2n5jBCbVviE7C9O26Bqg==","signatures":[{"sig":"MEYCIQDKesYRI5bWbDqL1CrTRMdfuNdl8/4+Z/E4nFznFcB7IQIhAKOEslIX/Dh2vnEcuE0RGkguRWAf12TuryNFKvYKkR0G","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58372,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfWWFCRA9TVsSAnZWagAArL8P/RdeECHA6bs14kECupF+\nJSXiaZrklBHYgTOVn8gEeqdMmjdLizLWk7/Oo9Dc8rQpO4RKSraT18cfF/VM\nUYnLCa4PnTGkr6E/3OFX45jbEl+ozCvHYA2oEefsqpPr775ZvV/sHIZhy0La\ni8Z4ihonnjUtM2txQtU6LGg6QVshEsqI8ZrTVFOXvtLUAUzrfRyQsqZq62Am\nH+FggmPhpK5XxqYhokO+3PTsPTjA0xYYUB7+9wUk74w3OnqvPZLezP4dQ67W\nJNC3b4/QDwZXHnTB5HHTp6mDIgcaZrHytTWkPkrVI3laCCW/cVj8dr/Yqzzi\n1iRB/IMx/EOdLDrI4k6FTyeYlkAyjKXYPy/RUb/Ks9+xKNLIRQX9bXqyEzWy\nzKgI3aPk5vAkBkaeyrINGsQTGTB1xrdGR4Qvap8FSCvW/tT5lw5gnJvZXDV5\n6msYcmiyWiGb7rS3AuqyiIdNb/d78fZTd97+9LjVc92vQNS6dxVWorxXx1hO\nD5GeCgzwIQq3CXFOQu3nJ3oXU6+yXSSpWJl1jL+xLCMeFRcC3DHfBjxTqI0n\nU85W14tNKHjB1tVDHfDOpZ+FBI4jZcYLFo6lfcP6utt3y25Qd5wFS4/lTjtz\nKct2QWRzqSxxMU6oB5D7d9wfWBvE7tQuEViGNVyL4iaNW8LjQhJaViftCVlz\nnR7L\r\n=de32\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"d887f1c3966f022cdd5dea465cc558541caeefa3","scripts":{"test":"(cd tests && npm test)","build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"ajv":"^8.1.0","js-yaml":"^4.0.0","lodash.keyby":"^4.6.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4","@types/lodash.keyby":"^4.6.6"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_2.1.0_1618830725229_0.4850728788216421","host":"s3://npm-registry-packages"}},"2.2.0-beta.0":{"name":"openapi-typescript-validator","version":"2.2.0-beta.0","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@2.2.0-beta.0","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"d221634e138cb55ab3e48db2f6a70ce882bf7b76","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-2.2.0-beta.0.tgz","fileCount":35,"integrity":"sha512-MrqhOs7qitt44/xDoQnNG6xtcMuQPHG0ELti9aJ9XoAsYaL45Nisvijj7EfINx8hMEybBfAoj+VNAF8M6Q4+hA==","signatures":[{"sig":"MEYCIQC+U+GqJ6R6HN2/GiMzE+oIKi9D9wvFmOyqY/k6m/RADAIhALUmQVwGgMEt2lNUsXs3nZz/ntDVSjrnPAF8RLazhkoD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59992,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfn1CCRA9TVsSAnZWagAAI2IQAIBYM4LUemhE/C93eWJn\nZycJgN0oMWDPTu/hiDULObFHBkWKXE9tX6gTNIjwAUeMWCcUfb3MD0lkexh8\nP5/DilW1lMTY+626UcdqaBiAPsX9ZKBKdMOzbr2k+V+ckcP4yjx/iEvQJw3t\naruR5AxcVS0fQwExQTfYhbpu529mfwfHmBlhmJnqz9dqyDog94vTm+NAVapg\nq2+lj0edANdjufFTCt1ulCNko/HxI1mfwtQ3cC72eQj3yv9qo6LuPSHyHfx+\nJL1v+sE8NxauIXankfBzLsCWkoIjilQo42U3k9HV9b0c2YAje1b4Vi8U6d6o\namyH1rdneOYl6CC5/jrNNUWlGz+XKjyrfByGdyzp1VmC7ALaGH233qxeEC2z\nY8eZemEICWzSMRscPk3G58w0pm1+uD/RziF2QxhB3AlGslPdU97WL5jMBx/r\nQP1y+l7cuyAEvLo2YJeiOW7DVgCwHeHfKjdIvMCh9LNaaRc2Drn5zA0XICXY\n+0rYGf2mfiCOY9v0XK3Xvl2Vq5Gf6OU6477YwLB104iimjXeU4es3ePT2Es8\nmdh+BSV7UR+d6lOps5M7QcHJPiXrdB3UWKSXMR9nJhB1tndR7iXGNhRd6iM8\nMwnWENcTgJHZekGxs13kgQTpUIwWfxWH2l5UHEB4ZN9mOKmYCMVAWERgefgj\nOFek\r\n=/pLe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# openapi-typescript-validator\nGenerate typescript with `ajv >= 8.0.0` validation based on openapi schemas\n\n- [What does this do?](#what-does-this-do)\n- [Getting started](#getting-started)\n- [Documentation](#documentation)\n  - [generate](#generate)\n\n## What does this do?\n\nThis package will convert your `openapi 3.0` spec to:\n- Typescript models\n- Decoders which validate your models against a JSON schema\n\n### Example\nThis schema (note: also works with JSON based schema's)\n```yaml\ncomponents:\n  schemas:\n    User:\n      type: object\n      properties:\n        id:\n          type: string\n        name:\n          type: string\n      required: ['id']\n```\n\nWill convert to:\n\n```typescript\nexport interface User {\n  id: string;\n  name?: string;\n}\n```\n\nAnd will generate a decoder:\n\n```typescript\n// user will be of type User if the JSON is valid\nconst user = UserDecoder.decode(json);\n```\n\nIf the JSON is invalid, it will throw an error:\n\n```typescript\nconst user = UserDecoder.decode({\n  id: 1\n});\n\n// User: /id: should be string. JSON: {\"id\":1}\n```\n\n### References\nReferences als work, this schema\n\n```json\n{\n  \"components\": {\n    \"schemas\": {\n      \"Screen\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"components\": {\n            \"type\": \"array\",\n            \"items\": { \"$ref\": \"#/components/schemas/Component\" }\n          }\n        },\n        \"required\": [ \"components\" ]\n      },\n\n      \"Component\": {\n        \"anyOf\": [\n          { \"$ref\": \"#/components/schemas/TitleComponent\" },\n          { \"$ref\": \"#/components/schemas/ImageComponent\" }\n        ]\n      },\n\n      \"TitleComponent\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"type\": {\n            \"type\": \"string\",\n            \"enum\": [\"title\"]\n          },\n          \"title\": {\n            \"type\": \"string\"\n          },\n          \"subtitle\": {\n            \"type\": \"string\",\n            \"nullable\": true\n          }\n        },\n        \"required\": [ \"type\", \"title\" ]\n      },\n\n      \"ImageComponent\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"type\": {\n            \"type\": \"string\",\n            \"enum\": [\"image\"]\n          },\n          \"url\": {\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [ \"type\", \"url\" ]\n      }\n    }\n  }\n}\n```\n\nwill generate\n\n```typescript\nexport type Component = TitleComponent | ImageComponent;\n\nexport interface Screen {\n  components: Component[];\n}\nexport interface TitleComponent {\n  type: \"title\";\n  title: string;\n  subtitle?: string | null;\n}\nexport interface ImageComponent {\n  type: \"image\";\n  url: string;\n}\n```\n\n### Custom builder\n\nWe also created a way to define your JSON schema a bit easier. The example above can also be written as:\n\nExample: `custom-schema.js`\n```javascript\nconst { anyOf, array, constant, nillable, object, string } = require('openapi-typescript-validator');\n\nconst types = {};\n\ntypes.Screen = object({\n  components: array('Component'),\n})\n\ntypes.Component = anyOf(['TitleComponent', 'ImageComponent']);\n\ntypes.TitleComponent = object({\n  type: constant('title'),\n  title: string,\n  subtitle: nillable(string),\n});\n\ntypes.ImageComponent = object({\n  type: constant('image'),\n  url: string,\n});\n\nmodule.exports = { types }\n```\n\nJust call `generate` with `schemaType: custom`.\n\nSee [src/builder.ts](src/builder.ts) for all helpers which can be used.\n\n## Getting started\n\nInstall the package\n```\nnpm i openapi-typescript-validator --save-dev\n```\n\nWe use [ajv](https://github.com/ajv-validator/ajv) for the decoders\n```\nnpm i ajv\n```\n\nYour `tsconfig.json` file will need to be able to resolve the json files.\n```json\n\"resolveJsonModule\": true\n```\n\nCreate a node script called `generate-schemas.js`\n```javascript\n\nconst path = require('path');\nconst { generate } = require('openapi-typescript-validator');\n\ngenerate({\n  schemaFile: path.join(__dirname, 'myswagger.yaml'),\n  schemaType: 'yaml',\n  name: 'api',\n  directory: path.join(__dirname, '/generated')\n})\n\n```\n\nand run `node generate-schemas.js`\n\n**Note**\nWe recommened to setup your schema configuration in a different folder than your application. E.g:\n\n- `schemas`\n  - `package.json` which depends on this library\n- `server`\n  - `package.json` with `ajv` depedency\n\n## Documentation\n\n### generate\n`generate` can be called with [GenerateOptions](src/GenerateOptions.ts). See the file for more info.","gitHead":"a8ee3d9b3ff83bba203e6005bc0a5aae11a901ec","scripts":{"test":"(cd tests && npm test)","build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"ajv":"^8.1.0","js-yaml":"^4.0.0","lodash.keyby":"^4.6.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4","@types/lodash.keyby":"^4.6.6"},"peerDependencies":{"ajv":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_2.2.0-beta.0_1618902337596_0.21789204962910924","host":"s3://npm-registry-packages"}},"2.2.0-beta.1":{"name":"openapi-typescript-validator","version":"2.2.0-beta.1","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@2.2.0-beta.1","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"9af4a515c86b058860627720b4d34ec3fdf131fc","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-2.2.0-beta.1.tgz","fileCount":35,"integrity":"sha512-3Y2DLOyPDZ/q4yv2zN7Rue00NU9SadiAhvG+uS2sJ7XnRd3m0ytwZkmuFkZ4OhPCeBrl90kLJH+VU3HkjCuscA==","signatures":[{"sig":"MEQCIHPy1ENPcN4HW0dXw/rv7fwVavUb3ELzZDHQIqf7EnswAiBg4yy0M6XQOfPVJm3kmShf2PojA7mj2zp3eaTCrcVzOg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66304,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfotSCRA9TVsSAnZWagAAHawP/jtPntHbx/uU+ULjSIYZ\ntA0We2Qw/XhyK0ITgRY6rh3T4qjeoWw7EqMR86/SNe782IGIrHsJa0fJbGtH\njRxTSaiS9LMkijl60KsE/vkK8frytXDN8DxT31APdjC8Zy2B7hARLBq420/2\ni/UhPHin7OVdc8l60zHf0Dqo8EU/s2lwV8Css4ssYANlMpt4Dy/WoxxjKa09\nkUjO0naWgkb++r++AwSDHq+c9psnSWb0TF+Z9X43rgJsNDObfVpR9gp7yKrM\n/OmEYqrANSbvbNnIKQCZskpFL1x3WOtUhv3PayQTejw1/K1cY+Mldz80d7qB\nAn7l6w+sbrnqp0oC7Opf7EBNYJoPTChi8J5ZfZrdKcARSrFm0azgkhHBUvOf\nQkWTuPufFs3lRxyxKbqRcO9wvvnTVN1hiLOyjynSv7HnKk1vZIlTVZ0pc7Qs\nv7XnunBTcV3urlI67gWNzkREegCs3xoTG6tKqSPFiDRjl+O3dEp5YLWoD6wm\nRyUVOhz3ti2IjV+nhZblzQmY0WCpMwwSw85g/NK4DaO+r/Y9yShe+OrpytVV\nmdKRSD8M7hA6KjCYp34zF9oUqCGALX/FAUPGfoteS6fmwQ7naio1zqTzItay\n874iYLlST0Vn0F7FRFNED8+I7ZkC9h8T9p8WOm4u2whNjB2Ki+ZrfPFFzw/u\nQoTd\r\n=FNqK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"c5d397970fc676cd3707a7b2f8d057ac2439e83c","scripts":{"test":"(cd tests && npm test)","build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"ajv":"^8.1.0","js-yaml":"^4.0.0","ajv-formats":"^2.0.2","lodash.keyby":"^4.6.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4","@types/lodash.keyby":"^4.6.6"},"peerDependencies":{"ajv":"^8.0.0","ajv-formats":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_2.2.0-beta.1_1618905937690_0.5612525513888342","host":"s3://npm-registry-packages"}},"2.2.0-beta.2":{"name":"openapi-typescript-validator","version":"2.2.0-beta.2","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@2.2.0-beta.2","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"3007b4fa0cc1214250df3b3ea99b48a0b8f5ba24","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-2.2.0-beta.2.tgz","fileCount":35,"integrity":"sha512-YVx1FNTDnANAwkCO9dSFVFfK2BPxfmJS7f7m3Tn+6HG2xF5QqVXXoQOu6xkLnMx6gm+DwbrByXhVaI9vhcNzMw==","signatures":[{"sig":"MEYCIQDqVq3Nsnqz0x+SCbF0ZzNCqwlRbC//7IdOFnWfWwLiwQIhAP+mcOScU4USezTPJmaF0UO3oHuJh8lmZUEsBlkJykqQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":63772,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfo3fCRA9TVsSAnZWagAA9ucQAJyTRB1ySRtZx/BcEiCd\n4BFITIN0HJ4fUvDDg3PigsUfl9OSDNpUvEFVpzbVbvuhen1SBWIop2Gt03E2\nzt8vGMcGnB3Sg2YLjxKTNQfDQTKlmVujnFLdBmbr6fviu/Mhv/OhsIYZUWvV\nfV62fV8np1mUuhfs71WmCoajHbU7gei86oMVu3wel9aREc5s2L0Fe6aBrrBp\nsja8JB71GRU8bIPQXDsol/JELd80O/yUhL6YeOTWuzOHUTcCh5mHFem8v+b9\ncOU72dKGNsXcfd0mZEzfhOKED+KmBbWZgaDtsC7znltylbSynq0OFIPkbGDH\nnSBkIrUyKuu1cI4oN2tvKzdii3a0fjVbUYz14Hq43iR7ERlKlV4P0Vu1IH7g\nAT7HWbmMtUVDNi0mLSg+kaUBA3fqyVNRpVHQIrnhcfmOTr2yp3wOWISyTLFP\nFsx5tsoGnIrh9sgpGYIBmHVXwthsIzARHOctjrj4LPjNK53e8tqW+pHOhkVl\nexYNQyC1odDs/acVJvRa1AHz50OhK25jJqACKoz66sG18lbIg2aNJgHlfkD4\n91brnyIKJ3g0dkAXfE4XNJOgyVfOzqBlwIR0LyxjhOxTqQOFHyIAnUkmXhlc\n7aUbMNmVfIJzM7QntBs7+w4wakkoMIBsuTBET5u62AVchLshrzT1Eaw5n+bd\nFOSy\r\n=lanQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"c1e8fb0c06ec2805e92b4f17256debbbfa5776a9","scripts":{"test":"(cd tests && npm test)","build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"ajv":"^8.1.0","js-yaml":"^4.0.0","ajv-formats":"^2.0.2","lodash.keyby":"^4.6.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4","@types/lodash.keyby":"^4.6.6"},"peerDependencies":{"ajv":"^8.0.0","ajv-formats":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_2.2.0-beta.2_1618906590146_0.7245924626927527","host":"s3://npm-registry-packages"}},"2.2.0-beta.3":{"name":"openapi-typescript-validator","version":"2.2.0-beta.3","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@2.2.0-beta.3","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"948c84f4746d3da03f8a6e40efacc6d55fb40576","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-2.2.0-beta.3.tgz","fileCount":35,"integrity":"sha512-YlByOXok1+/8/f8zB68ubVHDFElIygozoJkiMpHtNlsFtNOc9YFJ8D2xqNtcRZoFf2a7hGpOfR84BVvTdXZI9w==","signatures":[{"sig":"MEUCIDdjKttLREhb1g/nPjKb2LyFuarWEHVruQlhUunVjWOjAiEArj1hhS+Tm5WdiJh2wWVeMS3soML/w1eUUAmPWo2pn3w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64767,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfpe4CRA9TVsSAnZWagAAqtgP+QD6Nl+bjXU+le6NWivS\nQ15FxagMHaGJgSc5W2dkAVYZGXSK58GP9UMDrovDAzzcqvVQIZ4WETzc8lpN\n/lxPqyF6l9/DXf7GqExa7VGya+9lTBeZaw5eS/T+RKtZ4cpMxlCvNEuT+juD\nh3i4NTYgwRlGuYk79qQJNKSDRJQdgDseryfIVdMTM5K0pS6gzxqLf1zNs3qJ\njcV7zU8whMfydkGnLkJSeEwEMSbTacCM+P7OMiBdC8sDtGwXKRytPu4k/YGc\nBkIDJz+JKXx8Ehe6bk2RZFO20FS6t8dshtcsRJG2C73yoIIEjUIQZpC6Lpiw\nQHYIGPOUGXluUsm/WSV8aaeohlPP2mk+jBgoEvowrG3BD+2NN+uaoS0pdYP/\n7fqFJ4v6bJ/y/UCL0TcQUG7JBurRmQk7JyxuTF6NcSBw4NOjdCvnDoXatsYW\nGddJvCYEIFZipR+AdPnry/bTea7eVBFJryKpWBJc4AU0SO1t2F4B85ZezcZN\n8eYCeGUvUl9qN2WxxFo90iJCH5PQXb53s8ggZeHqELzqvgPBCpMZdAaed17N\ntkyeXHuFe7YvSiPKrXhukZTdPER2UpLx3zvNTzKnmgG0eEjnUYXkxo2vJOpB\ndaTyiuKtDxJe1tCdyu4HHhLX8bUx9w8qALRYo35Odv4nhy9McEflcs0WvVgD\nWOB7\r\n=XBkE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"e93f909b162467202b4f69af02e1d4da6c775556","scripts":{"test":"(cd tests && npm test)","build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"ajv":"^8.1.0","js-yaml":"^4.0.0","ajv-formats":"^2.0.2","lodash.keyby":"^4.6.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4","@types/lodash.keyby":"^4.6.6"},"peerDependencies":{"ajv":"^8.0.0","ajv-formats":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_2.2.0-beta.3_1618909111583_0.5821457339193443","host":"s3://npm-registry-packages"}},"2.2.0-beta.4":{"name":"openapi-typescript-validator","version":"2.2.0-beta.4","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@2.2.0-beta.4","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"936bf56e3a0dae1d19aacc72d4e7f1c8c7dcefe1","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-2.2.0-beta.4.tgz","fileCount":35,"integrity":"sha512-GAU+wwOidcTeX/H2+YoY81juLK1ny/nYkZ1h7MHsGXAqPnwv+/FUyorUwMVuNlWXCRyl+nCIBvMvco4JgP6bbw==","signatures":[{"sig":"MEYCIQDA+sbeYssblQHeJbRGuUVLbPsu7KqDnnHFLrcQmM8d0gIhANK5hUbjnDH8L76D9r4fVf8mqzxlf2gCyNeoTnvB888q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64767,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfp2RCRA9TVsSAnZWagAAHBUP/AwxDckLWXeEHoGs2GAx\nfx+6LV13SX5n3XFTtKkwPnyC32IFUyru8fiDRQhdZvmwNfwHB8SppPTHX+cQ\n8HIZqHBZKhrOObDwZ667qVkoHBbkH5PymMBTXwnfNSCpccPAnwny2C1B0ShK\nDhbdjFpNjy/f0bO1h6Gdy5XSWo/qnj5GiMGD4Bw0Ne0v6LZrXC+MkTenH5u2\nQmQmeTRYXmRxlqZ1ZzrRoF2eBWp8ZyNccoFndMZI/W0lNaIrlq/9gGtLa1jb\nEn+A9Sg40IOY2uTVGhNy0P7A3VqziJgMnzWsmk9YLBz2YByLAtTqq88tsb6y\nV0vZ1dDjH4IGynCkzQ2/hDtxpk5dA+Yo4Y8rAj2rTLrxdn/YnlIHYBGzVOGU\nyH2XANkWtg4i+JUcRV+K8Ct/2BWvEEhvma+EqANK7gW0lvgygD8iFoNAxdWW\nqVZYTAlQUVQdEHUNZzmPP3yctrecRLVc+1hCV1VJ3YNrztRbkMl47Ro8AG2t\nEZQbwngri47pkFnKSctIyWNFLFa2/Xqf2mVCJWz6dFVmeIovxbER5irMQ5Gm\neNhh6wgoLoO8SV/MO4q7pUq5nr5/KtCj+XUWeyZoOBiNfUELomIk6aq0jwmS\nca+XNdiNZvMnz9YTyId3ADxeGZXkevZRKDLkrn41dpOm+fib2PRBe4/BJI+T\nvn4x\r\n=EaUX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"d5ee7de00b17751f49b24cf497bcdcc29e5dac91","scripts":{"test":"(cd tests && npm test)","build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"ajv":"^8.1.0","js-yaml":"^4.0.0","ajv-formats":"^2.0.2","lodash.keyby":"^4.6.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4","@types/lodash.keyby":"^4.6.6"},"peerDependencies":{"ajv":"^8.0.0","ajv-formats":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_2.2.0-beta.4_1618910609346_0.7461915271107076","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"openapi-typescript-validator","version":"2.2.0","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@2.2.0","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"9074905dca52f1470d3e3b610ace111a91bd9736","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-2.2.0.tgz","fileCount":35,"integrity":"sha512-AcUtiVi+jiRtmp+xKjrb0VkZsmS736Z4LcXdXu2/exnqJsm0J4IAY+zN2c8Y2JqC3KFJvPfYcEmQu+/C0N6wSQ==","signatures":[{"sig":"MEUCIQCKfrBpWrYdAWLqmQICIRp75rFeEbToLR5/DyWVuJi43AIgBw4k7SYK7pch0Al8/WM89SmFEC7hXVIS/QIK2H/MRfc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64760,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfp7pCRA9TVsSAnZWagAAoJAP/3gZq3VZNe0blFRO4o0R\ntN1ffpCpHjXMpGcuRrCPQZlZW9ITokgrg7akqWR7Q5tez8BnHDZfMisbLH27\n/lfEl0e8ElkvkBJaj0dtvYSlCb8yuUP3s54OO2seu4tZcrORt4DNX99PrX7r\nLXgbMsySVvGYZXe7qMsCyQGW6zscOGnvh0Fq5s/rn6jTLvxKa1q1o1qZMQhg\nJFwLV5xtLkMm0QXZyF7mA6QryBJQheGFkcBB5wMrZF/HmQQuJtgfbOJ4a1XP\nToBpuWGp6sSnMsxUVJ4CibcV0V++5tIGvJchBrLlV833Y9t60LvyIP9IdbAp\nlqiVOJ6la2SIZfuPH8IaO2bNN3MY0nYsb9cqdxeislO/491d6oSeQHfz8A+F\nVX9Wx4VlUyecBgyjUVvMawCuVa2SRUzdz/JrFQdf6ZQk4+1uIjvR7wfNej6W\nsrSId4chI2CNlzvWBp/Lszs+4l8HBzIBJCy+zyFRUpwu9ZjzP78gDA0VM15f\nf9TmuVi8eV0vaPqtx5y5Dkc8OnU+TcdMMX7No86Woh65A1xyvpuPx8fFkY/P\nI6Clkm7Az6P8QlJ8nQF2URu5N0Zr9NOQF5GxUAK897id9C/UjKK7Yh4PqZfa\nZukCa1gPKkgXj70++4bOobN2k7TMjaiOwtd4JWPGTay/SpE+OR0z8gTpmqTG\n0jWL\r\n=hlRX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"10f043545d00647ee54bbcca39ce69ec252fe879","scripts":{"test":"(cd tests && npm test)","build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"ajv":"^8.1.0","js-yaml":"^4.0.0","ajv-formats":"^2.0.2","lodash.keyby":"^4.6.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4","@types/lodash.keyby":"^4.6.6"},"peerDependencies":{"ajv":"^8.0.0","ajv-formats":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_2.2.0_1618910952746_0.5087919160381027","host":"s3://npm-registry-packages"}},"3.0.0-beta.0":{"name":"openapi-typescript-validator","version":"3.0.0-beta.0","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@3.0.0-beta.0","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"ca351ea0c524cc5699a1a51bc4d71ca3232e7531","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-3.0.0-beta.0.tgz","fileCount":35,"integrity":"sha512-y+yMGSKK8A24vyzV8/vvgCkfLfnfBL68OMTqbtDzyE9RgvrHiE0h/lLFb9xmHyeoSzbtPIET8dbXNk66NNtLPg==","signatures":[{"sig":"MEQCIDcu3IXK9GzDOTuwQucXL9vZZOf78pJCaqhlTO4dzsSZAiA8I5qJ+5Xaehy2++OPLhI95DgcqsHIf7BsjRIwMzah+Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpOcMCRA9TVsSAnZWagAAIAcP/1/od9dPgGwWXV/wBW1v\ngQ36RrJcRadpUo/hT2pY4hMCNPi46GRKraNcI9FSZ4Kz4C/ToOGPhDHk7GHb\ny5b2vrxEW1rgTyGSv/GxAVIc674wsI0vs1xikrBR1nof5qjefVxN8A2M39Q9\nDx8IkUeorsLNfk/pt+hP4Z1qeH3/4nKcYMmsBSad0OhbO1mwrJb901VFUzSF\npVeANjNnuesS7iOy/2TJjw7uu1EXcn6WTfWvYb+tgGOXTZUAJGgngijGRg/Q\n1pCmrtPYnPxCPKpZus9fYF2tCd7a+CutSQQWwyDUgZCp0j78Z7st9PyydAwg\nDRRdH2JSJFYHQcy9bpX0HidjquGtt6IQBBIR3LOqjqvGT2o+nliyj7ZJaaVW\naB5F1eb7enyUQzjGhyi+KVbv9pPRZwSM7KJtP2Pr6nHYqWmx2cWg+18mJsYF\nS1TX+Up4fYt3hr8Oe5+KJ9uJoehuWtr2r1uuFGmmQOvyif7CuhkpW6mmZWcA\nlxEPZsvaycVua0TaWfJ9uqIJqfl2UmARPjDKycIQtDDOCj8WgrofAgf0JypM\n+440lVkWVXBq9GJjQt4JRuUf/L3ZTr3jmh2LfCV4V7heNCzW7TS6aozIq1Cn\nySe1uEDUDZHQBGmOnF71y8WSZla7kzSlbwiDmDWAp8Wy5i5sMW1yun25CjjE\n4rz/\r\n=AvyL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# openapi-typescript-validator\nGenerate typescript with `ajv >= 8.0.0` validation based on openapi schemas\n\n- [What does this do?](#what-does-this-do)\n- [Getting started](#getting-started)\n- [Documentation](#documentation)\n  - [generate](#generate)\n\n## What does this do?\n\nThis package will convert your `openapi 3.0` spec to:\n- Typescript models\n- Decoders which validate your models against a JSON schema\n\n### Example\nThis schema (note: also works with JSON based schema's)\n```yaml\ncomponents:\n  schemas:\n    User:\n      type: object\n      properties:\n        id:\n          type: string\n        name:\n          type: string\n      required: ['id']\n```\n\nWill convert to:\n\n```typescript\nexport interface User {\n  id: string;\n  name?: string;\n}\n```\n\nAnd will generate a decoder:\n\n```typescript\n// user will be of type User if the JSON is valid\nconst user = UserDecoder.decode(json);\n```\n\nIf the JSON is invalid, it will throw an error:\n\n```typescript\nconst user = UserDecoder.decode({\n  id: 1\n});\n\n// User: /id: should be string. JSON: {\"id\":1}\n```\n\n### References\nReferences als work, this schema\n\n```json\n{\n  \"components\": {\n    \"schemas\": {\n      \"Screen\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"components\": {\n            \"type\": \"array\",\n            \"items\": { \"$ref\": \"#/components/schemas/Component\" }\n          }\n        },\n        \"required\": [ \"components\" ]\n      },\n\n      \"Component\": {\n        \"anyOf\": [\n          { \"$ref\": \"#/components/schemas/TitleComponent\" },\n          { \"$ref\": \"#/components/schemas/ImageComponent\" }\n        ]\n      },\n\n      \"TitleComponent\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"type\": {\n            \"type\": \"string\",\n            \"enum\": [\"title\"]\n          },\n          \"title\": {\n            \"type\": \"string\"\n          },\n          \"subtitle\": {\n            \"type\": \"string\",\n            \"nullable\": true\n          }\n        },\n        \"required\": [ \"type\", \"title\" ]\n      },\n\n      \"ImageComponent\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"type\": {\n            \"type\": \"string\",\n            \"enum\": [\"image\"]\n          },\n          \"url\": {\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [ \"type\", \"url\" ]\n      }\n    }\n  }\n}\n```\n\nwill generate\n\n```typescript\nexport type Component = TitleComponent | ImageComponent;\n\nexport interface Screen {\n  components: Component[];\n}\nexport interface TitleComponent {\n  type: \"title\";\n  title: string;\n  subtitle?: string | null;\n}\nexport interface ImageComponent {\n  type: \"image\";\n  url: string;\n}\n```\n\n### Custom builder\n\nWe also created a way to define your JSON schema a bit easier. The example above can also be written as:\n\nExample: `custom-schema.js`\n```javascript\nconst { anyOf, array, constant, nillable, object, string } = require('openapi-typescript-validator');\n\nconst types = {};\n\ntypes.Screen = object({\n  components: array('Component'),\n})\n\ntypes.Component = anyOf(['TitleComponent', 'ImageComponent']);\n\ntypes.TitleComponent = object({\n  type: constant('title'),\n  title: string(),\n  subtitle: nillable(string),\n});\n\ntypes.ImageComponent = object({\n  type: constant('image'),\n  url: string(),\n});\n\nmodule.exports = { types }\n```\n\nJust call `generate` with `schemaType: custom`.\n\nSee [src/builder.ts](src/builder.ts) for all helpers which can be used.\n\n## Getting started\n\nInstall the package\n```\nnpm i openapi-typescript-validator --save-dev\n```\n\nWe use [ajv](https://github.com/ajv-validator/ajv) for the decoders\n```\nnpm i ajv\n```\n\nYour `tsconfig.json` file will need to be able to resolve the json files.\n```json\n\"resolveJsonModule\": true\n```\n\nCreate a node script called `generate-schemas.js`\n```javascript\n\nconst path = require('path');\nconst { generate } = require('openapi-typescript-validator');\n\ngenerate({\n  schemaFile: path.join(__dirname, 'myswagger.yaml'),\n  schemaType: 'yaml',\n  name: 'api',\n  directory: path.join(__dirname, '/generated')\n})\n\n```\n\nand run `node generate-schemas.js`\n\n**Note**\nWe recommened to setup your schema configuration in a different folder than your application. E.g:\n\n- `schemas`\n  - `package.json` which depends on this library\n- `server`\n  - `package.json` with `ajv` depedency and `ajv-formats` (if you use formats)\n\n## Breaking changes\n\n### upgrading to V3\nWhen using the `custom` format for your schemas. The `string`, `boolean`, `number`, etc helpers are now a `function` instead of `const`.\n\nYou'll need to update your schemas\n```javascript\n// v2\nobject({ title: string })\n\n// v3:\nobject({ title: string() })\n```\n\n## Documentation\n\n### generate\n`generate` can be called with [GenerateOptions](src/GenerateOptions.ts). See the file for more info.","gitHead":"e2602ac36ded2433b72d36450ea8ad7da28742c5","scripts":{"test":"(cd tests && npm test)","build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"ajv":"^8.1.0","js-yaml":"^4.0.0","ajv-formats":"^2.0.2","lodash.keyby":"^4.6.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4","@types/lodash.keyby":"^4.6.6"},"peerDependencies":{"ajv":"^8.0.0","ajv-formats":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_3.0.0-beta.0_1621419787566_0.01685605218061803","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"openapi-typescript-validator","version":"3.0.0","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@3.0.0","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"ab0300ae7991be7b591db1b13293624aa3b6faf2","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-3.0.0.tgz","fileCount":35,"integrity":"sha512-dLwLE8DFWO7IKgLqm+NgBBYuW0bydbb5bCDn5EQSjGXRBceUHN6ZPa9UiLKAZx8xxSN63WPr9IL+f69HlaWUxA==","signatures":[{"sig":"MEYCIQC8eeC4LNaOED1zxJHSsJln2lZDzMqHFI4TiO9tAEqdeAIhANFQCHZb0Yct48e6F7L0gnBa0nE0FeYBtmj3FkZuS6UF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66134,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpPRxCRA9TVsSAnZWagAAtgAP/2neEO7RS5a2S3QozIno\nk4spq1yRSAhkVusnQvDPRk0moWd/j1Y8e1rU/0dBp9m0tOfAr8Vv4CEpS/Ej\nBiwmiLw1meOasp+MI9YlOewPFe/xNseEzYwA1GudWNa9loS/rWLEix7GGEPJ\nQL3BGyAIKt04dDB1zJD2/dL58h/dsay48SWLSjWzZmyJ42Jdy2uGY7m2IZqO\neqPaNXXwg+WNzfdhCM7cSnBwxdAuMsDTe+nGlUx+uDQ9GI5OfktPe9J38YA/\nfKfK9Vcq/ZpbLd3Mmem+0d1tsbxRI5j6oJIDh3/2wrw4tXvhamHEpclvYRi5\nnfh1raF0ODB99qreviYpxPWK+aCgoLUtcRUhJVYigkaGZYLM41WEb0XsTD2r\nR9SW6jyG0JRBLUj3GcaH2zdE5mcCbcz3IUFCYSvkrSULvMUJArNvv6QxQPJX\nd0S2RC+BKQk1cqc35wPbP00c5vrnf3frgqyTIHkZJ2SyBhLW/3yyHLPIN2df\nctYK5je8qujybk6MBGnuZdIw2BEMOUDgS5b6zkOcoA+XnDPLsxmnGqGP1V3H\nrhAxs+axuKNet3Dq27+19vcAHWI8/pQDXYogoP57QpJMlVc7rFegP3Hi7qBx\nNewBuO/Gi+AfgTg6GFUyo6KqKL9tfuG7mx+qM0PGrnoOnor8zRAWVaFOGbnM\nIGwT\r\n=BGRW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"f1c7ceadeb2939c0c4791ea54b796f38265102cf","scripts":{"test":"(cd tests && npm test)","build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"ajv":"^8.1.0","js-yaml":"^4.0.0","ajv-formats":"^2.0.2","lodash.keyby":"^4.6.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4","@types/lodash.keyby":"^4.6.6"},"peerDependencies":{"ajv":"^8.0.0","ajv-formats":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_3.0.0_1621423216978_0.6933265077010595","host":"s3://npm-registry-packages"}},"3.0.1-beta.0":{"name":"openapi-typescript-validator","version":"3.0.1-beta.0","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@3.0.1-beta.0","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"b787e194521bef520436f9e3c6b5fd4069619edc","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-3.0.1-beta.0.tgz","fileCount":35,"integrity":"sha512-ePrYa0Hw432RYSH93hVrAMFzfjH5gs+Jm2sjfCXR+pjVeotRsblzcIT/kgRW2M0ymJiZQGIDAc2xJJVh2N4Tsw==","signatures":[{"sig":"MEUCIQDtyuofzgXOYUEoQAtfRtTXElOR+gKSm51125NrBp6sZwIgGGG3faQwsmVFUqL5dVhXHvd2ms8x5G7k92jjkLLX0MY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66164,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpP5sCRA9TVsSAnZWagAACTQP/R7XRD3DLdQXrHVmIRDo\npucUm273RqGQ/FVNrKJoPEvlK9hKpb1+6FPrTRzTKDNGR4Vf3BXBGVxm8JKO\ncwV5uJ4ckaE1GrM5TfnIynbGQ7CpErmXWyMs2az0cPuZ2QfI5FRiVrgfcXCz\nR4kIttKLx+839+jpzOMM26Bn8+fL6GFIpd+ClYC0uMuYnzGuxzhMq3Xz2cwy\n+lNlDWXMjLch4jbGUPz54uL2c+RaHmUV2bnmc8bg4Tc7culicDE9qwJnHruf\n9HhRIBnMUUJUv1FveWreteT/OBKiMbTBDPZv64XLZHAqEpMqCjTyQTPai2vh\nVx2iJn3FJ7w+97T/8q9NlZ6t2cA5FgwPncHZqD8CrgJflxtu6m3KNhIKYqD6\n8SqcznzZaUVhODyzE2Zvjez/9ZANcZK7HBtniEucR9FZ0S/Dee1fpDj7yYPF\nByWAlLGxTGZmpzrDxzC8HukzKYRaD0bp3Zv4T0vrPUWIpORpxZ7aYczWOXRm\n7NFyvDmsUcpx1X9KnGkcEsTXREZqHM7foY7QSmY9lmjj592HCSncZduq8ubG\n5YHgeva8OLDBZdYlohIyLGCPKd4L3+O4+lhBqS1QQjwE4TT76dPFwqFtPN88\nSl2Nob8yj/fnpA2pKpW/4Q1DC/afQQCnoYo5dYToQXUcxOoSS5IEs4TpNQND\nd+ok\r\n=Ai/P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# openapi-typescript-validator\nGenerate typescript with `ajv >= 8.0.0` validation based on openapi schemas\n\n- [What does this do?](#what-does-this-do)\n- [Getting started](#getting-started)\n- [Documentation](#documentation)\n  - [generate](#generate)\n\n## What does this do?\n\nThis package will convert your `openapi 3.0` spec to:\n- Typescript models\n- Decoders which validate your models against a JSON schema\n\n### Example\nThis schema (note: also works with JSON based schema's)\n```yaml\ncomponents:\n  schemas:\n    User:\n      type: object\n      properties:\n        id:\n          type: string\n        name:\n          type: string\n      required: ['id']\n```\n\nWill convert to:\n\n```typescript\nexport interface User {\n  id: string;\n  name?: string;\n}\n```\n\nAnd will generate a decoder:\n\n```typescript\n// user will be of type User if the JSON is valid\nconst user = UserDecoder.decode(json);\n```\n\nIf the JSON is invalid, it will throw an error:\n\n```typescript\nconst user = UserDecoder.decode({\n  id: 1\n});\n\n// User: /id: should be string. JSON: {\"id\":1}\n```\n\n### References\nReferences als work, this schema\n\n```json\n{\n  \"components\": {\n    \"schemas\": {\n      \"Screen\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"components\": {\n            \"type\": \"array\",\n            \"items\": { \"$ref\": \"#/components/schemas/Component\" }\n          }\n        },\n        \"required\": [ \"components\" ]\n      },\n\n      \"Component\": {\n        \"anyOf\": [\n          { \"$ref\": \"#/components/schemas/TitleComponent\" },\n          { \"$ref\": \"#/components/schemas/ImageComponent\" }\n        ]\n      },\n\n      \"TitleComponent\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"type\": {\n            \"type\": \"string\",\n            \"enum\": [\"title\"]\n          },\n          \"title\": {\n            \"type\": \"string\"\n          },\n          \"subtitle\": {\n            \"type\": \"string\",\n            \"nullable\": true\n          }\n        },\n        \"required\": [ \"type\", \"title\" ]\n      },\n\n      \"ImageComponent\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"type\": {\n            \"type\": \"string\",\n            \"enum\": [\"image\"]\n          },\n          \"url\": {\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [ \"type\", \"url\" ]\n      }\n    }\n  }\n}\n```\n\nwill generate\n\n```typescript\nexport type Component = TitleComponent | ImageComponent;\n\nexport interface Screen {\n  components: Component[];\n}\nexport interface TitleComponent {\n  type: \"title\";\n  title: string;\n  subtitle?: string | null;\n}\nexport interface ImageComponent {\n  type: \"image\";\n  url: string;\n}\n```\n\n### Custom builder\n\nWe also created a way to define your JSON schema a bit easier. The example above can also be written as:\n\nExample: `custom-schema.js`\n```javascript\nconst { anyOf, array, constant, nillable, object, string } = require('openapi-typescript-validator');\n\nconst types = {};\n\ntypes.Screen = object({\n  components: array('Component'),\n})\n\ntypes.Component = anyOf(['TitleComponent', 'ImageComponent']);\n\ntypes.TitleComponent = object({\n  type: constant('title'),\n  title: string(),\n  subtitle: nillable(string),\n});\n\ntypes.ImageComponent = object({\n  type: constant('image'),\n  url: string(),\n});\n\nmodule.exports = { types }\n```\n\nJust call `generate` with `schemaType: custom`.\n\nSee [src/builder.ts](src/builder.ts) for all helpers which can be used.\n\n## Getting started\n\nInstall the package\n```\nnpm i openapi-typescript-validator --save-dev\n```\n\nWe use [ajv](https://github.com/ajv-validator/ajv) for the decoders\n```\nnpm i ajv\n```\n\nYour `tsconfig.json` file will need to be able to resolve the json files.\n```json\n\"resolveJsonModule\": true\n```\n\nCreate a node script called `generate-schemas.js`\n```javascript\n\nconst path = require('path');\nconst { generate } = require('openapi-typescript-validator');\n\ngenerate({\n  schemaFile: path.join(__dirname, 'myswagger.yaml'),\n  schemaType: 'yaml',\n  directory: path.join(__dirname, '/generated')\n})\n\n```\n\nand run `node generate-schemas.js`\n\n**Note**\nWe recommened to setup your schema configuration in a different folder than your application. E.g:\n\n- `schemas`\n  - `package.json` which depends on this library\n- `server`\n  - `package.json` with `ajv` depedency and `ajv-formats` (if you use formats)\n\n## Breaking changes\n\n### upgrading to V3\nWhen using the `custom` format for your schemas. The `string`, `boolean`, `number`, etc helpers are now a `function` instead of `const`.\n\nYou'll need to update your schemas\n```javascript\n// v2\nobject({ title: string })\n\n// v3:\nobject({ title: string() })\n```\n\n## Documentation\n\n### generate\n`generate` can be called with [GenerateOptions](src/GenerateOptions.ts). See the file for more info.","gitHead":"e934c38386559c456275dfe6434b38666cc4dcaa","scripts":{"test":"(cd tests && npm test)","build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"ajv":"^8.1.0","js-yaml":"^4.0.0","ajv-formats":"^2.0.2","lodash.keyby":"^4.6.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4","@types/lodash.keyby":"^4.6.6"},"peerDependencies":{"ajv":"^8.0.0","ajv-formats":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_3.0.1-beta.0_1621425772212_0.033670278726560365","host":"s3://npm-registry-packages"}},"3.0.1-beta.1":{"name":"openapi-typescript-validator","version":"3.0.1-beta.1","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@3.0.1-beta.1","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"6e403fddfc15a002e8f5361c95b100458a3fd88e","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-3.0.1-beta.1.tgz","fileCount":38,"integrity":"sha512-R6ZGM6ZyGTt+r/Q4qIvwHVw/5RD6B+Q49a0jmEpBX6d7WvAjkHZuYDzv5TsBpFooYLhZJMwQEyskMRMAhqVWzQ==","signatures":[{"sig":"MEUCIHfEM0LBT6rOhw1S/HOnNr3kW29uXCkIpRDVWfPXGaxTAiEA2OJKk+/huydzH2TPD4TaoYaj+ez+yzx6+y/B/+25834=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":67758,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpRNhCRA9TVsSAnZWagAA1mAQAJ6gIUqs+HKK9qNJAj9C\nOBSflLjzZFsFW2zghq5kacfDs9M/0OwmmIuoS884AyE/jDLd2xwJEOkKwZLG\nFpXoKadZd+CNN90T/+8RhB7q16YE7HBIwk4tQP8gM4b3sOGBwyDowPs9danw\nC1rHbtDgXS4mTQFmRsOTViDVQDGmq4m7xArXQHU3c2935+wE8naqe+W9b4BB\nFk89c+caryS0Avt7ON8/yLkgIfBmUjOlUlXXNB5EsPXTw0Grm6vwskb+JsRg\n3/2yVymcPu326Ib26ixAQ0abeySfud80jxL7IKE8yDRULL0Bd7WViMQhQfHA\njI3giOrJyqpfSRQmbNAVYPL5f/fezD65RMk36imgCVtWjHQsscrRs3prtN1v\nDkVRwdaLU1OCmHO/492kJ3objOXN9XUMjhTZYImMPX0lj6aoElbcDNDYQ0zJ\njN0FbXdTtJIMyPD/yNRRGWh7Yi8I4GZpyiYTEg7geR6PU3eOnMie/uygXDzx\nh9ARDUB4RoHY0UKEZly5nbkyC+awUEA/DkOZwZoDjk6Ty3vFqAz1r48Q8gia\nA7FTViPWLvK23A+WOG8QHH76xxh/AFkMCNFtpl5soenDtsgMo81TnlWVgKL1\ntdU8xXKqOrW0+zWKfVfpisPDxYfYjAcihcZ1sMU2mqcdSyzRnrJEx7ZtcS9B\nGGRy\r\n=L4P4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# openapi-typescript-validator\nGenerate typescript with `ajv >= 8.0.0` validation based on openapi schemas\n\n- [What does this do?](#what-does-this-do)\n- [Getting started](#getting-started)\n- [Documentation](#documentation)\n  - [generate](#generate)\n\n## What does this do?\n\nThis package will convert your `openapi 3.0` spec to:\n- Typescript models\n- Decoders which validate your models against a JSON schema\n\n### Example\nThis schema (note: also works with JSON based schema's)\n```yaml\ncomponents:\n  schemas:\n    User:\n      type: object\n      properties:\n        id:\n          type: string\n        name:\n          type: string\n      required: ['id']\n```\n\nWill convert to:\n\n```typescript\nexport interface User {\n  id: string;\n  name?: string;\n}\n```\n\nAnd will generate a decoder:\n\n```typescript\n// user will be of type User if the JSON is valid\nconst user = UserDecoder.decode(json);\n```\n\nIf the JSON is invalid, it will throw an error:\n\n```typescript\nconst user = UserDecoder.decode({\n  id: 1\n});\n\n// User: /id: should be string. JSON: {\"id\":1}\n```\n\n### References\nReferences als work, this schema\n\n```json\n{\n  \"components\": {\n    \"schemas\": {\n      \"Screen\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"components\": {\n            \"type\": \"array\",\n            \"items\": { \"$ref\": \"#/components/schemas/Component\" }\n          }\n        },\n        \"required\": [ \"components\" ]\n      },\n\n      \"Component\": {\n        \"anyOf\": [\n          { \"$ref\": \"#/components/schemas/TitleComponent\" },\n          { \"$ref\": \"#/components/schemas/ImageComponent\" }\n        ]\n      },\n\n      \"TitleComponent\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"type\": {\n            \"type\": \"string\",\n            \"enum\": [\"title\"]\n          },\n          \"title\": {\n            \"type\": \"string\"\n          },\n          \"subtitle\": {\n            \"type\": \"string\",\n            \"nullable\": true\n          }\n        },\n        \"required\": [ \"type\", \"title\" ]\n      },\n\n      \"ImageComponent\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"type\": {\n            \"type\": \"string\",\n            \"enum\": [\"image\"]\n          },\n          \"url\": {\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [ \"type\", \"url\" ]\n      }\n    }\n  }\n}\n```\n\nwill generate\n\n```typescript\nexport type Component = TitleComponent | ImageComponent;\n\nexport interface Screen {\n  components: Component[];\n}\nexport interface TitleComponent {\n  type: \"title\";\n  title: string;\n  subtitle?: string | null;\n}\nexport interface ImageComponent {\n  type: \"image\";\n  url: string;\n}\n```\n\n### Custom builder\n\nWe also created a way to define your JSON schema a bit easier. The example above can also be written as:\n\nExample: `custom-schema.js`\n```javascript\nconst { anyOf, array, constant, nillable, object, string } = require('openapi-typescript-validator');\n\nconst types = {};\n\ntypes.Screen = object({\n  components: array('Component'),\n})\n\ntypes.Component = anyOf(['TitleComponent', 'ImageComponent']);\n\ntypes.TitleComponent = object({\n  type: constant('title'),\n  title: string(),\n  subtitle: nillable(string),\n});\n\ntypes.ImageComponent = object({\n  type: constant('image'),\n  url: string(),\n});\n\nmodule.exports = { types }\n```\n\nJust call `generate` with `schemaType: custom`.\n\nSee [src/builder.ts](src/builder.ts) for all helpers which can be used.\n\n## Getting started\n\nInstall the package\n```\nnpm i openapi-typescript-validator --save-dev\n```\n\nWe use [ajv](https://github.com/ajv-validator/ajv) for the decoders\n```\nnpm i ajv\n```\n\nYour `tsconfig.json` file will need to be able to resolve the json files.\n```json\n\"resolveJsonModule\": true\n```\n\nCreate a node script called `generate-schemas.js`\n```javascript\n\nconst path = require('path');\nconst { generate } = require('openapi-typescript-validator');\n\ngenerate({\n  schemaFile: path.join(__dirname, 'myswagger.yaml'),\n  schemaType: 'yaml',\n  directory: path.join(__dirname, '/generated')\n})\n\n```\n\nand run `node generate-schemas.js`\n\n**Note**\nWe recommened to setup your schema configuration in a different folder than your application. E.g:\n\n- `schemas`\n  - `package.json` which depends on this library\n- `server`\n  - `package.json` with `ajv` depedency and `ajv-formats` (if you use formats)\n\n## Breaking changes\n\n### upgrading to V3\nWhen using the `custom` format for your schemas. The `string`, `boolean`, `number`, etc helpers are now a `function` instead of `const`.\n\nYou'll need to update your schemas\n```javascript\n// v2\nobject({ title: string })\n\n// v3:\nobject({ title: string() })\n```\n\n## Documentation\n\n### generate\n`generate` can be called with [GenerateOptions](src/GenerateOptions.ts). See the file for more info.","gitHead":"0359503600967e6a3561b42e6543c8a39a38b8d2","scripts":{"test":"(cd tests && npm test)","build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"ajv":"^8.1.0","js-yaml":"^4.0.0","ajv-formats":"^2.0.2","lodash.keyby":"^4.6.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4","@types/lodash.keyby":"^4.6.6"},"peerDependencies":{"ajv":"^8.0.0","ajv-formats":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_3.0.1-beta.1_1621431137244_0.43357095123891876","host":"s3://npm-registry-packages"}},"3.0.1-beta.2":{"name":"openapi-typescript-validator","version":"3.0.1-beta.2","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@3.0.1-beta.2","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"7d0391449a94cc7033385a3b3922f7b615f378b0","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-3.0.1-beta.2.tgz","fileCount":38,"integrity":"sha512-BxJWg2e0GmOFhTside5JYObttG48n7T7d8dy4Fl9pyPsJfqYI11JEaoVdWhg18A5Ggnle+stGBYNzwCLQZsatQ==","signatures":[{"sig":"MEQCIH1zzPFtvoSzC4/2oOWhZBj6zcIsl1m/6jMnaw1vjokLAiBAj4y9q5qcEEiox5uZvOeMmosoYliwYLJUOFvFh9F9qw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":67758,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpROgCRA9TVsSAnZWagAAWRMP/jidbhBOEy5Hx1blmh7y\n1q30XbCT/Ttbryo+XDDk3roOU2aa9h+tMeKl6g6cBofsY4rpE4NenujEUhKd\nzhp1QUHQNaWRiNqJ/pTphsGQJVTPrl9b76x5BVk2KufBW+l8TYN9X9CU8wyk\n8v5aZHaLJpbfnpHMvi0kSz4OjvjlkDIS5J0ObTxgKAJurP71u4rQlsTeocQ7\nLja5fCCf1E8Lyqzopj9sJNJukxtaVA0NyKvUZYMzwShOcUA7QZgVuW3wksUt\nDb0G+c+H+T5/fdRzZVRqEd8YrS69iC2n+08S4u+dp9PMEjL5XMnBR98vz9WA\nAUb03Z/SmW7iqE9Y55FsT9lyGpKa1h5iv1admPJxPx0yRMffOMZW5atlQntD\nCwLmqjqCWK/41vtKzb2KAzGU7pzxxOI/QXEoqynFHCbR5KTAyalgJ8e1LUPi\nIJ/QN5E85i81dLOsLpxxwfJFQhI60t2WFu2s03YxvDGSMVfe1SPuARkawG0d\nSxyDJy5cENiGTWavhy4Dpmv5IzYG+1aYKUHBHfHMMMYPIUEA2+hxpy0zKhym\nQHmm68yp6AFhN1rllS8THXKvgDVmhNr79frSVW2rJkuhzGGvkJWKyvR0NfnI\nXh/uU93yXBS+rb7f0Q13mrOhIM3RXDQ+uGJ8nz7fvm7gtdAmecwrCma/AUBW\nS8G6\r\n=kmxm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# openapi-typescript-validator\nGenerate typescript with `ajv >= 8.0.0` validation based on openapi schemas\n\n- [What does this do?](#what-does-this-do)\n- [Getting started](#getting-started)\n- [Documentation](#documentation)\n  - [generate](#generate)\n\n## What does this do?\n\nThis package will convert your `openapi 3.0` spec to:\n- Typescript models\n- Decoders which validate your models against a JSON schema\n\n### Example\nThis schema (note: also works with JSON based schema's)\n```yaml\ncomponents:\n  schemas:\n    User:\n      type: object\n      properties:\n        id:\n          type: string\n        name:\n          type: string\n      required: ['id']\n```\n\nWill convert to:\n\n```typescript\nexport interface User {\n  id: string;\n  name?: string;\n}\n```\n\nAnd will generate a decoder:\n\n```typescript\n// user will be of type User if the JSON is valid\nconst user = UserDecoder.decode(json);\n```\n\nIf the JSON is invalid, it will throw an error:\n\n```typescript\nconst user = UserDecoder.decode({\n  id: 1\n});\n\n// User: /id: should be string. JSON: {\"id\":1}\n```\n\n### References\nReferences als work, this schema\n\n```json\n{\n  \"components\": {\n    \"schemas\": {\n      \"Screen\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"components\": {\n            \"type\": \"array\",\n            \"items\": { \"$ref\": \"#/components/schemas/Component\" }\n          }\n        },\n        \"required\": [ \"components\" ]\n      },\n\n      \"Component\": {\n        \"anyOf\": [\n          { \"$ref\": \"#/components/schemas/TitleComponent\" },\n          { \"$ref\": \"#/components/schemas/ImageComponent\" }\n        ]\n      },\n\n      \"TitleComponent\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"type\": {\n            \"type\": \"string\",\n            \"enum\": [\"title\"]\n          },\n          \"title\": {\n            \"type\": \"string\"\n          },\n          \"subtitle\": {\n            \"type\": \"string\",\n            \"nullable\": true\n          }\n        },\n        \"required\": [ \"type\", \"title\" ]\n      },\n\n      \"ImageComponent\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"type\": {\n            \"type\": \"string\",\n            \"enum\": [\"image\"]\n          },\n          \"url\": {\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [ \"type\", \"url\" ]\n      }\n    }\n  }\n}\n```\n\nwill generate\n\n```typescript\nexport type Component = TitleComponent | ImageComponent;\n\nexport interface Screen {\n  components: Component[];\n}\nexport interface TitleComponent {\n  type: \"title\";\n  title: string;\n  subtitle?: string | null;\n}\nexport interface ImageComponent {\n  type: \"image\";\n  url: string;\n}\n```\n\n### Custom builder\n\nWe also created a way to define your JSON schema a bit easier. The example above can also be written as:\n\nExample: `custom-schema.js`\n```javascript\nconst { anyOf, array, constant, nillable, object, string } = require('openapi-typescript-validator');\n\nconst types = {};\n\ntypes.Screen = object({\n  components: array('Component'),\n})\n\ntypes.Component = anyOf(['TitleComponent', 'ImageComponent']);\n\ntypes.TitleComponent = object({\n  type: constant('title'),\n  title: string(),\n  subtitle: nillable(string),\n});\n\ntypes.ImageComponent = object({\n  type: constant('image'),\n  url: string(),\n});\n\nmodule.exports = { types }\n```\n\nJust call `generate` with `schemaType: custom`.\n\nSee [src/builder.ts](src/builder.ts) for all helpers which can be used.\n\n## Getting started\n\nInstall the package\n```\nnpm i openapi-typescript-validator --save-dev\n```\n\nWe use [ajv](https://github.com/ajv-validator/ajv) for the decoders\n```\nnpm i ajv\n```\n\nYour `tsconfig.json` file will need to be able to resolve the json files.\n```json\n\"resolveJsonModule\": true\n```\n\nCreate a node script called `generate-schemas.js`\n```javascript\n\nconst path = require('path');\nconst { generate } = require('openapi-typescript-validator');\n\ngenerate({\n  schemaFile: path.join(__dirname, 'myswagger.yaml'),\n  schemaType: 'yaml',\n  directory: path.join(__dirname, '/generated')\n})\n\n```\n\nand run `node generate-schemas.js`\n\n**Note**\nWe recommened to setup your schema configuration in a different folder than your application. E.g:\n\n- `schemas`\n  - `package.json` which depends on this library\n- `server`\n  - `package.json` with `ajv` depedency and `ajv-formats` (if you use formats)\n\n## Breaking changes\n\n### upgrading to V3\nWhen using the `custom` format for your schemas. The `string`, `boolean`, `number`, etc helpers are now a `function` instead of `const`.\n\nYou'll need to update your schemas\n```javascript\n// v2\nobject({ title: string })\n\n// v3:\nobject({ title: string() })\n```\n\n## Documentation\n\n### generate\n`generate` can be called with [GenerateOptions](src/GenerateOptions.ts). See the file for more info.","gitHead":"9aaf61883909292da051db609f2f2997cffbbd08","scripts":{"test":"(cd tests && npm test)","build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"ajv":"^8.1.0","js-yaml":"^4.0.0","ajv-formats":"^2.0.2","lodash.keyby":"^4.6.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4","@types/lodash.keyby":"^4.6.6"},"peerDependencies":{"ajv":"^8.0.0","ajv-formats":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_3.0.1-beta.2_1621431200439_0.115998661985659","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"openapi-typescript-validator","version":"3.0.1","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@3.0.1","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"d0c3f24af5c2a292dd0658bad8a999911d7139ed","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-3.0.1.tgz","fileCount":38,"integrity":"sha512-ZNXGxmMTx/r0YLmyR2bzYgJYTw7jvlnB9vn2/2weQwKXeLO/3bl+nS9RJfEGoNyqqJWiSxAmn+uQZPRQKVNwxQ==","signatures":[{"sig":"MEQCIFwan2TCJqlrW418b1GPqpYhuTKuMUbn5FhpoUBybrnDAiAb5unlz/0IOwro9oSwUqPz28PGZtsgsJ8dhMP59nF0bw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":67751,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpSCpCRA9TVsSAnZWagAAZMQP/ieLv8DMv2WHZWZzOW2u\nrFF3Cl915RUy1ZkeSGRaB3nybJ9nV2krRCxhKBawBCQ3A2YaBwY3r1R7Dr2f\nZhhFNFmoMrbC+Ogk0VegyJEJmDQpBVKDuLs0iRq6BzCSzP7ftmFgTbc/uRW7\nyuCpJCdUE7NOoljI/BUhGhnWY2RzVf5+yuYBaLObbBjYILfYf9g3BYzaHplT\nT86op0NzN/eUK3oqfVaBTiuWChTc9R+TFZA5OBvqiIyarrRCVONuQxgY+hmX\nb+xz0M8z5S6qGTub0Q7nDU8oNEZ6H+G45LPYXgjeN24aC3WbXSzwCH5dwY9w\noXdb/Y5uvaSyw/868DEFYSfexXlCSR00dGPifVUE6ngI1kpMfsCTL44SYaK3\nt+U0Y63avZTdHAoHlZpc3yQ0N9IMW/CpS64UZ1pzPnjpgOLQSRuCHdf5LNRZ\n55L+6p8kGR9jvZghDdbGtMzqpG0NWw8qm8YuJCOv0BX9zZwL3G4YZmDOxg3Y\nlnDuQ/5kKoZNX2chUrrXEAOFxmnpM3D4ixdWcwE3QV+2OZgPBM6MOi3hQMLB\n2L+oU7jNN/omAQb3LtM210sKIT9WG4/kFBLAjvc1GZz4vMIUJUOfruZ0gcnm\n2y2Mv+cLawQl8i5oo/Gyv0vyeJHAovs47fwF7HkPqhzRPfH7NhRvhtBTdUqB\nB6W/\r\n=0nii\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"a0c6bdc3c432cbad77fadae06bbef2928ad5cfb6","scripts":{"test":"(cd tests && npm test)","build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"ajv":"^8.1.0","js-yaml":"^4.0.0","ajv-formats":"^2.0.2","lodash.keyby":"^4.6.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4","@types/lodash.keyby":"^4.6.6"},"peerDependencies":{"ajv":"^8.0.0","ajv-formats":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_3.0.1_1621434537237_0.636208073181445","host":"s3://npm-registry-packages"}},"3.0.2":{"name":"openapi-typescript-validator","version":"3.0.2","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@3.0.2","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"b3f0cc07f1aca2de735fd2bb3c56c65a978960cd","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-3.0.2.tgz","fileCount":38,"integrity":"sha512-zoNtIfiG0iUMwzHHZ734jy2qzhpWAP6xRe1AYtrifKpmMisUfssvOcGNdqXjqDJ+cxkkAHRXcRuySDDcR7gCDw==","signatures":[{"sig":"MEUCIC91VKw8GVZXHllupQPutryygUah8zDxec+4RI/96QaSAiEAw//r3ygVag9/GuuxCcN06pCo6wa73YGTFsEmu2/vQNI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68281,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0GOhCRA9TVsSAnZWagAAiiEP/RETXFkxVTvj7L6QDxbV\nkpcpYPr6Zt51MTzakfDFNGELoojQ2lIrolfcufKvtEUJFX3lZTmKZ0KOUcuN\nidl/Wmd1Eg/CDqM2ptkc6eKHYkx88JfiyUsMlkmNq+PRd0SfGHGaJKE607xk\nFVcwbQKOFVeXrg4zm7kG+goJiu6HaQ/QRVai/qxg+FJ8u2xlEzikHR9hsKMZ\nlW0W/oRGuU1JPi110/r9EIenLcsWFFy+Fr5gIuC6ywU1/aSERsuWAnG4BYkb\nL3OHPfJ82PKaU+ARD4q0E04vFS30/O0zV0q71bFVqA7qGvkvz1+B4Vg9VBfC\nZaoVBD1VEkMatYdKw3CZsnH25M1jCoaTwcRHA8un196C0mviJQyUPwfY5fiF\n7uFuB/nBZLLMS9+l2DMH/VUauOewGoPTvt9WB+NzfkOXloIr9+BRNOXjkfly\nB9Y9+PYatVEjoTzCpr4W9dcJNvzYLEapMo786LtdKo09mqMo4XJ/6/FC9vF5\nOYKy/vD4LCFsyGnsT4sHcf2pah7R3UBKDWnkroXn656Vswf5LONhlHZro143\nBLsRa5Tv36S3wcQWzaHGRazPcobgYzyUIGQS5hkNVln6cUjc67vjSCFMdzQg\n9neDpBoolnoicRUeBCzvrqeXlC/I0SviFcEWDORfvJ1rZutWqOWw5GgzVaTl\n+Xju\r\n=Kxjs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"0a8967d506e4c3cf53cab7fdc82805d594468879","scripts":{"test":"(cd tests && npm test)","build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"ajv":"^8.1.0","js-yaml":"^4.0.0","ajv-formats":"^2.0.2","lodash.keyby":"^4.6.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4","@types/lodash.keyby":"^4.6.6"},"peerDependencies":{"ajv":"^8.0.0","ajv-formats":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_3.0.2_1624269729111_0.17481013348878927","host":"s3://npm-registry-packages"}},"3.0.3":{"name":"openapi-typescript-validator","version":"3.0.3","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@3.0.3","maintainers":[{"name":"q42tims","email":"tims@q42.nl"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"fc3bd9590c5f58aa464733d7dbc91d96f065ac5a","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-3.0.3.tgz","fileCount":38,"integrity":"sha512-QtTUR16YZ+2aHirXZvEX4agNFtrxwAx95E2tuE4ScrqGp2vChnSY+KdoT6g+Ld1SMPKZj5DJaJKxYrNGPeJ++Q==","signatures":[{"sig":"MEUCIQDZDA3M7vEQVtwBctNRRVMKGv3hdEqGfdGO5TULcAsOKwIgdDfoJeWjdGqCvp+sh/F76D5kGNEtsdLgSc/+TbMWUEY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68383,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0GjCCRA9TVsSAnZWagAAfx4P/RCfU5QLcC4yjHDNZHAY\nChiFc0OpPVi9ocwlY1SnGMdBp95EjkFc58JMbkXOvWicv3UfJ4ThQv2msqlI\nS7PXuqsaPJxLXlps5og4s4ZbI77fWr4e8qg4IVFKRoGkjXPR3RrqMsiVWZst\nOe1V+LlcPNzkJounaO5RVTUtSAgAEQ8tjJrq71nz46LoYzSHd9SXUfqKxczV\nzX3Y/vYMV9Lc48nSYBZorWvsTalLAnQhUbGHw22q064mGDGEWOVjltC3nPZn\nXkI53ZKaEqR6CdRGNlC+OITG67KFvHyED9VkGd8aseQjMghIQ+Cf9Zj7jjT4\nJ/sSx1bADiFBX3UT0Lv8TnxWzac5pgmtsVwfjYbJjI46QGhkG7Y/tVJxO4oI\nBKl2fJJzFMQMZwBwHJSOtXuMn1cRIHcB/V/lRgKBw/NR9G05l4CmU1QZfGAm\nPsEVy3cLFAf7YxBut8v1S6iINZP2b4DCnuzHCGasQr0yLvkeVxf7yrpTnjAh\n02IL93F6ra0bLqsYLGLdSALgMl6XgEASMOOadV+Y/dUZIlFC5uQh1gasQrRi\n8rUi74IRD27MTpxRoQOZKyJ2h7M1MeynPf97og/vdjRZqwFUWICnXENtCEp0\n6lISqMI3WxmeRQKiEtIhxUJZsRgNTkDeDoTTBWSEAjWAM6WxvXSMcitWtByH\nhlZM\r\n=7+up\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"7e778b0a9f525ec9fe230d6c92d230498e4acec4","scripts":{"test":"(cd tests && npm test)","build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.6","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"12.18.3","dependencies":{"ajv":"^8.1.0","js-yaml":"^4.0.0","ajv-formats":"^2.0.2","lodash.keyby":"^4.6.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4","@types/lodash.keyby":"^4.6.6"},"peerDependencies":{"ajv":"^8.0.0","ajv-formats":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_3.0.3_1624271042117_0.3998845838481746","host":"s3://npm-registry-packages"}},"3.1.0":{"name":"openapi-typescript-validator","version":"3.1.0","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@3.1.0","maintainers":[{"name":"q42tims","email":"tims@q42.nl"},{"name":"timvansteenis","email":"vansteenis.tim@gmail.com"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"b54227f2e6048226b6c177ea6cb6f7e3e34d0a21","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-3.1.0.tgz","fileCount":38,"integrity":"sha512-nHXd0lydg1it2iiv+Y6G4qWm7QF1uBKfiQ4IWULPNnq3FTct7ZjYXienz1dZ2MPbJCSRxC1LQUyrfvAW+D7rrg==","signatures":[{"sig":"MEQCIG6P6bZ5LHeOtm6vg5FkIeh/su8uZ+LTBppNDQqyVM12AiAD+PQDQC+R0/f9rjm5+bnrkzHXUgNfvS51nB+zg29+oA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68506,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhNy+ECRA9TVsSAnZWagAAJmUQAJ6XQNNXpQ1Am48lbAng\nsCla7DPCyXzajkjFzzKXPIboSlrv5GJiZEgiU+uGN2+9D7dqiGeKycDaWAqP\nqNmk63OFuKY7vPveo6hWaSxQ7QwFJo3lAxgMLHgcdhYAVLds17pAeijAYQ5w\nwVVRuWKQ+CuZF0CaOTctU+SEM0FZ933sUtH0+93k2Uz1NIxjFNdoRPEsOqWX\nSqcZqZET2SB2t3a/DcUh2s7cs+hvuJjo/F0aIdyxQL8Tc8rj9MfJBBaF//E6\nRc2TA6Tn7/fYNX+VgjzSbaS36toexSxUSeADxHpJ9/uuYnbSZsf1T7pKLwMM\ntcMKNGlMQy0z2T+CjRlNil6pzDZzC21s8I0+Ln1x8ywAZfHgAcLmXMdUIJfn\neVHTRTDT1ltUgSOBqVnCJsd/mn+YZuIGiuaDCrqyAmQ+fLOMGgSHFGxkl66k\neYNZyzif4OIT2tf1ElTN4/Gxcx2TtQ8byijwJ92bDxFbnEypWR7StM7ZgmiE\nJar/jo0c8Cu4Xxy7IBhJ+YXlZzJhi1ne4A2ieJiU1gtI1GtlELPsLRGKAlNp\nJbEZUoB6AnR8gw/jL4KB+RCwI4sya/wd7WftENIolGC4seFy+U/CqhgefCa7\nP3Hsl7GY+TN8L+vQ7KUWXCjT823I+3Aywu0XEtWa+YlfNTsWrDE8u1hMAFJi\n3lXc\r\n=DWUQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"0eb5630a93ef20a1f7980e5abd8332c939adfb2c","scripts":{"test":"(cd tests && npm test)","build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"q42tims","email":"tims@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.14","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"14.17.4","dependencies":{"ajv":"^8.1.0","js-yaml":"^4.0.0","ajv-formats":"^2.0.2","lodash.keyby":"^4.6.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4","@types/lodash.keyby":"^4.6.6"},"peerDependencies":{"ajv":"^8.0.0","ajv-formats":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_3.1.0_1631006596255_0.7190504687434445","host":"s3://npm-registry-packages"}},"3.2.0":{"name":"openapi-typescript-validator","version":"3.2.0","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@3.2.0","maintainers":[{"name":"louisebc","email":"louisehmbc@gmail.com"},{"name":"q42tims","email":"tims@q42.nl"},{"name":"timvansteenis","email":"vansteenis.tim@gmail.com"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"3ffa78b40520bfd61a2ce177be2645ee1e59471e","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-3.2.0.tgz","fileCount":38,"integrity":"sha512-GYHvkYEoyQY0YbNuaC/gmJnfW6+K89q10ZFkBp+FsGmOpYAHdM787dUfIxAbmAKmyVeqDnBNW1OV4sobCFVbkw==","signatures":[{"sig":"MEQCIGdrTXO0CWf0voJOjkyePVQGYbILvzZ3Jn2X9p/E/AGnAiBL5x+p9OTInaqFpsjIeYmUCBzGTXpPC3oDX1zVgQY63w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68317,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh215tCRA9TVsSAnZWagAA2SoP/09odtxBAENhVKnuK6UT\nQ/qwoUnLSTBZa661Ex67aOIJ7Pt42Z8XQoanw4mCL/uo5PjpRZgXsc59EdWx\nh8ZVBLyk4+lnvtmCzFK4gxakfopzVPo+l7nqciwPrd7eap7RE8wO50J5Z1UH\nmi9w5cNCVsnMkpnbYpDYz2316on5kENo8u1HlbmgO9fTsUpaUZhTaKr2sLJ/\ncOHRhTZm3k+KDcPVH3ztDiEsqA9NvmmJP4SKJfRB6MY31vlX7CIAnTWljZ0z\nQMFiKtuLPMZmN3fU34Xh+/wcNt5lOqDmUXc+xpxRpihov8k9Vihgb69D3Kqv\nYjPCTygjtFJqIzF9lmLx0cXoi+C3yhOuTIC9esUcONfaIJPZ+80V8O8SVXZv\n8RH0q0DX1D/C26DYVbUehaUR1fdhWhAKWbM/qZBCoo/qh3pVRIVSTVasUz4Z\nD8nM3kmiSoMeuyjbRUHhoqMZNv83eWfODDynCZcD/sUX6EWgZWT+T0XRKq1v\n4aMGZIQCr026Cg5z90msJhtSWsi6afLnXiLrrILxaZs7KMJV6t89A+0g5rZg\nutzY+OUgyFF6l0ydXCc+gCz7eR/F9HcNWHMOpToyYvNm7x0d5Ew0OHyF5y/w\nGehLyUCqMG3hAuHqzjfQcHIf2KnROid7+comSO0tIVbaUt9q/w157NM8DLbg\nzmwy\r\n=j5ly\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"375c1c4059953ab87ffd5740ba239a5df0b40e7a","scripts":{"test":"(cd tests && npm test)","build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"louisebc","email":"louisehmbc@gmail.com"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"6.14.11","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"14.16.0","dependencies":{"ajv":"^8.1.0","js-yaml":"^4.0.0","ajv-formats":"^2.0.2","lodash.keyby":"^4.6.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4","@types/lodash.keyby":"^4.6.6"},"peerDependencies":{"ajv":"^8.0.0","ajv-formats":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_3.2.0_1632218175025_0.4308417365990562","host":"s3://npm-registry-packages"}},"3.3.0":{"name":"openapi-typescript-validator","version":"3.3.0","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@3.3.0","maintainers":[{"name":"tstikvoort","email":"tobias@q42.nl"},{"name":"louisebc","email":"louisehmbc@gmail.com"},{"name":"q42tims","email":"tims@q42.nl"},{"name":"timvansteenis","email":"vansteenis.tim@gmail.com"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"1c7e3d0f3837faa8fed7f2a32026a3c305bcf2f0","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-3.3.0.tgz","fileCount":38,"integrity":"sha512-XaYbjADSJDcuWtXOU0rUdrc82fDyF9nRPRCTPOKIniv6wwMgxB0asjfkrH1H7ww6BtV/FltT6+U6U4CX330TrQ==","signatures":[{"sig":"MEYCIQCH8PkT9kF66GMuZkB96emggRAlxt8F2Fk+owN9+nQ2sAIhAOCgo/fL1CstZG/MaxW6W1V/R0EfZY1Qx8nWcNLqSvXX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70636,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuXQ4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrLxQ/8CUfB16WAB+ZJ2w98LLJmrnPpeTbCsvh+cB4CZ+y+fH0S3IGh\r\ncF4EE3SZU9O4oEX/BTZ8Vashp6Q85k80SgVL8kfqfB9/Jb2OFM3jmmP9wVeu\r\nLzxjz0c/4oj4nmuS+X3MsoeyLrZJVEaXhBU3WlRq8jPaNEpC0q3zMUJAZV9F\r\n9gJbmVEBLSbofbNqsxVLb43TN28c3NQrUiil+FqPnr9Q94BA0lyuTdJ2UePb\r\nNkqBe0vEDE9lWSK/pTBnEcEi6GZ9ib78FfjDszIKKbKSkLKOJNOoVzSQB9oC\r\neWcTdmxqf8aBhxdVxDO5aHvdZIN/rgCRKhDpblmqxQTMm74G1f8dfyajW8sN\r\nBkOwisdc2elOFG1hdezJgoCRvfJfsvp9eJLBS/2xA9QwDQzdn9ySEU1hcgJX\r\n3BD8I4wka120BHrKKwFXKt+ilny8+9txKkUZiPm2yGyilKW8AF0UlDsQoeXZ\r\nZuyWG9xgPI/Etj3F+buHqA5UAKCdGU8ySODQi+aNLm9pWG8x97LTvMneiZig\r\nt2Ui02ZU08bmhqb1KzHmu0D+oJNnvb3TEXjVq9K7UBdvIfCBKKuQ6ynZVe+B\r\niQBaUzY0hpaQVUL4mBSBKS4VfCwu/od736ADM+SMBh0i5Vr1Ub22ZKy7wBAZ\r\nma0oMnZUL8eko2+36opWCUynf+ln5BAEH4M=\r\n=XnuG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"9fb27fd023d738f7e356cfc3e086d15419764a45","scripts":{"test":"(cd tests && npm test)","build":"tsc","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"tstikvoort","email":"tobias@q42.nl"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"8.5.5","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"16.15.0","dependencies":{"ajv":"^8.1.0","js-yaml":"^4.0.0","ajv-formats":"^2.0.2","lodash.keyby":"^4.6.0","json-schema-to-typescript":"^10.1.3","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4","@types/lodash.keyby":"^4.6.6"},"peerDependencies":{"ajv":"^8.0.0","ajv-formats":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_3.3.0_1656321080598_0.5206895940779532","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"openapi-typescript-validator","version":"4.0.0","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"author":{"name":"Q42"},"license":"MIT","_id":"openapi-typescript-validator@4.0.0","maintainers":[{"name":"tstikvoort","email":"tobias@q42.nl"},{"name":"hermanbanken","email":"hermanbanken@gmail.com"},{"name":"louisebc","email":"louisehmbc@gmail.com"},{"name":"q42tims","email":"tims@q42.nl"},{"name":"timvansteenis","email":"vansteenis.tim@gmail.com"},{"name":"tea-lover-418","email":"stijndeligt@gmail.com"}],"homepage":"https://github.com/Q42/openapi-typescript-validator","bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"dist":{"shasum":"dedfa41c7db33bc12f78c97402a58cb67072a792","tarball":"https://registry.npmjs.org/openapi-typescript-validator/-/openapi-typescript-validator-4.0.0.tgz","fileCount":38,"integrity":"sha512-DqQqHI2LMd/cFGCGENhyLznpLiCn2AhHTcpS8+wTwfRf5FXPavsC7AGXrvDuJvQFUEQ4mN0/AYG/K+h9zS7DXg==","signatures":[{"sig":"MEUCIANkVl7US1XQ5cfIO6z3T8QgFLaZvsp8MaDSBCH93CA9AiEAk7CDz/3x9Fn982C6gGJnRDbz9PNHdfXfZgw04kSopYs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70668},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"571cd8caffba08a0f84d7f8a220602b4a9a20497","scripts":{"test":"(cd tests && npm test)","build":"tsc","prepare":"npm run build","build:watch":"tsc --build --watch","postpublish":"git push && git push --tags","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"tea-lover-418","email":"stijndeligt@gmail.com"},"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"_npmVersion":"9.6.3","description":"Generate typescript with ajv validation based on openapi schemas","directories":{},"_nodeVersion":"18.16.0","dependencies":{"ajv":"^8.0.0","js-yaml":"^4.0.0","ajv-formats":"^2.0.0","lodash.keyby":"^4.6.0","json-schema-to-typescript":"^11.0.2","@openapi-contrib/openapi-schema-to-json-schema":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^2.2.1","typescript":"^4.2.2","@types/js-yaml":"^4.0.0","@types/object-hash":"^1.3.4","@types/lodash.keyby":"^4.6.6"},"peerDependencies":{"ajv":"^8.0.0","ajv-formats":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/openapi-typescript-validator_4.0.0_1689083205418_0.8289560438022667","host":"s3://npm-registry-packages"}}},"time":{"created":"2021-03-03T10:33:56.625Z","modified":"2025-05-20T11:23:42.094Z","0.1.0":"2021-03-03T10:33:56.742Z","0.1.1":"2021-03-03T10:40:33.444Z","0.2.0":"2021-03-03T11:42:09.281Z","1.0.0":"2021-03-03T16:28:18.702Z","1.0.1":"2021-03-03T16:55:02.097Z","1.1.0":"2021-03-04T13:56:16.512Z","1.2.0":"2021-04-15T10:07:26.055Z","1.3.0":"2021-04-15T11:18:43.394Z","1.4.0":"2021-04-15T11:37:35.478Z","2.0.0":"2021-04-18T11:29:31.424Z","2.0.1":"2021-04-18T11:47:20.516Z","2.0.2":"2021-04-18T12:24:28.784Z","2.1.0-beta.0":"2021-04-19T10:14:25.690Z","2.1.0":"2021-04-19T11:12:05.377Z","2.2.0-beta.0":"2021-04-20T07:05:37.814Z","2.2.0-beta.1":"2021-04-20T08:05:37.876Z","2.2.0-beta.2":"2021-04-20T08:16:30.349Z","2.2.0-beta.3":"2021-04-20T08:58:31.772Z","2.2.0-beta.4":"2021-04-20T09:23:29.516Z","2.2.0":"2021-04-20T09:29:12.966Z","3.0.0-beta.0":"2021-05-19T10:23:07.690Z","3.0.0":"2021-05-19T11:20:17.153Z","3.0.1-beta.0":"2021-05-19T12:02:52.391Z","3.0.1-beta.1":"2021-05-19T13:32:17.387Z","3.0.1-beta.2":"2021-05-19T13:33:20.604Z","3.0.1":"2021-05-19T14:28:57.360Z","3.0.2":"2021-06-21T10:02:09.265Z","3.0.3":"2021-06-21T10:24:02.263Z","3.1.0":"2021-09-07T09:23:16.379Z","3.2.0":"2021-09-21T09:56:15.177Z","3.3.0-alpha":"2022-06-27T06:54:40.471Z","3.3.0":"2022-06-27T09:11:20.795Z","4.0.0":"2023-07-11T13:46:45.612Z"},"bugs":{"url":"https://github.com/Q42/openapi-typescript-validator/issues"},"author":{"name":"Q42"},"license":"MIT","homepage":"https://github.com/Q42/openapi-typescript-validator","keywords":["openapi","schema","json schema","typescript","generator","generate","validator","validate","json"],"repository":{"url":"git+https://github.com/Q42/openapi-typescript-validator.git","type":"git"},"description":"Generate typescript with ajv validation based on openapi schemas","maintainers":[{"email":"tobias@q42.nl","name":"tstikvoort"},{"email":"hermanbanken@gmail.com","name":"hermanbanken"},{"email":"louisehmbc@gmail.com","name":"louisebc"},{"email":"tims@q42.nl","name":"q42tims"},{"email":"vansteenis.tim@gmail.com","name":"timvansteenis"},{"email":"stijndeligt@gmail.com","name":"tea-lover-418"},{"email":"sjors.van.gelderen@q42.nl","name":"sjorsvangelderenq42"}],"readme":"# openapi-typescript-validator\nGenerate typescript with `ajv >= 8.0.0` validation based on openapi schemas\n\n- [What does this do?](#what-does-this-do)\n- [Getting started](#getting-started)\n- [Documentation](#documentation)\n  - [generate](#generate)\n\n## What does this do?\n\nThis package will convert your `openapi 3.0` spec to:\n- Typescript models\n- Decoders which validate your models against a JSON schema\n\n### Example\nThis schema (note: also works with JSON based schema's)\n```yaml\ncomponents:\n  schemas:\n    User:\n      type: object\n      properties:\n        id:\n          type: string\n        name:\n          type: string\n      required: ['id']\n```\n\nWill convert to:\n\n```typescript\nexport interface User {\n  id: string;\n  name?: string;\n}\n```\n\nAnd will generate a decoder:\n\n```typescript\n// user will be of type User if the JSON is valid\nconst user = UserDecoder.decode(json);\n```\n\nIf the JSON is invalid, it will throw an error:\n\n```typescript\nconst user = UserDecoder.decode({\n  id: 1\n});\n\n// User: /id: should be string. JSON: {\"id\":1}\n```\n\n### References\nReferences als work, this schema\n\n```json\n{\n  \"components\": {\n    \"schemas\": {\n      \"Screen\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"components\": {\n            \"type\": \"array\",\n            \"items\": { \"$ref\": \"#/components/schemas/Component\" }\n          }\n        },\n        \"required\": [ \"components\" ]\n      },\n\n      \"Component\": {\n        \"anyOf\": [\n          { \"$ref\": \"#/components/schemas/TitleComponent\" },\n          { \"$ref\": \"#/components/schemas/ImageComponent\" }\n        ]\n      },\n\n      \"TitleComponent\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"type\": {\n            \"type\": \"string\",\n            \"enum\": [\"title\"]\n          },\n          \"title\": {\n            \"type\": \"string\"\n          },\n          \"subtitle\": {\n            \"type\": \"string\",\n            \"nullable\": true\n          }\n        },\n        \"required\": [ \"type\", \"title\" ]\n      },\n\n      \"ImageComponent\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"type\": {\n            \"type\": \"string\",\n            \"enum\": [\"image\"]\n          },\n          \"url\": {\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [ \"type\", \"url\" ]\n      }\n    }\n  }\n}\n```\n\nwill generate\n\n```typescript\nexport type Component = TitleComponent | ImageComponent;\n\nexport interface Screen {\n  components: Component[];\n}\nexport interface TitleComponent {\n  type: \"title\";\n  title: string;\n  subtitle?: string | null;\n}\nexport interface ImageComponent {\n  type: \"image\";\n  url: string;\n}\n```\n\n### Custom builder\n\nWe also created a way to define your JSON schema a bit easier. The example above can also be written as:\n\nExample: `custom-schema.js`\n```javascript\nconst { anyOf, array, constant, nillable, object, string } = require('openapi-typescript-validator');\n\nconst types = {};\n\ntypes.Screen = object({\n  components: array('Component'),\n})\n\ntypes.Component = anyOf(['TitleComponent', 'ImageComponent']);\n\ntypes.TitleComponent = object({\n  type: constant('title'),\n  title: string(),\n  subtitle: nillable(string),\n});\n\ntypes.ImageComponent = object({\n  type: constant('image'),\n  url: string(),\n});\n\nmodule.exports = { types }\n```\n\nJust call `generate` with `schemaType: custom`.\n\nSee [src/builder.ts](src/builder.ts) for all helpers which can be used.\n\n## Getting started\n\nInstall the package\n```\nnpm i openapi-typescript-validator --save-dev\n```\n\nWe use [ajv](https://github.com/ajv-validator/ajv) for the decoders\n```\nnpm i ajv\n```\n\nYour `tsconfig.json` file will need to be able to resolve the json files.\n```json\n\"resolveJsonModule\": true\n```\n\nCreate a node script called `generate-schemas.js`\n```javascript\n\nconst path = require('path');\nconst { generate } = require('openapi-typescript-validator');\n\ngenerate({\n  schemaFile: path.join(__dirname, 'myswagger.yaml'),\n  schemaType: 'yaml',\n  directory: path.join(__dirname, '/generated')\n})\n\n```\n\nand run `node generate-schemas.js`\n\n**Note**\nWe recommened to setup your schema configuration in a different folder than your application. E.g:\n\n- `schemas`\n  - `package.json` which depends on this library\n- `server`\n  - `package.json` with `ajv` depedency and `ajv-formats` (if you use formats)\n\n## Breaking changes\n\n### upgrading to V3\nWhen using the `custom` format for your schemas. The `string`, `boolean`, `number`, etc helpers are now a `function` instead of `const`.\n\nYou'll need to update your schemas\n```javascript\n// v2\nobject({ title: string })\n\n// v3:\nobject({ title: string() })\n```\n\n## Documentation\n\n### generate\n`generate` can be called with [GenerateOptions](src/GenerateOptions.ts). See the file for more info.","readmeFilename":"README.md"}