{"_id":"@jsonhero/schema-infer","_rev":"7-154c57026a77931695a79c8e0341ecdd","name":"@jsonhero/schema-infer","dist-tags":{"latest":"0.1.5"},"versions":{"0.0.1":{"name":"@jsonhero/schema-infer","version":"0.0.1","description":"Infers JSON Schemas from example JSON","homepage":"https://github.com/jsonhero-io/schema-infer","bugs":{"url":"https://github.com/jsonhero-io/schema-infer/issues"},"repository":{"type":"git","url":"git+https://github.com/jsonhero-io/schema-infer.git"},"exports":"./lib/index.js","types":"lib/index.d.ts","publishConfig":{"access":"public"},"scripts":{"test":"jest --runInBand --coverage","test:watch":"jest --runInBand --watch","test:badges":"npm t && jest-coverage-badges --output ./badges","build":"tsc","build:watch":"tsc --watch","prepublishOnly":"tsc","lint":"eslint . --ext .ts","lint-and-fix":"eslint . --ext .ts --fix","prettier-format":"prettier --config .prettierrc 'src/**/*.ts' --write && prettier --config .prettierrc 'tests/**/*.ts' --write"},"engines":{"node":"16"},"keywords":["json","schema","json-schema"],"author":{"name":"Eric Allam"},"license":"MIT","devDependencies":{"@tsconfig/node16":"^1.0.2","@types/jest":"^27.0.2","@types/lodash":"^4.14.178","@types/node":"^16.11.7","@typescript-eslint/eslint-plugin":"^5.8.1","@typescript-eslint/parser":"^5.8.1","ajv":"^8.8.2","ajv-formats":"^2.1.1","eslint":"^8.5.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","jest":"^27.3.1","jest-coverage-badges":"^1.1.2","lodash.omit":"^4.5.0","prettier":"^2.5.1","ts-jest":"^27.0.7","ts-node":"^10.4.0","typescript":"^4.4.4","yargs":"^17.3.1"},"jest":{"preset":"ts-jest","testEnvironment":"node","coverageReporters":["json-summary","text","lcov"]},"husky":{"hooks":{"pre-commit":"npm run prettier-format && npm run lint"}},"dependencies":{"@jsonhero/json-infer-types":"1.0.9","@jsonhero/json-schema-fns":"^0.0.1","ts-pattern":"^3.3.4"},"bin":{"schema-infer":"cli/schema-infer.js"},"gitHead":"b0da8c4426c2ffe9a0d132f5fe545b67d0d26dec","_id":"@jsonhero/schema-infer@0.0.1","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-ZoNNcZShfoUaaBvWyIXrDrH/Yen5IJjCvAl7VstJV/fxmTHUdovZJ20nMwkBEICyaEanRltHD4exrVPJV54v9Q==","shasum":"d32d3e0259676cee381a1d01a22bfd2eb649a27a","tarball":"https://registry.npmjs.org/@jsonhero/schema-infer/-/schema-infer-0.0.1.tgz","fileCount":12,"unpackedSize":19319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh4W7PCRA9TVsSAnZWagAAGnIP/iJAhJqpcSXtWbfNMWTf\n+9VaaW0y328vHePsAwyhnB9wgiOhtUG2GLEUyRQK46o7NEYdqYjOpyIRGji0\nXDntMhVuoi95qkXeU9FmfWJRyNJk/fefvHngWlS6Ta84NkA/evaDXj/pb2zT\nAkXe7mBsaELhrplSTEWMzuPN0m5q3OULFFoxrxHh+z1t7gSyUDkrNFy63VlK\ndAL8TJ29t2nkajgDCiKfYrqNoRUEkb6KTbjnL9bp4ySTurQNnwapTVIceeoz\n3Vn6vjUIVQ2E1XoZU5FKeVKuzWetyKUr6jEqGLYNfZ3VCaJ2itOtX39TTIMy\nD7dfoUUpoXaHcdPA80oxInKrefTRcVMvciFnlx9ASaUGBOEVhXSMB/9AzQ5j\naNoEtuqRPkSf+B3/oeMO2qxkced2BLipvxFkRTjRDmqrOnw5Tue/pw1Yqq0v\n/Wz+mvClRK5bOKsNJiuG8BoDMJgzJrOcLn8jymgIfyn5Zx6veG6sTcfZ7IXK\nXEOfH985o1kS0BahQf5W0unoKblD/6f68tqjYtKu4Xtt5Xavp4tHACOyDpvZ\nB2DBA+16IisfdxjSBBqR0HwcoQzkuL6g9gAtoAy24hrVJKfXbCpH1lisBgz5\niSZGHPiZkAxNJDKiph+FyknMsSnLHDepLNUscS/y3LGWhNWzlRGK87n9aIwN\nqk2q\r\n=APNt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPCnxLvlpmuGCiMhS8FkLIGw+TBu37xFLrH/zmU3AL9wIhAKYrqRh8LTCzwF9QfjR/svci/kqUrXsqf1UzF7eU/jLk"}]},"_npmUser":{"name":"ericallam","email":"eallam@icloud.com"},"directories":{},"maintainers":[{"name":"ericallam","email":"eallam@icloud.com"},{"name":"mattaitken","email":"matt@mattaitken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/schema-infer_0.0.1_1642163919624_0.407155938870867"},"_hasShrinkwrap":false},"0.1.0":{"name":"@jsonhero/schema-infer","version":"0.1.0","description":"Infers JSON Schemas from example JSON","homepage":"https://github.com/jsonhero-io/schema-infer","bugs":{"url":"https://github.com/jsonhero-io/schema-infer/issues"},"repository":{"type":"git","url":"git+https://github.com/jsonhero-io/schema-infer.git"},"exports":"./lib/index.js","types":"lib/index.d.ts","publishConfig":{"access":"public"},"scripts":{"test":"jest --runInBand --coverage","test:watch":"jest --runInBand --watch","test:badges":"npm t && jest-coverage-badges --output ./badges","build":"tsc","build:watch":"tsc --watch","prepublishOnly":"tsc","lint":"eslint . --ext .ts","lint-and-fix":"eslint . --ext .ts --fix","prettier-format":"prettier --config .prettierrc 'src/**/*.ts' --write && prettier --config .prettierrc 'tests/**/*.ts' --write"},"engines":{"node":"16"},"keywords":["json","schema","json-schema"],"author":{"name":"Eric Allam"},"license":"MIT","devDependencies":{"@tsconfig/node16":"^1.0.2","@types/jest":"^27.0.2","@types/lodash":"^4.14.178","@types/node":"^16.11.7","@typescript-eslint/eslint-plugin":"^5.8.1","@typescript-eslint/parser":"^5.8.1","ajv":"^8.8.2","ajv-formats":"^2.1.1","eslint":"^8.5.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","jest":"^27.3.1","jest-coverage-badges":"^1.1.2","lodash.omit":"^4.5.0","prettier":"^2.5.1","ts-jest":"^27.0.7","ts-node":"^10.4.0","typescript":"^4.4.4","yargs":"^17.3.1"},"jest":{"preset":"ts-jest","testEnvironment":"node","coverageReporters":["json-summary","text","lcov"]},"husky":{"hooks":{"pre-commit":"npm run prettier-format && npm run lint"}},"dependencies":{"@jsonhero/json-infer-types":"1.2.1","@jsonhero/json-schema-fns":"^0.0.1","ts-pattern":"^3.3.4"},"bin":{"schema-infer":"cli/schema-infer.js"},"gitHead":"e7d85f4c95e47024d927516e83e843cab4004d0a","_id":"@jsonhero/schema-infer@0.1.0","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-0QhvOOLSNNj8LeRhSZ+QuqYy2RwwaP4mkaDik6U1rYipm2YjRm1Hb6z4jgiDdRRb+U7Er+gVtdT0vcKWEzPUFQ==","shasum":"6145c3d6af16320ea86a94f875b0032b7e167616","tarball":"https://registry.npmjs.org/@jsonhero/schema-infer/-/schema-infer-0.1.0.tgz","fileCount":12,"unpackedSize":19319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh+6dsCRA9TVsSAnZWagAA3AoP/3CnmxXCjvIVbFJrumhK\nVtr2a59y5wa04QS9W5A6CK0QCyXgG8jaGg+xweqwJc6EGReVqhQLFG0dabLo\n3owuIE2y0f31Kk384+nCaeTn7ywaob+8eImJ4BzaEipmvZoCQZU4DJnX1plG\nB8rcAUGtIZegjwUyG2l708iMOwZNm0zpgO8ybhQaPgAvm+AkxpL0CctH8773\nOZh1xdVM9DvWGw7/MakZ0jigztqA+rtEVpJD7oOHadlD798MTtScZLuxcnIb\nUd/p/Jvqbw+VgIiObTxfJw4hJomdm9IYjL6GU4ZcJHAJ7Q8tgIDYCB3yw9sS\nRDnYsjgmEAPfnYyjfiOCHpMmxZgoe+2XvpQTqOLYvnrf+7azMVU/R3XeN1Dk\nQyAXfEDpKbQkLw09mskUj4AXUEhv9nXbnW1w8GydNXL5a5G4dVuyWEGFqABD\nAgHF/EMh5uf2E3JCzlxr3nbMHBeujoMIf0elTpfpF0YZXgVRjhuLGIYBGUb3\npuSh09WTsiZLXLJdXVIfe6L812fXsOBwgE44FatpQ5KR9jz8V6F7QFKNjWAN\nLPJeX49RWx8O07/CBXUaUfSxISBy4YPKrfT+HYNm6NE9iYFcemV5IXSnjwzz\ntGOwqawTOfMzIJltHZafTr6O9PbusTvgxGEw7OpAYdxH6sDt1CGCSqJJCUMh\nAH3J\r\n=koki\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBz71r8Kg7WIKBw2EgAkn9Zh5S5sJtJs1OcHYJ09Rcg8AiBGxe8zckq1oFLqsxgW94eRilz/B7a+yXikla013RGOMw=="}]},"_npmUser":{"name":"ericallam","email":"eallam@icloud.com"},"directories":{},"maintainers":[{"name":"ericallam","email":"eallam@icloud.com"},{"name":"mattaitken","email":"matt@mattaitken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/schema-infer_0.1.0_1643882348624_0.639487085579608"},"_hasShrinkwrap":false},"0.1.1":{"name":"@jsonhero/schema-infer","version":"0.1.1","description":"Infers JSON Schemas from example JSON","homepage":"https://github.com/jsonhero-io/schema-infer","bugs":{"url":"https://github.com/jsonhero-io/schema-infer/issues"},"repository":{"type":"git","url":"git+https://github.com/jsonhero-io/schema-infer.git"},"exports":"./lib/index.js","types":"lib/index.d.ts","publishConfig":{"access":"public"},"scripts":{"test":"jest --runInBand --coverage","test:watch":"jest --runInBand --watch","test:badges":"npm t && jest-coverage-badges --output ./badges","build":"tsc","build:watch":"tsc --watch","prepublishOnly":"tsc","lint":"eslint . --ext .ts","lint-and-fix":"eslint . --ext .ts --fix","prettier-format":"prettier --config .prettierrc 'src/**/*.ts' --write && prettier --config .prettierrc 'tests/**/*.ts' --write"},"engines":{"node":"16"},"keywords":["json","schema","json-schema"],"author":{"name":"Eric Allam"},"license":"MIT","devDependencies":{"@tsconfig/node16":"^1.0.2","@types/jest":"^27.0.2","@types/lodash":"^4.14.178","@types/node":"^16.11.7","@typescript-eslint/eslint-plugin":"^5.8.1","@typescript-eslint/parser":"^5.8.1","ajv":"^8.8.2","ajv-formats":"^2.1.1","eslint":"^8.5.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","jest":"^27.3.1","jest-coverage-badges":"^1.1.2","lodash.omit":"^4.5.0","prettier":"^2.5.1","ts-jest":"^27.0.7","ts-node":"^10.4.0","typescript":"^4.4.4","yargs":"^17.3.1"},"jest":{"preset":"ts-jest","testEnvironment":"node","coverageReporters":["json-summary","text","lcov"]},"husky":{"hooks":{"pre-commit":"npm run prettier-format && npm run lint"}},"dependencies":{"@jsonhero/json-infer-types":"1.2.2","@jsonhero/json-schema-fns":"^0.0.1","ts-pattern":"^3.3.4"},"bin":{"schema-infer":"cli/schema-infer.js"},"gitHead":"a27970dfb0b596481193b1f9cfb4f2bffe9e0d4a","_id":"@jsonhero/schema-infer@0.1.1","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-Szhk/K5gR/BpeQNBi35NeFGoejMTL3zQT4Kib+A2RP75KHbfBM9GjjWbGCRSElxxIkoVHeMG/YJ1AHZj0VKxDw==","shasum":"9900b972eeee382ceab6c99f0956a5268d0c37b3","tarball":"https://registry.npmjs.org/@jsonhero/schema-infer/-/schema-infer-0.1.1.tgz","fileCount":12,"unpackedSize":19319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh+6xsCRA9TVsSAnZWagAAJVYP/2lc1YdxA4Pez+l4VjSg\n00zlw5DZdbMTVkhrzFQ5a+iMCaO08WrwSNrPim0W8gV7jCaatOFJV4eaPGyP\nL1JK89VvA36owv/bmU36hbbAsIfLPCTlzIGHa8eIIGtzjTgYYJf8SRJKnnyr\n7XTPLHYA2Ce5tvlv5klzwZLMKh2MmcKy3Y4CxJ2HfEffm2gQ6b4c2b5KL90J\nYNYmpoYBCn73Xzz5FVSOVV+HaVj1fsPWGzqcFyEuDBRAOtcl4Vid/NtzX58p\naY9V+e84zpjBJmi/CNGdYXV7AQvdWKX2PP4U/OLui9hq3C7/KAWSV6bQ8Cb6\nl69/e0ztBOUaAlIG9jK4JuSB//cFy/IonyAkvnjgU1nMY5u+UeoyZ5ckB9//\n2zrOQ6cBo2Z3Cd+h6d3xpKZJBRs/fe4KJnjmqVDSFIKnfwco8mruOcqFrdrx\n5i5YC//tS9LXI0df1vdVDJ+rqU+OHEQFjujyikJ4L+G3WnVFmj/cQfs4cPf0\nMhPZob1iIacYArqlsJ9Um+EwLbzRWI7bmdHVVTuSkRiRsYhXWNdhvgOIpkDZ\n2i+atkF71xycAzaSsf494Od8zhiTMDAl7OPMwQmNPZbznQv7noTqiqd3yET5\n5CD9AItVzejRqd8e6h6Cl+xqMsT5bwQp/t7X19IAGBqCJOzZZiffqOfh7beN\nOIMr\r\n=TVQ2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4B59TW3e42/6wd0Jg1i0GhqPxdzaVgNcETmjuOxfsIwIgPj1a0RttX2cKH54Pgxbhf5wxR3PjyiCal/+ODRH63DU="}]},"_npmUser":{"name":"ericallam","email":"eallam@icloud.com"},"directories":{},"maintainers":[{"name":"ericallam","email":"eallam@icloud.com"},{"name":"mattaitken","email":"matt@mattaitken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/schema-infer_0.1.1_1643883628770_0.22773816590275353"},"_hasShrinkwrap":false},"0.1.2":{"name":"@jsonhero/schema-infer","version":"0.1.2","description":"Infers JSON Schemas from example JSON","homepage":"https://github.com/jsonhero-io/schema-infer","bugs":{"url":"https://github.com/jsonhero-io/schema-infer/issues"},"repository":{"type":"git","url":"git+https://github.com/jsonhero-io/schema-infer.git"},"exports":"./lib/index.js","types":"lib/index.d.ts","publishConfig":{"access":"public"},"scripts":{"test":"jest --runInBand --coverage","test:watch":"jest --runInBand --watch","test:badges":"npm t && jest-coverage-badges --output ./badges","build":"tsc","build:watch":"tsc --watch","prepublishOnly":"tsc","lint":"eslint . --ext .ts","lint-and-fix":"eslint . --ext .ts --fix","prettier-format":"prettier --config .prettierrc 'src/**/*.ts' --write && prettier --config .prettierrc 'tests/**/*.ts' --write"},"engines":{"node":"16"},"keywords":["json","schema","json-schema"],"author":{"name":"Eric Allam"},"license":"MIT","devDependencies":{"@tsconfig/node16":"^1.0.2","@types/jest":"^27.0.2","@types/lodash":"^4.14.178","@types/node":"^16.11.7","@typescript-eslint/eslint-plugin":"^5.8.1","@typescript-eslint/parser":"^5.8.1","ajv":"^8.8.2","ajv-formats":"^2.1.1","eslint":"^8.5.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","jest":"^27.3.1","jest-coverage-badges":"^1.1.2","lodash.omit":"^4.5.0","prettier":"^2.5.1","ts-jest":"^27.0.7","ts-node":"^10.4.0","typescript":"^4.4.4","yargs":"^17.3.1"},"jest":{"preset":"ts-jest","testEnvironment":"node","coverageReporters":["json-summary","text","lcov"]},"husky":{"hooks":{"pre-commit":"npm run prettier-format && npm run lint"}},"dependencies":{"@jsonhero/json-infer-types":"1.2.x","@jsonhero/json-schema-fns":"^0.0.1","ts-pattern":"^3.3.4"},"bin":{"schema-infer":"cli/schema-infer.js"},"gitHead":"081e8891faa43cb6c62afa7637e81070927716dd","_id":"@jsonhero/schema-infer@0.1.2","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-DaEuHZSN/UdmwhXcTTWqyuODnBjCwDle84mUaDhpg5brEgWvhLb3+AyDZRJ2wuaN19KrgNE+Fp4WpNroT/P7Qg==","shasum":"a2a8a9971af2571450c73230c1f2de909975198e","tarball":"https://registry.npmjs.org/@jsonhero/schema-infer/-/schema-infer-0.1.2.tgz","fileCount":12,"unpackedSize":19319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAju1CRA9TVsSAnZWagAAvFYP/2tgvUl7DPGHH4yGpNvW\n/UAdTq+nH5kgKAQ8mxGUFWTIovzDuWbgtFN/HfyEQn3cSTu0YZyG0CRI3nUX\nDvCV79L9OLbNV6ysACQXQCb2Puqt1Ct00YU5kZo8tklqsyrAw5Gztg/aowgB\nGO2ibzWRGFVjpqTz1tJN3c3zQzD9XtaGizNlQdWWu8zNDsegtpjqUIdOYVrE\nTauRkRW0zdYMJ6tEN5Vi9YZzVBsonFgiZLs8pARSjYbIwHUtwZiOaaGWVnR8\nteBwW13+fkihd5U0X+1Id31WlrXORyjlsbqG1GKfm/+41KaOyDJfklFgS3xg\nTt6tP31bc4tnrhrlZAE26iQcfPRn3qXh+VrDJ9uobI6htVSj1Zu/nqNXEQAF\nKLJU13Be0OiPLkqMJTiZ2tMUwjL9XUWlqXXLzUmPP5FT76A3seBazSF5Kb33\nJFXyZjeOZh+WONh20bXuIVcEinKQqqLBlTA7YmHs58NyjFCvWmLC9bTOljI/\n4Ew5mbB/d0aazR0Yv2rqwY0e69el1sa2DixQGVizKt4VGOX86DAT8Qu7tHdw\nj2QMhT+9Ik6K2jMBj6djj/haZNnsjQrR4jJx7tj/EGL8kXOnBnINhYhrpgsG\nA0q5+blxDSU0A08JA21naa26EyQzf8ukXDQp5EYT8z9d5SjYCnuvNZz/K27+\nIfXF\r\n=1Wjo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHdvhz5AodTCxNNofVivdcEw2M71+10oisVsN9LGDjAqAiEAg1kRmPmOdCEJ1XSzi0RnUKBiOzXouT1TioYapAiN1no="}]},"_npmUser":{"name":"ericallam","email":"eallam@icloud.com"},"directories":{},"maintainers":[{"name":"ericallam","email":"eallam@icloud.com"},{"name":"mattaitken","email":"matt@mattaitken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/schema-infer_0.1.2_1644313525805_0.3295773559314559"},"_hasShrinkwrap":false},"0.1.3":{"name":"@jsonhero/schema-infer","version":"0.1.3","description":"Infers JSON Schemas from example JSON","homepage":"https://github.com/jsonhero-io/schema-infer","bugs":{"url":"https://github.com/jsonhero-io/schema-infer/issues"},"repository":{"type":"git","url":"git+https://github.com/jsonhero-io/schema-infer.git"},"exports":"./lib/index.js","types":"lib/index.d.ts","publishConfig":{"access":"public"},"scripts":{"test":"jest --runInBand --coverage","test:watch":"jest --runInBand --watch","test:badges":"npm t && jest-coverage-badges --output ./badges","build":"tsc","build:watch":"tsc --watch","prepublishOnly":"tsc","lint":"eslint . --ext .ts","lint-and-fix":"eslint . --ext .ts --fix","prettier-format":"prettier --config .prettierrc 'src/**/*.ts' --write && prettier --config .prettierrc 'tests/**/*.ts' --write"},"engines":{"node":"16"},"keywords":["json","schema","json-schema"],"author":{"name":"Eric Allam"},"license":"MIT","devDependencies":{"@tsconfig/node16":"^1.0.2","@types/jest":"^27.0.2","@types/lodash.omit":"^4.5.6","@types/node":"^16.11.7","@typescript-eslint/eslint-plugin":"^5.8.1","@typescript-eslint/parser":"^5.8.1","ajv":"^8.8.2","ajv-formats":"^2.1.1","eslint":"^8.5.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","jest":"^27.3.1","jest-coverage-badges":"^1.1.2","lodash.omit":"^4.5.0","prettier":"^2.5.1","ts-jest":"^27.0.7","ts-node":"^10.4.0","typescript":"^4.4.4","yargs":"^17.3.1"},"jest":{"preset":"ts-jest","testEnvironment":"node","coverageReporters":["json-summary","text","lcov"]},"husky":{"hooks":{"pre-commit":"npm run prettier-format && npm run lint"}},"dependencies":{"@jsonhero/json-infer-types":"1.2.x","@jsonhero/json-schema-fns":"^0.0.1","ts-pattern":"^3.3.4"},"bin":{"schema-infer":"cli/schema-infer.js"},"gitHead":"b6fbbd3d1f77dbe076a157f64e5f6524491c65ed","_id":"@jsonhero/schema-infer@0.1.3","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-fP1MTJqIPwk/rOeK4FTvBRNhmyiascLSkgjF9UVYm2U4kqnTlevWjCDjyHk1iU0a9ILGxh3ttoKCazvTafKkDQ==","shasum":"efb7c9b8c4783058c9c4e5ecd10a586d7da9f39d","tarball":"https://registry.npmjs.org/@jsonhero/schema-infer/-/schema-infer-0.1.3.tgz","fileCount":12,"unpackedSize":19495,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAklqCRA9TVsSAnZWagAABUUP/0wWdq+o76NtGXjOYMkO\npmec3PST4v0ed7OMmn7FYoUIF5I5s+026g9yhRMuzvSpbg7PdAIiaQrHhTY1\nD3MuHJ76q6Bmjj09ZyOvymAjBH15eg20mHs8UTF1OZ7kjx3xEW5v0kW5LTFc\nP5hOCp7Gwc8XV/cz1W0o17cqjIWEnbL6lLOJmA8VgyXt5tosnz7kPS4EYLNE\nbhO78KlL4ujFOHmHnez7aTW2t5KFUHlzPEeAe9hOY0xUgDBaz+pXmjmUyW8T\njKisXE22DxHW7iEzGyUIXGAM9wNHCF+ZKfuGcyRko7pcwlRQeKacEYG9Lcqk\nLa9hHqGEX2U7bSxnjwIUK+vxQFiuNbokLG2hSA8VnUwLCycNMqQmSnIPKDoZ\ncRUxFsJW94X7iZ8/iLmzNDw/BcCrs1aUXbc15rxQLDktg4qs+ta7xTQ9xWQ3\nkIc8/6lDX3IQ+5Nb3rZRAZtae4jPusp4ZC/Hps5ib+C2UMJ048jf9k25jYmh\nod6qzvmvl3sbP9LxxOo9bIH2YxYNNLJw9QByQrZ8qQdZMyKPHPUZGI/qqL0B\n8k6TQ5MfyyGRuTzw127flUtHdZzlLTOsTp5KuWyjwNT5AtYpdOq3qrzPa4/P\nZ6890ErHmf1DyHast7d/g4P6MkhWOAE/XbpDozW3AZTPm+ehwjs0zitzaa0S\nl76p\r\n=qLiJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTQyDOOI8wS2knRkxx4o8ewsC7xMJEuODJwBoSUp7hTQIhAM6kpmriTwrohiZInXT/vPKyoQdB4jDjVDttUg92SMgH"}]},"_npmUser":{"name":"ericallam","email":"eallam@icloud.com"},"directories":{},"maintainers":[{"name":"ericallam","email":"eallam@icloud.com"},{"name":"mattaitken","email":"matt@mattaitken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/schema-infer_0.1.3_1644317034495_0.629359084620813"},"_hasShrinkwrap":false},"0.1.4":{"name":"@jsonhero/schema-infer","version":"0.1.4","description":"Infers JSON Schemas from example JSON","homepage":"https://github.com/jsonhero-io/schema-infer","bugs":{"url":"https://github.com/jsonhero-io/schema-infer/issues"},"repository":{"type":"git","url":"git+https://github.com/jsonhero-io/schema-infer.git"},"exports":"./lib/index.js","types":"lib/index.d.ts","publishConfig":{"access":"public"},"scripts":{"test":"jest --runInBand --coverage","test:watch":"jest --runInBand --watch","test:badges":"npm t && jest-coverage-badges --output ./badges","build":"tsc","build:watch":"tsc --watch","prepublishOnly":"tsc","lint":"eslint . --ext .ts","lint-and-fix":"eslint . --ext .ts --fix","prettier-format":"prettier --config .prettierrc 'src/**/*.ts' --write && prettier --config .prettierrc 'tests/**/*.ts' --write"},"engines":{"node":"16"},"keywords":["json","schema","json-schema"],"author":{"name":"Eric Allam"},"license":"MIT","devDependencies":{"@tsconfig/node16":"^1.0.2","@types/jest":"^27.0.2","@types/lodash.omit":"^4.5.6","@types/node":"^16.11.7","@typescript-eslint/eslint-plugin":"^5.8.1","@typescript-eslint/parser":"^5.8.1","ajv":"^8.8.2","ajv-formats":"^2.1.1","eslint":"^8.5.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","jest":"^27.3.1","jest-coverage-badges":"^1.1.2","lodash.omit":"^4.5.0","prettier":"^2.5.1","ts-jest":"^27.0.7","ts-node":"^10.4.0","typescript":"^4.4.4","yargs":"^17.3.1"},"jest":{"preset":"ts-jest","testEnvironment":"node","coverageReporters":["json-summary","text","lcov"]},"husky":{"hooks":{"pre-commit":"npm run prettier-format && npm run lint"}},"dependencies":{"@jsonhero/json-infer-types":"1.2.x","@jsonhero/json-schema-fns":"^0.0.1","ts-pattern":"^3.3.4"},"bin":{"schema-infer":"cli/schema-infer.js"},"gitHead":"8d2c85334e85b591864858ea4527a7633eb269c3","_id":"@jsonhero/schema-infer@0.1.4","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-llpm7mpx7mJeNhi+ZXe90Rm0L6XrmxFm4QaZwMO24U8j1Z3PZsZ64/JNT1nFozkApWVe/FCr1DZHPwp8nE4X8A==","shasum":"f4cb8da95fb0e94a3d6f1ec94de8752d59bfe541","tarball":"https://registry.npmjs.org/@jsonhero/schema-infer/-/schema-infer-0.1.4.tgz","fileCount":12,"unpackedSize":19587,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiE2xvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpEhA//WcQyXcVw1ghZPwdXeb/O00yVE8rwvZVqta1m1vK5hdts9Ne3\r\n1mNBPWk+wkJwW/hLtjzJLwtSyBKe/PtPrnGPjBfTPCVgHk5UX1Wr+1hCk0BT\r\nOT5t9wwhxY7egD0I5gyGDhKSzsUVLdVW9z7r7LD9J7CBMabgiLAXlyjtj6jo\r\nlUCXzavOZIW1uJysL4p7Z+QSEDuJ4M7HxeLd1yIAZCPzotqFbh+vo6rJ119R\r\nUBg+JS0C5MjVAUea7uajKsYP2vOoC5xbnfcKK9N4dBFSIvWQDORIsqqsV9VF\r\nqtuw11CYVb4f/pqnGhrxZG8p3FOyuLaKdTJwXnoRfnZni95Bfj1buoYPvKYD\r\ny6slMPqJ5841EDm9HwrSjdbxa3iCwfvaWmLjNv+zJSByuPQJcmNoWa7HrI0t\r\ntpS/WhiQKoQMNZgyNotRz+IPEvdV7dKmjxf15Jy8yoD0pcmVIwJszgs19BLP\r\nvCJ2QX3gde1krZ3tpoWbIkL/jS2pvvQStERwGetqpisHcGHu0+u7zwmtfMDX\r\nWy0rOkNpNH501gyJ+4YaO7J0LbDS+3RYi40lFOp0f6GIxbb0YAM4Woi3FBAf\r\nj+vIvc266oNNggjQTEyuHgEQUwspjs+XkkC0QSQRYjvx0F9GmMR8YyaxzD3e\r\nDfg9Uow5bPk6krsNwvndmAJEDcYuqr5sccQ=\r\n=kcMF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAqlTxcPMsrULIsXC102Ui9Wbn6KyC1Z1zPXwR+K5JygAiEAydR2/eZ/v+VGbanTCj9XomvZIv/SosqdezUvX2xbBjI="}]},"_npmUser":{"name":"ericallam","email":"eallam@icloud.com"},"directories":{},"maintainers":[{"name":"ericallam","email":"eallam@icloud.com"},{"name":"mattaitken","email":"matt@mattaitken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/schema-infer_0.1.4_1645440110935_0.9028895076149936"},"_hasShrinkwrap":false},"0.1.5":{"name":"@jsonhero/schema-infer","version":"0.1.5","description":"Infers JSON Schemas from example JSON","homepage":"https://github.com/jsonhero-io/schema-infer","bugs":{"url":"https://github.com/jsonhero-io/schema-infer/issues"},"repository":{"type":"git","url":"git+https://github.com/jsonhero-io/schema-infer.git"},"exports":"./lib/index.js","types":"lib/index.d.ts","publishConfig":{"access":"public"},"scripts":{"test":"jest --runInBand --coverage","test:watch":"jest --runInBand --watch","test:badges":"npm t && jest-coverage-badges --output ./badges","build":"tsc","build:watch":"tsc --watch","prepublishOnly":"tsc","lint":"eslint . --ext .ts","lint-and-fix":"eslint . --ext .ts --fix","prettier-format":"prettier --config .prettierrc 'src/**/*.ts' --write && prettier --config .prettierrc 'tests/**/*.ts' --write"},"engines":{"node":">=16"},"keywords":["json","schema","json-schema"],"author":{"name":"Eric Allam"},"license":"MIT","devDependencies":{"@tsconfig/node16":"^1.0.2","@types/jest":"^27.0.2","@types/lodash.omit":"^4.5.6","@types/node":"^16.11.7","@typescript-eslint/eslint-plugin":"^5.8.1","@typescript-eslint/parser":"^5.8.1","ajv":"^8.8.2","ajv-formats":"^2.1.1","eslint":"^8.5.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","jest":"^27.3.1","jest-coverage-badges":"^1.1.2","lodash.omit":"^4.5.0","prettier":"^2.5.1","ts-jest":"^27.0.7","ts-node":"^10.4.0","typescript":"^4.4.4","yargs":"^17.3.1"},"jest":{"preset":"ts-jest","testEnvironment":"node","coverageReporters":["json-summary","text","lcov"]},"husky":{"hooks":{"pre-commit":"npm run prettier-format && npm run lint"}},"dependencies":{"@jsonhero/json-infer-types":"1.2.x","@jsonhero/json-schema-fns":"^0.0.1","ts-pattern":"^3.3.4","lodash.omit":"^4.5.0"},"bin":{"schema-infer":"cli/schema-infer.js"},"gitHead":"9162c2999f3ffa93285a972f65773e04634fa0ad","_id":"@jsonhero/schema-infer@0.1.5","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-iZjrlRJ3JiIYbK77OSYvnp/fj7b4/FtahxEF/lZO0+4DZWjwOMdH5Apd41Nc8lMgvhuB4hGIsLec0J+RAOy6Tg==","shasum":"a1ab53eead113279eab419870fced25863beb655","tarball":"https://registry.npmjs.org/@jsonhero/schema-infer/-/schema-infer-0.1.5.tgz","fileCount":12,"unpackedSize":33627,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDwF6PO/MgNW+a15i/JYotDkZY5iXzxHgYrI7mQwZw9dwIhAP4NKu02IO6jH/Igr20BnEVVxy30kOyiK1mM7u4n9y5A"}]},"_npmUser":{"name":"ericallam","email":"eallam@icloud.com"},"directories":{},"maintainers":[{"name":"ericallam","email":"eallam@icloud.com"},{"name":"mattaitken","email":"matt@mattaitken.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/schema-infer_0.1.5_1684838163631_0.4247810950562174"},"_hasShrinkwrap":false}},"time":{"created":"2022-01-14T12:38:39.582Z","0.0.1":"2022-01-14T12:38:39.768Z","modified":"2023-05-23T10:36:03.939Z","0.1.0":"2022-02-03T09:59:08.797Z","0.1.1":"2022-02-03T10:20:28.929Z","0.1.2":"2022-02-08T09:45:25.944Z","0.1.3":"2022-02-08T10:43:54.643Z","0.1.4":"2022-02-21T10:41:51.085Z","0.1.5":"2023-05-23T10:36:03.807Z"},"maintainers":[{"name":"ericallam","email":"eallam@icloud.com"},{"name":"mattaitken","email":"matt@mattaitken.com"}],"description":"Infers JSON Schemas from example JSON","homepage":"https://github.com/jsonhero-io/schema-infer","keywords":["json","schema","json-schema"],"repository":{"type":"git","url":"git+https://github.com/jsonhero-io/schema-infer.git"},"author":{"name":"Eric Allam"},"bugs":{"url":"https://github.com/jsonhero-io/schema-infer/issues"},"license":"MIT","readme":"# JSON Schema Infer\n\n> Infers JSON Schemas from example JSON. Powers the schema inference of [jsonhero.io](https://jsonhero.io)\n\n![Coverage lines](./badges/badge-lines.svg)\n![Tests](https://github.com/jsonhero-io/schema-infer/actions/workflows/test.yml/badge.svg?branch=main)\n[![Downloads](https://img.shields.io/npm/dm/%40jsonhero%2Fschema-infer.svg)](https://npmjs.com/@jsonhero/schema-infer)\n[![Install size](https://packagephobia.com/badge?p=%40jsonhero%2Fschema-infer)](https://packagephobia.com/result?p=@jsonhero/schema-infer)\n\n## Features\n\n- Written in typescript\n- Inspired by [jtd-infer](https://jsontypedef.com/docs/jtd-infer/)\n- Generates valid 2020-12 JSON schema documents from example data\n- Supports most string formats through [json-infer-types](https://github.com/jsonhero-io/json-infer-types)\n  - Date and times\n  - URIs\n  - Email Addresses\n  - Hostnames\n  - IP Addresses\n  - uuids\n- Supports snapshotting and restoring inference sessions\n- Handles nullable values and required/optional properties\n\n## Usage\n\nInstall `schema-infer`:\n\n```bash\nnpm install --save @jsonhero/schema-infer\n```\n\nTo produce a JSON Schema document, pass in the example JSON to `inferSchema` and call `toJSONSchema` on the result:\n\n```ts\nimport { inferSchema } from \"@jsonhero/schema-infer\";\n\ninferSchema({\n  id: \"abeb8b52-e960-44dc-9e09-57bb00d6b441\",\n  name: \"Eric\",\n  emailAddress: \"eric@jsonhero.io\",\n  website: \"https://github.com/ericallam\",\n  joined: \"2022-01-01\",\n}).toJSONSchema();\n```\n\nInfers the following JSON schema:\n\n```json\n{\n  \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n  \"type\": \"object\",\n  \"properties\": {\n    \"id\": { \"type\": \"string\", \"format\": \"uuid\" },\n    \"name\": { \"type\": \"string\" },\n    \"emailAddress\": { \"type\": \"string\", \"format\": \"email\" },\n    \"website\": { \"type\": \"string\", \"format\": \"uri\" },\n    \"joined\": { \"type\": \"string\", \"format\": \"date\" }\n  },\n  \"required\": [\"id\", \"name\", \"emailAddress\", \"website\", \"joined\"]\n}\n```\n\nInferring an array of objects, with some properties being optional:\n\n```ts\ninferSchema([\n  { rank: 1, name: \"Eric\", winner: true },\n  { rank: 2, name: \"Matt\" },\n]).toJSONSchema();\n```\n\nProduces the following schema:\n\n```json\n{\n  \"items\": {\n    \"properties\": {\n      \"name\": {\n        \"type\": \"string\"\n      },\n      \"rank\": {\n        \"type\": \"integer\"\n      },\n      \"winner\": {\n        \"type\": \"boolean\"\n      }\n    },\n    \"required\": [\"rank\", \"name\"],\n    \"type\": \"object\"\n  },\n  \"type\": \"array\"\n}\n```\n\nYou can produce better results by inferring from more than 1 example JSON, like so:\n\n```ts\nlet inference = inferSchema({ name: \"Eric\" });\ninference = inferSchema({ name: \"James\", age: 87 });\n\ninference.toJSONSchema();\n```\n\nProduces:\n\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"name\": { \"type\": \"string\" },\n    \"age\": { \"type\": \"integer\" }\n  },\n  \"required\": [\"name\"]\n}\n```\n\nIf you need to save the inference session for later use you can use the `toSnapshot` and `restoreSnapshot` functions:\n\n```ts\nlet inference = inferSchema({ name: \"Eric\" });\nlet snapshot = inference.toSnapshot();\n\nawait writeFile(\"./inference.json\", JSON.stringify(snapshot));\n\n// Later:\nlet snapshot = JSON.parse(await readFile(\"./inference.json\"));\ninferSchema({ email: \"eric@jsonhero.io\" }, restoreSnapshot(snapshot));\n```\n\nThis library makes use of `anyOf` to handle a value that can be multiple conflicting types:\n\n```ts\ninferSchema([1, \"three\"]).toJSONSchema();\n```\n\nWill produce\n\n```json\n{\n  \"type\": \"array\",\n  \"items\": {\n    \"anyOf\": [{ \"type\": \"integer\" }, { \"type\": \"string\" }]\n  }\n}\n```\n\n## Examples\n\n### Airtable API\n\n<details>\n <summary>JSON</summary>\n \n ```json\n [\n  {\n    \"id\": \"rec3SDRbI5izJ0ENy\",\n    \"fields\": {\n      \"Link\": \"www.examplelink.com\",\n      \"Name\": \"Ikrore chair\",\n      \"Settings\": [\n        \"Office\",\n        \"Bedroom\",\n        \"Living room\"\n      ],\n      \"Vendor\": [\n        \"reczC9ifQTdJpMZcx\"\n      ],\n      \"Color\": [\n        \"Grey\",\n        \"Green\",\n        \"Red\",\n        \"White\",\n        \"Blue purple\"\n      ],\n      \"Designer\": [\n        \"recJ76rS7fEJi03wW\"\n      ],\n      \"Type\": \"Chairs\",\n      \"Images\": [\n        {\n          \"id\": \"atten0ycxONEmeKfu\",\n          \"width\": 501,\n          \"height\": 750,\n          \"url\": \"https://dl.airtable.com/.attachments/e13d90aafb01450314538eee5398abb3/ea5e6e6f/pexels-photo-1166406.jpegautocompresscstinysrgbh750w1260\",\n          \"filename\": \"pexels-photo-1166406.jpeg?auto=compress&cs=tinysrgb&h=750&w=1260\",\n          \"size\": 33496,\n          \"type\": \"image/jpeg\",\n          \"thumbnails\": {\n            \"small\": {\n              \"url\": \"https://dl.airtable.com/.attachmentThumbnails/ff3db1021522f6100afa7e09ab42b187/9bc0dc81\",\n              \"width\": 24,\n              \"height\": 36\n            },\n            \"large\": {\n              \"url\": \"https://dl.airtable.com/.attachmentThumbnails/15421f668579a7d75c506253b61668d6/f7c14834\",\n              \"width\": 501,\n              \"height\": 750\n            },\n            \"full\": {\n              \"url\": \"https://dl.airtable.com/.attachmentThumbnails/bd297cad0f2acb7da5d63e0692934def/3053bea3\",\n              \"width\": 3000,\n              \"height\": 3000\n            }\n          }\n        }\n      ],\n      \"Description\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\",\n      \"Materials\": [\n        \"Tech suede\",\n        \"Light wood\"\n      ],\n      \"Size (WxLxH)\": \"40x32x19\",\n      \"Unit cost\": 1300.5,\n      \"Total units sold\": 0,\n      \"Gross sales\": 0\n    },\n    \"createdTime\": \"2015-01-27T20:16:05.000Z\"\n  },\n  {\n    \"id\": \"rec4gR4daG7FLbTss\",\n    \"fields\": {\n      \"Link\": \"www.examplelink.com\",\n      \"Name\": \"Angular pendant\",\n      \"Settings\": [\n        \"Office\"\n      ],\n      \"Vendor\": [\n        \"reczC9ifQTdJpMZcx\"\n      ],\n      \"Color\": [\n        \"Silver\",\n        \"Black\",\n        \"White\",\n        \"Gold\"\n      ],\n      \"Designer\": [\n        \"recoh9S9UjHVUpcPy\"\n      ],\n      \"In stock\": true,\n      \"Type\": \"Lighting\",\n      \"Orders\": [\n        \"recspa0dTuVfr5Tji\"\n      ],\n      \"Images\": [\n        {\n          \"id\": \"attViFaKwjE6WJ3iD\",\n          \"width\": 1000,\n          \"height\": 1500,\n          \"url\": \"https://dl.airtable.com/.attachments/ce5d081b96ad1d4ef7aa3003c77fb761/4e9b68ae/photo-1546902172-146006dcd1e6ixlibrb-1.2.1ixideyJhcHBfaWQiOjEyMDd9autoformatfitcropw1000q80\",\n          \"filename\": \"photo-1546902172-146006dcd1e6?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1000&q=80\",\n          \"size\": 163784,\n          \"type\": \"image/jpeg\",\n          \"thumbnails\": {\n            \"small\": {\n              \"url\": \"https://dl.airtable.com/.attachmentThumbnails/ffa7089696c170c6be567d5f34b4ed66/e1046fbc\",\n              \"width\": 24,\n              \"height\": 36\n            },\n            \"large\": {\n              \"url\": \"https://dl.airtable.com/.attachmentThumbnails/e66162154bfa7eacd377d40266f57316/39fb0eac\",\n              \"width\": 512,\n              \"height\": 768\n            },\n            \"full\": {\n              \"url\": \"https://dl.airtable.com/.attachmentThumbnails/7070d3cb16ad9d18e4fa5bbedb4e740b/460fd6c4\",\n              \"width\": 3000,\n              \"height\": 3000\n            }\n          }\n        }\n      ],\n      \"Description\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\",\n      \"Materials\": [\n        \"Steel\"\n      ],\n      \"Size (WxLxH)\": \"7.5 x 12.75, 10.5 x 17.5 \",\n      \"Unit cost\": 295,\n      \"Total units sold\": 2,\n      \"Gross sales\": 590\n    },\n    \"createdTime\": \"2015-01-27T19:14:59.000Z\"\n  },\n  {\n    \"id\": \"rec4rIuzOPQA07c3M\",\n    \"fields\": {\n      \"Link\": \"www.examplelink.com\",\n      \"Name\": \"Madrid chair\",\n      \"Settings\": [\n        \"Living room\",\n        \"Office\"\n      ],\n      \"Vendor\": [\n        \"reczC9ifQTdJpMZcx\"\n      ],\n      \"Color\": [\n        \"White\",\n        \"Brown\",\n        \"Black\"\n      ],\n      \"Designer\": [\n        \"recqx2njQY1QqkcaV\"\n      ],\n      \"In stock\": true,\n      \"Type\": \"Chairs\",\n      \"Orders\": [\n        \"rec0jJArKIPxTddSX\",\n        \"rec3mEIxLONBSab4Y\"\n      ],\n      \"Images\": [\n        {\n          \"id\": \"attYAf0fLp3H3OdGk\",\n          \"width\": 1000,\n          \"height\": 477,\n          \"url\": \"https://dl.airtable.com/.attachments/c717b870174222c61991d81d32e6faa4/1ef6556a/photo-1505843490538-5133c6c7d0e1ixlibrb-1.2.1ixideyJhcHBfaWQiOjEyMDd9autoformatfitcropw1000q80\",\n          \"filename\": \"photo-1505843490538-5133c6c7d0e1?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1000&q=80\",\n          \"size\": 17498,\n          \"type\": \"image/jpeg\",\n          \"thumbnails\": {\n            \"small\": {\n              \"url\": \"https://dl.airtable.com/.attachmentThumbnails/c3e8f6f2189b0d9eb14cb58b9c653f42/3b76d95a\",\n              \"width\": 75,\n              \"height\": 36\n            },\n            \"large\": {\n              \"url\": \"https://dl.airtable.com/.attachmentThumbnails/e222fd421eddb24f9b5171a25adaa9ec/3cf86de6\",\n              \"width\": 1000,\n              \"height\": 477\n            },\n            \"full\": {\n              \"url\": \"https://dl.airtable.com/.attachmentThumbnails/4cae754b4adc96820e98a79ca8ebdcbd/09040841\",\n              \"width\": 3000,\n              \"height\": 3000\n            }\n          }\n        }\n      ],\n      \"Description\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\",\n      \"Materials\": [\n        \"Light wood\",\n        \"Metal\"\n      ],\n      \"Size (WxLxH)\": \"3x1x5\",\n      \"Unit cost\": 5429,\n      \"Total units sold\": 36,\n      \"Gross sales\": 195444\n    },\n    \"createdTime\": \"2014-09-24T05:48:20.000Z\"\n  }\n]\n ```\n</details>\n\n<details>\n <summary>Inferred Schema</summary>\n \n ```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"id\": {\n      \"type\": \"string\"\n    },\n    \"fields\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"Link\": {\n          \"type\": \"string\",\n          \"format\": \"hostname\"\n        },\n        \"Name\": {\n          \"type\": \"string\"\n        },\n        \"Settings\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"string\"\n          }\n        },\n        \"Vendor\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"string\"\n          }\n        },\n        \"Color\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"string\"\n          }\n        },\n        \"Designer\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"string\"\n          }\n        },\n        \"Type\": {\n          \"type\": \"string\"\n        },\n        \"Images\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"id\": {\n                \"type\": \"string\"\n              },\n              \"width\": {\n                \"type\": \"integer\"\n              },\n              \"height\": {\n                \"type\": \"integer\"\n              },\n              \"url\": {\n                \"type\": \"string\",\n                \"format\": \"uri\"\n              },\n              \"filename\": {\n                \"type\": \"string\"\n              },\n              \"size\": {\n                \"type\": \"integer\"\n              },\n              \"type\": {\n                \"type\": \"string\"\n              },\n              \"thumbnails\": {\n                \"type\": \"object\",\n                \"properties\": {\n                  \"small\": {\n                    \"type\": \"object\",\n                    \"properties\": {\n                      \"url\": {\n                        \"type\": \"string\",\n                        \"format\": \"uri\"\n                      },\n                      \"width\": {\n                        \"type\": \"integer\"\n                      },\n                      \"height\": {\n                        \"type\": \"integer\"\n                      }\n                    },\n                    \"required\": [\n                      \"url\",\n                      \"width\",\n                      \"height\"\n                    ]\n                  },\n                  \"large\": {\n                    \"type\": \"object\",\n                    \"properties\": {\n                      \"url\": {\n                        \"type\": \"string\",\n                        \"format\": \"uri\"\n                      },\n                      \"width\": {\n                        \"type\": \"integer\"\n                      },\n                      \"height\": {\n                        \"type\": \"integer\"\n                      }\n                    },\n                    \"required\": [\n                      \"url\",\n                      \"width\",\n                      \"height\"\n                    ]\n                  },\n                  \"full\": {\n                    \"type\": \"object\",\n                    \"properties\": {\n                      \"url\": {\n                        \"type\": \"string\",\n                        \"format\": \"uri\"\n                      },\n                      \"width\": {\n                        \"type\": \"integer\"\n                      },\n                      \"height\": {\n                        \"type\": \"integer\"\n                      }\n                    },\n                    \"required\": [\n                      \"url\",\n                      \"width\",\n                      \"height\"\n                    ]\n                  }\n                },\n                \"required\": [\n                  \"small\",\n                  \"large\",\n                  \"full\"\n                ]\n              }\n            },\n            \"required\": [\n              \"id\",\n              \"width\",\n              \"height\",\n              \"url\",\n              \"filename\",\n              \"size\",\n              \"type\",\n              \"thumbnails\"\n            ]\n          }\n        },\n        \"Description\": {\n          \"type\": \"string\"\n        },\n        \"Materials\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"string\"\n          }\n        },\n        \"Size (WxLxH)\": {\n          \"type\": \"string\"\n        },\n        \"Unit cost\": {\n          \"type\": \"number\"\n        },\n        \"Total units sold\": {\n          \"type\": \"integer\"\n        },\n        \"Gross sales\": {\n          \"type\": \"integer\"\n        },\n        \"In stock\": {\n          \"type\": \"boolean\"\n        },\n        \"Orders\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"string\"\n          }\n        }\n      },\n      \"required\": [\n        \"Link\",\n        \"Name\",\n        \"Settings\",\n        \"Vendor\",\n        \"Color\",\n        \"Designer\",\n        \"Type\",\n        \"Images\",\n        \"Description\",\n        \"Materials\",\n        \"Size (WxLxH)\",\n        \"Unit cost\",\n        \"Total units sold\",\n        \"Gross sales\"\n      ]\n    },\n    \"createdTime\": {\n      \"type\": \"string\",\n      \"format\": \"date-time\"\n    }\n  },\n  \"required\": [\n    \"id\",\n    \"fields\",\n    \"createdTime\"\n  ]\n}\n ```\n</details>\n\n## Roadmap\n\n- Add support for hints for discriminators (tagged unions), value-only schemas, and enums\n- Add support for [JSON Typedefs](https://jsontypedef.com)\n- Add \"verbose\" mode to include `$id`, `examples`, etc.\n","readmeFilename":"README.md"}