{"_id":"optimal","_rev":"77-afba9b2a98463237f431ef0194ce63f0","name":"optimal","description":"Build, validate, and transform values with immutable typed schemas.","dist-tags":{"latest":"5.1.1","next":"5.0.0-alpha.2"},"versions":{"0.0.2":{"name":"optimal","version":"0.0.2","description":"Kickass JS arguments parser","main":"lib/optimal.js","directories":{"test":"test"},"scripts":{"test":"mocha -R spec -r should test/optimal.js"},"repository":{"type":"git","url":"git://github.com/Numbee/Optimal.git"},"author":{"name":"stoke","email":"stoke@autistici.org"},"license":"BSD","_id":"optimal@0.0.2","dist":{"shasum":"1a7aa331966a31b9dbf578b0d5b2ae08f792972a","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.0.2.tgz","integrity":"sha512-uQNz6Ixv8c9qLNBTfqPOqnAppkKsnN4UoraftcNOQyQk5s28TuF10KbIbVlYz406Ll35nEpMf9XY5tD+kf0gCg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBSLOxCth1svDQTn4191Mb4/7vGHauGyjZNWiHdr04m4AiEAmOvzzo098bmQrryYsCzx4Ttj/pvsArqSkf/qny3blNg="}]},"maintainers":[{"name":"stoke","email":"stoke@autistici.org"}]},"0.0.3":{"name":"optimal","version":"0.0.3","description":"Kickass JS arguments parser","directories":{"test":"test"},"devDependencies":{"mocha":">= 0.0.0","should":">= 0.0.0"},"scripts":{"test":"mocha -R spec -r should test/optimal.js"},"repository":{"type":"git","url":"git://github.com/Numbee/Optimal.git"},"author":{"name":"stoke","email":"stoke@autistici.org"},"license":"MIT","_id":"optimal@0.0.3","dist":{"shasum":"1db1763d508c7114fdda049f994aaf4817d1555d","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.0.3.tgz","integrity":"sha512-nVXbxz65W+jM8fg6RnuwqBMQfcc4HJ4Hpf4JRyDZ+8vz1zO7O18ztH4DUT6QPv65HWh9s+6IzXkGoLemjYQQFQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBVzLTv1ZdoIJoPTXjKwKolwD9x+psETFC0edZC9pKN1AiBHVyHL1uavA8TkauRAD+ZkkKqu1O4riU4SxkRFkh9tTQ=="}]},"maintainers":[{"name":"stoke","email":"stoke@autistici.org"}]},"0.1.0":{"name":"optimal","version":"0.1.0","description":"Kickass JS arguments parser","directories":{"test":"test"},"devDependencies":{"mocha":">= 0.0.0","should":">= 0.0.0"},"scripts":{"test":"mocha -R spec -r should test/optimal.js"},"repository":{"type":"git","url":"git://github.com/Numbee/Optimal.git"},"author":{"name":"stoke","email":"stoke@autistici.org"},"license":"MIT","_id":"optimal@0.1.0","dist":{"shasum":"6e9a9f03ce2efc13bfc99909b30069a413c7ad42","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.1.0.tgz","integrity":"sha512-u23Z4OJmJzmgqSI0ATDdg5PBF8kCAdf4IFvj9rGWS75+Vqp/k1fwJW7sZCZlFyHHLaIuuFYbkwFSfXmTX2Mx2w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpZ7rhK2G2tlWj9jfY+edb51azf4sQu5NHLCQAbzunWAIhAIlECSHqMGC/2dNPEQyakd/F10vRIL4BA5Y6QPdp9onU"}]},"_from":".","_npmVersion":"1.2.2","_npmUser":{"name":"stoke","email":"stoke95@gmail.com"},"maintainers":[{"name":"stoke","email":"stoke@autistici.org"}]},"0.2.0":{"name":"optimal","version":"0.2.0","description":"Options object builder and validator.","main":"./lib/index.js","scripts":{"babel":"build-lib ./src -d ./lib","coverage":"run-coverage","eslint":"run-linter ./bin ./src ./tests","flow":"type-check","jest":"run-tests","posttest":"yarn run flow","pretest":"yarn run eslint","preversion":"yarn test && yarn run babel","test":"yarn run jest"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"babel-runtime":"^6.23.0"},"devDependencies":{"@milesj/build-tool-config":"^0.11.1"},"babel":{"extends":"./node_modules/@milesj/build-tool-config/babel.json5"},"eslintConfig":{"extends":"./node_modules/@milesj/build-tool-config/eslint.json5"},"jest":{"preset":"@milesj/build-tool-config"},"gitHead":"dbb4437902c9801a7e906a7565f19ce4b2f7d82d","_id":"optimal@0.2.0","_npmVersion":"5.0.3","_nodeVersion":"8.1.2","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-5/QskVISek7bIeK0Mr/YM8L8QRSFjOdXsyPsuwvhR/4U6Rh5y2WRCdpJZyoNDcUn2aIeqY+4aOuXXV9wVJvw4w==","shasum":"148f3a1beab78f7582d5c9a6365e1586fb31ae7d","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.2.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICOh3KXdP7kqD5UjE8G9mNqbr9Df3gf1x82bxNFa/X5nAiAPiyhrIZTWfl7rClcyMPtlizSHKRioq376NKKuWo4TdQ=="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal-0.2.0.tgz_1498271264267_0.8528851519804448"},"directories":{}},"0.3.0":{"name":"optimal","version":"0.3.0","description":"Options object builder and validator.","main":"./lib/index.js","browser":"./lib/bundle.js","scripts":{"babel":"build-lib ./src -d ./lib","coverage":"run-coverage","eslint":"run-linter ./bin ./src ./tests","flow":"type-check","jest":"run-tests","posttest":"yarn run flow","pretest":"yarn run eslint","preversion":"yarn test && yarn run babel && yarn run rollup","rollup":"NODE_ENV=production bundle-lib","test":"yarn run jest"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"babel-runtime":"^6.23.0"},"devDependencies":{"@milesj/build-tool-config":"^0.13.0"},"babel":{"extends":"./node_modules/@milesj/build-tool-config/babel.json5"},"eslintConfig":{"extends":"./node_modules/@milesj/build-tool-config/eslint.json5"},"jest":{"preset":"@milesj/build-tool-config"},"gitHead":"76d45e7f936029b2bfd4091e0b1d3c5be76d1937","_id":"optimal@0.3.0","_npmVersion":"5.0.3","_nodeVersion":"8.1.3","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-L+re3fUz21rTfHv6A20yK7XCaWzTJesNNupVqAHll4H05W4gThU1qduwnX4RXe9hi5MF1wgPxDjIpapCKLJndA==","shasum":"71a818e8ee89dd1f1a052ea2fb9be5045a8af2b3","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.3.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQeRKHpmzag/a9ziHt7dFqSFbUv/hTLg7MyQrnnZvfVgIhAPW5BcD4ITbALvsD+AoOFABS3DjJsAbJtkvp/v26u7Lk"}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal-0.3.0.tgz_1499132394611_0.9019346064887941"},"directories":{}},"0.3.1":{"name":"optimal","version":"0.3.1","description":"Options object builder and validator.","main":"./lib/index.js","browser":"./lib/bundle.js","scripts":{"babel":"build-lib ./src -d ./lib","coverage":"run-coverage","eslint":"run-linter ./bin ./src ./tests","flow":"type-check","jest":"run-tests","posttest":"yarn run flow","pretest":"yarn run eslint","preversion":"yarn test && yarn run babel && yarn run rollup","rollup":"NODE_ENV=production bundle-lib","test":"yarn run jest"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"babel-runtime":"^6.23.0"},"devDependencies":{"@milesj/build-tool-config":"^0.14.0"},"babel":{"extends":"./node_modules/@milesj/build-tool-config/babel.json5"},"eslintConfig":{"extends":"./node_modules/@milesj/build-tool-config/eslint.json5"},"jest":{"preset":"@milesj/build-tool-config"},"gitHead":"a5078e0b0a9c0db14c5a66e562c030641f25f05d","_id":"optimal@0.3.1","_npmVersion":"5.0.3","_nodeVersion":"8.1.3","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-o1eRZK51RnPIWc4Ni1Jg0+tj67W8hi0PrOfEpPP13PNdUiqDdUV0ObQ6mcoYeNpgVNurnFWXUnEkZ7ST3I1RqQ==","shasum":"2de355f9903ff9211aa3b654a34d9d1fce35e108","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.3.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCw8DuhM4MGhHcEHAkTpZjS9MwgXLTGtcG+vvIS6FzI1QIgUMjPcw39iEIOmdkWprNN+/gs82/yr7CLaW44F2Ye28Y="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal-0.3.1.tgz_1499326563458_0.11348000122234225"},"directories":{}},"0.4.0":{"name":"optimal","version":"0.4.0","description":"Options object builder and validator.","main":"./lib/index.js","browser":"./lib/bundle.js","scripts":{"babel":"build-lib ./src -d ./lib","coverage":"run-coverage","eslint":"run-linter ./bin ./src ./tests","flow":"type-check","jest":"run-tests","posttest":"yarn run flow","pretest":"yarn run eslint","preversion":"yarn test && yarn run babel && yarn run rollup","rollup":"NODE_ENV=production bundle-lib","test":"yarn run jest"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"babel-runtime":"^6.23.0"},"devDependencies":{"@milesj/build-tool-config":"^0.14.0"},"babel":{"extends":"./node_modules/@milesj/build-tool-config/babel.json5"},"eslintConfig":{"extends":"./node_modules/@milesj/build-tool-config/eslint.json5"},"jest":{"preset":"@milesj/build-tool-config"},"gitHead":"3252e8366e45ca7c6e3a867fa80e0d90a9a1efa1","_id":"optimal@0.4.0","_npmVersion":"5.0.3","_nodeVersion":"8.1.3","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-S9UOmn2dh2f3r02IJSha7a4vVhtoJzP/tcjXDQFlmzQZ8O1P8gtr/Jwoxsk1BV5q58X7TzGo3m5s4TgqXSWfOA==","shasum":"edf6dd76c4822dce328f0f11d539293a497fcebc","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.4.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBrBqcc5G2Xe5KFyHZlTv5CA3VE7R3iUkgZUbb9M223BAiEAiUlZ+kvMBtu7CqjJMjl5tgD/l4OyToJ63FlO40JDJgQ="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal-0.4.0.tgz_1499396398275_0.7478327238932252"},"directories":{}},"0.5.0":{"name":"optimal","version":"0.5.0","description":"Options object builder and validator.","main":"./lib/index.js","browser":"./lib/bundle.js","scripts":{"babel":"build-lib ./src -d ./lib","coverage":"run-coverage","eslint":"run-linter ./bin ./src ./tests","flow":"type-check","jest":"run-tests","posttest":"yarn run flow","pretest":"yarn run eslint","preversion":"yarn test && yarn run babel && yarn run rollup","rollup":"NODE_ENV=production bundle-lib","test":"yarn run jest"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"babel-runtime":"^6.23.0"},"devDependencies":{"@milesj/build-tool-config":"^0.14.0"},"babel":{"extends":"./node_modules/@milesj/build-tool-config/babel.json5"},"eslintConfig":{"extends":"./node_modules/@milesj/build-tool-config/eslint.json5"},"jest":{"preset":"@milesj/build-tool-config"},"gitHead":"344b4e7ce5867155fdfa6c90586d2eb32a06f789","_id":"optimal@0.5.0","_npmVersion":"5.0.3","_nodeVersion":"8.1.3","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-gavwGuZUuHckh+TzUvwjQ9jGIlSNkN1JQObf4psIXxGiOlRClZXIJRISCULm62mezjZ2u7kU7OHJoirJPO08Qw==","shasum":"a6fd22323be1edc5bf9aedf079abcef483bc67db","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.5.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCvBOfNaNeWzB0Ri/j0Utx8lWfNcd4xI3r1RO4IuNahiQIhAKtxqZWw6yyXPtsMekV+BGZpzMBnTuxvQWFw3vnl6lE/"}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal-0.5.0.tgz_1499406013352_0.6980416772421449"},"directories":{}},"0.6.0":{"name":"optimal","version":"0.6.0","description":"Options object builder and validator.","main":"./lib/index.js","browser":"./lib/bundle.js","scripts":{"babel":"build-lib ./src -d ./lib","coverage":"run-coverage","eslint":"run-linter ./bin ./src ./tests","flow":"type-check","jest":"run-tests","posttest":"yarn run flow","pretest":"yarn run eslint","preversion":"yarn test && yarn run babel && yarn run rollup","rollup":"NODE_ENV=production bundle-lib","test":"yarn run jest"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"babel-runtime":"^6.23.0"},"devDependencies":{"@milesj/build-tool-config":"^0.14.0"},"babel":{"extends":"./node_modules/@milesj/build-tool-config/babel.json5"},"eslintConfig":{"extends":"./node_modules/@milesj/build-tool-config/eslint.json5"},"jest":{"preset":"@milesj/build-tool-config"},"gitHead":"633a0c054e2635eb7cd302690c84253e6e309198","_id":"optimal@0.6.0","_npmVersion":"5.0.3","_nodeVersion":"8.1.3","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-4Ju0bivxmxXDF0T0w57hFOEXLr5HiHSpAsXfqZ/yjQw/hwndRAp97XEAAixAy5PmKY06bA/GxG6nnqtvw+INKg==","shasum":"7052a411a248af1419a40ea8fd5ca308e89fd528","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.6.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGfOsvsyAZSEFK/4z1UtmOXcUzFeati4pUap9yxkM9HMAiEAhxIvW012V/mnd+G9GrV2vsRsMJrrK63n86CilsTZ9Yo="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal-0.6.0.tgz_1499483049479_0.23292074538767338"},"directories":{}},"0.7.0":{"name":"optimal","version":"0.7.0","description":"Options object builder and validator.","main":"./lib/index.js","browser":"./lib/bundle.js","scripts":{"babel":"build-lib ./src -d ./lib","coverage":"run-coverage","eslint":"run-linter ./bin ./src ./tests","flow":"type-check","jest":"run-tests","posttest":"yarn run flow","pretest":"yarn run eslint","preversion":"yarn test && yarn run babel && yarn run rollup","rollup":"NODE_ENV=production bundle-lib","test":"yarn run jest"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"babel-runtime":"^6.23.0"},"devDependencies":{"@milesj/build-tool-config":"^0.14.0"},"babel":{"extends":"./node_modules/@milesj/build-tool-config/babel.json5"},"eslintConfig":{"extends":"./node_modules/@milesj/build-tool-config/eslint.json5"},"jest":{"preset":"@milesj/build-tool-config"},"gitHead":"1e0ac510464c3a921c157e3256f4231378f92521","_id":"optimal@0.7.0","_npmVersion":"5.0.3","_nodeVersion":"8.1.3","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-RnxWkTNbmOBdKonSKbg/WeaC2TmNabPpef6Ph38il3njhm2nbJFlZURNnZBTfkemwkHmM1Pu1/2mCEaQCngdYA==","shasum":"9722ab276660536a5cbfa77db9134ff92c8c02db","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.7.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAqmIdqwl0fbJqoawcXQX8TXj8nIeMC7o2A7+2FXILWMAiEAoCZzlR1vXbExDjq+0Cb6i7yXixjB3SuP/3iHeasM48A="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal-0.7.0.tgz_1499485704193_0.396349849877879"},"directories":{}},"0.8.0":{"name":"optimal","version":"0.8.0","description":"Options object builder and validator.","main":"./lib/index.js","browser":"./lib/bundle.js","scripts":{"babel":"build-lib ./src -d ./lib","coverage":"run-coverage","eslint":"run-linter ./bin ./src ./tests","flow":"type-check","jest":"run-tests","posttest":"yarn run flow","pretest":"yarn run eslint","preversion":"yarn test && yarn run babel && yarn run rollup","rollup":"NODE_ENV=production bundle-lib","test":"yarn run jest"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"babel-runtime":"^6.23.0"},"devDependencies":{"@milesj/build-tool-config":"^0.14.0"},"babel":{"extends":"./node_modules/@milesj/build-tool-config/babel.json5"},"eslintConfig":{"extends":"./node_modules/@milesj/build-tool-config/eslint.json5"},"jest":{"preset":"@milesj/build-tool-config"},"gitHead":"3e142e37881cd34d9416219b9ca8c4c930aa9426","_id":"optimal@0.8.0","_npmVersion":"5.0.3","_nodeVersion":"8.1.3","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-qxlPxvoy753tE1EQ3I0AjybWxsGaalDtzmAtwkb0n2Q1HI1j5EUCxV/5QXHM0bhuFHBp5esF+uSj4lw7hCTh7w==","shasum":"037a7aca3726f48ab19ae9cafebb289994b09dea","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.8.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwRHsqb9H+/7DxFY0sujz4xYb1WwdJaNaCZ0zsHicHrQIgHDkRdNlKbAqOflpPbUFBxyYD1lFmtZbN6peIJ021i1o="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal-0.8.0.tgz_1499575377286_0.9575673406943679"},"directories":{}},"0.9.0":{"name":"optimal","version":"0.9.0","description":"Options object builder and validator.","main":"./lib/index.js","browser":"./lib/bundle.js","scripts":{"babel":"build-lib ./src -d ./lib","coverage":"run-coverage","eslint":"run-linter ./bin ./src ./tests","flow":"type-check","jest":"run-tests","posttest":"yarn run flow","pretest":"yarn run eslint","preversion":"yarn test && yarn run babel && yarn run rollup","rollup":"NODE_ENV=production bundle-lib","test":"yarn run jest"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"babel-runtime":"^6.23.0"},"devDependencies":{"@milesj/build-tool-config":"^0.14.0"},"babel":{"extends":"./node_modules/@milesj/build-tool-config/babel.json5"},"eslintConfig":{"extends":"./node_modules/@milesj/build-tool-config/eslint.json5"},"jest":{"preset":"@milesj/build-tool-config"},"gitHead":"7e1bab194d7e5f73d8147b95f7e625f824b808a1","_id":"optimal@0.9.0","_npmVersion":"5.0.3","_nodeVersion":"8.1.3","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-Ab2aBD31uAKm0VyBUP7m16ovHtl/efoqhfdxx3zl1cOtupnxUO7KSPeJI2IiMdUYYbICl+IZ39HdLZdTBfmpxQ==","shasum":"8e1d02f36bd3ebb94aedb23311a5768dc16b74c0","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.9.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEk6hZH3cL4sqph3+GxahP9Q2dXbAtaa7Yu6w3SZmWs8AiEAtbe3uVzf/gzZ5EVIyfRJF6GnPAjDQ103ueLlds1Zceo="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal-0.9.0.tgz_1499666073479_0.46513178711757064"},"directories":{}},"0.10.0":{"name":"optimal","version":"0.10.0","description":"Options object builder and validator.","main":"./lib/index.js","browser":"./lib/bundle.js","scripts":{"babel":"build-lib ./src -d ./lib","coverage":"run-coverage","eslint":"run-linter ./bin ./src ./tests","flow":"type-check","jest":"run-tests","posttest":"yarn run flow","pretest":"yarn run eslint","preversion":"yarn test && yarn run babel && yarn run rollup","rollup":"NODE_ENV=production bundle-lib","test":"yarn run jest"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"babel-runtime":"^6.23.0"},"devDependencies":{"@milesj/build-tool-config":"^0.14.0"},"babel":{"extends":"./node_modules/@milesj/build-tool-config/babel.json5"},"eslintConfig":{"extends":"./node_modules/@milesj/build-tool-config/eslint.json5"},"jest":{"preset":"@milesj/build-tool-config"},"gitHead":"03ec24caa840e91a91ac4119ffd2f3828d56f65a","_id":"optimal@0.10.0","_npmVersion":"5.0.3","_nodeVersion":"8.1.3","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-pmRs2fhQTpQ92vv0uoc/IpcILeB0/qQhrS8C9uhRyKJT9YaJ9m8iHpbQOZqeNKP0w6W+IhT5V7ezmCluRiS42w==","shasum":"fefd454f7842dfa46e8c52b61bd623417c505fc3","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.10.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE21c7TyjI0YbsGviYymXEB8V3vbaLlLTlLxK/RH6rQQAiEAjf4Ro1mhC4XdlsnOJqS+puXACpTS2rGjI8xpjNO9O40="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal-0.10.0.tgz_1499742811951_0.28762872191146016"},"directories":{}},"0.11.0":{"name":"optimal","version":"0.11.0","description":"Options object builder and validator.","main":"./lib/index.js","browser":"./lib/bundle.js","scripts":{"babel":"build-lib ./src -d ./lib","coverage":"run-coverage","eslint":"run-linter ./bin ./src ./tests","flow":"type-check","jest":"run-tests","posttest":"yarn run flow","pretest":"yarn run eslint","preversion":"yarn test && yarn run babel && yarn run rollup","rollup":"NODE_ENV=production bundle-lib","test":"yarn run jest"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"babel-runtime":"^6.23.0"},"devDependencies":{"@milesj/build-tool-config":"^0.14.0"},"babel":{"extends":"./node_modules/@milesj/build-tool-config/babel.json5"},"eslintConfig":{"extends":"./node_modules/@milesj/build-tool-config/eslint.json5"},"jest":{"preset":"@milesj/build-tool-config"},"gitHead":"6918a6896ada7e126138f7522b8c9941e418b7fb","_id":"optimal@0.11.0","_npmVersion":"5.0.3","_nodeVersion":"8.1.3","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-SKYwhMLCLipZGLRgoNGnRswU6S7KO438nHkhTpXTUhtAaMFdKkhkM4SHxyuENrWdtVTADy8ki0S9F9iqlzqU+w==","shasum":"ca5d91b446068265c5a34e4b5ced004512cb512f","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.11.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHwjmtmNBRiZZ11yZhH3I2XmKaNGtxSMUBX0COYBgmy3AiBHWseVEln0XOlr+WzMMwNP0NS8V0PJdpIxk5nFLxdIcg=="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal-0.11.0.tgz_1499754540939_0.0611982773989439"},"directories":{}},"0.12.0":{"name":"optimal","version":"0.12.0","description":"Options object builder and validator.","main":"./lib/index.js","browser":"./lib/bundle.js","scripts":{"babel":"build-lib ./src -d ./lib","coverage":"run-coverage","eslint":"run-linter ./bin ./src ./tests","flow":"type-check","jest":"run-tests","posttest":"yarn run flow","pretest":"yarn run eslint","preversion":"yarn test && yarn run babel && yarn run rollup","rollup":"NODE_ENV=production bundle-lib","test":"yarn run jest"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"babel-runtime":"^6.23.0"},"devDependencies":{"@milesj/build-tool-config":"^0.15.0"},"babel":{"extends":"./node_modules/@milesj/build-tool-config/babel.json5"},"eslintConfig":{"extends":"./node_modules/@milesj/build-tool-config/eslint.json5"},"jest":{"preset":"@milesj/build-tool-config"},"gitHead":"ec60e4892055ade7fed1b1c1f83ff95940ef287e","_id":"optimal@0.12.0","_npmVersion":"5.0.3","_nodeVersion":"8.1.3","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-pW+orsNVgb3c9Q1utOXwq8HZ0Xz73TYNFQ1NrRDzNzFr8ECYwHKhMFzvP/QJtHnyN50mrlGKv/MFZzP3xJ20YQ==","shasum":"0d3b5c690e6c9f44850a92ece5d0baaf7847d153","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.12.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHTradSePj9nc8sW2+nNYpd/C52VMWj/h80h3qLvzPa9AiEAnpDtqFc90h3CsZ6bv8EPMN/Sj6PAuXA8ZsLytGV7XpA="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal-0.12.0.tgz_1500016676659_0.34834134252741933"},"directories":{}},"0.13.0":{"name":"optimal","version":"0.13.0","description":"Options object builder and validator.","main":"./lib/index.js","browser":"./lib/bundle.js","scripts":{"babel":"build-lib ./src -d ./lib","coverage":"run-coverage","eslint":"run-linter ./bin ./src ./tests","flow":"type-check","jest":"run-tests","posttest":"yarn run flow","pretest":"yarn run eslint","preversion":"yarn test && yarn run babel && yarn run rollup","rollup":"NODE_ENV=production bundle-lib","test":"yarn run jest"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"babel-runtime":"^6.23.0"},"devDependencies":{"@milesj/build-tool-config":"^0.15.0"},"babel":{"extends":"./node_modules/@milesj/build-tool-config/babel.json5"},"eslintConfig":{"extends":"./node_modules/@milesj/build-tool-config/eslint.json5"},"jest":{"preset":"@milesj/build-tool-config"},"gitHead":"bffc575e40722e31a06f4eecea069114b1d55d02","_id":"optimal@0.13.0","_npmVersion":"5.0.3","_nodeVersion":"8.1.3","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-Of+D5836ssrMf7f3hrvH6gP35ynFMhAMjhH4Oy/jGgJI6PTumR7pD5IKLOrYdJ1v4+HkLk5Z9bN1u2do+YIl0w==","shasum":"8c1f68d5193c3a6a7bda8f1d582ca1629f3f46da","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.13.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDMTplSdiS+y55FfuBcejzvKu3RKSt0D0NBr0CunCqiBAiAzG8DBaHbRinRNZb8jihu2R2kGiTRnq1FKmPKf3KmG6w=="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal-0.13.0.tgz_1500092641280_0.7884673520457"},"directories":{}},"0.14.0":{"name":"optimal","version":"0.14.0","description":"Options object builder and validator.","main":"./lib/index.js","browser":"./lib/bundle.js","scripts":{"babel":"build-lib ./src -d ./lib","coverage":"run-coverage","eslint":"run-linter ./bin ./src ./tests","flow":"type-check","jest":"run-tests","posttest":"yarn run flow","pretest":"yarn run eslint","preversion":"yarn test && yarn run babel && yarn run rollup","rollup":"NODE_ENV=production bundle-lib","test":"yarn run jest"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"babel-runtime":"^6.25.0"},"devDependencies":{"@milesj/build-tool-config":"^0.17.4"},"babel":{"extends":"./node_modules/@milesj/build-tool-config/babel.json5"},"eslintConfig":{"extends":"./node_modules/@milesj/build-tool-config/eslint.json5"},"jest":{"preset":"@milesj/build-tool-config"},"gitHead":"59d13fb9f0c88af2928a60553b4959bfd437c25c","_id":"optimal@0.14.0","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-hS2hJehoriEms3+oNSHFnfsZwgw5j6rCFjIYmJgVuniKu6V58BPkpASMI4+zeBm6B39PySg5t/crsnzS8/krlw==","shasum":"5614fa22007d58c1fea5bac3dab9e7a246e36154","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.14.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICJhMWYdUdGKEej2vvROJVHzIoYA4P32Z7qYjd8HbVxPAiEArlGpMevY67kNSm2/y1uwoRj3NHiClI91RutMP4rt0jE="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal-0.14.0.tgz_1501295573040_0.048207248793914914"},"directories":{}},"0.15.0":{"name":"optimal","version":"0.15.0","description":"Options object builder and validator.","main":"./lib/index.js","module":"./esm/index.js","scripts":{"build":"beemo typescript","build:dts":"beemo run-script generate-dts --name optimal/lib","coverage":"yarn run jest --coverage","eslint":"beemo eslint","type":"beemo typescript --noEmit","jest":"beemo jest","prettier":"beemo prettier","posttest":"yarn run eslint --silent","pretest":"yarn run type --silent","preversion":"yarn test","test":"yarn run jest --silent","postversion":"yarn run build && yarn run build:dts"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"babel-runtime":"^6.26.0"},"devDependencies":{"@milesj/build-tool-config":"^0.75.1"},"beemo":{"module":"@milesj/build-tool-config","drivers":["babel","eslint","jest","prettier","typescript"]},"gitHead":"88931b75f170a8353f91e695818427b25124d3c3","_id":"optimal@0.15.0","_npmVersion":"5.6.0","_nodeVersion":"9.8.0","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-0Sn/RzPt1aOnstd/Z4m3O+jPixWj0V2D1uUIAcNc9WF6WRaFaOX6n5A8PQxatCmc5noMTDUJtfvwSmDBNGlohg==","shasum":"cd731de5654c05b903657f0ea94a40cff63dbbcd","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.15.0.tgz","fileCount":17,"unpackedSize":329863,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDwr0yFNgttAJPJLGscrUB8NXe2TX0QgvraVjNQQ66vrQIhAONJryaKXm8P3YpTPOdVnrfBAAqMHkbd0ZrdcAVAk027"}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_0.15.0_1521598548592_0.17433402974124257"},"_hasShrinkwrap":false},"0.16.0":{"name":"optimal","version":"0.16.0","description":"Options object builder and validator.","main":"./lib/index.js","module":"./esm/index.js","scripts":{"build":"beemo typescript","build:dts":"beemo run-script generate-dts","coverage":"yarn run jest --coverage","eslint":"beemo eslint","type":"beemo typescript --noEmit","jest":"beemo jest","prettier":"beemo prettier","posttest":"yarn run eslint --silent","pretest":"yarn run type --silent","preversion":"yarn test","test":"yarn run jest --silent","postversion":"yarn run build && yarn run build:dts"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"babel-runtime":"^6.26.0"},"devDependencies":{"@milesj/build-tool-config":"^0.76.0"},"beemo":{"module":"@milesj/build-tool-config","drivers":["babel","eslint","jest","prettier","typescript"]},"gitHead":"b76a23994336671292a1bdea987d5c635a0eee83","_id":"optimal@0.16.0","_npmVersion":"5.6.0","_nodeVersion":"9.8.0","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-oOrsDpHNb1Jy0/aVzOSdKEEi7P/pzfR8ds82Pydpbdwd03X+q8aqfrV4EKY2zVTe8crwAPb6nIJV8oV71b9Qgg==","shasum":"c3cad11638d911cc95f91a91a38a10d757f11941","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.16.0.tgz","fileCount":17,"unpackedSize":336274,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBGERLYMcqVc4M3H1DGhUiphK0en83L+gLMBAG5vziNJAiAWVj6hSPSvAyFbRWkvNOOxG5+CQ/jnPXLVkPvt4GHEdA=="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_0.16.0_1521767300741_0.6582990910532627"},"_hasShrinkwrap":false},"0.17.0":{"name":"optimal","version":"0.17.0","description":"Options object builder and validator.","main":"./lib/index.js","module":"./esm/index.js","scripts":{"build":"beemo typescript","build:dts":"beemo run-script generate-dts","coverage":"yarn run jest --coverage","eslint":"beemo eslint","type":"beemo typescript --noEmit","jest":"beemo jest","prettier":"beemo prettier","posttest":"yarn run eslint --silent","pretest":"yarn run type --silent","preversion":"yarn test","test":"yarn run jest --silent","postversion":"yarn run build && yarn run build:dts"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"babel-runtime":"^6.26.0"},"devDependencies":{"@milesj/build-tool-config":"^0.76.1"},"beemo":{"module":"@milesj/build-tool-config","drivers":["babel","eslint","jest","prettier","typescript"]},"gitHead":"8dfeec22fd4dd47cd1f33fd1b9cd936f1ca030cf","_id":"optimal@0.17.0","_npmVersion":"5.6.0","_nodeVersion":"9.8.0","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-iYaTakHbYPn61OZ5GLaBLqKFyuGkrCkk3DIlJ4QsMZPLeApCTxlF3WPMNaS5r2Bkd/u5Ldpz7ePLdVh9NAupwg==","shasum":"876c81c4e76a4f8a259238b995a311c407725bd9","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.17.0.tgz","fileCount":18,"unpackedSize":338991,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDjzSmUbCCx6Ba9rgDL138IDw4VDYBciAqM2br7J6aqpQIgSGuq7kmmMRGlozyBqb3cHP18dtZcgD/DKcskQ2sR0sM="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_0.17.0_1521788662040_0.2505933594483678"},"_hasShrinkwrap":false},"0.17.1":{"name":"optimal","version":"0.17.1","description":"Options object builder and validator.","main":"./lib/index.js","module":"./esm/index.js","scripts":{"build":"beemo typescript","build:dts":"beemo run-script generate-dts","coverage":"yarn run jest --coverage","eslint":"beemo eslint","type":"beemo typescript --noEmit","jest":"beemo jest","prettier":"beemo prettier","posttest":"yarn run eslint --silent","pretest":"yarn run type --silent","preversion":"yarn test","test":"yarn run jest --silent","postversion":"yarn run build && yarn run build:dts"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"babel-runtime":"^6.26.0"},"devDependencies":{"@milesj/build-tool-config":"^0.76.2"},"beemo":{"module":"@milesj/build-tool-config","drivers":["babel","eslint","jest","prettier","typescript"]},"gitHead":"998ca5adb8bcc41c12aa36d83bb83be85da76834","_id":"optimal@0.17.1","_npmVersion":"5.6.0","_nodeVersion":"9.8.0","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-SsVeJbSsEa/Zw+g3AqeckRyE9eWKFxSGbmpFt7PUcFGj8YgHiKFipZ6rC9gZkqXToSFMc37BVvsk35CsTM84Xg==","shasum":"0102587cc9b25d8ceceb564726e93806b0aaae57","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.17.1.tgz","fileCount":18,"unpackedSize":339065,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6DrWsjuSuuFfhsQ5WLr8X+E4ApEGD6ulu5NIXzYTHiwIgKJFwxQs3989884iB1YSpAjfvxCB/g0lpu4V4ayW7z8w="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_0.17.1_1521860334392_0.6323939997452745"},"_hasShrinkwrap":false},"0.17.2":{"name":"optimal","version":"0.17.2","description":"Options object builder and validator.","main":"./lib/index.js","module":"./esm/index.js","scripts":{"babel":"beemo typescript","build":"yarn run babel && yarn run build:dts","build:dts":"beemo run-script generate-dts","clean":"rimraf ./{lib,esm}/","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","package":"yarn run clean && yarn run build && yarn test","prettier":"beemo prettier","prerelease":"yarn run package","release":"np --yolo","pretest":"yarn run type --silent","test":"yarn run jest --silent","posttest":"yarn run eslint --silent","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"babel-runtime":"^6.26.0"},"devDependencies":{"@milesj/build-tool-config":"^0.78.0"},"beemo":{"module":"@milesj/build-tool-config","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 10"],"licenseText":"MIT License\n\nCopyright (c) 2017 Miles Johnson\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"optimal@0.17.2","dist":{"shasum":"66dfdc4b3eafc38d130637be72f6efc73f9f3cd7","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.17.2.tgz","fileCount":20,"unpackedSize":47426,"integrity":"sha512-O6Nx/rZfv1GFWAYq8dsEhWfHKfha6NqWSM94jbnLnWBd6oeCABflc3mKmeUcslL6oVfnOLFy8LRZmXbpxjrViw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpwBqhMm+cWchJC9PxKPiMvEMGIwja4FyVAowx0BjNzgIgeBZgseapKqK9ErktgLM/GTpebDMdsx2ql58ZAbsBe4w="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_0.17.2_1521871854693_0.4210872509353114"},"_hasShrinkwrap":false},"0.17.3":{"name":"optimal","version":"0.17.3","description":"Options object builder and validator.","main":"./lib/index.js","module":"./esm/index.js","scripts":{"babel":"beemo typescript","build":"yarn run babel && yarn run build:dts","build:dts":"beemo run-script generate-dts","clean":"rimraf ./{lib,esm}/","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","package":"yarn run clean && yarn run build && yarn test","prettier":"beemo prettier","prerelease":"yarn run package","release":"np --yolo","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"babel-runtime":"^6.26.0"},"devDependencies":{"@milesj/build-tool-config":"^0.78.0"},"beemo":{"module":"@milesj/build-tool-config","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 10"],"gitHead":"757d8a4c9781782b52898b54e5cd6ab4049d7c2c","_id":"optimal@0.17.3","_npmVersion":"5.6.0","_nodeVersion":"9.8.0","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-AbnpePWC4PJ9DTBsC9AZGBtV8JEQdJn0wCJvSwHrzau7ZgFsFX+9VxnKukSQZLYW8nU8GlKIov48PaJrEBhlSQ==","shasum":"c7d6ee76a24cac57c612bde8af51c960e5949d1c","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.17.3.tgz","fileCount":18,"unpackedSize":351258,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCh52ZTBx60Nkt86b+mYyyCxRLKSbrRMODoU+Pjes7ycAIgM+7nL4j62WOglPVa8X7ddLOusM/csVQ+p0jU65j+mCk="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_0.17.3_1521872660004_0.10523331901618072"},"_hasShrinkwrap":false},"0.18.0":{"name":"optimal","version":"0.18.0","description":"A system for building and validating defined object structures","main":"./lib/index.js","module":"./esm/index.js","scripts":{"babel":"beemo typescript","build":"yarn run babel && yarn run build:dts","build:dts":"beemo run-script generate-dts","clean":"rimraf ./{lib,esm}/","coverage":"yarn run jest --coverage","docs":"gitbook build --debug","docs:serve":"gitbook serve","docs:install":"gitbook install","eslint":"beemo eslint","jest":"beemo jest","package":"yarn run clean && yarn run build && yarn test","prettier":"beemo prettier","prerelease":"yarn run package","release":"np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"babel-runtime":"^6.26.0"},"devDependencies":{"@milesj/build-tool-config":"^0.79.0"},"beemo":{"module":"@milesj/build-tool-config","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 10"],"gitHead":"e5c1c463362229de7f7060f723ece7e966108d70","_id":"optimal@0.18.0","_npmVersion":"5.6.0","_nodeVersion":"9.9.0","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-M6P9XEPtxmBTXoDPSbJ9VK3i1dl84suOBecOIB7eK23IQZGPd8LvZs1ijlz8AZAVUzRq7vlhSeoHYkTYOa4HDA==","shasum":"fe1c8a9b3b3dedf881b3762cd8d5e0d0f2f00c87","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.18.0.tgz","fileCount":18,"unpackedSize":353583,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICDlqj6cF6Iq8gI5Lur1OJCOYEcbMV3Uec+T6mSNRGHYAiB9DDqv30Z4zgXZn4ANXa3IAPJimrn4QcNZ3HKuPEM8MA=="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_0.18.0_1522013282350_0.1362608526246989"},"_hasShrinkwrap":false},"0.19.0":{"name":"optimal","version":"0.19.0","description":"A system for building and validating defined object structures","main":"./lib/index.js","types":"./lib/index.d.ts","module":"./esm/index.js","scripts":{"babel":"beemo typescript --declaration","build":"yarn run babel","clean":"rimraf ./{lib,esm}/","coverage":"yarn run jest --coverage","docs":"gitbook build --debug","docs:serve":"gitbook serve","docs:install":"gitbook install","eslint":"beemo eslint","jest":"beemo jest","package":"yarn run clean && yarn run build && yarn test","prettier":"beemo prettier","prerelease":"yarn run package","release":"np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","devDependencies":{"@milesj/build-tool-config":"^0.82.2"},"beemo":{"module":"@milesj/build-tool-config","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 10"],"gitHead":"359a55a51871beb16a9baadc9e85b1904164b88e","_id":"optimal@0.19.0","_npmVersion":"5.1.0","_nodeVersion":"9.11.1","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-tpbh2gbzypFbtfxgwrlGf8q2iW6j1Mi6XIrBp4ZPtBRtOKQovmEdNhoq6y1q/k7XyZdQuGCi6s41SgkYE9oqUg==","shasum":"8ef66ba0795278d83bbde361d9880ffb1a403d2d","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.19.0.tgz","fileCount":29,"unpackedSize":352507,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+1B5oQ/K1Jp39KKoG0DLfWKEeHxqSC6liUQ4Oz+e3kAIhANEaFSp3K79vtWMHOYz5rwCi7lVYqpVfc5LN6dmgrsNE"}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_0.19.0_1523409777468_0.22989698379732237"},"_hasShrinkwrap":false},"0.20.0":{"name":"optimal","version":"0.20.0","description":"A system for building and validating defined object structures.","main":"./lib/index.js","types":"./lib/index.d.ts","module":"./esm/index.js","scripts":{"babel":"beemo typescript --declaration","build":"yarn run babel","clean":"rimraf ./{lib,esm}/","coverage":"yarn run jest --coverage","docs":"gitbook build --debug","docs:serve":"gitbook serve","docs:install":"gitbook install","eslint":"beemo eslint","jest":"beemo jest","package":"yarn run clean && yarn run build && yarn test","prettier":"beemo prettier","prerelease":"yarn run package","release":"np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","devDependencies":{"@milesj/build-tool-config":"^0.100.1"},"beemo":{"module":"@milesj/build-tool-config","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 10"],"gitHead":"3bdf882a0ba7181c4b0f4615c3fbb64c7c0ee2df","_id":"optimal@0.20.0","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-XekGNkFSbXDedOATqfQdqLRKXIrTYX0sea1HCuebxfKWIv5IjjuwJKemsOWzZttnhoqAeE2Cw+kkqgAoqeorRQ==","shasum":"4f7bbfb7691fd6b2089837df42f68868e9805926","tarball":"https://registry.npmjs.org/optimal/-/optimal-0.20.0.tgz","fileCount":29,"unpackedSize":363765,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbGIJiCRA9TVsSAnZWagAA4o8P/1ocK8EpYcK4ndxb8j5y\ng46hTHo4q62JxgSiaM74tp0OV26cIcwln8xUhLc9EZCLWchkbgQl6pRtFbYD\nZoqoD7HhDRMVjWcWxi0Y9P5AfSBFOXQLai+8yi5xlZjbPYeau3VvNyAy9CUf\n5KYVNs2Hbuxr9XjF0ML4RqOYcUX44vBvPDrHE3TWvx3rHkGNIsE2Ji3Kmldl\nGHxY6FfprLimApaxNQ/tg6On4uKCAleDkkVue56sKriYlzrTH+I9gcLMMyOZ\nOC/cRJCgwpnnn3FQu5V9i6eVqyOLnFT0rTQutsZOzxrRMimnWKZMYWBvXxA/\nJdmGYug56g3Sm0FuWWf513WAz/OBrh6ZQ9uf+EDnwbpy2rF80/kBCZPkhDlg\nD3KD8gOgaIrF61ITjSv8GH+OHQR00qAu+CxClNG37F9c0BelaKeLYsdujpt5\nfv6o67CjdCFy6TbVyczQe0RAgyoi5wfAVF3P4CjtMOB25KX/piA07WR0hiuj\n+yCc6tsRhyMCK0dSp35p3QkHoLkMyUljT15hUtwRjYmAyPvD6a2fGp9M/bFA\no3gArFS+RkCMlQJ+e809tmjLqEBIK6Lr/53ybOvsGNKk2HxKUONbxatrgrXP\nIK/QM3ydLLToLKTTH/wjLy1Bxn2uWWwYVsX655mmjE6I//y+O14Dwt0/V33l\n15gF\r\n=X01C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQClEjnRUt6T48RzpQF08CwZnKBMOdXmstibt6u3uOcr9wIgfAD73jjZf+tnZrLwWXFgxfWnA9Cz7G9Y9AEXxkDhyBk="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_0.20.0_1528332897237_0.5693684207170087"},"_hasShrinkwrap":false},"1.0.0":{"name":"optimal","version":"1.0.0","description":"A system for building and validating defined object structures.","main":"./lib/index.js","types":"./lib/index.d.ts","scripts":{"babel":"beemo typescript --declaration","build":"yarn run babel","clean":"rimraf ./{lib,esm}/","coverage":"yarn run jest --coverage","docs":"gitbook build --debug","docs:serve":"gitbook serve","docs:install":"gitbook install","eslint":"beemo eslint","jest":"beemo jest","package":"yarn run clean && yarn run build && yarn test","prettier":"beemo prettier","prerelease":"yarn run package","release":"np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","devDependencies":{"@milesj/build-tool-config":"^0.100.1"},"beemo":{"module":"@milesj/build-tool-config","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 10"],"gitHead":"c843b5c0c11f18a95a38dff1297a6fe969823bfd","_id":"optimal@1.0.0","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-6ejJLME+uqaX1jzQvEFBY9JrmUURL1yhj7gfW4kp29rgIBkB+1Wi4xoPQ63CCpBnN7399Mq1bhGHb1CvnrIeQw==","shasum":"16176125da688b720a910ab274c8fc9cdfce4e65","tarball":"https://registry.npmjs.org/optimal/-/optimal-1.0.0.tgz","fileCount":30,"unpackedSize":363785,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbGWV3CRA9TVsSAnZWagAAZ9kQAIAYHZWr5Bxx4D7SmUtc\np3AcmncRrxMKZm8WS9wHDLwwdYUNTXuqzvTFWzVS4G8lfzrn/ac9Rm7U1BIO\nQ/Y2pKT6qUXzjOC6Adgb+pzFx8DoPJy5nhmJ1TYEzm183nwq/5guKOk2fY3G\nUKstie4i5oTXH76Vp8e1SFdTF129cZyGyGqpFbuQzhPjnAK0P/4lAQYcybpS\nx9k0ElDdBpv0MZkTZueksYJy5gMKkPBU+v1Mto6uyv7QSzxDBqPik8l0hhlB\nqBLknnVLZqCWlZngPjnuepp7CW0XSLbLbsK/IsT7z956tTaEnB8iuKMpw0DA\nySP5lMf/UAGpm230c4GzpbUpNf2z/Cq7o2lcGy8UpIjsOmqxqE6wRMwSfinu\nNbJlH6jDx4DG//5HvCVDS5v0u4KP7fwrwoIrAbJT2pkuslRmcY0dyYOeRgM2\nHhNrFEJKG3KHFTN0K8pOauwGJWJM0FCjBmybOrHQadeKisn1mtiTS/xUrM+d\nkG3l63u0Oep1LYztKAFTDJLXgqDu7Ck8zVRtSkLaEZ/xegwXhgpozUOLN5e6\nzTrKFqn+tScq3mwKTVODT+ESky3JdFs5zTbCu7gizhbNZk01ojyMwpQu5AQF\nMzl2QjhOIaWAPNeuwNkigr8noNXn+I5jjbU1fxHx5FFNm1cRmt3BRXCbwacg\nkLpw\r\n=+z41\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCIeLqNyunE3ZQC27NVV8/VyYCns5UFr85MaBI5zoYhAAIgT+bqBndavUArVyL4AO8CGFhyRVpzOnvnJMGV2QoMrQs="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_1.0.0_1528391031128_0.30035882705871275"},"_hasShrinkwrap":false},"1.1.0":{"name":"optimal","version":"1.1.0","description":"A system for building and validating defined object structures.","main":"./lib/index.js","types":"./lib/index.d.ts","scripts":{"build":"beemo babel && beemo typescript --declarationOnly","coverage":"yarn run jest --coverage","docs":"gitbook build --debug","docs:serve":"gitbook serve","docs:install":"gitbook install","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","devDependencies":{"@milesj/build-tools":"^0.0.8"},"beemo":{"module":"@milesj/build-tool-config","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 11"],"dependencies":{"@babel/runtime":"^7.0.0"},"gitHead":"b94a60138f530a2ad2cbbe97338d64e8bab622e9","_id":"optimal@1.1.0","_npmVersion":"6.1.0","_nodeVersion":"10.4.0","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-83bpf6ST55MCXcBut5HSHDDCmVYYeuBSJ52HhjxiiQdq13lshLcAvoi+2EIXfuusFQK8jgqrUAMFqBp6MFVGVg==","shasum":"63ab6307ac3b54187821169097c5b1e7dac37289","tarball":"https://registry.npmjs.org/optimal/-/optimal-1.1.0.tgz","fileCount":32,"unpackedSize":280900,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbjErOCRA9TVsSAnZWagAAmHgP/1w+WbdpjQS2F2ax0V3I\nez5o+n5gsoMwMq5KXa5X5hb4KTGRHfsr4+4+JPg8PsRdBNWiskVN7yd5rgmc\nVCZQ+tkzS79IQ8sd6S+P/PGto2a+U1FJG20J8Ng1AwOA9XeEJetaiiTYAQPO\nrMt4pq3iF+mfbhSXDRwwZ2XzRbSasfRNbyzaxDxt2KJdNciwNLd1nXT33hII\nsiYnYK8d5KoLYOts67tkoIsAuXIgyqNdy7sP+vEmegkGHdAk1W5EWPNWExfH\nWbvJVr1qwa3hEY1QdsegiN508d6uSesxX+/3z95PyU7qiJftc2mFb9f4PBNp\nXwzXKsRA6h6yl08FkYLu7V2N9rbBKmgM95wUMiI92OFll5smjnPbL9JdUg4G\ng7BQ84HnG47863rCZMakKwejJxgjDDOYaP7spNNJkPp/7g3yACfUC9jyDX//\nNnf85ZqAyohqoUPs02whtQF57Jcq9B260rRGeKTeFNcXjHPYDW68tejm3aiZ\nr/lxBzQAMVir4i2kXAfYNPuBAyDkFPZ1L7uboZQRfvEqN3vSgWE4JYvXLd3S\nnAhJGhfHzM9HiQajc0vPu/CUVnbp1OuMYMMnzTEHkmxwzoQudF2Hmr28QqEZ\noBAsxgG3iUypy7CiQjZ93yhX2q9dws/iX/cSM3a3mvoD1TNuepzxS5ZWA7mb\n/BUd\r\n=0gk3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGbe5rFvweFTeC6WFGXH3k20gAm19zqi13K16t5PS0TXAiEA6k+v87t5Medz9JaCvixjFFqIWJ50CffjuzZZG3nF5io="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_1.1.0_1535920845253_0.37572866437799934"},"_hasShrinkwrap":false},"1.1.1":{"name":"optimal","version":"1.1.1","description":"A system for building and validating defined object structures.","main":"./lib/index.js","types":"./lib/index.d.ts","scripts":{"build":"beemo babel && beemo typescript --emitDeclarationOnly --no-clean","coverage":"yarn run jest --coverage","docs":"gitbook build --debug","docs:serve":"gitbook serve","docs:install":"gitbook install","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","devDependencies":{"@milesj/build-tools":"^0.0.9"},"beemo":{"module":"@milesj/build-tool-config","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 11"],"dependencies":{"@babel/runtime":"^7.0.0"},"gitHead":"6029d7d688123e8c2228cf3e07918753557ba2fb","_id":"optimal@1.1.1","_npmVersion":"6.1.0","_nodeVersion":"10.4.0","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-CfYJnuZGl5d2DUtHljhKDPJOEJmVheDS1IbPxdrfepG+hcXeaojZAdN7bdKMaRVKsxJoiXQYrHYurCk1rrKpvg==","shasum":"e7fdd8ca5cd2d5e4db64fa2b20c21f27e8611539","tarball":"https://registry.npmjs.org/optimal/-/optimal-1.1.1.tgz","fileCount":32,"unpackedSize":285247,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbjFOlCRA9TVsSAnZWagAADU8P/jMX5TnWN7oIaAIpyQxv\nQ7WRJQrbrJFc7NePn+Q5SKwxitIsCAP4P05IeFX+UluCLUn1hlFQTM3/3FZq\nQYyA8/HGzZVn6FAVr1EtGUOm78+2wSUY6GMt+mFrCMLkkgCVQ+sgMiEkqO/Q\nT1eIfhtJ0VRuPZRBzLMwJrIPQyiYPW4rwwrys+26eAcxScfqiYhMf6X0L9Nh\nBOrJrVdyVxRukZNnDgFb+EOwk8QhZoYDqMPYuTUmvM9Gi3Y+jCKXNI5RU/V/\nPysuRBeyYLFaaR3Uy+8jm9uMLRZNSAiJDD//qmMkPiOQa6SCpRY+ZuLw17ed\nih8eSNPpslSvAJ7JKM/jRrsLo07ThnaH/P3x2WYZK1P2Zyqx6pWpZ4LYZbUG\n8T4Zses80QspIJNcTlVEQkH1TX0y9THbqGv4AZXiTGm4lTlY6GZdpWopPrDx\nEr3Os2ty3k8NVzYjGtttpnpX0W/ELby/0SUHsKMnR749TeBEiOKCpPpQ4jUA\nJigaPbWizjaOPz7Kf+jItLtxF0EMdNHV0bT5gHlECwV2OAE7jFETo2LUl0gW\nmAnDFc4P8pyrG4NCZa5ulbMMA9W88ICBSAF7mBwK7bAXDQo3Ils7ies/cURe\n6Pn5YplTAhZ019zoJoSXSnHtIBd3dS2f+0IKl0ZYkODdHaYVSv56di2KzMrI\naXkc\r\n=mn9M\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEEUqU0neP7Zv4HTSl0/rvDketllC2Vv1ZjSC6lkARs1AiEA+zMG1a8E++xa+hNIJOqKkiI0l2H4O81+Yn0wycT0ikw="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_1.1.1_1535923109278_0.9783844789181633"},"_hasShrinkwrap":false},"1.1.2":{"name":"optimal","version":"1.1.2","description":"A system for building and validating defined object structures.","main":"./lib/index.js","types":"./lib/index.d.ts","scripts":{"build":"beemo typescript","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"@babel/runtime":"^7.1.2"},"devDependencies":{"@milesj/build-tools":"^0.3.0"},"beemo":{"module":"@milesj/build-tool-config","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 11"],"gitHead":"8016c30d73b9c9c601f3d30f4d21ad8d46c741c3","_id":"optimal@1.1.2","_npmVersion":"6.1.0","_nodeVersion":"10.4.0","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-A+eiyaKL/V3grPQboCH1nnk/NYGFnVTB7MDt7dRkA3Gv011QxPYoTJLaydiM9uUkKgpMjwVzORnw49Ji42zkMw==","shasum":"94ea72e04646ddd1bc1a3b3ca7a3415358bb2c78","tarball":"https://registry.npmjs.org/optimal/-/optimal-1.1.2.tgz","fileCount":28,"unpackedSize":52615,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbxUGtCRA9TVsSAnZWagAAi1sP/1cfTlieDnUZSVR/I7Gm\neJDiCFR1eOmqzj0pjF1F9pOmppw3yFs5PHzbSCQKZrd1jskdbGcUmv+sRh45\nlipgCG7RJjMYVMxWgNnY0iedu612kotRNQhhMTdol0pyzxIYJxt3itpc6pgE\nk3qEzgDCERkVdlYs5dLc8ssKfsXkhYhQ50RNfDDxlr148O6svu7LKgk78tBh\nFkly8Lkle/NxP8o3poqXrsgK2TMeeUnYNiF4SIwgeiRKpwQwisBH6ymOUXOb\nHFlNyt2fPoGv8YNNLFK6ZrHX64rkzwYDo96ZzC0B8URPYyROZvxajkmPbnSe\nTvUROcLtTxX2wylEQ0z/7pz7JHrXVJ4kV7vSas0LbCk48yif1tyDogzXRnJi\nbIi90Tzpviqn6zWJs+t222ltYgGaP/2bp1A+/SDv0gX0f7meLJw7LSsMD4zC\njB7BnMzUWOf1DhMLbrCBg2skL1hfRoVWNYZ239DCXJ8BYWWzOzStCsQzg3tT\nUb7C2Ln/3W+XUFnKhnvPGI87UgX7bV6Al3gH/0hHvummDsBqmb5mfXi8DWOA\nj1ahmlImIAdkhnfDQ7vQAYUkx7cMbWyErd4xeT5k1LeTWzRx4r5U6APWylUn\nRNErZkDZk+TsjWvEBdqwSRfdtaM9ZqVidN3aYR/Qw9o9kVnBjwS0hdVP4+Q6\nRpSa\r\n=KI3c\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCdBCjDlwtQAgXie1b6Zh2KpK09i4Y2wzi717t91Rd6nQIhAMTN91CulZdz1JWmpHTCstnPdDNqNrDQyTg2DOVTC74a"}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_1.1.2_1539654060265_0.011625609504108958"},"_hasShrinkwrap":false},"1.1.3":{"name":"optimal","version":"1.1.3","description":"A system for building and validating defined object structures.","main":"./lib/index.js","types":"./lib/index.d.ts","scripts":{"build":"beemo babel --clean && beemo typescript --emitDeclarationOnly","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"@babel/runtime":"^7.1.2"},"devDependencies":{"@milesj/build-tools":"^0.3.0"},"beemo":{"module":"@milesj/build-tool-config","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 11"],"gitHead":"a16893295906474a155604c1b67b84029afd4fb0","_id":"optimal@1.1.3","_npmVersion":"6.1.0","_nodeVersion":"10.4.0","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-tpbM7Kw/FmsN052YnKRndzVgHDlWfRhY1AYPaCZcc2FPmUFcnV0ypePV75OPrUczntWuNsxaUzrSzZUiXnUiUA==","shasum":"c73d08a6f07fb67b7e3be61d670ce69eedcaa69b","tarball":"https://registry.npmjs.org/optimal/-/optimal-1.1.3.tgz","fileCount":28,"unpackedSize":57541,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbxUKNCRA9TVsSAnZWagAAShIP/0tzLGCNUl5fsMKILtWu\nR1EUiFjaREkhcOy0MLgHrlSubG55yxCE5+tFMMdptuDlj+/uvSLdSyLHd8Bj\nFfiorJjqSqWR9oejmxKudCM1tC3DOfgm7mLE6TC8dRZWOIru0K65oREpAFE8\n46ztuxnBlMo2hkOHwABMfdVefH1EvbiuKUOzOoEcsalVo9bQcdO5TpyccQV0\nMqThNZcarBKvaXAjuSGAQJcnc0sVb5DdBOvKRfQuIPSzAZ8G8SJTolaM5+98\nPfGM2QoDUnYptXVHB7GS7Sh6FXAMHKkcEbn7S/+XQk3NoZRKa43XeBCN1PRo\nJ7SSuXvAXaSCDMK1d/zgdTVflKZpGq5A3Po5M2izdzJ/1tkFTHcU756pW7/f\nmobwo5/h94urbaBfwS7KMZO0XNzpPwtHuS3zd862AYqgn8XSISbj6Bw2M40y\nuzXeFw7Ik6OGivDuIG6BK+VU7dGKS70bnbrqvCdZQ2gW/SfVNQhDy2LAhC9M\n0U5EVjWlPJPX6Srp2b/SV3sS9abdtGZVu7IC6y0pSVZHvbcOwKwPgvz0o33E\n7wspHCLNYzOn6GrjliP69IpzW5OUWPKKPSpRYXegB791IpjS/CzXE5LBajYM\nGzesDe7F7Kw0P/f23PjDXsBZ99xObpBlUzbtMu5kXXHbR2WNammVD8vktyZP\nFNxE\r\n=ajNg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0VmElmZrNXRDIfxrOjGZ6yOaghXXtfGnZky1u9vwhxwIhAJEM3rccRmz4BoQ2/g566hlZjRSzEYgNZmS2ltTsyADr"}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_1.1.3_1539654285176_0.17830464719491812"},"_hasShrinkwrap":false},"1.2.0":{"name":"optimal","version":"1.2.0","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"build":"beemo run-script build","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"@babel/runtime":"^7.2.0"},"devDependencies":{"@milesj/build-tools":"^0.15.1"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 11"],"gitHead":"79593552fc9a0106ba8b30b15b56885ac284a7d3","_id":"optimal@1.2.0","_npmVersion":"6.4.1","_nodeVersion":"10.14.1","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-vUKTBCsney4T7uzZ+21QUXpNOH2o4gOtnj+wFJRv097jBN36HPngSJfgOhueh+BWrBFhQsgohNGv8mPqVj63hA==","shasum":"0ae62a4499a83250beaef400235d8d8d339660b3","tarball":"https://registry.npmjs.org/optimal/-/optimal-1.2.0.tgz","fileCount":40,"unpackedSize":93195,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcKpAXCRA9TVsSAnZWagAA94sP/2NsYYkCWAexApBb6mbE\n4nv+2oyP3ICBVZv6AtDfIbaJTCgCt5Somb66fqWp9H32HVNj8SDF3Yk3D1uC\n+onmc3P2YL1ar0djey/VgDzTo1DI4W5PMGXGrmCWS1pQ1M1TijUgV2T0hIAh\nc0bepq8/zbeD382e+t+YcDu9ebnOsdMKTMKjqvPioRtlZv+lGeCNkG5Du8dk\nc01TzlhTQGcjfmeo7p563TfghhvSUZoFV5B8ZTFRBWD0+AEvuX6FFgXzb2GD\nfdqexR/NIX4hF32h575XKTTjVZTGfTpC2hYByOd+igLcANrg5mXSSYqO9fAk\nyRVos60r7AAGLtfxcNaMdhxrKlqdEFQYI8nFnyaAsfcSmpnug7lDOBKS33OE\neYC4fPyPFGYMFE9Y6UBVtwoM+e8NrR0xlNfUcAMkho8/ruR7gKPEFvPmDGM/\nmZjqJSf5tADSAzLiW/AIG7lvIhGgk+aHXf0jG5ANPGZtoLS7ZEQZbcxr1s+6\nQyMCY01z0RUBoJwPSCXCtGTALmd85Q/5vZOmOowd0pUlJoBFb1+o1hQPxpm+\n1r9TWQERbIhWa0qK4v5uUi27jjPVT0xGxfXyOFgpPvtBjKM7vgc86PzumSPP\nf8WEIGeaGTBSC3m+ZkO+xlu1otzpLQsEvtZWH10LqhUFLahaoErkLcHkIEVb\n0rnv\r\n=PS73\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDOtU9EZ16n9DLbNCrII/jWUVJUsJb+MrfxBmuYaqCyPQIgD+OvsrHIZ5Q/sot+69uMPhHR+W5P7bJeU8CzPdc+ndE="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_1.2.0_1546293271186_0.9297440367772964"},"_hasShrinkwrap":false},"2.0.0-0":{"name":"optimal","version":"2.0.0-0","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"build":"beemo run-script build","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"@babel/runtime":"^7.3.1"},"devDependencies":{"@milesj/build-tools":"^0.21.3"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 11"],"readme":"# Optimal\n\n[![Build Status](https://travis-ci.org/milesj/optimal.svg?branch=master)](https://travis-ci.org/milesj/optimal)\n[![npm version](https://badge.fury.io/js/optimal.svg)](https://www.npmjs.com/package/optimal)\n[![npm deps](https://david-dm.org/milesj/optimal.svg)](https://www.npmjs.com/package/optimal)\n\nA system for building and validating defined object structures, like argument options, configuration\nfiles, data bags, validation fields, and more! Runs checks in development, and strips checks in\nproduction using dead code elimination.\n\n- Recursively builds and validates nested structures.\n- Supports common data types.\n- Autofills missing fields with default values.\n- Allows or restricts unknown fields.\n- Mark fields as nullable or required.\n- Handles complex operators like AND, OR, and XOR.\n\n## Requirements\n\n- Node 8.9 (server)\n- IE 11+ (browser)\n\n## Installation\n\n```\nyarn add optimal\n// Or\nnpm install optimal\n```\n\n## Documentation\n\n- [Optimal](#optimal)\n  - [Blueprint](#blueprint)\n  - [Customization](#customization)\n- [Predicates](#predicates)\n  - [Array](#array)\n  - [Bool](#bool)\n  - [Custom](#custom)\n  - [Date](#date)\n  - [Function](#func)\n  - [Instance](#instance)\n  - [Number](#number)\n  - [Object](#object)\n  - [Regex](#regex)\n  - [Shape](#shape)\n  - [String](#string)\n  - [Union](#union)\n\nWill write eventually...\n","readmeFilename":"README.md","gitHead":"16a3a76746ab68cfefce4f6d7f673788aced8e53","_id":"optimal@2.0.0-0","_nodeVersion":"10.14.1","_npmVersion":"6.7.0","dist":{"integrity":"sha512-BflO82CPWNVbvgs/+Qkzjrkhfuhy5yK7ZAVR/q+Fp3I2JFn319zMPKFdtGg1MpkR+UTjRbvrL9tv7u/FUV1d1g==","shasum":"8816fb1561b2da20c30d2d083e320fa524b0e04e","tarball":"https://registry.npmjs.org/optimal/-/optimal-2.0.0-0.tgz","fileCount":43,"unpackedSize":100667,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUjd8CRA9TVsSAnZWagAAOMwP/2dgTRt9ZA8EOhAqG9kj\n4dwmPBYqBgHOzRxDszpUu7SMZVQCiOIDJmyQaP3GjCV9DQuR7Z2bYMYoUcUc\nkGoHJzmFilAqIkTgI+fwqMZhTVjEqkVoDs6iL11TR7S3Z6vrmQ+ppKJR/Acq\nn7ao0cvGzMj7rY9JkWYNyQOqLd9hh2asv5u5BH5mzIoJilca2nMilaiQMsKZ\nONjvFDydzAHDGOFqpRXTReaudt4+5zpf4hDgXEZBSkG3LLUfZYX0x8B6UBwy\nuBNeenZOjPBu7XfnRUplIRKftrigd4NzmbnkllS4w8RDANJ4nWuZbeCfIqYT\nlUjwiDBdoAKB93AgCGntPBlw0MoI9YXUPyA+se81tzsbTuUjmKyFeDAN/LOd\nlQKDht6tWMG3WaMFhM5Of2XCJXfWHjBj7nqs2nVsQi2ixPOxkq2in9NoEevp\nnW/Ey0yLr2S12vZadtNSEbitXannqyUoZpvkl6r5vGa/jX23k/G7DOcP3lHU\nKTYkIL66IVPpC2jozrmgQ4z5glvJE/+mjMDzuWgf0S8OYgUJurZv+12gmswP\nsOTYxrWkN7kR/lPONwKPBlOq85gN24Rkk+dvPc3TlH8ByVf/Z21kyWjt2WTm\nrttOF59FJjgzL158fho5vm51euIOVckn2EGWlj8xr45/8JsjvSwS8MmjwX0h\n4NVa\r\n=VYBg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAbIWS3NDl00pvEmvz1a8nC57anhFRrD3m6IX6GXgSs+AiEA9WKQSeo53vtQzgEJbGiPtCLYgv0P0QgcapnkAQpr3+c="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_2.0.0-0_1548892027753_0.400517037528618"},"_hasShrinkwrap":false},"2.0.0-1":{"name":"optimal","version":"2.0.0-1","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"build":"beemo run-script build","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"@babel/runtime":"^7.3.1"},"devDependencies":{"@milesj/build-tools":"^0.21.3"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 11"],"readme":"# Optimal\n\n[![Build Status](https://travis-ci.org/milesj/optimal.svg?branch=master)](https://travis-ci.org/milesj/optimal)\n[![npm version](https://badge.fury.io/js/optimal.svg)](https://www.npmjs.com/package/optimal)\n[![npm deps](https://david-dm.org/milesj/optimal.svg)](https://www.npmjs.com/package/optimal)\n\nA system for building and validating defined object structures, like argument options, configuration\nfiles, data bags, validation fields, and more! Runs checks in development, and strips checks in\nproduction using dead code elimination.\n\n- Recursively builds and validates nested structures.\n- Supports common data types.\n- Autofills missing fields with default values.\n- Allows or restricts unknown fields.\n- Mark fields as nullable or required.\n- Handles complex operators like AND, OR, and XOR.\n\n## Requirements\n\n- Node 8.9 (server)\n- IE 11+ (browser)\n\n## Installation\n\n```\nyarn add optimal\n// Or\nnpm install optimal\n```\n\n## Documentation\n\n- [Optimal](#optimal)\n  - [Blueprint](#blueprint)\n  - [Customization](#customization)\n- [Predicates](#predicates)\n  - [Array](#array)\n  - [Bool](#bool)\n  - [Custom](#custom)\n  - [Date](#date)\n  - [Function](#func)\n  - [Instance](#instance)\n  - [Number](#number)\n  - [Object](#object)\n  - [Regex](#regex)\n  - [Shape](#shape)\n  - [String](#string)\n  - [Union](#union)\n\nWill write eventually...\n","readmeFilename":"README.md","gitHead":"9d026c0b4ddfc0c9c36f159610b1f86993edd59c","_id":"optimal@2.0.0-1","_npmVersion":"6.4.1","_nodeVersion":"8.15.0","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-TSw+ixGQuLDDGm+QMj70xAHuYAMWMGeAX3YFJQVTd36mIlmocnNTiRoiPC0eKq3cRrmSaH1POL/Pl1u+mjYSFg==","shasum":"d3765fc640e636ae7e98716697e7eb3cedabfddd","tarball":"https://registry.npmjs.org/optimal/-/optimal-2.0.0-1.tgz","fileCount":43,"unpackedSize":100727,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUkFQCRA9TVsSAnZWagAAW1kP/A2gNfmgnb4CwQyCzhZL\n8L5x/M7QIwBPu10MjidsL8shuwgC/SzkMHv6NMLNlvEf7XyYiKrF8Kh1VESa\nzspc1bWc2qMjnkxybsKQdEXp2bXWQkKN+cH2G2043owEnVbrcvs1uMGB8V8e\nxITUTA/7TioB357DZSUDGm8eVC327zCjhYIm2wcfo7IjJKLb9PkxYVJ/H16k\nxm4PVvVplQlCzUP/9SJgPk1rOYBqPOHUETBASgHM2z/DqhY0YzUw/iLyFV78\nkdTQdiSve3wCroXOkHSmzXy26iXYx0B9GcaDmKu556bFV2tZOvgmQv2QrV2e\n/bYhmhtj10y01TERTGWh66GnhrO5YBwhc3YrdOrJumt7iRWM+wIhYhHF92JD\nr4vI+lIafblH5vj7aVnJb5FGNPIK31zsDOmgF0+GzKdj/o6evSyErKOCMW6u\nCk+9z/rda/pwgHs7O1Nx4ZozzIyNeNi4W8ey4Hfc5+FYiqmflQ/CIU0PdT4R\n9/k61B0mj8V4gmmerSbTkG2KkIPQLqbn76A1fgD85FDG4aekf4sAfCsrntM+\naKQwWNfJ1Nl4gkH6GY27VHcFxexJCVPQHP+HERt1uywuDFfEqwPKmVc7Yk9C\n0bqkh0JAyxoJmOjBU30YXL9xtzqJgC1oI8bebdCwIwmL8HA3pLdvrz5XT3Cp\nLFiW\r\n=WEsj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD48JA447r2iMOn/RV0XCQpHQ2WyqIp3VY6cEKwQDHKCAIhAKW+2TVUHQ4UqRiorlXUCTtBv19kaaldebcJeXcuvBCk"}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_2.0.0-1_1548894543491_0.7468121975962567"},"_hasShrinkwrap":false},"2.0.0-2":{"name":"optimal","version":"2.0.0-2","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"build":"beemo run-script build","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"@babel/runtime":"^7.3.1"},"devDependencies":{"@milesj/build-tools":"^0.21.3"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 11"],"readme":"# Optimal\n\n[![Build Status](https://travis-ci.org/milesj/optimal.svg?branch=master)](https://travis-ci.org/milesj/optimal)\n[![npm version](https://badge.fury.io/js/optimal.svg)](https://www.npmjs.com/package/optimal)\n[![npm deps](https://david-dm.org/milesj/optimal.svg)](https://www.npmjs.com/package/optimal)\n\nA system for building and validating defined object structures, like argument options, configuration\nfiles, data bags, validation fields, and more! Runs checks in development, and strips checks in\nproduction using dead code elimination.\n\n- Recursively builds and validates nested structures.\n- Supports common data types.\n- Autofills missing fields with default values.\n- Allows or restricts unknown fields.\n- Mark fields as nullable or required.\n- Handles complex operators like AND, OR, and XOR.\n\n## Requirements\n\n- Node 8.9 (server)\n- IE 11+ (browser)\n\n## Installation\n\n```\nyarn add optimal\n// Or\nnpm install optimal\n```\n\n## Documentation\n\n- [Optimal](#optimal)\n  - [Blueprint](#blueprint)\n  - [Customization](#customization)\n- [Predicates](#predicates)\n  - [Array](#array)\n  - [Bool](#bool)\n  - [Custom](#custom)\n  - [Date](#date)\n  - [Function](#func)\n  - [Instance](#instance)\n  - [Number](#number)\n  - [Object](#object)\n  - [Regex](#regex)\n  - [Shape](#shape)\n  - [String](#string)\n  - [Union](#union)\n\nWill write eventually...\n","readmeFilename":"README.md","gitHead":"22e1891eba45a6478f20ef26199ef3c2a126c986","_id":"optimal@2.0.0-2","_npmVersion":"6.4.1","_nodeVersion":"8.15.0","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-Q7vO+/chEZ0iYhO4we9qKumhCSQMbpV66Ew/r4gHeHD+IqdEVJ6I+cODe76hWR/EVNpxs4OC8m8DN6V15yUymw==","shasum":"f36da1bed6f0d4b7020efee56f81eb2ab7a4e8d1","tarball":"https://registry.npmjs.org/optimal/-/optimal-2.0.0-2.tgz","fileCount":43,"unpackedSize":100879,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUkQ2CRA9TVsSAnZWagAAwgwQAI7IMHpQeWsKoQDtsgnc\n9suwc6ApmS3Drjs1DesrNKArmcJG3R/3TUk3wxz0Xq0OphihBcW2VBf4glYi\n9L3XYNcMVJkpsWOCmQfqo30EvhovQ3fJvqzDD0KgSBymZ2aIcZ8T+f2AInn1\neN40oA6eOdd/lC22ypZNGKQ5f660sgS/qoCgiIfVMbc8GEhbcusFWXTs5PLv\nzlMesZ5Vk4+6XBEfTq2GSdaxkCWGKXnuXlMkwyeG1BmghUsLdnxCPUkGF4eq\nRk1zfj8Ca/s9krjml9hB+Ofs+o8cagz5YVRYvYeaF0XwxLWLzMQ7zzoNrkQx\n7ze1HXHx4vgctmS6BNEPL7VsWK3fyrIxq02tioUqk4ny1kHy5wohW939cgOw\n8p9G0ACWx1XxMAdXDqfqOpNTL/yTMVjwh7TQCJs44CSdmtd/1NnHrXFpwXMP\nbl3RhTUo9nRvz1mySDPObVmxo7ty6eBO432p1X9HxMfbYDG4VVfkhiRmXpld\nBuxsQUU+en3HKGtEmn4pesITtnLKdkSVumhc444XnDl3t+dVcYqVoD6P/NnR\nSlEhc9cdfvp+apmwGjhMVqnImNesFy7dBEB/skCzHQCbWef+/vl1fzP9XIL5\nyn9SK8baE91MqUr7HDcEdZ4llQOafk7/BuUdwZtjoKJZFKHG0tngBubQFMy7\ntM/2\r\n=bg9f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMl5AjnMDI3c6v4d2Yws7zwozN8hmQfiAHp6VSgww44gIge9IVPXe9i3CqOUSqgudMbR2Y39wBR5Z2XVLC0ucQnBU="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_2.0.0-2_1548895285749_0.8498319909237266"},"_hasShrinkwrap":false},"2.0.0":{"name":"optimal","version":"2.0.0","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"build":"beemo run-script build","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"@babel/runtime":"^7.3.1"},"devDependencies":{"@milesj/build-tools":"^0.21.3"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 11"],"gitHead":"39f51f403f7e3c4ac15a3842dc6ea4b204304c59","_id":"optimal@2.0.0","_npmVersion":"6.4.1","_nodeVersion":"8.15.0","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-yG3mN1N94zvha9OxdhUqmYsyQdfzZ7HFdHrymg+FrGIRyELS10x5KTXaxwo5FfIPn3m4ng/hM3Wsnc20FzYL/g==","shasum":"1ec4cd738e9b94a599dea99fabb4309f7e6829d8","tarball":"https://registry.npmjs.org/optimal/-/optimal-2.0.0.tgz","fileCount":43,"unpackedSize":101056,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUkmqCRA9TVsSAnZWagAAlpYP/jW2x8l8PImCARFpBjtf\nR4tCL5YByH2X1JNuk9olyWE769ksMA18Bcnfe4BgEwDtgNpccHHlBjyPAZ7O\nVD0qwbcivYOdKqc6kYhBf/oMxtNoFV6KsZ5TXFvcZX6EDKF0Qf63x74QYSrE\niwElxNXLhJ/iS4SIC0Z9qSMQ3hMZwWt6hgPhFBfLTQOW0V2Fxt7eaVJKZl41\njKpagJDzyRllb9Vdy3c1SyRXOr5ftvkleM27e7u0Ajyl+ocC89JYzwsXh3CN\nr2kCXAwQPiJvpU7NePhMcZ44H0Lh+QjZIw8djgOV41f3EgIIwSK8yMBF52Qo\nQIvS5V7z+LkGA9zZnaPs22vVJfa55yV24Si2zFIcJuC+XDcHIpIhmb10ceaN\nvvRpTshLqbCBXMOZAQKcJfz/PcSg093W06LDteyWKGXhAJPO19AUcf1qwYjW\njF7yvyb5P5uOEE2pUUPK3GOZi/3NQYPmSdr7JOCQILgKr39b7AYdTHo99vxC\nUb2nMrh+wnn2M2VRDkiFRvl1/YHHhQHPJbmeDt+rxOyloDow1ruqJIeY+9AU\nEUIt2sa+zeqXm49ZrcztJ5brquMRpU7cXhOwrY5c++FrQDH55hqDBw6AY5kh\nGFs1oGREchi5K8cxNZq73Yapfb9DEoDuYzIU5t3b9HqygOB5fXJfdPhLdDix\nRuGR\r\n=eOdy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHG6YxYn6nDDuz8zFGr0y4/Z/2zmy/sN7HRTypS427b9AiEA/ZMP4tcUxc9aRdjiAQqsE5JPz5HsFrsIew6FmbN/y+Y="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_2.0.0_1548896682399_0.4793612506901226"},"_hasShrinkwrap":false},"2.1.0":{"name":"optimal","version":"2.1.0","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"build":"beemo run-script build","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"@babel/runtime":"^7.3.1"},"devDependencies":{"@milesj/build-tools":"^0.24.0"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 11"],"gitHead":"c5d9b3443b21c51d7b4d1bff649c26ac66a8bed5","_id":"optimal@2.1.0","_npmVersion":"6.5.0","_nodeVersion":"10.14.1","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-SLm0qj9DOQOhssRBBRIoU7lZIUECwIEwC/6/NSbrZyeXY5HbPQrgomPBQJDvzRNxRma+B0BEzAWPcLcg1e1DrQ==","shasum":"e2ddb62a47e12ac5443267147f488e76e23ed8a4","tarball":"https://registry.npmjs.org/optimal/-/optimal-2.1.0.tgz","fileCount":43,"unpackedSize":97710,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcW7tJCRA9TVsSAnZWagAABxIP+gPJT41OXqTEmADbcPkH\nmtXpIUViTVJiefLsklsef2mZT2SfdhafdRJ5CFG5jH2S7tScYUHmfZB6aYrg\n058WnLLtj4nEiUQGu3E8r0+lkDuMf150qqOeAY/KksqPFnPRfIijs/XcbgKj\n/6NKeCFKwycGN++ZZ5Y3FJnckmcY7ZYk1+bk/BYRNCWZ2q6OMh8xOE5FMTSq\nP9avwzjQ7SOZLLQtTtAKMYiIShOcNELk6LNIy+jr3EA6UcJ/JhZJTGX7F1ZT\nbJVhGKPsnLuK6Z4VixuDuSgmemYj3Uy4Ltt6b/05WOBp1vueijHHUmMRYWIr\n4M0Ml/oSUbGAevFf6dIpR2WxhuKENqenWilRBEsMqwmXcwWEy2Lnfr8m7DdN\nRmXVno7RhYV8sjDKM7gyySGzKcdEOHx4Xsod8IqYuw1pxXqcjYe/qoxUzs7a\nAo24I/I4O94eslWdHlwSMip5Qo2Wz/DsdsN0XOUyibnIYvpeYhpM2nZkeEeC\nA/INu1LJ8moL/fWx2aA/fvYQyW7UmmhFWXsqfUslp5EyRsSEItpaNUAxnVq5\nixOtPOWLkWd2x/WetFqJwLX+FaPfs1Su5cycvKzEHRREDj+lpboC5zpFTTRc\nufkrb8PczvLLLzBrTX0bdzBdpXFqtub9KiEkE9DFmUArPmeZWv6oNEh9QY9X\nlKLh\r\n=bx3p\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC6jcxwRrQYxaysqsEE83YxUJHJ7oURA7FGUwJXCRsvWwIgXII/fEe/2HFrfxoRB4HCiooeZW+MZ/ns6dIXN5E0LBQ="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_2.1.0_1549515592557_0.9985655170951964"},"_hasShrinkwrap":false},"2.1.1":{"name":"optimal","version":"2.1.1","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"build":"beemo run-script build","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"@babel/runtime":"^7.3.1"},"devDependencies":{"@milesj/build-tools":"^0.24.1"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 11"],"gitHead":"c4afb9e4d2258ecb02c4b372f794f4d862db4dbf","_id":"optimal@2.1.1","_npmVersion":"6.5.0","_nodeVersion":"10.14.1","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-M2J0hZTenzevjPErXW4YRefQt1erPGW6Ewsb8/5sGL9SAXDfR+zOw8A9SO1085Qt2e5bGtWvXOi6sN+WZNhzZw==","shasum":"520e0c7ac6fb92ffe72db67971cc35b7f7826e11","tarball":"https://registry.npmjs.org/optimal/-/optimal-2.1.1.tgz","fileCount":46,"unpackedSize":99661,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcXPalCRA9TVsSAnZWagAA2k0P/jI5N4ai2QKjktQWzUMG\nCAaBzHTIQyiampUqM2nlYQ23yxSveIwayBEXhzZdZiNCdG3bWjp9BLmQQtL9\nx4a70bTFjbS9Kkg9ORLTeSxyK22JD7Xl9uTM4pubi8xKdF7HHR66z+H9D32f\n95q92det6Au9FJU5NYK6vLnjgrsmC44VZcCWPaOKS7+speku57HcMAA9Mz8/\nBS1HxHSOehl9IroV5Bvm8Fm4r9iWfrj7EoWDDM31GPU63Cf6s6sbZp5YjbEP\nDqovjr5IQim8MWUfnYMT/hbnjKgpSAUhbdUq2oPI7sQNx85x9eSjJTlkEGtM\nvq+s2Db04VvePcKnFo5OYi6j9T1ZwWT7rl3MduTK+EdaJiUVkf3BWfG5vrFg\nOZSwfh7vYAZohzr2jMWZldPTWGYG/+4IVOz8POj66LSIhZYuJCSXksO9My20\nTV0tbIlVmeGDS2koQjBUyeKu4ON+lTz4Nrj6aZf7QoP6zjUg+cf8IbP5V4qY\n+em6OokGIrlpcVqln8C+0GM+4VO6GYVk9Glt7lv7R6NzeRKzZYb43soOlEMF\nwQxS6rXQkMP/iQMBhFzg0g4purGvMWEqbkwTVFucByX7LgzoUcr+1RPOrYVB\n3j2P7RpuOCjzT4MtPo5I62I8uuL/ILEw0vnK5MGyMrJZ3Yk8WmZRybaCN+SH\n5udc\r\n=XgNg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBD7ugdEJIllvBnB2YLQirBnvSg8YTYv9SZUbzg2YAmbAiEAzAYazvNUrkq3YD/mln+IUqpC4MT/JN88CA+lr1w+EO8="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_2.1.1_1549596324780_0.07905434548318335"},"_hasShrinkwrap":false},"2.2.0-0":{"name":"optimal","version":"2.2.0-0","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"build":"beemo run-script build","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"@babel/runtime-corejs3":"^7.4.3"},"devDependencies":{"@milesj/build-tools":"^0.37.3"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 11"],"readme":"# Optimal\n\n[![Build Status](https://travis-ci.org/milesj/optimal.svg?branch=master)](https://travis-ci.org/milesj/optimal)\n[![npm version](https://badge.fury.io/js/optimal.svg)](https://www.npmjs.com/package/optimal)\n[![npm deps](https://david-dm.org/milesj/optimal.svg)](https://www.npmjs.com/package/optimal)\n\nA system for building and validating defined object structures, like argument options, configuration\nfiles, data bags, validation fields, and more! Runs checks in development and strips checks in\nproduction using dead code elimination.\n\n- Recursively builds and validates nested structures.\n- Supports common data types.\n- Autofills missing fields with default values.\n- Allows or restricts unknown fields.\n- Mark fields as nullable or required.\n- Handles logical operators AND, OR, and XOR.\n\n```ts\n// Pass a partial object and define an explicit blueprint\noptimal(\n  { name: 'Optimal' },\n  {\n    name: string().notEmpty(),\n    include: array(string()),\n    exclude: array(string()),\n    maxSize: number(10000).gte(0),\n  },\n);\n\n// Which validates, builds, and returns the following object\n{\n  name: 'Optimal',\n  include: [],\n  exclude: [],\n  maxSize: 10000,\n}\n```\n\n## Requirements\n\n- Node 8.9 (server)\n- IE 11+ (browser)\n\n## Installation\n\n```\nyarn add optimal\n// Or\nnpm install optimal\n```\n\n## Documentation\n\n[https://milesj.gitbook.io/optimal](https://milesj.gitbook.io/optimal)\n","readmeFilename":"README.md","gitHead":"63d211c06dac75c8a2175fa136159cb54baf1bc6","_id":"optimal@2.2.0-0","_npmVersion":"6.5.0","_nodeVersion":"10.14.1","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-bjgmhX8jSOygc2EN436Tn2eXRkFRoC7r1UwZGUAVU9kpkfNHrrzumrw96QZPR/2NJJVcS/gmfiQARlXFicA0/A==","shasum":"1399194f3bfac75dd542976054e213e570c60cda","tarball":"https://registry.npmjs.org/optimal/-/optimal-2.2.0-0.tgz","fileCount":46,"unpackedSize":93299,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcpWQfCRA9TVsSAnZWagAAktoP/0y4bxcVawduwLBtVE8I\n9LEZv0DJEUgdHhJ7zPjii9BtxiSFDYePz6dlWDDWl04LaGPkY5L0qJ8/YnnL\nZS3HmqqYFsu2O/4jc7aXDKmXEaYgMaUjoBvxEIXfUBx9VE4FxYNHHRvaUpnN\nB4zmYlWY5DQv4X5ETMwtXHdAm7o2dbs4Agy9eYXggFihReHH+eUx//Tl/y43\n4lgR7dCr+Lbn6QovNdnWdTtKSDthePK73S5uoA5JFCAxz97+gPnPjgumSkIi\nf+4wXT6PACkQUeD+78TSoO3R4234yas621la+kzFKujqlcxSFFl7AaaPq/AK\nSAOk68MRj9D3rrXW8C+w53I7UKiMeDyaGPl/Gso/h+Xq8Ukx6dhl9mOrDN3U\n06McDB/9znw3CeYg97jSLEZl+gUoOHe6h/ZqOhD3E/iuK5lNCfgqucg6hVa1\nVMQ6bn9T7rai/ej303WqBAn8z9oHUoqGnBEkK7VWTdOQkP2gX/u8IoZjoOKV\nDFaa6ussUspOTk2xJpnQBX9A6fpWJfrip8Sf7jwTPBQ4KBk3N6iVFBuqfb3i\nXc54IEBZVajLGW6ClzYwwjV00DPoSkIx1m3VSdWLmZ/r362JMbcz594ZHjJ9\nbA21MmT+398bUBamXe6wEv6/RyFJHH38dFKGnGNzIWO0AWNYFyaufj6u/15R\nysug\r\n=5Nyu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH2PXDm9cbe5chVcRvquJyZXnkzb0TNZtTo/Y5J9JEHAAiEAmAnI3hKCYbWvts38jlRQ/mjAvV93BwGS/ljawevtXiU="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_2.2.0-0_1554342942262_0.3909620686219859"},"_hasShrinkwrap":false},"2.2.0-1":{"name":"optimal","version":"2.2.0-1","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"build":"beemo run-script build","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"@babel/runtime-corejs3":"^7.4.3"},"devDependencies":{"@milesj/build-tools":"^0.37.3"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 11"],"readme":"# Optimal\n\n[![Build Status](https://travis-ci.org/milesj/optimal.svg?branch=master)](https://travis-ci.org/milesj/optimal)\n[![npm version](https://badge.fury.io/js/optimal.svg)](https://www.npmjs.com/package/optimal)\n[![npm deps](https://david-dm.org/milesj/optimal.svg)](https://www.npmjs.com/package/optimal)\n\nA system for building and validating defined object structures, like argument options, configuration\nfiles, data bags, validation fields, and more! Runs checks in development and strips checks in\nproduction using dead code elimination.\n\n- Recursively builds and validates nested structures.\n- Supports common data types.\n- Autofills missing fields with default values.\n- Allows or restricts unknown fields.\n- Mark fields as nullable or required.\n- Handles logical operators AND, OR, and XOR.\n\n```ts\n// Pass a partial object and define an explicit blueprint\noptimal(\n  { name: 'Optimal' },\n  {\n    name: string().notEmpty(),\n    include: array(string()),\n    exclude: array(string()),\n    maxSize: number(10000).gte(0),\n  },\n);\n\n// Which validates, builds, and returns the following object\n{\n  name: 'Optimal',\n  include: [],\n  exclude: [],\n  maxSize: 10000,\n}\n```\n\n## Requirements\n\n- Node 8.9 (server)\n- IE 11+ (browser)\n\n## Installation\n\n```\nyarn add optimal\n// Or\nnpm install optimal\n```\n\n## Documentation\n\n[https://milesj.gitbook.io/optimal](https://milesj.gitbook.io/optimal)\n","readmeFilename":"README.md","gitHead":"a754a1b2d3f3deafee5ee03f41432e40f453d39b","_id":"optimal@2.2.0-1","_npmVersion":"6.5.0","_nodeVersion":"10.14.1","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-IBvtNa02nvs0nlSlMSdbtYOURXxf8Q1vVlVPE/34veRx0K40HjseVFzUBtItE8b5X46fiiVPsfKrEjhr+upw4A==","shasum":"45f2d7feb53750f2a1ea35da2da2a1bf5014784e","tarball":"https://registry.npmjs.org/optimal/-/optimal-2.2.0-1.tgz","fileCount":46,"unpackedSize":94677,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcpWwgCRA9TVsSAnZWagAAU6AP/3IUnnNouT5NvMkgWyh5\nWT13yMta12X9rWcrBlbAoYkdbRYjwe0mkSnxQDDtK52iN7Ji9JojrpKs746q\nlPHBvEHGqtVBpofmt0IVTIbthhCdubJm9mEGyr6PsZkImdhh5cXYiL6iLXI0\nicJTUVLPessrvKtg/bjp1k/thZ+xz3fn6P6ss37nva/XcWsPopUOSMtgtAZ7\nKQzQcYwqlENoAZq4O/9GZ4spmlmB+oRFm7sBe6/T+maYXZhr+2wxauPCa7W1\nJNcHe8wLa6CTKNFVm1SP1ol5y9ra0I87lf1nFy0SvUAvk4Rzw3/djerXGBu1\nx+aVKZowH4P4Fgu6AoeCuKRaMbcKjeBoYdskp8cgkSdIdlrkvzMYjZqca8/n\noaNTLQsv798LdcsO+2spZeummwqWPGZTIZi3wyDl6r5PXVvHenfjccl+SCsX\n8yOfWS6PQZp3AMT1oduOVvlTnUQPiq7Yec4I7sc/Lb2tVOLipJh+p34m7GT3\n4feOz+gbz5U/JwVuT78G09xnDa1+ZnhXlqp0C81UONn5t2mql/M0j2ygDdyI\nMpfAcutyDr0buqy28X1RMW+EkYA2FoOsQc2K8rcvotkorocvsNsY7CbAwOsL\nbxEBTKnjdGVbHPO01VeM/aqYj8JHAO8H6daVTYOXHD+qyFxDHHM188MoTNMc\n7z3G\r\n=Hyrv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC7wsVOXJlbXAp6IhcHUZF3RKyOZL9qNcmgdExRMpdLUAiBgeujHE6XZ05vhmFx3hTjEeOf6rwRxz80yFHJOSGhr1A=="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_2.2.0-1_1554344991218_0.6340007426184304"},"_hasShrinkwrap":false},"3.0.0-0":{"name":"optimal","version":"3.0.0-0","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"build":"beemo run-script build","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"@babel/runtime-corejs3":"^7.4.3"},"devDependencies":{"@milesj/build-tools":"^0.37.3"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 11"],"readme":"# Optimal\n\n[![Build Status](https://travis-ci.org/milesj/optimal.svg?branch=master)](https://travis-ci.org/milesj/optimal)\n[![npm version](https://badge.fury.io/js/optimal.svg)](https://www.npmjs.com/package/optimal)\n[![npm deps](https://david-dm.org/milesj/optimal.svg)](https://www.npmjs.com/package/optimal)\n\nA system for building and validating defined object structures, like argument options, configuration\nfiles, data bags, validation fields, and more! Runs checks in development and strips checks in\nproduction using dead code elimination.\n\n- Recursively builds and validates nested structures.\n- Supports common data types.\n- Autofills missing fields with default values.\n- Allows or restricts unknown fields.\n- Mark fields as nullable or required.\n- Handles logical operators AND, OR, and XOR.\n\n```ts\n// Pass a partial object and define an explicit blueprint\noptimal(\n  { name: 'Optimal' },\n  {\n    name: string().notEmpty(),\n    include: array(string()),\n    exclude: array(string()),\n    maxSize: number(10000).gte(0),\n  },\n);\n\n// Which validates, builds, and returns the following object\n{\n  name: 'Optimal',\n  include: [],\n  exclude: [],\n  maxSize: 10000,\n}\n```\n\n## Requirements\n\n- Node 8.9 (server)\n- IE 11+ (browser)\n\n## Installation\n\n```\nyarn add optimal\n// Or\nnpm install optimal\n```\n\n## Documentation\n\n[https://milesj.gitbook.io/optimal](https://milesj.gitbook.io/optimal)\n","readmeFilename":"README.md","gitHead":"7e95f371b002574f51aaa95a62184ef854899706","_id":"optimal@3.0.0-0","_npmVersion":"6.5.0","_nodeVersion":"10.14.1","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-APypS0ezaF5Cvlj5C4Qn2CQFvx7dhGy0fB3xWVqvRRTsCkB7l40DLRuAJoKq3ZFb54EM5iiqUDxxlS4816IscQ==","shasum":"9210ceab4c23c402ba78539b57fd0e99d09dd832","tarball":"https://registry.npmjs.org/optimal/-/optimal-3.0.0-0.tgz","fileCount":46,"unpackedSize":94754,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcpYkPCRA9TVsSAnZWagAAf1UP/RbSc/hiqjzAGAUeemK3\nTuLVlzs38J+xh8Ra07azRc4gTzS1AROB2axBXokt21gPFwW2mDJppCGOGva2\nXZxahgoCRAXcZXlDjd8yCkybGubeO0DAeaJpas4HATjfYx4GhWL/zBRpCOhW\nsbpFgPO4qQPoSvxjFtw0Gtprpqexbm71SZBe7BksVHodr2tiveJ6z7uoU5jG\nQ5WvXlijEuqBO4bWp+/F+R9xFNVTjKJVsBPU3TgOTOy9B/cL5Q6z8+QHNi/0\nMrOSU4dQxN8Bn1Re7ukMN5epzg2MWZi7oKBiCbruecwOWEslb8iGHRqqw+xm\nQa6/mDbEmOE02IDWMgp3KgpiiRJcMrys0uHYs2Dldyw5a1lzQrNIP/GyNIL5\nF3yUhOlxb6EaoHKwPLKm7Ag4iGyyATJCK4cKlK6hBFAvMlira8Rl/xISO3Rb\nA4opJmb2DclXxyN+unkPTe7RXvZsjZ2Bq68sWsdRUWHi1RCrxVvUIVHb8BnR\nr3quPEQ2F8xAvvHkVM0gxP/3StjJQmrhCbLqOjYfE/78UX1nNgwiJ4RBIU+l\ndAUUF8U4NSW4PlOimn4l6QZlcdkwUQPZh9xZ1DJ4jxwY5SdRe/Vpnd+jDpWq\nKRCv5zbnxdEhtLPiZcE4rgeB4NFUtemY9f0XnnGBFlF/52H5PpPRXmwxxfHq\nsTC6\r\n=Zv4i\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCaVJTqBzyEr9XgGaj9lh6XP/hzpP6ydLnF/iepr5RHKQIgF3srVETvzMq6naGxTj3YhNQ93rJjaJKFvvABVMLKSHI="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_3.0.0-0_1554352399120_0.719559304524926"},"_hasShrinkwrap":false},"3.0.0":{"name":"optimal","version":"3.0.0","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"build":"beemo run-script build","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"@babel/runtime-corejs3":"^7.4.3"},"devDependencies":{"@milesj/build-tools":"^0.37.3"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 11"],"gitHead":"8b69a68f9a17d34202d07ab399cfa7f87a98aacf","_id":"optimal@3.0.0","_npmVersion":"6.5.0","_nodeVersion":"10.14.1","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-mPsvOhEaZ0Qtwqtw8m4fi+W+lySFQbOejJafNyQd69Dpug7TZL2VN0iptm4iv5Wd/ZzCzzWp6siWsb0qRSxq4w==","shasum":"c1a1614731f1521767fc35746da44d6e41eba157","tarball":"https://registry.npmjs.org/optimal/-/optimal-3.0.0.tgz","fileCount":46,"unpackedSize":94752,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcpY5MCRA9TVsSAnZWagAAsUQP/igCe65XLlXO7aamfeye\n09+K2fGjeRGQKTh9RX4zn0B+0T/vPYPq3T9AG+fPdNe7TErMZhEWLxjCurZP\n4TqgPTWlfn7YhAL7XQ/QNlZ8saVL4Udgh4azaRx6G/3mvCbxWY38gPj/a7fd\nBKafp7Jqp4AhwRyFKgj2Z8c5cio06eVdFnEA7d7xr1LqdFnLEh7xQxvOda1o\nj+moHJWOFT6/s5+3ihLGmPwP5if0JDr0r+CGbKvMoukt50z1rFzdu45IluFo\nKOjutvl964af0ndMXHmity7EJ1slySSBqyFVTJ9ZJejY3dNDZDsL7qSQ6Ii+\nUuS1ARaNi5P9uVoJ/Ru1xDRXo3GlECKAjYY20IIFbBLa0Kjl6/T/BPS3FIvt\niMWs5HQqBzy1BpPxIZj9Ywj/amgXPDM99GOBvl7sC11CEQn4mh98OGBb7Bkv\n5HYFWZxsRAwHvtAOA4K0/ad3ByJ3J96ft3yNGFzKp7xY/7MSWSP6QwwhHRcO\nm9fDPAR8rscYG/0zbGhqGhb20QKzqOywUe6ZVk67hRi10dzHbDIa+qyDs8wz\nMaoO4gicbw+2rCjjUB31gljwM8AeY1z4zC9FZ8fEmUqvIN/EryfF+rVl7OHW\nBf5+Z+l5wIieHefdRzUA+lKMJlUx/AVkeBkeqTErDEOS/rhslVylWM8dqK+k\n5WAc\r\n=/qJA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIErmCRDkMyZKYnWvODMsX4BtZKtFGymV/UrJQU7gkEanAiBDN0k9TSnncFLRQdZCdLShBrC+QOKYwoV7ncGoBcu7ZA=="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_3.0.0_1554353739947_0.981154595150648"},"_hasShrinkwrap":false},"3.1.0-0":{"name":"optimal","version":"3.1.0-0","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"build":"beemo run-script build","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"@babel/runtime-corejs3":"^7.4.3"},"devDependencies":{"@milesj/build-tools":"^0.38.1"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 11"],"readme":"# Optimal\n\n[![Build Status](https://travis-ci.org/milesj/optimal.svg?branch=master)](https://travis-ci.org/milesj/optimal)\n[![npm version](https://badge.fury.io/js/optimal.svg)](https://www.npmjs.com/package/optimal)\n[![npm deps](https://david-dm.org/milesj/optimal.svg)](https://www.npmjs.com/package/optimal)\n\nA system for building and validating defined object structures, like argument options, configuration\nfiles, data bags, validation fields, and more! Runs checks in development and strips checks in\nproduction using dead code elimination.\n\n- Recursively builds and validates nested structures.\n- Supports common data types.\n- Autofills missing fields with default values.\n- Allows or restricts unknown fields.\n- Mark fields as nullable or required.\n- Handles logical operators AND, OR, and XOR.\n\n```ts\n// Pass a partial object and define an explicit blueprint\noptimal(\n  { name: 'Optimal' },\n  {\n    name: string().notEmpty(),\n    include: array(string()),\n    exclude: array(string()),\n    maxSize: number(10000).gte(0),\n  },\n);\n\n// Which validates, builds, and returns the following object\n{\n  name: 'Optimal',\n  include: [],\n  exclude: [],\n  maxSize: 10000,\n}\n```\n\n## Requirements\n\n- Node 8.9 (server)\n- IE 11+ (browser)\n\n## Installation\n\n```\nyarn add optimal\n// Or\nnpm install optimal\n```\n\n## Documentation\n\n[https://milesj.gitbook.io/optimal](https://milesj.gitbook.io/optimal)\n","readmeFilename":"README.md","gitHead":"c153e560bd45781dc90466f615da4c831366aa77","_id":"optimal@3.1.0-0","_npmVersion":"6.5.0","_nodeVersion":"10.14.1","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-S2oWdr33P1Ms7zSufIhtq7NiYtPZs+oDLoJS8QWY+/FS4fJi0i/9rruVtfk3Wi+oeeUJP8xjUBRRIVcMjzCUsw==","shasum":"7d68d458f08f2788ab00c050a3732d04ae8011d5","tarball":"https://registry.npmjs.org/optimal/-/optimal-3.1.0-0.tgz","fileCount":46,"unpackedSize":97327,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcqqSMCRA9TVsSAnZWagAA+2QQAJso4eG+5L/aFf0Bcx6h\nktRmgvmx7bPIT1KpHszGmObMa3n40oqgyolDF3UUdQ2OD0KqSAyFp5EzWuqM\nZ6qT2iF3Z9Cp7uBrPiUEkbIvQ7hQUX3q7dEAUZTq4kRGbXgp9hgllh3xe4ct\nwAFbp3pnskvzSOKAGHPnfM87Mc61s9OgiECcBA9xiJ2pK5v3aUsemj1hZP7i\ngiNO3KB8qbOvJpfmdw5iRnINZctvaYtwQ2kmMMvhqAT5Hdl5fFJEcw6sSOWM\nb+cHJTGCQ1mZl/HQZauAyq9hAe9XvLbY3gF8vibt3SxgVxBB7h6BbaWBEH1C\nzRYoe/N4G1bfGTSXY/sZd9f6QCAtq4qW3GwgEMj06Mq4oaLLSilkCfUlriX6\nevmDzVLK7z9Nv40G2pIGcTkEOsyb253V8hpFXAIjyMLFCjoPy8tf8uSHPTxY\nKvhLyLJhiBGNCs8GTP84F5ZJs4PbZwqB94+od7lGNeqcuCoR5qsEnX7OxTmE\n11Isuh4oHJjpM3iI36FmjUN43q4Up20JklWalZP8pUjGXyABM81EOBdoqAZw\nscRKFIgIEv1LmXZbcZ979FE05s+uAFcQ5Gc4/T8xTRQiBWmTEuMcRuQtyu8B\nBbzqBFLffvukAq52xlKIZBOHd8CnBhOEUEfjhY6n8/el/OZtg5AV8fzXO29K\n4Qel\r\n=vqzu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIExCTTzrwio7wF9+KrmrdYv9RFnJG/ixLBKbaMAmMtMeAiEAkFEUTGTTaeXcGB7WVUHmOk2AZJ+D+yFKLiC5MIkZ6tw="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_3.1.0-0_1554687115872_0.0709192382701278"},"_hasShrinkwrap":false},"3.1.0":{"name":"optimal","version":"3.1.0","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"build":"beemo run-script build","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"@babel/runtime-corejs3":"^7.4.3"},"devDependencies":{"@milesj/build-tools":"^0.38.1"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 11"],"gitHead":"4ef1355bfc7309ca0bcd61e888e7892a6f410889","_id":"optimal@3.1.0","_nodeVersion":"10.14.1","_npmVersion":"6.9.0","dist":{"integrity":"sha512-jbRELMPyb6iL5mkBxp1Dq4EL8Jw0cCZJPfOrc+T6otuFJbTwVNwsKmPt3GMw1d5wkck/NZXOoPACl66iK4XkuA==","shasum":"35c91ff2bc2fd672c8d200e6e6d98408af6ee841","tarball":"https://registry.npmjs.org/optimal/-/optimal-3.1.0.tgz","fileCount":47,"unpackedSize":103440,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcqr5ACRA9TVsSAnZWagAAVFIQAJLgwnU4TUojTNbCHdqA\ngqV9xSLeb3hz2UEnbfQH9XgE5T8KkT+8thIz1+p5fv3Krq2hYTtccoPoGGaZ\neRvGNd5s9o3jvoQ5ah2hSu6I+16KUMlrG43BcCJIGgsfDVBjBlMbAvYDvsMS\nFDOyTbxSgz+nwSRHwYVBO5gda1mPaowm0IaUtq9IZnQtLINhkZsuGdzuGJkX\nQDUblKvqYcWCR0USCNsPChvudeaiPGQNg58BPx7aVLvU83jLXxp5sLGfopyj\ngQ+jbO/IKLnMYznfkEmSAVPmoaBHC2EjONMmmpup9gc5WnPmmt9qwpXvvmHq\nXQQ5uFZeGPr6XBdfqrrh6t8OE4k+PESCJjTo6fK2Px3FGFpcdTFMVf0UWS8x\nuN9hmby1YHSFpZtlajE8723JUrLr3tKHM9L10AJeRsXYzfMEBLJjjoV3ecjH\nUlcY4Zp3AOfqJMDoruLk0LVEOdPF9R6ktcBU++dZgu2tKJu53tDa39sc8of6\n2v2SIof7/ojHOWeRlHJVKtv4xykBSUSFKAgeYlSF88UZ9JCfOwnsGRWw77lZ\noaHYbcb6ZfbbV7P6GjocbcSx0vBCA4n8/9S4knPShY4HugE0ygwgb5axtAWO\nd0aUZywZ3zHsj4ujtUfA3/T6wFKYS46zJrpZXN7fDkE7qi1MnyLxh1mJezkN\nClWh\r\n=UElL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG4//hezm0217aAr+abAqb5R/HBYK1VI1FxJZrH62h3sAiEA7MxSFOYn6GMzxj8XNR2XVBut/j81fXnI2yq+CYB0k20="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_3.1.0_1554693695599_0.11909137147406601"},"_hasShrinkwrap":false},"3.1.1":{"name":"optimal","version":"3.1.1","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"build":"beemo run-script build","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","dependencies":{"@babel/runtime-corejs3":"^7.4.3"},"devDependencies":{"@milesj/build-tools":"^0.39.1"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 11"],"gitHead":"215a99d03d41a900a24ad3ddce3609f191b60d2b","_id":"optimal@3.1.1","_nodeVersion":"10.14.1","_npmVersion":"6.9.0","dist":{"integrity":"sha512-XRjKyPM31HCdZ1joaxNvjvqjBwvDGnmm46wa1NyxVImpH9cl1QQxyTtCvFBys15dVmu0LO1/cZA0GdAhTG1Fcw==","shasum":"a791b67c1685aa088165d2486e251a7983e5c675","tarball":"https://registry.npmjs.org/optimal/-/optimal-3.1.1.tgz","fileCount":47,"unpackedSize":104351,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcsmdmCRA9TVsSAnZWagAAAEoP/14SieHwsjVLU5+gtpQT\n4Zz8MgcwrAiN7IP+RFgC7aHipGIu3vD5aKpkxaMtNsWEqJOvSsY7GwtgDXD0\njCoxWw0S/tFAiPXsHfpEGGU7FmwBfjx/xC+3EciZRxzo8TtYEWUJflRkG9hQ\n5CWwPRoJE2VAZOQFBaUzl0pNvGvL/YYLgdnr79pT65UyR55vTr3FwV6g1iQU\nJsjPCJ/tF2LyeFpfIICfI+AXSV7N8iidvAASfzSJXtA8En7Ay5gAE9KGfirM\nIuY3VVVq/7q07lFJk+nKYw1BFM2ZH+YlobfsHUycSKjIW2CDe7C7o5povWyO\nRHt+rSS8xfJ99wf/adPx/MK0ipRV5NmVGNcLCpOM0bEkawFXG657ChUUfieF\nGs+fCuixxJAPckqlw61t0j13rUVLTBwhqfovcwF9d04zsIY0M12454NJuuFD\npAKbM5ym2az0ZkYKNhKOxRpuI/08OJ7IT+NrxCAtqZDfl9oO4a4UeAjnt2AL\nXMCkm1AyZCsah47AtnCnGt8fS6MX8+XewECXAU+mxczZSQFFlD0M2DCD4oui\nYPFQ5b4b7PyqIB5UnoUreGdv1EyOQwKKWMnSTupWoLPBK8BcuUj0VvMDnnXU\nfWHod9Ndw5OZH+wFBJd1gFBYzSCMis5ks66YH11OrFgjhmY3itDn5mmyB/MV\no5Xj\r\n=GfV3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCa1ebt1YlxPPjVaYQQj1fqL/OcJmTTGo3J9rQCqV/ASAIhALU9QvEsadgPEWjKc1h9LPFuDRoYTST5S9xKXFLBgEVQ"}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_3.1.1_1555195749770_0.5221800133680821"},"_hasShrinkwrap":false},"3.2.0":{"name":"optimal","version":"3.2.0","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"build":"beemo run-script build","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","devDependencies":{"@milesj/build-tools":"^0.42.0"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 11"],"gitHead":"55df0248647dab08c6b71dfb87dc32b56fd472e6","_id":"optimal@3.2.0","_nodeVersion":"10.14.1","_npmVersion":"6.9.0","dist":{"integrity":"sha512-gc4xoQ/Pi52EOzDrjrfy4V/7y0t+unFBAIqzcuRMGaUZecUf6J7zy+lKtW10WlHFbnZbM/VkTipf7bGZ76MeIg==","shasum":"6250b28b127990052bbeefa10fcf77982df90752","tarball":"https://registry.npmjs.org/optimal/-/optimal-3.2.0.tgz","fileCount":47,"unpackedSize":101159,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcu5+VCRA9TVsSAnZWagAAkgkP/R1hAu+7n81P8UqknAL7\n8RtPLFCDd24XipZsr7olZzvbRmp9s0Is5qrEI5nMGLn3UJL5wUKjJQS3eJSN\nHhI0XdaLgo0iWPstpaOS4OV+/cs1TvpD1DpkK55BDLJ4xj52UikfIEKvwnu/\nfigRqGEGCmZNmcogzNICVhA/3R573jy5gKVl1FLyYyiOXNSuYnDbI8ySCLUB\n8Hrh35tD1+U4MO3FmCRxg6yMk3WGppN2ib0OOl5BYIsUfweNGme0jhx1SrmM\nUSeN7FPWphWC/Zc0Pi2uJ7eGESz3FLHPsbKHpNVAjH5dNgt31qCXZh7lvZNn\nc8x+I8FQymad1hj136X77j5ak0CBkiCjdIKK3aXd0tZsQPYgskjVJoVBYVxw\neLhh8Kkwyx+oVzZvI0kd2BbmXFv0zI8woUpJO0uI3k/GOXueevqL5Vki64ti\nf5n6ZTKp1B5OcV4Dt4ce1YoKfFOaObLRiQJiRPO80Q8O42f8pqKenm0+7Zc4\nHnXlZPKJV9/GTXDBZyFSBDd7LGYd0KzCw6gCjLNhRwNAnWAyl28GzTyCkkve\nDXOU35ADsZoY7lHQSaVgzWkzPW/hTM76RXya12UeRiNu806aHFbyfAZNyTPf\nzD3QGqfBx3ANBoPv4iYlc7+Z7Ovt8uWxOZMspgYO6z7qHB2ae07fRnkDhfhV\n6M7F\r\n=ZnWh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDhtE1/HZ2q+fHVLecZkiNSmGY3uwl7Q98apk8nIGQmRwIhAJfxVI+Q0I4z+JpYVYNvMHm9hNOa08RPldfXw4aLB635"}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_3.2.0_1555799956700_0.8184986615155814"},"_hasShrinkwrap":false},"3.2.1":{"name":"optimal","version":"3.2.1","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"build":"beemo run-script build","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","devDependencies":{"@milesj/build-tools":"^0.43.1"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"]},"browserslist":["ie 11"],"gitHead":"2a150d665a9a5e50c3929ef98751aea886306a5d","_id":"optimal@3.2.1","_nodeVersion":"10.14.1","_npmVersion":"6.9.0","dist":{"integrity":"sha512-pqjiNtgEB4WcFxGegWJfozQQSnqK+PwunrGbTPGj3RuTwiB8SVrTe3Ejd4OwNGftSSf7OZedezV1a2Dvb/0lPA==","shasum":"947303696c2fc1055b15ccea2a44be4c8c23195b","tarball":"https://registry.npmjs.org/optimal/-/optimal-3.2.1.tgz","fileCount":47,"unpackedSize":99058,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcvl9qCRA9TVsSAnZWagAAv1wP+QFjJZZH6MhEzVc4RfJx\nhe+IxPQ+CSEeoiUtG9ip0yXURVqd39Ocb7WMlKh1wAJdhwOW+J3o9+Te6zL9\nGlmuarswi8OCyIRCSAjW4OyOJWGC73vn50s4mSWLqzPjxtHExbU3hzXgpB47\n4BuMnpdsJCIo7DPMKbHnMy0fVubxIgvDEih15cR0kQkbkYNsvHvV/xE3ldUo\nAJHRbFRLko8PVDj1/eRTl5oTnE6F8FvF0HKveloVMfyLYDOtgg4TJkk72xXm\nvSPHjZuUxiEnLRVTWCkTPOp2SkOPvslnDUVmITifA05Ez8KALjmzzj4O4+dw\nQwaxKHSG1N65KJkbXRMTk0I/nZttR76cNeTd6tiXp+AITwjlzXyhnfQE9xvE\n8kMCfVMY8zoq89rU83Uygre3A8tR1rdQBncbUaYAKlGYMw0HDJh6UoqSnKJK\n2QJJywkvj1S9uQYvnt9/DAe94pty7MK34iVG5Jv1dBa4AcudSZMnE+qGmDVf\nI02VqthgPiBB7A8gDd74P/5XJkN/BHoNx7AkZ6+DEa3aVigsMwIem5FAaA4A\nWYpXr5SZYQdw7Ghj07UHOl5js58VwQDvAKEZcZ8rldwhbM8By5JAYp5TJ9kO\nRcm+0FklaIKRPRb4C5HNjwiTCheqIgmtCCXnLOfCLDFZsvDabFhCVFJv3+DW\nlR+j\r\n=4BsL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDlOi/oyCkAHwy5Bw+bOq1RHnhhvxSfLJSVd8pSOzsAwAiBKkRweW+WhAKIqjn2PJRZ73d0XXOpL+c5lNu5Zv7kzng=="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_3.2.1_1555980137371_0.47970380555036174"},"_hasShrinkwrap":false},"3.3.0":{"name":"optimal","version":"3.3.0","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"prepare":"beemo create-config --silent","build":"beemo run-script build","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"npx np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","devDependencies":{"@milesj/build-tools":"^0.60.5","@types/node":"^12.12.14","conventional-changelog-beemo":"^1.6.0"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"],"eslint":{"rules":{"default-param-last":"off"}}},"browserslist":["ie 11"],"funding":{"type":"ko-fi","url":"https://ko-fi.com/milesjohnson"},"gitHead":"cc6af856cf2969a061a68b593fbe8b5806d4c04b","_id":"optimal@3.3.0","_nodeVersion":"10.17.0","_npmVersion":"6.10.3","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-7glCAFiZcj43nzWCxudppVZmdnu+zfoYkk7dVP4JyQlBhGw1zMnEH6dpeBsnEa3ihYgO6SD31QW2e5k8f7S58Q==","shasum":"dbc5f7e86cf191e765814ba397190b289a7f4681","tarball":"https://registry.npmjs.org/optimal/-/optimal-3.3.0.tgz","fileCount":49,"unpackedSize":94752,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd5bxCCRA9TVsSAnZWagAArkYP/iNhkL3zO7g9KU5EOEj2\ndbdLtP3VpNJeIusmq06mMry7smZNNS/3x+XhweyK54wxZbnK2ZUIr8DBbp7Y\nAOnWQed8elAaihDFTTPTJc0rb82Yp6lWRm8YZuY/xDaXAWvW5T3vp9svuCgj\nFZ1R1LIy94Cxsxt3/oNGdIP6F4B7qUqxlgNAuhtzByO7enuSrQoieF5MyrO+\nWEEU8aHJKEbNJLRp98EF/51NaRwxgB+IZ4nj6TnJBQ1PfhlNe1//I6iv9pxe\n2pbbn3uBRLcv9EMdmAygymVDhdWStr0mGb7ii6t6kbtmDBpqWEQZYr0nlGc6\npnHuRovk0idVPIigNf7a+mzv+TYFt+mPgX74unC2f0XlMaJJ5HVl1wF1VjmN\nB26Iia+IqXxvjdqdbyA4bj+AzHHmAVftysyTROHjGQmGXdwOScqa4/bUa71m\nm8BSchf4eR0WphpsNyClF+ZFWpwV9mslUY3/wy2ijtS+DA396b0TYV1xQ+Cm\n5EgPEG0HJ+z1JsS60HySxsJhUd9M1profqIBeVPXDBu0UjM724pwnO171HaA\nW3YiF8xWBiP81t3oe2JaS+kD5oz+XhS0Wuxuv8Jn+BVk85Dg4Ge+LKC6XRxG\nlkb217rdXrK3YBMXhMUXkfTBhsEPac0V9jegVeP9oYXXl2UYAWHTnVyDfxHL\nxaV8\r\n=GNeZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDYFyUpESeBu6StGSk+LjW8ImUTlbTfYvWjt85KDsFL3gIhAIEiD0zfuMYxYaOukWN4zxTQnZanXvLg19fTK2rCgEzJ"}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_3.3.0_1575337025884_0.41552198065816803"},"_hasShrinkwrap":false},"3.4.0":{"name":"optimal","version":"3.4.0","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"prepare":"beemo create-config --silent","build":"beemo run-script build","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"npx np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","devDependencies":{"@milesj/build-tools":"^0.61.4","@types/node":"^13.1.1","conventional-changelog-beemo":"^1.6.0"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"],"eslint":{"rules":{"default-param-last":"off"}}},"browserslist":["ie 11"],"funding":{"type":"ko-fi","url":"https://ko-fi.com/milesjohnson"},"gitHead":"02ebc6d18a864b27c6d93fabc42952cc7f843f2b","_id":"optimal@3.4.0","_nodeVersion":"10.17.0","_npmVersion":"6.10.3","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-unexr3ZDSQeNP/5rMcoaVtjDgEnC+T8LGpLmfC6prt6OQx83j7ijE+E9v5x2WFlwjeph91/Vsaryn9AMQOIjnA==","shasum":"1dd55b7ae0ad2d7222858f0bc9e96b07ccee7c58","tarball":"https://registry.npmjs.org/optimal/-/optimal-3.4.0.tgz","fileCount":52,"unpackedSize":100684,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeCAIHCRA9TVsSAnZWagAAxv4QAJ0aMlM0lI+LeGj0YVa8\nc/HQwnOOjciXjjdA5vj9yaHx/K3fGEu5SChz4cLhmYE/RJCg3bYK04ebma+u\nf47aJDXx47koWytP1kmndTTyPXgzr+vD9GeSrOz7iXl3dwC3EnOSoum1OvjN\n+6XGunaFl7RxyKxGBH5Uy8YeMbhZ6AQeIuLdCL8Q9MvmqNHmWyvvU3v2+mON\nksKVDAg0u3TfJFKujp4v+7zHVfjeXeO7V9AoIwF+cormrHp2DJvo+trv0M1m\n+2wA2qZdvDUlJwvnGcOmSD33heWUkpZPNGQkGn26JZ1WiVd418mFnwuqWAjv\nBWRxe+c8MXwO/kM88yoK9cb670ChhgMhCpd9SE8N/nFErLkzKSuVPyhvwKQA\n3tbHoXIpV0kjyj6FTDPmPFvzufPnXpLslglwFyTK+0p2sGsJw/RoanFH5dOU\nzxb8VphfwYhWld80IFsb1TcVGV+As23Ff+FBB2JVyv2DamHYUYcjd0QU9L6C\n285NIi6qeMJuNhGmo4shyqRGo1uJ6kipvN90xGoJmdwPFQV73grHAH5egPS4\nw+G9voTDGJs+KJqduRhJkGaBCoWVv46wHefsS9jMih1EgATuSHTZSMZ4rHh7\nvAptSBdSllMu1xk1kNI+P7MHSmWThcvw4Ckcc0hpu1lhIjdXxqxSeguO9/VX\nOZm1\r\n=Rzv+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDb1JFsslq9jd7PGJnE87kKiWOXdpIY8R7Agyn674bd/gIgVfoM8h5Zaa2SioOcXmQLFWAGL9yJWnXwqqlnl3hsikI="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_3.4.0_1577583111444_0.8936213236151913"},"_hasShrinkwrap":false},"4.0.0-0":{"name":"optimal","version":"4.0.0-0","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"prepare":"beemo create-config --silent","build":"beemo run-script build","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"npx np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","builder","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","devDependencies":{"@milesj/build-tools":"^0.62.0","@types/node":"^13.1.2","conventional-changelog-beemo":"^1.6.0"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"],"eslint":{"rules":{"default-param-last":"off"}}},"browserslist":["ie 11"],"funding":{"type":"ko-fi","url":"https://ko-fi.com/milesjohnson"},"readme":"# Optimal\n\n[![Build Status](https://github.com/milesj/optimal/workflows/Build/badge.svg)](https://github.com/milesj/optimal/actions?query=branch%3Amaster)\n[![npm version](https://badge.fury.io/js/optimal.svg)](https://www.npmjs.com/package/optimal)\n[![npm deps](https://david-dm.org/milesj/optimal.svg)](https://www.npmjs.com/package/optimal)\n\nA system for building and validating defined object structures, like argument options, configuration\nfiles, data bags, validation fields, and more! Runs checks in development and strips checks in\nproduction using dead code elimination (should not be used on user input!).\n\n- Recursively builds and validates nested structures.\n- Supports common data types.\n- Autofills missing fields with default values.\n- Allows or restricts unknown fields.\n- Mark fields as nullable or required.\n- Handles logical operators AND, OR, and XOR.\n\n```ts\nimport optimal, { array, string, number } from 'optimal';\n\n// Pass a partial object and define an explicit blueprint\noptimal(\n  { name: 'Optimal' },\n  {\n    name: string().notEmpty(),\n    include: array(string()),\n    exclude: array(string()),\n    maxSize: number(10000).gte(0),\n  },\n);\n\n// Which validates, builds, and returns the following object\n{\n  name: 'Optimal',\n  include: [],\n  exclude: [],\n  maxSize: 10000,\n}\n```\n\n## Requirements\n\n- Node 10 (server)\n- IE 11+ (browser)\n\n## Installation\n\n```\nyarn add optimal\n```\n\n## Documentation\n\n[https://milesj.gitbook.io/optimal](https://milesj.gitbook.io/optimal)\n","readmeFilename":"README.md","gitHead":"b283bed122d98ff0b4864606a538c607c560f510","_id":"optimal@4.0.0-0","_nodeVersion":"10.17.0","_npmVersion":"6.10.3","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-6hYknJIHRuMTU2A80Dg1Xr/k47yFZD4JBBZZ6cli2L/qrJ57r25qwHnUH2GnVzPQDLZJKHasOO37WkAFpcywVQ==","shasum":"d44faabb42aa69ddbd0072633d676316c8237171","tarball":"https://registry.npmjs.org/optimal/-/optimal-4.0.0-0.tgz","fileCount":58,"unpackedSize":111685,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeDtKrCRA9TVsSAnZWagAAY9sP/AnWq2VCBguvBL000nxh\nhKQVG843r09lYFemE2dGraUHaPpUv73cCx17CXZezbhK/wj2m4wSmcXBAyJ2\n3o8siln8Gwf2gpjPKiSoHPhUNAq5/IC9hyHPz1P5RSxWNBuDgCDR8nlYu6Co\neuSWbsJ4VLDprx5A0hIqeEm4IWA0m6XjsbDiFOKihBgoD5q6Vgh+DjFdR7aV\nxGZj3nzM8FnEVljS44y+cuxz97S8j4lK9MJcMu+oxGZqRn6wlAQW8ltkyA0K\nhrvr9DtufDFfBrjsrGlqMsFw5OXQgIezHmL4I2DXerWkr+RmziuzdPHeUHAE\nUqRcKDQQo1Is0zi10JusDFDhD47cWHbpcsu34P1bJfW1DAPY03BCGrHKNbpP\nqNeSggbBp97+n/FLE1YYOKVF+Lg8JsLsUWsO3r87WkEoBKjNnegBqrXLRiR6\n0VCnKLOI4oMtk4WLSj9sZ6PpYyt5JbRd6oc5mXnNoSjKXlzTLbzE7NgOCsig\nzIyq4GAGs2IelXW0veFke8d2scYt2yu5cSYoLhw8aLPEJOa6LAlRXHdz12i/\n/aJhphyAcI2QUJbwUGINjPCUOg25dE8pvYeJdAtiuP4kE18eLkpJTmuw+0VQ\nFh2URT7HpXln6l0TKAWFbtT9rz60e6qVjmn4gMSpltA/UgAxEG42IkRGsNRN\noaoh\r\n=qlsB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEfGqJtqV6AuNaMQRLw4mI2UlEY8lK/CJzmn7LHU1qNYAiEAqttF3yJ5EX8BoEsWvUvByZTMo7/lbb00q8E1Y+2O17Q="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_4.0.0-0_1578029739057_0.2209396031580264"},"_hasShrinkwrap":false},"4.0.0-1":{"name":"optimal","version":"4.0.0-1","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"prepare":"beemo create-config --silent","build":"beemo create-config babel --esm --silent && rollup --config && beemo typescript --emitDeclarationOnly","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"npx np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","predicate","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","devDependencies":{"@milesj/build-tools":"^0.62.0","@types/node":"^13.1.2","conventional-changelog-beemo":"^1.6.0","rollup":"^1.27.14","rollup-plugin-babel":"^4.3.3","rollup-plugin-node-resolve":"^5.2.0"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"],"eslint":{"rules":{"default-param-last":"off","no-param-reassign":"off"}}},"browserslist":["ie 11"],"funding":{"type":"ko-fi","url":"https://ko-fi.com/milesjohnson"},"readme":"# Optimal\n\n[![Build Status](https://github.com/milesj/optimal/workflows/Build/badge.svg)](https://github.com/milesj/optimal/actions?query=branch%3Amaster)\n[![npm version](https://badge.fury.io/js/optimal.svg)](https://www.npmjs.com/package/optimal)\n[![npm deps](https://david-dm.org/milesj/optimal.svg)](https://www.npmjs.com/package/optimal)\n\nA system for building and validating defined object structures, like argument options, configuration\nfiles, data bags, validation fields, and more! Runs checks in development and strips checks in\nproduction using dead code elimination (should not be used on user input!).\n\n- Recursively builds and validates nested structures.\n- Supports common data types.\n- Autofills missing fields with default values.\n- Allows or restricts unknown fields.\n- Mark fields as nullable or required.\n- Handles logical operators AND, OR, and XOR.\n\n```ts\nimport optimal, { array, string, number } from 'optimal';\n\n// Pass a partial object and define an explicit blueprint\noptimal(\n  { name: 'Optimal' },\n  {\n    name: string().notEmpty(),\n    include: array(string()),\n    exclude: array(string()),\n    maxSize: number(10000).gte(0),\n  },\n);\n\n// Which validates, builds, and returns the following object\n{\n  name: 'Optimal',\n  include: [],\n  exclude: [],\n  maxSize: 10000,\n}\n```\n\n## Requirements\n\n- Node 10 (server)\n- IE 11+ (browser)\n\n## Installation\n\n```\nyarn add optimal\n```\n\n## Documentation\n\n[https://milesj.gitbook.io/optimal](https://milesj.gitbook.io/optimal)\n","readmeFilename":"README.md","gitHead":"693edee72a024cadfe59da71b87b570cd87abf18","_id":"optimal@4.0.0-1","_nodeVersion":"10.17.0","_npmVersion":"6.10.3","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-VDgTx7gEdgWghlBLl4HYpLPIRTM/dEqkW2eL/A1ogKAXr0NdpqfscIUo06dJ/UAFS9kdzmVmOUouoyWG/XAPvQ==","shasum":"ab5ff19249a3e57bf3fc29f9f144762abecfd202","tarball":"https://registry.npmjs.org/optimal/-/optimal-4.0.0-1.tgz","fileCount":28,"unpackedSize":99352,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeEB52CRA9TVsSAnZWagAARRMP/2ibY2QL97Yzs8oQ5tK8\nkOmbZ+/hOOxF2t9Dg3PxqhkJ475BGOxtaZv6w1aqH+wxWdNXUhfx/xxEvVhr\nGIKdq4kBhjg9O99+kUxKVIDfJWULIq6OlamwGrizj0Qllr9Ua/eLwFuZktmo\n0sTZz3SU6zS1OZlNvXqTef9Z1VAcUMEnPEcp3poOvQSdBuugvUzgHvvPHHhL\nZr4xCs0hrgz+H0wrevIFExsSNQ3baHBeP+M7rTDTjJU9S/TCy82owSwl1Lpz\no0hU2Z+wvKkOfH/qAcEV2F3Rw1G6+mNGBLS3lYoNhwLmEOuk0bApUOkIMWyO\nBJmdghXS+EJCneFohpRfp5mvVi3OhPClFiUwLF/O6gCQCoCQP5hPTw0cMEn+\n9Q8OCtIIt/7Qh4pSN1QcFHNk5q7LNmbVR++GT/9DT19bZRoMgJ226CuonkBK\nb0VZ6IlbLRFPhhP05wwgT5ZMARHIePWr/QYHbizVQxbqZ2g5z8JU9YVCW3W4\nst6kZ2Ui58tAiBxv4kCX1I3XCtUdkdQnQmVnCEYXrgKKnFCwKcZX3fvlaSkv\nXFnS3W5O3bQnaf5lmz55rE2j+NtcpkpFOxcU/iZ4wYVFTswmSTZcWIQhiS6G\nlpSDN3r02U5lsbaTEBK9kbTDBxgmHLBdSFwgjoJcXx3RhI7vkUjcDM6craVL\nT1Kr\r\n=h/IS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCp0it80Gx9knvnhj9oniNzs8ueN7RJuQqufKwucgeWAIhAKlD/UqaGMVqtyYseLx8X6GwKdjypcDPbGVkNlaqotF/"}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_4.0.0-1_1578114678128_0.7189381074020902"},"_hasShrinkwrap":false},"4.0.0-2":{"name":"optimal","version":"4.0.0-2","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"prepare":"beemo create-config --silent","build":"beemo create-config babel --esm --silent && rollup --config && beemo typescript --emitDeclarationOnly","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"npx np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","predicate","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","devDependencies":{"@milesj/build-tools":"^0.62.0","@types/node":"^13.1.2","conventional-changelog-beemo":"^1.6.0","rollup":"^1.27.14","rollup-plugin-babel":"^4.3.3","rollup-plugin-node-resolve":"^5.2.0"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"],"eslint":{"rules":{"default-param-last":"off","no-param-reassign":"off"}}},"browserslist":["ie 11"],"funding":{"type":"ko-fi","url":"https://ko-fi.com/milesjohnson"},"readme":"# Optimal\n\n[![Build Status](https://github.com/milesj/optimal/workflows/Build/badge.svg)](https://github.com/milesj/optimal/actions?query=branch%3Amaster)\n[![npm version](https://badge.fury.io/js/optimal.svg)](https://www.npmjs.com/package/optimal)\n[![npm deps](https://david-dm.org/milesj/optimal.svg)](https://www.npmjs.com/package/optimal)\n\nA system for building and validating defined object structures, like argument options, configuration\nfiles, data bags, validation fields, and more! Runs checks in development and strips checks in\nproduction using dead code elimination (should not be used on user input!).\n\n- Recursively builds and validates nested structures.\n- Supports common data types.\n- Autofills missing fields with default values.\n- Allows or restricts unknown fields.\n- Mark fields as nullable or required.\n- Handles logical operators AND, OR, and XOR.\n\n```ts\nimport optimal, { array, string, number } from 'optimal';\n\n// Pass a partial object and define an explicit blueprint\noptimal(\n  { name: 'Optimal' },\n  {\n    name: string().notEmpty(),\n    include: array(string()),\n    exclude: array(string()),\n    maxSize: number(10000).gte(0),\n  },\n);\n\n// Which validates, builds, and returns the following object\n{\n  name: 'Optimal',\n  include: [],\n  exclude: [],\n  maxSize: 10000,\n}\n```\n\n## Requirements\n\n- Node 10 (server)\n- IE 11+ (browser)\n\n## Installation\n\n```\nyarn add optimal\n```\n\n## Documentation\n\n[https://milesj.gitbook.io/optimal](https://milesj.gitbook.io/optimal)\n","readmeFilename":"README.md","gitHead":"02ff07d309421748a9f63be56223ed02c6e185e3","_id":"optimal@4.0.0-2","_nodeVersion":"10.17.0","_npmVersion":"6.10.3","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-s3oV+hYWVaT7ZaEWbEWjlN5rswAcgXRs4go+GfI4y5s62QxQ5ad0KqPM1zSHWDqeEvd+f98IB8gE+0qjPnmKiw==","shasum":"271d618a4196496f0790784dc1ab951ddd769e1f","tarball":"https://registry.npmjs.org/optimal/-/optimal-4.0.0-2.tgz","fileCount":29,"unpackedSize":100320,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeECiSCRA9TVsSAnZWagAAyYUP/2hGtwh3wbCw/wUW3TmG\nuVVt9J98ugZTWGUdTxaIx8ua19ns7xEMGIylNFvdDFvtWJrcZPZI1TvyZ4Yo\nGDtVIW36kRjXYnKqaWt87+SEwwCMCJLO2FCnOXiVVvIlVvnTFHkzkQabMjtk\nFONpgol6hBEbvFfdOdDyDbWcmZZCBLGiehx3qej61OtktV0YzublJglPRsoR\nC0+avNbW10BmWZHF84Cvmn6x0WkhBvg3cJWCat+4B4TjrzAWlMQlcSzu0vHT\nW4QNGvMvhEf/S1JvU8Cbh0C5hzUCYtwLrmoqQJVgUuC+3eXHP23KSsZeDUUx\nr8dIsRdr213/r33FfaiY8opvU6md8H187/+EixaJVyXNVKi4DYGIMHW9AR2b\n2Dx4diuhInunM1ldBkOfhYz6TgEIWlPE8T+7/rU8z3ecYU5wgUD1sPy/d4ne\nRSv8JOx4xLVcfqjFM46VBQ4gKhPUXEPKVPEFj3FsWHG4ZKeaTuWpbsXnWiIK\nFIW8qRhu4KTPysgtsUo7YQe0Cf5+TSG9i/SVWf4L6fG7kCx6HwbbphnSSkEr\nYKM4iLWVi2DR8Yz3JgvorN0y+UBkURHHe+tgenWSYwb50U4KXsAzpxT+/EdJ\nUR2sA2GR2dXmrS5wLgFHrA3Y6x1RTngpJt7Bfjq161GhUJPFBoNBkzm6lZgn\n0JxW\r\n=K4FV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDw4OIjjc6bN//X6TQ5BR3jpGMAWrTlGyfDMtpusm3IAIgMMti4AK8vc/1sG6m3ncFDmQFeHFzLkvlge6jYjyxMYE="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_4.0.0-2_1578117266321_0.609892660035116"},"_hasShrinkwrap":false},"4.0.0":{"name":"optimal","version":"4.0.0","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"prepare":"beemo create-config --silent","build":"beemo create-config babel --esm --silent && rollup --config && beemo typescript --emitDeclarationOnly","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"npx np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","predicate","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","devDependencies":{"@milesj/build-tools":"^0.62.0","@types/node":"^13.1.4","conventional-changelog-beemo":"^1.6.0","rollup":"^1.28.0","rollup-plugin-babel":"^4.3.3","rollup-plugin-node-resolve":"^5.2.0"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"],"eslint":{"rules":{"default-param-last":"off","no-param-reassign":"off"}}},"browserslist":["ie 11"],"funding":{"type":"ko-fi","url":"https://ko-fi.com/milesjohnson"},"gitHead":"aa8ee5e3b86b9870d876a1e07b6a792b813163c6","_id":"optimal@4.0.0","_nodeVersion":"10.17.0","_npmVersion":"6.10.3","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-QkKew6FnVXabjMvBZZWIXZBFWl8kdJrluACYFKot/1vMd+eiWi93B5SCkb8PcHbv/8GsSDlCyI/SvO0a4Dxbpw==","shasum":"d7bdee96f26fdf27a79ee1b2282fb00fd63e4ebc","tarball":"https://registry.npmjs.org/optimal/-/optimal-4.0.0.tgz","fileCount":29,"unpackedSize":101112,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFVt1CRA9TVsSAnZWagAAD0sP/1/e3yseSxQYg0l0jzTE\n9Eo8ot3MiWKxNH3VGLLP+naJaG1GFQGfKXXbnLSoc5v4otX5gAWsKaygot+T\n3dJFFD3CyNvTcg4q2+B6aNFcjTcAjN3CrMXDuiAKLMgxhJFB1QhY73hFkNWU\nT3U3BsmJwqbpkE1tQH3vN1DliVzRsJXREHFxEkkpCh0zYdjGokpPOkKfsoE6\nngUdYFPRtHTgFqtHZYGu+F4w2pYVEThUZmHNY/FiOUy9pnatdlWiZK4BlVs0\n9w+KWRGNJIjXCj1N3/WvD8w/54Osz8PZYnYNIP3GduZ1cfQxXObkQ0tdWuAF\nPQNxQM+nzHuRSouTNkFYj2VVWwFP6UiZN8dqywsUDXVwG1pvFJEvd3/qUTHy\nEpiCmcWFbFE36POoDiSVUF53O8nZilAQXm+RBfLiD3hmveqEL3y12G8Fx4Oe\n99YlpKWQL9+6Qo53dW5vZMy1slXdDCNPgGtxL3bSOkb5SUaVo/zPimasWNKS\n2TbsJhQg5rBAcQmBQ34FfK6fjyUwY0njJw2fs4vEoR4jMtp3aqEwxRih+3bg\nQywyPS6SxgvIl0P9lbaEM55BKl3ogRu9VqFSYg3BefBl8kEwBeiAglirEA3Z\nE10MkHBL0k5k0bBqsdLZAumMS45LQ+1V/YOt6//Jno4C6yF7bEP3JHmV7e8g\nRgmw\r\n=fQTL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGfvZd/0QvtNfwwNeqQQ2SxS7MLgs3cgWIGqnE4EFljHAiAxkk/lD+6Kr9CwX+CCl1SzUUbw/KftDOfK2NG41DjOmA=="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_4.0.0_1578457972529_0.17211702870579115"},"_hasShrinkwrap":false},"4.0.1":{"name":"optimal","version":"4.0.1","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"prepare":"beemo create-config --silent","build":"beemo create-config babel --esm --silent && rollup --config && beemo typescript --emitDeclarationOnly","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"npx np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","predicate","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","devDependencies":{"@milesj/build-tools":"^0.62.0","@types/node":"^13.1.8","conventional-changelog-beemo":"^1.6.0","rollup":"^1.29.0","rollup-plugin-babel":"^4.3.3","rollup-plugin-node-resolve":"^5.2.0"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"],"eslint":{"rules":{"default-param-last":"off","no-param-reassign":"off"}}},"browserslist":["ie 11"],"funding":{"type":"ko-fi","url":"https://ko-fi.com/milesjohnson"},"gitHead":"605bfe882054778b49a4022b9efbed17c89e55b8","_id":"optimal@4.0.1","_nodeVersion":"10.17.0","_npmVersion":"6.10.3","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-Lu8Z9dC5v1sQKyWhTH9ubM3d1m6N7MgrKKZlaUcbywCxbDqDVg4OrdWjbVIlCSdblYwNcT7AVF9CYdp5sfgPqw==","shasum":"d5e776cf2f348b51c79fe8960e7b241758972fd7","tarball":"https://registry.npmjs.org/optimal/-/optimal-4.0.1.tgz","fileCount":29,"unpackedSize":101475,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJOjECRA9TVsSAnZWagAAwsIP/2ucL/dI81aMtKOxNFLv\nh7t30saRBhLe4VvrQ+65ujjnoXklhJMMmmv78TLB1CIJy6sEuZadQZBbrmmW\n1jf4CJXNHDRGr5tDYdP/V1f7lc7pZ36It1pD00NXsQoHy7H6RLztMpNK8a6e\nHk0aU6+RoEdN2+6YkmKsyTr3k4grQ8eQ1EydJN6W+cH20V98V72Cf2tTVcJ/\n16vMNYyCpeIdOwQs2N2X9IV7kgYq9Z5SO0I7WfN5/OHsB/JzgEw4oeEUrqzX\nLHOE0JuBghB1D2AqPvlE/ROfjKpiur1mWpIDg/QpXUadbQi96cyK+ZBPNKPS\n0zIlEXj70Sq5ALBhbMUez6FmvXXPKRBVB/RNrXOdn7Np8cVu9W5r929SRxz/\n42ACQit0fS3dJnPEY5iYNnDvGR2TZTLYRP25YDEpCyoij0XqLlepBokCFm++\nfm7u7UmqWdnhfkkzOZ0G4Lg5LFqVBv1SksM3UJSKkoR0MzwlbVJR8OH9KwI8\nLvc1S/lPsbjYlLb0Rihbc0vYG+hRZij72P+g7jYMj6nuMZhe7qaLJ2d0Twu4\n9+4jIvweuHhJtgunQxcH7ThJgQykEQD52zEQZni+RMXtKSFmWJ6rsAFfgyNQ\nb73fZo070XmurdCKQWkx3c/rA3QYcVN57dqLgcYcCj6jlksSd7ZevTBtPcPT\nRsra\r\n=x95D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD56b7xGoFyrkoUeHguzgqweeAN4/n2GznGdDgrTc7dwgIhAPfKD/tf86DtMXG7P8j8uQgRcJs4z+7Ic1EVqARlaW4M"}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_4.0.1_1579477187985_0.7870111688755281"},"_hasShrinkwrap":false},"4.1.0":{"name":"optimal","version":"4.1.0","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"prepare":"beemo create-config --silent","build":"beemo create-config babel --esm --silent && rollup --config && beemo typescript --emitDeclarationOnly","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"npx np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","predicate","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","devDependencies":{"@milesj/build-tools":"^0.62.0","@types/node":"^13.1.8","conventional-changelog-beemo":"^1.6.0","rollup":"^1.29.0","rollup-plugin-babel":"^4.3.3","rollup-plugin-node-resolve":"^5.2.0"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"],"eslint":{"rules":{"default-param-last":"off","no-param-reassign":"off"}}},"browserslist":["ie 11"],"funding":{"type":"ko-fi","url":"https://ko-fi.com/milesjohnson"},"gitHead":"5120d63294aaa98b22efa44f88cc16d2aaca3be9","_id":"optimal@4.1.0","_nodeVersion":"10.17.0","_npmVersion":"6.10.3","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-159qGqL0Wt7gegXeG8uqwJCDpZ7BTfLpZu531fS6g5FycFnyUrSFQ6E+khUanL8ss+RmARE3tbhlLU0HjgJGCQ==","shasum":"5d4b60995252b59c32d4255389a689d6d8317a2c","tarball":"https://registry.npmjs.org/optimal/-/optimal-4.1.0.tgz","fileCount":29,"unpackedSize":103427,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJi2UCRA9TVsSAnZWagAAorkP/i1ULdyT4/8J6eoD94Hs\ni0oqVcfPv2RXOgqCFq/ce5nfxo4VP9wfAse259ItjS+aldEtVuxc2QNROK79\nRj3hUbhTkGdXg3BfSvq/mGBF6oA6Hwhe1xXIi+zIanrNjDv4hrWOyJHcPUgd\nWk5TSySEdr5rH+DfzWbCO+PxMRU+dBK7zAgfgw6z+XOjL35/gU8UNTaNaNIC\n4875JZcop5ueujd+RRnobZUR3S8Fsln99taByJ/jK4NKoeO25YSioKsmwPNy\nvu8CmIcTmrclgBgEOwQ40X8knAUAsjFmyvGh5C9ipOj6EHzEoT+zoSfFqIZG\nRipv0ZpZSUFhbrQakQfDNll71mwKV1kuhPdIcTaz5UR+Lthet3CV8nQXfwEX\nWOs3Ez5l9StIdIOS+gWT/zFLaHbj3ZYzlWyjmbQhSYvhvDAtkRQ//n4qX8ba\nlyFi4JFyI57qWsTq7mPB3SKsKNUWuAJcE7zSCuFNA10Ieh5UFoS6WeNUt5WS\nItVCIhDzxgY1t5drjjaFTbD/TkAHEBtxhH8XGkavzUYKv8PrTh58SdoqjcIZ\nU7CMXLj0QjTXRuCVgAyNXJXv2xBq1oqg2+HzBMYs//IBHXCNnZi+203fhDVp\nroJQzmLJgxZR9xLSK8gPtsr6pWk9p8o5SOGNJD5RVXo13fZlZST4/Ik0fo4c\nR1De\r\n=N/YX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCkFv3NMw7X07yeBGf58KLSnyF0PnA0PvnC/gnbh2G4rwIgFmN89VC2f1OSxPjLOX1ZEdlf4Bhi43YultPfbHyCK9E="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_4.1.0_1579560340060_0.7829722558394594"},"_hasShrinkwrap":false},"4.1.1":{"name":"optimal","version":"4.1.1","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"prepare":"beemo create-config --silent","build":"beemo create-config babel --esm --silent && rollup --config && beemo typescript --emitDeclarationOnly","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"npx np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","predicate","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","devDependencies":{"@milesj/build-tools":"^0.62.0","@types/node":"^13.1.8","conventional-changelog-beemo":"^1.6.0","rollup":"^1.29.0","rollup-plugin-babel":"^4.3.3","rollup-plugin-node-resolve":"^5.2.0"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"],"eslint":{"rules":{"default-param-last":"off","no-param-reassign":"off"}}},"browserslist":["ie 11"],"funding":{"type":"ko-fi","url":"https://ko-fi.com/milesjohnson"},"gitHead":"bb789d793ac130d56cbd7e5ddfedce5394871c9a","_id":"optimal@4.1.1","_nodeVersion":"10.18.1","_npmVersion":"6.13.4","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-1lLxcK5oqrnod/ztzn5ZEm06WHOdn1kIDaojcy/xQpg4NYqrMSUKpUPzloCDyvCfFG39+JFRF3yRoHrkNawjJw==","shasum":"4592e51a90efd5fe5a9eb6890b2bcd1480223dfe","tarball":"https://registry.npmjs.org/optimal/-/optimal-4.1.1.tgz","fileCount":29,"unpackedSize":103524,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeK+XfCRA9TVsSAnZWagAAfZ8P/1D8k5794A68NMfEddAh\niy7juSqbCRhkUBvDkjMc4GxpKzowYF69opVFOPRr3B/ObUI0v2eseDX+jn20\nbNXeUz3P/gPrsATARwz5GAEMLlv7ux2VdKgex+cthLgK/9kV4JY0NCaNgMUk\n1EgInd4ZFBgdfNaaR5cnajZYtGXqpVRiA1W9HpUoKMbIcqNKOuCaqlgnSL+x\nhxsbjKWkiyXQTYBsGL4zq5m7g9th0Llma/BYIEGyXIU0FgD/oYHOIfZFh8do\nc8mJY6eBGB2PSkhb+ldxfAEN6CAeWN9IG6/JlGS/7ezVucU9PhdRz9qfIeGD\nqShfCYtfIzAe0tlZYGnlZ58cTv+JUut+K+c2qhnxUvC92sk8Y1axjWnYq7oK\nIFn5wnu8Qkd2nqsukWZNDpw08xDWyonfjSZroh+alESQOzRMxcTSHjRI2ZV6\n2VLIN8OgLzzhJVJAoygd/EGqvbFl+6gYTbd6jqg6VfJac/LvWt87BSSBicr+\nXH2UI137XORK2dilrN67W3e3eXmOPqYSBSd93smLv3ULHrzFJQAtpqb6qX4B\nWFy9Ljv4DKT7YUbN+IkIuiq+thXqhIZ+AJzWSQuTd5fUBmsGxBmEcQWltEJ8\neiP9gnYXSY1H4FCR6qTQYBpcvH0cEPF3zix6NclA5rTW6+M1zaSMILgkSaj5\nXwgi\r\n=aS5P\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCBs5AvvdyIaM3hiJAh/5c6yyuKhU9O7Yo2OAAkAZKCsgIgbMcOc3kEuzLvNGmi/i51vDKrpaXLuqRafDf7Y/jPRWM="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_4.1.1_1579935199376_0.06450790920886784"},"_hasShrinkwrap":false},"4.1.2":{"name":"optimal","version":"4.1.2","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"prepare":"beemo create-config --silent","build":"beemo create-config babel --esm --silent && rollup --config && beemo typescript --emitDeclarationOnly","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"npx np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","predicate","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","devDependencies":{"@milesj/build-tools":"^1.0.0","@types/node":"^13.5.0","conventional-changelog-beemo":"^1.6.0","rollup":"^1.29.1","rollup-plugin-babel":"^4.3.3","rollup-plugin-node-resolve":"^5.2.0"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"],"eslint":{"rules":{"default-param-last":"off","no-param-reassign":"off"}}},"browserslist":["ie 11"],"funding":{"type":"ko-fi","url":"https://ko-fi.com/milesjohnson"},"gitHead":"ee3c592b02aaccc9c378850d8816e1ee830c6e22","_id":"optimal@4.1.2","_nodeVersion":"10.18.1","_npmVersion":"6.13.4","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-xVpYbuNl0zMDvg/DHIC7DgrP13vOGaci46dIBeRnYvOy88zJWl93bzpbRVVXjB9Zt1Azlp6Jx6avlkVyt4Mphw==","shasum":"abe3faf8f84112566236a7caa328ad515668007f","tarball":"https://registry.npmjs.org/optimal/-/optimal-4.1.2.tgz","fileCount":29,"unpackedSize":105083,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeLgfkCRA9TVsSAnZWagAAC0wP/j/Kb6SyNgwwBHbzZ99A\nbpl7Vs/os81Nxd5H+B8/eYpw+lEAZFkC7Ncagb/REpRPs7VUxhs+3uA954V2\n3A7nS7nbIP0to8gmZI/pkXVmQnVvMxpz9bfQ61vMDik3aTQPAhvPDCiaPumu\ny5UW1fsPm1HtAegI2KH64hP5Z5N0Lgldnntx3ZHEyFF5x7SL6K/an1OAEDb1\n9RATxy5jEFvOHpmOgGc4FMHr4v9A7OlfmSG0ZsnTwnPhu7vVhVwlAHEEthXU\nGoOtutfnAtqCI1qOI1HNEjRbANuzEHnSRANz+48RI7kreI82PUg5D7kz5y87\nw3od78D7tr7oFSQPpmkrs3j0im4c3AOXYNYvgM4fDAr5fHiwPb4+PmRb5rNr\nMYD6yt6CXitKvw6S1PJWAy1EV8PXF/eSMaaziX9M2QNcQEUyBWJ8BoLT5hwz\nWE4JrLiNWhN4YpjP/lHzncKv75VR0ag0mfZmWCB9DGFe5eTaoLV0HrUSSo1J\nt47KXVsU1bN/CIBpYsA4qWswOKkmoyqP8qIAHobNcrAzXGvmuydFHnadp6oI\nuVQxGhS3ctK56NYYwmQpNeqpnnZsjilXBQx8hbjk2Z8J/ILdNaZ7L+ix3UKH\nhCZlQpnH9EsMuvsGtWljXXftKEgBb/h19rWckJ9nrbLNPnta23bYVFbKK3PZ\nMUUJ\r\n=MhHh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPiq5TLSiv61KlONDwnqLxjeKN6nhKtSXBD/LBeSx2bgIhAJ4AKj4yvNnzDwT4HzZK92f1Z5TYVFtdyBNYP39F0x+C"}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_4.1.2_1580074979312_0.07039348309689175"},"_hasShrinkwrap":false},"4.2.0":{"name":"optimal","version":"4.2.0","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"prepare":"beemo create-config --silent","build":"beemo create-config babel --esm --silent && rollup --config && beemo typescript --emitDeclarationOnly","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"npx np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","predicate","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","devDependencies":{"@milesj/build-tools":"^1.0.0","@types/node":"^13.5.0","conventional-changelog-beemo":"^1.6.0","rollup":"^1.29.1","rollup-plugin-babel":"^4.3.3","rollup-plugin-node-resolve":"^5.2.0"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"],"eslint":{"rules":{"default-param-last":"off","no-param-reassign":"off"}}},"browserslist":["ie 11"],"funding":{"type":"ko-fi","url":"https://ko-fi.com/milesjohnson"},"gitHead":"392a1909fe583477a0a5d379eca5c01f1cf08cd3","_id":"optimal@4.2.0","_nodeVersion":"10.18.1","_npmVersion":"6.13.4","_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"dist":{"integrity":"sha512-jKFdiBkhJCVMh6oXsGNVFv/huPeFTEdlBtSuwDBYYClFn6lwV0fdRwRhWtpazM1ZMuV+bNNRFMth9SMWvUk3uQ==","shasum":"a97d9a12cb543988f2e54b88416b77d9a811ed69","tarball":"https://registry.npmjs.org/optimal/-/optimal-4.2.0.tgz","fileCount":29,"unpackedSize":105239,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeLhQ5CRA9TVsSAnZWagAAzC4P/2bjcXjQNYRMk86TgI4g\nPvyhfWdwam+2TKctxoUj5G2yAP9ZEs9XhXCU4YPP3dLV0p/aSIwP9WRP+Ak8\nsd/o9js2HGRpQVF2YCQw3/Cb4WhIG/iu4NMySDCtBxyvpZiKrRll5FE8/enF\nhKF58lkEWKi4ZJRloq5xuRhs0szstMfmX30KkgtelRd8QskLNyOnz0ouvYlA\n0YKyMwcrqjVrtt11i544umLF4dWBLFYlnMJr3OqhctzqK4r+bXsqQJraL53U\n9FQXn3GPNrm0dYCQuHB4DrZwtU5N5yq8aoX0LvrG/9TFWc578nfSCaLpPu/1\nKRcEDTkxyRaasQ0G2W0Xze4WSQ96nEqWdTSW01Ze/El1xLJdEabcY/mFY54x\nC5P6wUpF2WOUcNgJtrWqKhEpQVLfHAa8LwN4VGYhdICEVRkwY1gPZaHGjJD5\n/vYaZyo89zve1giWtEm8fBoPrndczFytIGWJ3qhgyq8Uv6gHmxNULUb74bEd\n6hqsaPKgbuX+8Z6uOmivAk18AtgUjROyJsFxWCy5068GK7TWynUJJYq3LRGF\n2X2UarzOC3hU57VjdRwpoa1RkWsZHTXbXSrLVkcgf5tZyAdsX9LJEEAUqIbg\n3Mi3tCPCEoUwpScf0C5L2u/U7vuM3P4IYzMH/figU1hep43pjTSie6WdpCYU\nJLlH\r\n=6HEC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEZuEWbukGsAasMPLtncuEdifj+T8Mk8eu3bW3kg5ZAUAiEArDhVENxZxeg9P12yAxeXL5VHwl1xcjSztTfsvlSDi3Q="}]},"maintainers":[{"email":"mileswjohnson@gmail.com","name":"milesj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_4.2.0_1580078137522_0.4027531367428929"},"_hasShrinkwrap":false},"4.2.1":{"name":"optimal","version":"4.2.1","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"prepare":"beemo create-config --silent","build":"beemo create-config babel --esm --silent && rollup --config && beemo typescript --emitDeclarationOnly","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"npx np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","predicate","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","engines":{"node":">=10.10.0"},"devDependencies":{"@milesj/build-tools":"^2.17.1","@types/node":"^13.9.0","conventional-changelog-beemo":"^1.6.0","rollup":"^2.0.0","rollup-plugin-babel":"^4.3.3","rollup-plugin-node-resolve":"^5.2.0"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"],"eslint":{"rules":{"default-param-last":"off","no-param-reassign":"off"}}},"browserslist":["ie 11"],"funding":{"type":"ko-fi","url":"https://ko-fi.com/milesjohnson"},"gitHead":"93ecd120f74541236808f4fbfa00c742adfb7d94","_id":"optimal@4.2.1","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-iczdusOzH5u7axlK5BBMTVZQGr5bzkIaN9rpjYgWNsCLn+dSH8TpsWyVnrvaOj1w1v9CmBNUVNiDYmJYLrbkFw==","shasum":"099378c98c6128406bbafa371effda9f5adfde2d","tarball":"https://registry.npmjs.org/optimal/-/optimal-4.2.1.tgz","fileCount":29,"unpackedSize":103056,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJfehCRA9TVsSAnZWagAAsKMP/j9pnN/GsLRmocbYfOt4\nLxtAkeLVvUOPCYVmOSf0WcwbrlXBsjI9C98MIRTcR6XsAMjwICQtZ4fn4cVR\ntr20kuvgtR8lbXFevJI6YNiwYhIa6WOEmLsqSRytDWeSzdqB8zDp541XwX0j\nnMmKPScnyb4JDn8WjWZnXLD5YyhUwMNXkyO8ADpH6NIiNqitBtyRCgJbufGW\nYJIdIXTHj4YYi2Klng6uzNg/e3wndnOwH0X7251oeroEGRYSSA9+vaEQlm+z\nHN6pEXzsICT8QOBWAMIpGEkQro2ZO6qkSpkwLCT6g7OlIMZAQbOqbvRmkzzD\nMolH7ZzXXRtm7XSkko+uT/Vyk1AKh4FToWOm9MEe0+9T3NHVpBZ5Wn//9b0Z\nJztDstEqmxuYSFXea42LH2/hGotVbu391e0NSt3hyjVLst8gZNcbgKtU2B6u\nlfnG9+q4NSfMD4X4wgIj2z2Lle5EWG2vmuZ93gazAuVabAqdrHkRdKtc2GmF\nXRpmovpFmVwfh+WZ5prK/Ongmfz2q3LsseEzacvo7N1SgLIsyPdRGaa5uz+d\nC7NYhkdKCGRMaI/MoqZHiLslJGzt2Ww9C7HFtu2X+px58ANuC48iLTyT+39K\nuHTSDW2PrmsMEqAquvVcXWmSOAmJZFkX2RNLP6XFQGpG8auDlywPXtK42gCd\nVxl2\r\n=bLr1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAEq1iSZFcydZd5Tnqccd2iYJoNDeomAXHtFV8hybAMPAiBoW4/BjXQB08lHUHmaRyI2cnFhZhwt/OpzFVBfKguftw=="}]},"_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"directories":{},"maintainers":[{"name":"milesj","email":"mileswjohnson@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_4.2.1_1613100961457_0.29730913965039796"},"_hasShrinkwrap":false},"4.3.0":{"name":"optimal","version":"4.3.0","description":"A system for building and validating defined object structures.","main":"./lib/index.js","module":"./esm/index.js","types":"./lib/index.d.ts","scripts":{"prepare":"beemo create-config --silent","build":"beemo create-config babel --esm --silent && rollup --config && beemo typescript --emitDeclarationOnly","coverage":"yarn run jest --coverage","eslint":"beemo eslint","jest":"beemo jest","prettier":"beemo prettier","prerelease":"yarn test && yarn run build","release":"npx np --yolo --no-yarn","pretest":"yarn run type","test":"yarn run jest","posttest":"yarn run eslint","type":"beemo typescript --noEmit"},"repository":{"type":"git","url":"git+https://github.com/milesj/optimal.git"},"keywords":["opts","options","predicate","validator","config","defaults","object","params","struct"],"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","engines":{"node":">=10.10.0"},"devDependencies":{"@milesj/build-tools":"^2.17.1","@types/node":"^14.14.31","conventional-changelog-beemo":"^2.1.0","rollup":"^2.39.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-node-resolve":"^5.2.0"},"beemo":{"module":"@milesj/build-tools","drivers":["babel","eslint","jest","prettier","typescript"],"eslint":{"rules":{"default-param-last":"off","no-param-reassign":"off"}}},"browserslist":["ie 11"],"funding":{"type":"ko-fi","url":"https://ko-fi.com/milesjohnson"},"gitHead":"483b2cd65dcb4bef2e68cb071ecc729aa48e6c2b","_id":"optimal@4.3.0","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-WzIbrg0hR3rZPspTIhYlTI2pFXo0+vsderjkJ4nuYj3FsHrdY6Q8EBaC5xhAb9vzwofZADLdSLqju+SlfxBD5w==","shasum":"b0c0e646f4c64f35f1f3f57412ec0a3a51a29789","tarball":"https://registry.npmjs.org/optimal/-/optimal-4.3.0.tgz","fileCount":29,"unpackedSize":104506,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgMf39CRA9TVsSAnZWagAAPM0P/RApY9rwZlEdxrG8UBcC\n/O1VxaZuJjjWk7dcZ4v+JGvp5qYdVUGcQNhmrOlVz41Ry2JAUA9FDfZRwD3k\n/3eQ0uP7/lDhVhHK3aMPwyHb32b6UNggDXcodG+R8QO7BoN4OSHGy/UT8nrS\nHaWMTWYRKxbK42HF8K/HBe7RoCOK0TAONrx8gCOt8hxo4AldaGi3QQhbxafp\nIW7SqrTFk57fTfQvcyV7/UcljXL0UVXgS43gWJoA8EQMtAEfn9QPOpnqGJr7\nav1FrZsasDvGFX6Xr2cILNiBsK9wcvXDyNzDHMp4iu7OFN9PnlGV/utkgdP+\nQRImbGr2EyR+kcGjhr2XEr+vw/tLMFrGk8YBUjRsYQovf/ilu1Jjlq5cIzH1\nvqF+/qLY7dGWlJHq1lU0mSnbVVoCoB7s+r4jx/zkne5mXcpXXLj8hw/wwxA8\nmoCfOdeEgCGB4v8npWLIU0ikJZdkiBAbW9qOHtOyOJY34kLPoIo0MTFkc9fv\n6no5nqm139ZFOerN/4x0B7xKBWDBJEZLyowkp1R+oXTMASZ4624h+71POruo\n79zNVLTyyNc3dLskMicufHa+VFV9cLrTDUPpIE0xYcOHKhXR/07Y5o/tDBDc\nJVT/Nisxr85ka9+cX4ZrtRfovcyZAPLkY6Aon/szu1NNmvb9ITOWo+pTD5kl\nMHNG\r\n=ObIn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICNwfusKUzN8CbToqtcNK7UQzAlCh2GYv2C/rfUBainiAiEAxRTJBaQTiqRZ2EYomEybjn3bLVyuIkN5//oX9au2W+Q="}]},"_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"directories":{},"maintainers":[{"name":"milesj","email":"mileswjohnson@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_4.3.0_1613889020899_0.48518709633912693"},"_hasShrinkwrap":false},"5.0.0-alpha.1":{"name":"optimal","type":"module","version":"5.0.0-alpha.1","description":"A system for building and validating defined object structures with schemas.","main":"./mjs/index.mjs","module":"./esm/index.js","types":"./dts/index.d.ts","keywords":["opts","options","schema","predicate","validator","config","defaults","object","params","struct"],"repository":{"type":"git","url":"git+ssh://git@github.com/milesj/optimal.git","directory":"optimal"},"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","engines":{"node":">=12.17.0","npm":">=6.13.0"},"funding":{"type":"ko-fi","url":"https://ko-fi.com/milesjohnson"},"packemon":{"bundle":true,"format":["mjs","esm"],"platform":["browser","node"]},"devDependencies":{"@jest/globals":"*"},"exports":{"./package.json":"./package.json",".":{"browser":{"import":"./esm/index.js","module":"./esm/index.js"},"node":{"import":"./mjs/index.mjs"},"types":"./dts/index.d.ts"}},"readme":"# Optimal\n\n[![Build Status](https://github.com/milesj/optimal/workflows/Build/badge.svg)](https://github.com/milesj/optimal/actions?query=branch%3Amaster)\n[![npm version](https://badge.fury.io/js/optimal.svg)](https://www.npmjs.com/package/optimal)\n[![npm deps](https://david-dm.org/milesj/optimal.svg)](https://www.npmjs.com/package/optimal)\n\nA system for building and validating defined object structures, like argument options, configuration\nfiles, data bags, validation fields, and more! Runs checks in development and strips checks in\nproduction using dead code elimination (should not be used on user input!).\n\n- Recursively builds and validates nested structures.\n- Supports common data types.\n- Autofills missing fields with default values.\n- Allows or restricts unknown fields.\n- Mark fields as nullable or required.\n- Handles logical operators AND, OR, and XOR.\n\n```ts\nimport optimal, { array, string, number } from 'optimal';\n\n// Pass a partial object and define an explicit blueprint\noptimal(\n  { name: 'Optimal' },\n  {\n    name: string().notEmpty(),\n    include: array().of(string()),\n    exclude: array().of(string()),\n    maxSize: number(10000).gte(0),\n  },\n);\n\n// Which validates, builds, and returns the following object\n{\n  name: 'Optimal',\n  include: [],\n  exclude: [],\n  maxSize: 10000,\n}\n```\n\n## Requirements\n\n- Node 12.17+\n- Edge / Modern browsers\n\n## Installation\n\n```\nyarn add optimal\n```\n\n## Documentation\n\n[https://milesj.gitbook.io/optimal](https://milesj.gitbook.io/optimal)\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","_id":"optimal@5.0.0-alpha.1","_nodeVersion":"14.15.1","_npmVersion":"7.20.1","dist":{"integrity":"sha512-BtRGgTn33kJrGQMTIFW4bDA7HIov5sdcXkgydBJm7iP3TX4HwUbjFrTGBVRW1a8w2PXvhYhK4ws7OajfNWqfnw==","shasum":"733d60646f307b0cdb7ee5902cb45b72d0bc43eb","tarball":"https://registry.npmjs.org/optimal/-/optimal-5.0.0-alpha.1.tgz","fileCount":81,"unpackedSize":261888,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhOU3XCRA9TVsSAnZWagAArVEP/Arae5tej13oeKu28Dkg\n3LnvJQX62+3j0o0fNMgwfIlRbyPedhpRxD64DOMaYS58Q8CzAoOzKq5abKa+\n1A6q8bzuLZgBjnhcdGHYAPbwUaKKiRnXIqTvefI/e5Xjyt8qB/lf2Z40tqVi\nU65rPgnT6UDDil2Z1cs4kZPgi0P6R/t/989qjsmW3Z2H3yjuwz8dTgsNUPkZ\nJiwSOJW3hyA41W4QoJuJbxSAGIQMJTkwtwn4yFNZYf8xI76R9jRzXUcQF0Ga\nDb7O2b/kpC3B6VxzlqB01sGKkHXxtDZ0EnaCGi79Z5on61jOVsy4PF/HmmDO\nSDZFyb8NUTBG6CNbPKUrCVgx0Kt5m/mFwNMdE72RKcCoq3sTySCuYS7Kn6QW\nSpsEFuFfzvY6aOLAG/aR5LMEBpbLY5WMUjS2FexwcQRT18aWVQmnLND7lGit\n6jF/tDax7NKC9fg97WVNh2YZM9uMO73bRCZmUQ4N6E/Jb5wSvSsPpA6FTOWL\ndeJAwbN+iadV/K7Y2fE8OsV0Y0VfchpEMnAzkC5D3qegIeg6Rf+Hqh2M7o7k\ncI0SGGDBQ/zVPF4cOUnto/qVpbG771ZEIKQNzihowSyrPorjuNs6nbB/uzwf\nssll1/RBoK9Y5KpV/x4HB2VAyNQJYRxt5E6UJ9OI1BRBsDJwRt8UvmR/jWhI\nLuUb\r\n=Aspf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC6V0fsvltPkh+FvTZZYqCWTLI5+GcMH3RiB0H2+RJgSQIgB0UnjP+RaMu9uDqv00njJZcGN0bH95xYboMoiykiQco="}]},"_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"directories":{},"maintainers":[{"name":"milesj","email":"mileswjohnson@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_5.0.0-alpha.1_1631145431101_0.08153519963939693"},"_hasShrinkwrap":false},"5.0.0-alpha.2":{"name":"optimal","type":"module","version":"5.0.0-alpha.2","description":"A system for building and validating defined object structures with schemas.","main":"./mjs/index.mjs","module":"./esm/index.js","types":"./dts/index.d.ts","keywords":["opts","options","schema","predicate","validator","config","defaults","object","params","struct"],"repository":{"type":"git","url":"git+ssh://git@github.com/milesj/optimal.git","directory":"optimal"},"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","engines":{"node":">=12.17.0","npm":">=6.13.0"},"funding":{"type":"ko-fi","url":"https://ko-fi.com/milesjohnson"},"packemon":{"bundle":true,"format":["mjs","esm"],"platform":["browser","node"]},"devDependencies":{"@jest/globals":"*"},"exports":{"./package.json":"./package.json",".":{"browser":{"import":"./esm/index.js","module":"./esm/index.js"},"node":{"import":"./mjs/index.mjs"},"types":"./dts/index.d.ts"}},"readme":"# Optimal\n\n[![Build Status](https://github.com/milesj/optimal/workflows/Build/badge.svg)](https://github.com/milesj/optimal/actions?query=branch%3Amaster)\n[![npm version](https://badge.fury.io/js/optimal.svg)](https://www.npmjs.com/package/optimal)\n[![npm deps](https://david-dm.org/milesj/optimal.svg)](https://www.npmjs.com/package/optimal)\n\nA system for building and validating defined object structures, like argument options, configuration\nfiles, data bags, validation fields, and more! Runs checks in development and strips checks in\nproduction using dead code elimination (should not be used on user input!).\n\n- Recursively builds and validates nested structures.\n- Supports common data types.\n- Autofills missing fields with default values.\n- Allows or restricts unknown fields.\n- Mark fields as nullable or required.\n- Handles logical operators AND, OR, and XOR.\n\n```ts\nimport optimal, { array, string, number } from 'optimal';\n\n// Pass a partial object and define an explicit blueprint\noptimal(\n  { name: 'Optimal' },\n  {\n    name: string().notEmpty(),\n    include: array().of(string()),\n    exclude: array().of(string()),\n    maxSize: number(10000).gte(0),\n  },\n);\n\n// Which validates, builds, and returns the following object\n{\n  name: 'Optimal',\n  include: [],\n  exclude: [],\n  maxSize: 10000,\n}\n```\n\n## Requirements\n\n- Node 12.17+\n- Edge / Modern browsers\n\n## Installation\n\n```\nyarn add optimal\n```\n\n## Documentation\n\n[https://milesj.gitbook.io/optimal](https://milesj.gitbook.io/optimal)\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","_id":"optimal@5.0.0-alpha.2","_nodeVersion":"14.15.1","_npmVersion":"7.20.1","dist":{"integrity":"sha512-CSZubCy7WlA628NYo6uXAFRLDh6lWdo75pBpn+4NZpCYwfXr9nlBv0hhysLdx0Lxkl9V0THCkXKo1yrcPES7kg==","shasum":"cc1fb71f71f4eb4b570258602cbc4a6d3037ed16","tarball":"https://registry.npmjs.org/optimal/-/optimal-5.0.0-alpha.2.tgz","fileCount":81,"unpackedSize":261783,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQqD6CRA9TVsSAnZWagAAaEUP+wUvJaUBLYR6K3gqrDpx\nR7et05MucHmUcJUTXzHl6hFe5ntXK8lDCB0e1YpqErTiSpmClbMniypl4Wsc\nbz9bC+lXXa7UHW9EZtF7EwTzbzFw8c3u2QWLlzmNDXMV2wnyqN0QoGyO0mRC\nfhwqlMqUisMCIkel633DgzbR/Ru6ZHOYibTkZZ9EWnqNaKlrppSBC+fK5le0\nwvxY9W94QsF356lToIAkE0PFrbISjMMfCoYAGIBfLyFiwsHYGWxpjozK38C+\n2GdDef+n9RcbgPxTseuZ2/uZ0vXWZTvDrIyaHUuHHyqiV5ZfYMorjHjuFvDa\nSXhQbeTwC/Ac4M+o477xf8N6RuMaZ5HCVIhl9eItJ28U0cjmzTJj5TAgNVIL\n0A5Wl9BmplL0WLok9SLvChCQTp/lvHPdhj8QEbFs0JoCIyGXgw8rKdxGYbdN\nC5ETAFIP7jGtATj4AZByWqeidAz6n1m9Yx0pLuqrxIlvHtLyI3337HCgWnfP\ndB/D+mTggcEy+WBC5fa+roNXSSY9vgva7MOo3N7nsBTCsiIZVQ1NYF2fx/A8\ni0Di2nYyrTPmsFA/IR7/Hm9dzExw+Io6EOaxVXdR9/tUSfBC5e7WSSaZCoTh\nMjt8/aitn3ZxpVZJZmGqSYGzJgzQITZ2WlC+n+AIipk0LkTR1IskxJchZDoP\nA3Ie\r\n=reHX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRzmklq5AmPCN4r8OmQqFOMDY7dGAhYrtzuxNjr+LgFQIhAKonYL9V4F+/Z45XssFCXa+Molr7Q4Xfnxo9BFMna3bu"}]},"_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"directories":{},"maintainers":[{"name":"milesj","email":"mileswjohnson@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_5.0.0-alpha.2_1631756537845_0.7437866328211986"},"_hasShrinkwrap":false},"5.0.0-alpha.3":{"name":"optimal","type":"module","version":"5.0.0-alpha.3","description":"A system for building and validating defined object structures with schemas.","main":"./lib/node/index.js","browser":"./lib/browser/index.js","module":"./esm/index.js","types":"./dts/index.d.ts","keywords":["opts","options","schema","predicate","validator","config","defaults","object","params","struct"],"repository":{"type":"git","url":"git+ssh://git@github.com/milesj/optimal.git","directory":"optimal"},"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","engines":{"node":">=12.17.0","npm":">=6.13.0"},"funding":{"type":"ko-fi","url":"https://ko-fi.com/milesjohnson"},"packemon":{"bundle":true,"format":["lib","esm"],"platform":["browser","node"]},"gitHead":"ff5624c9e6327990d91ad2d69797a6cebaeca67d","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","_id":"optimal@5.0.0-alpha.3","_nodeVersion":"14.15.1","_npmVersion":"lerna/4.0.0/node@v14.15.1+x64 (darwin)","dist":{"integrity":"sha512-RXN2zQliV0d8siebOEQUw5Jkfjg0DexeMzLzlSK2wIZoRbhJfimrlgqASFAVMN8qqsZYlFOSw9x1Or7OB3rURQ==","shasum":"5eaf8681688a45757cc51151bda05bd4f8fd4f5e","tarball":"https://registry.npmjs.org/optimal/-/optimal-5.0.0-alpha.3.tgz","fileCount":83,"unpackedSize":349930,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDX91IHUwuKtB7pAgtNB4D4/0jXrCUaK6lF/0iTGajeJAiEA6ZIV8mStEoH6ecnQPrNYo7z2ZjrH7LGIS3GkYP7oOSw="}]},"_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"directories":{},"maintainers":[{"name":"milesj","email":"mileswjohnson@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_5.0.0-alpha.3_1632185122241_0.35801348007247147"},"_hasShrinkwrap":false},"5.0.0-alpha.4":{"name":"optimal","type":"module","version":"5.0.0-alpha.4","description":"A system for building and validating defined object structures with schemas.","main":"./lib/node/index.js","browser":"./lib/browser/index.js","module":"./esm/index.js","types":"./dts/index.d.ts","keywords":["opts","options","schema","predicate","validator","config","defaults","object","params","struct"],"repository":{"type":"git","url":"git+ssh://git@github.com/milesj/optimal.git","directory":"optimal"},"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","engines":{"node":">=12.17.0","npm":">=6.13.0"},"funding":{"type":"ko-fi","url":"https://ko-fi.com/milesjohnson"},"packemon":{"bundle":true,"format":["lib","esm"],"platform":["browser","node"]},"gitHead":"d96228ccbc4dedda3f51667e9833563ed55ea26f","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","_id":"optimal@5.0.0-alpha.4","_nodeVersion":"14.15.1","_npmVersion":"lerna/4.0.0/node@v14.15.1+x64 (darwin)","dist":{"integrity":"sha512-kJwR3ueNnKHBKr3DRL2RYE1kWh2rJiILj0FltlamS619FBTPS586c4nw5SuWWjW7EgLugwGSq4pbiO1yIpVaRg==","shasum":"76da37267338ae58d0f5be19d8b221265142b92f","tarball":"https://registry.npmjs.org/optimal/-/optimal-5.0.0-alpha.4.tgz","fileCount":83,"unpackedSize":356309,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICpL5A4xOR/DNZHItUKzvsRAThAqnyNZGWmnlukKnU8HAiAKEb/8pKrf6w3U+ISKCRt6H5IkESun5GUiFL1i6dZeSQ=="}]},"_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"directories":{},"maintainers":[{"name":"milesj","email":"mileswjohnson@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_5.0.0-alpha.4_1632193248097_0.9457580041335398"},"_hasShrinkwrap":false},"5.0.0-alpha.5":{"name":"optimal","type":"module","version":"5.0.0-alpha.5","description":"A system for building and validating defined object structures with schemas.","main":"./lib/node/index.js","browser":"./lib/browser/index.js","module":"./esm/index.js","types":"./dts/index.d.ts","keywords":["opts","options","schema","predicate","validator","config","defaults","object","params","struct"],"repository":{"type":"git","url":"git+ssh://git@github.com/milesj/optimal.git","directory":"optimal"},"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","engines":{"node":">=12.17.0","npm":">=6.13.0"},"funding":{"type":"ko-fi","url":"https://ko-fi.com/milesjohnson"},"packemon":{"bundle":true,"format":["lib","esm"],"platform":["browser","node"]},"gitHead":"9c36f5d65c767a36b1c29a5c052b885552dc6d21","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","_id":"optimal@5.0.0-alpha.5","_nodeVersion":"14.15.1","_npmVersion":"lerna/4.0.0/node@v14.15.1+x64 (darwin)","dist":{"integrity":"sha512-bmIlTD1YDdP65FR6qVNvXuAWHQ0gX+VTC9uBFezeHKNnxkUM50XysWkV9prSVfu7Bfm8q6m+5eS/AhgA6JOvLg==","shasum":"a9acc0b978c18bbb741ec8102e78ba3726d9c331","tarball":"https://registry.npmjs.org/optimal/-/optimal-5.0.0-alpha.5.tgz","fileCount":83,"unpackedSize":371304,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGgaHqRV0il5cvmTw4ENDbjerXwDrTnRsMh4Q1bXGH96AiBL9EpxgwGGRlxhuWumC2Y4coiXGvA2FosYHf67dxE6kA=="}]},"_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"directories":{},"maintainers":[{"name":"milesj","email":"mileswjohnson@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_5.0.0-alpha.5_1633054043915_0.5644606898577107"},"_hasShrinkwrap":false},"5.0.0":{"name":"optimal","version":"5.0.0","description":"Build, validate, and transform values with immutable typed schemas.","main":"./lib/node/index.js","browser":"./lib/browser/index.js","module":"./esm/index.js","types":"./dts/index.d.ts","keywords":["opts","options","schema","predicate","validator","config","defaults","object","params","struct"],"repository":{"type":"git","url":"git+ssh://git@github.com/milesj/optimal.git","directory":"optimal"},"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","engines":{"node":">=12.17.0","npm":">=6.13.0"},"funding":{"type":"ko-fi","url":"https://ko-fi.com/milesjohnson"},"packemon":{"bundle":true,"format":["lib","esm"],"platform":["browser","node"]},"gitHead":"c86bfc388a9aab6367e8bf00ed0d6679b89cf26d","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","_id":"optimal@5.0.0","_nodeVersion":"14.15.1","_npmVersion":"lerna/4.0.0/node@v14.15.1+x64 (darwin)","dist":{"integrity":"sha512-RnOcfw7tmzlZJ4hs2lGK9VHCG5m2z2mVfRRJcRd/FfhMxrU9A5KwTQA0yFGaU2EmaKqr/aulJDcQ3nxkKQNJmA==","shasum":"5e4118f9bb84ba8b528279e2d037d559f07d1cef","tarball":"https://registry.npmjs.org/optimal/-/optimal-5.0.0.tgz","fileCount":83,"unpackedSize":420560,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC4Y9onZJWQ6v9tmSOWC57CPBvXQtzqneJyal97Psv3dAiEAkYevcNO+QPdCOhsoPhN7Kx3Uo7QyDSFTQIPEIqcSGcE="}]},"_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"directories":{},"maintainers":[{"name":"milesj","email":"mileswjohnson@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_5.0.0_1633572494943_0.8629188635390816"},"_hasShrinkwrap":false},"5.1.0":{"name":"optimal","version":"5.1.0","description":"Build, validate, and transform values with immutable typed schemas.","main":"./lib/node/index.js","browser":"./lib/browser/index.js","module":"./esm/index.js","types":"./dts/index.d.ts","keywords":["opts","options","schema","predicate","validator","config","defaults","object","params","struct"],"repository":{"type":"git","url":"git+ssh://git@github.com/milesj/optimal.git","directory":"optimal"},"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","engines":{"node":">=12.17.0","npm":">=6.13.0"},"funding":{"type":"ko-fi","url":"https://ko-fi.com/milesjohnson"},"packemon":{"bundle":true,"format":["lib","esm"],"platform":["browser","node"]},"gitHead":"f25b4ebe01b43495907a30ef62add64fc5724d1a","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","_id":"optimal@5.1.0","_nodeVersion":"14.15.1","_npmVersion":"lerna/4.0.0/node@v14.15.1+x64 (darwin)","dist":{"integrity":"sha512-CXVROhna6JG35AWFveN1iWeszBCChFz50J488uDCUDQI3JaBEPS/PKN/Gocp+Pgd9KM1K2zjNHaSrtif+YjTCQ==","shasum":"88faedbf573f0904bc6c58420339fae730dddd5a","tarball":"https://registry.npmjs.org/optimal/-/optimal-5.1.0.tgz","fileCount":83,"unpackedSize":431159,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE4cPb8WzUuNlsI4VR9Gj4mwm2HjLr6yCWaHK62/tHsdAiEAqT3/KdOk8Qc/h7Oit/GvLzOOApzAm00Xj5NL/F9Xt7Y="}]},"_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"directories":{},"maintainers":[{"name":"milesj","email":"mileswjohnson@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_5.1.0_1633901691639_0.6655792859805116"},"_hasShrinkwrap":false},"5.1.1":{"name":"optimal","version":"5.1.1","description":"Build, validate, and transform values with immutable typed schemas.","main":"./lib/node/index.js","browser":"./lib/browser/index.js","module":"./esm/index.js","types":"./dts/index.d.ts","keywords":["opts","options","schema","predicate","validator","config","defaults","object","params","struct"],"repository":{"type":"git","url":"git+ssh://git@github.com/milesj/optimal.git","directory":"optimal"},"author":{"name":"Miles Johnson","url":"http://milesj.me"},"license":"MIT","engines":{"node":">=12.17.0","npm":">=6.13.0"},"funding":{"type":"ko-fi","url":"https://ko-fi.com/milesjohnson"},"packemon":{"bundle":true,"format":["lib","esm"],"platform":["browser","node"]},"gitHead":"265258e5e01c77c33b87637ade0743f0e09b8d19","bugs":{"url":"https://github.com/milesj/optimal/issues"},"homepage":"https://github.com/milesj/optimal#readme","_id":"optimal@5.1.1","_nodeVersion":"14.15.1","_npmVersion":"lerna/4.0.0/node@v14.15.1+x64 (darwin)","dist":{"integrity":"sha512-BnPOc4N+cnAeVJPech1Sy4vA7wVsum/CPWVxgWYrCmmw9EjtO2u3ZFPr7x25z5Z/bZl7RB+FT/EQ9pCCU0ITSg==","shasum":"46e564027105d21f2d6913898457394424b716aa","tarball":"https://registry.npmjs.org/optimal/-/optimal-5.1.1.tgz","fileCount":83,"unpackedSize":430829,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh219ICRA9TVsSAnZWagAAyaIP/1OWPD5FeOW2XiVIKyOj\nMtT3Fa8txVszJwooeX3SCSMwQjywEO/fPA3iBgjlxYAVsuXa64xLkAlYZ1qy\nBF5+tvj4/df4/DJr+/zFnoUrTXPZl7IL7mCxc8BPhZqO0EZC0T9kYPWSSb1z\ny6Ow9k1Pe1HmUgzAIlnYFAmpTukcjGBKICkX5RYCMDb87mipnhXmupeJU6I7\nedyU+RbBFS1QEWLlbrnnqz5eNfV3XSUUuWazwKOCoOXaCyuAFspzAL0bxbz2\nrwuNy7xhYE/0FWDO48MpO72MlQi1TfigtgXu3gC3DQ6m2QvNBus8HF0LD2Lk\nRis5KLdBvmmfePnGw7Ok2heo2aNqgdZE5FawnQR9eUb6cAdoypFpPIgpvXGA\n4b6aI/lO95yfF0k48l/DpSLrwPrqdM3axJfu3Y4kqzbNrQfGLsk7cXnZwihc\nAeVLE8e29jzQSPNEMkC9z0i9FGy+EgQQwEeh0dnv1l7BN90d4OaDh6xO0nml\n+XY8bABwN5emd2jboHibJlGh3j/nK8fur/usvII7uANPvqMq8qw/ZWzGJEN0\nU1sAiJWQhhWGlu2K5Og6gU0mowILr2e8cTMFg5S/qOKd6B5stHnO1rBpyiUw\n1IyqCc3zQopO4LfTXBg4adjPy4lFfSQrEOYiI5eX2dkBQLlBo4HRIIqupNVJ\n01uJ\r\n=XWcr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/RKHxibPSQ7QF8twJYBx6UMNc1m9X1y7gEO3UddScSwIgWFQSW0l2FyUv3aOqcq4eMWPgseHFl2trOTUOnqk5U6M="}]},"_npmUser":{"name":"milesj","email":"mileswjohnson@gmail.com"},"directories":{},"maintainers":[{"name":"milesj","email":"mileswjohnson@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optimal_5.1.1_1634428203808_0.688806695275102"},"_hasShrinkwrap":false}},"readme":"# Optimal\n\n[![Build Status](https://github.com/milesj/optimal/workflows/Build/badge.svg)](https://github.com/milesj/optimal/actions?query=branch%3Amaster)\n[![npm version](https://badge.fury.io/js/optimal.svg)](https://www.npmjs.com/package/optimal)\n[![npm deps](https://david-dm.org/milesj/optimal.svg)](https://www.npmjs.com/package/optimal)\n\nOptimal is a system for building and validating any value with typed schemas, and first-class\nsupport for defined object structures, like options objects, configuration files, validation fields,\nand many more. Optimal aims to provide a powerful API, with high performance, the lowest possible\nfilesize, and TypeScript-first support.\n\n```ts\n// Import schemas to build validators withs\nimport { array, string, number, optimal } from 'optimal';\n\n// Define and validate values with individual schemas\nconst maxSizeSchema = number().positive().lte(10000);\n\nmaxSizeSchema.validate(1234);\n\n// Or define an explicit shaped blueprint\nconst schema = optimal({\n  name: string().notEmpty(),\n  include: array().of(string()),\n  exclude: array().of(string()),\n  maxSize: maxSizeSchema\n});\n\n// Pass a full or partial object to validate\nconst options = schema.validate({ name: 'Optimal' });\n\n// Which validates, builds, and returns the following object\n{\n  name: 'Optimal',\n  include: [],\n  exclude: [],\n  maxSize: 10000,\n}\n```\n\n## Features\n\n- Zero dependencies, with a tree-shakable API.\n- Powerful inferrence using a TypeScript first design.\n- Runs in both Node.js and the browser.\n- Smallest filesize: 5kB minified and gzipped!\n- Immutable & fluent schema builder pattern.\n- Recursively builds and validates nested structures.\n- Supports common data types.\n- Autofills missing fields with default values.\n- Allows or restricts unknown fields.\n- Mark fields as nullable or required.\n- Handles logical operators AND, OR, and XOR.\n\n## Requirements\n\n- Node v12.17 (server)\n- Edge, Chrome, Firefox, Safari (browser)\n\n## Installation\n\n```\nyarn add optimal\n```\n\n## Documentation\n\n[https://optimallib.dev](https://optimallib.dev)\n","maintainers":[{"name":"milesj","email":"mileswjohnson@gmail.com"}],"time":{"modified":"2022-06-23T01:08:03.280Z","created":"2012-07-01T16:56:54.893Z","0.0.2":"2012-07-01T16:56:57.568Z","0.0.3":"2012-07-03T18:00:39.708Z","0.1.0":"2013-02-01T19:21:28.085Z","0.2.0":"2017-06-24T02:27:44.391Z","0.3.0":"2017-07-04T01:39:54.734Z","0.3.1":"2017-07-06T07:36:03.576Z","0.4.0":"2017-07-07T02:59:58.419Z","0.5.0":"2017-07-07T05:40:13.446Z","0.6.0":"2017-07-08T03:04:09.665Z","0.7.0":"2017-07-08T03:48:24.430Z","0.8.0":"2017-07-09T04:42:57.450Z","0.9.0":"2017-07-10T05:54:33.651Z","0.10.0":"2017-07-11T03:13:32.063Z","0.11.0":"2017-07-11T06:29:01.224Z","0.12.0":"2017-07-14T07:17:56.813Z","0.13.0":"2017-07-15T04:24:01.468Z","0.14.0":"2017-07-29T02:32:53.154Z","0.15.0":"2018-03-21T02:15:48.641Z","0.16.0":"2018-03-23T01:08:20.856Z","0.17.0":"2018-03-23T07:04:22.338Z","0.17.1":"2018-03-24T02:58:54.497Z","0.17.2":"2018-03-24T06:10:54.844Z","0.17.3":"2018-03-24T06:24:20.078Z","0.18.0":"2018-03-25T21:28:02.426Z","0.19.0":"2018-04-11T01:22:57.665Z","0.20.0":"2018-06-07T00:54:57.578Z","1.0.0":"2018-06-07T17:03:51.187Z","1.1.0":"2018-09-02T20:40:45.461Z","1.1.1":"2018-09-02T21:18:29.412Z","1.1.2":"2018-10-16T01:41:00.383Z","1.1.3":"2018-10-16T01:44:45.272Z","1.2.0":"2018-12-31T21:54:31.295Z","2.0.0-0":"2019-01-30T23:47:08.097Z","2.0.0-1":"2019-01-31T00:29:03.609Z","2.0.0-2":"2019-01-31T00:41:25.964Z","2.0.0":"2019-01-31T01:04:42.502Z","2.1.0":"2019-02-07T04:59:52.715Z","2.1.1":"2019-02-08T03:25:24.924Z","2.2.0-0":"2019-04-04T01:55:42.473Z","2.2.0-1":"2019-04-04T02:29:51.428Z","3.0.0-0":"2019-04-04T04:33:19.295Z","3.0.0":"2019-04-04T04:55:40.119Z","3.1.0-0":"2019-04-08T01:31:56.000Z","3.1.0":"2019-04-08T03:21:35.796Z","3.1.1":"2019-04-13T22:49:09.953Z","3.2.0":"2019-04-20T22:39:16.836Z","3.2.1":"2019-04-23T00:42:17.497Z","3.3.0":"2019-12-03T01:37:06.005Z","3.4.0":"2019-12-29T01:31:51.604Z","4.0.0-0":"2020-01-03T05:35:39.226Z","4.0.0-1":"2020-01-04T05:11:18.381Z","4.0.0-2":"2020-01-04T05:54:26.454Z","4.0.0":"2020-01-08T04:32:52.708Z","4.0.1":"2020-01-19T23:39:48.138Z","4.1.0":"2020-01-20T22:45:40.196Z","4.1.1":"2020-01-25T06:53:19.476Z","4.1.2":"2020-01-26T21:42:59.470Z","4.2.0":"2020-01-26T22:35:37.657Z","4.2.1":"2021-02-12T03:36:01.582Z","4.3.0":"2021-02-21T06:30:21.041Z","5.0.0-alpha.1":"2021-09-08T23:57:11.324Z","5.0.0-alpha.2":"2021-09-16T01:42:18.025Z","5.0.0-alpha.3":"2021-09-21T00:45:22.457Z","5.0.0-alpha.4":"2021-09-21T03:00:48.268Z","5.0.0-alpha.5":"2021-10-01T02:07:24.062Z","5.0.0":"2021-10-07T02:08:15.123Z","5.1.0":"2021-10-10T21:34:51.759Z","5.1.1":"2021-10-16T23:50:03.952Z"},"author":{"name":"Miles Johnson","url":"http://milesj.me"},"repository":{"type":"git","url":"git+ssh://git@github.com/milesj/optimal.git","directory":"optimal"},"license":"MIT","readmeFilename":"README.md","homepage":"https://github.com/milesj/optimal#readme","keywords":["opts","options","schema","predicate","validator","config","defaults","object","params","struct"],"bugs":{"url":"https://github.com/milesj/optimal/issues"}}