{"_id":"typed-props","_rev":"32-d99f520b410cff46071da4e7ac398b6d","name":"typed-props","description":"Facebook's PropTypes standalone extensible implementation for browser and server","dist-tags":{"latest":"1.4.0","next":"1.0.0"},"versions":{"3.5.2":{"name":"typed-props","main":"src/index.js","scripts":{"build":"npm run build:dev && npm run build:prod","build:dev":"webpack","build:prod":"NODE_ENV=production webpack","test":"mocha test/**.spec.js"},"license":"MIT","devDependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","mocha":"^3.4.1","should":"^11.2.1","webpack":"^2.5.1"},"version":"3.5.2","description":"Standalone and enhanced implementation of Facebook's PropTypes for browser and server","directories":{"test":"test"},"dependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","should":"^11.2.1","webpack":"^2.5.1"},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"keywords":["saga","sagas","async-effects","async","generators","flow","control"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"2f5f2ef15855495fcb741f2fcfcd99a29f7f68c4","_id":"typed-props@3.5.2","_npmVersion":"5.0.3","_nodeVersion":"8.1.2","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-0LCSBMIZLbUNRVcjpPEOPrjiUrSl54AcdviRN2afEmptCTYlHIoVSHcrKt1qAolDtp+j0LI4nBI1zIdirkawCQ==","shasum":"538fdd21079648fafc581a19700d358dfce98bbe","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-3.5.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAHw2crQmRAIpCrWxozVPjeFqWkJEfhWUlvYTFiZXyQaAiEAhD/nZqS36sYerOl65mao/357rRCyn7cSwacf/GUAW5g="}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props-3.5.2.tgz_1501035213291_0.6675268467515707"}},"0.3.5":{"name":"typed-props","main":"src/index.js","scripts":{"build":"npm run build:dev && npm run build:prod","build:dev":"webpack","build:prod":"NODE_ENV=production webpack","test":"mocha test/**.spec.js"},"license":"MIT","devDependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","mocha":"^3.4.1","should":"^11.2.1","webpack":"^2.5.1"},"version":"0.3.5","description":"Standalone and enhanced implementation of Facebook's PropTypes for browser and server","directories":{"test":"test"},"dependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","should":"^11.2.1","webpack":"^2.5.1"},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"keywords":["saga","sagas","async-effects","async","generators","flow","control"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"2f5f2ef15855495fcb741f2fcfcd99a29f7f68c4","_id":"typed-props@0.3.5","_npmVersion":"5.0.3","_nodeVersion":"8.1.2","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-uW9FDbsChGI6vsyB0J2J/6HVUOzvr5jfx39dJt8w+5JVg72lr2D6T7oaat8BAqdw1A24XZpOZd9IuXuvrYLeYg==","shasum":"3cdbab60fe3633e3eda140d7355226704345b68d","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-0.3.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDvuBae45A5FQGOcNVZU1NTFNrbEB/kSgygUml/K7W+KQIhAM/vk94/+osMp9vm5fkAYUvQBcxNCK9D37Z6Lx6Bm7ez"}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props-0.3.5.tgz_1501035228700_0.9312204360030591"}},"0.3.6":{"name":"typed-props","main":"src/index.js","scripts":{"build":"npm run build:dev && npm run build:prod","build:dev":"webpack","build:prod":"NODE_ENV=production webpack","test":"mocha test/**.spec.js"},"license":"MIT","devDependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","mocha":"^3.4.1","should":"^11.2.1","webpack":"^2.5.1"},"version":"0.3.6","description":"Facebook's PropTypes standalone extensible implementation for browser and server","directories":{"test":"test"},"dependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","should":"^11.2.1","webpack":"^2.5.1"},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"keywords":["saga","sagas","async-effects","async","generators","flow","control"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"39c65274941ef5913e299d1755791adb618e950e","_id":"typed-props@0.3.6","_npmVersion":"5.0.3","_nodeVersion":"8.1.2","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-BqYdIipVqDJzFki1VL81cHi4tQ7J/D2q8np56Nsi7jQwcmDj53dN5I6/9Xv6mppkS/uCbIlhNsKglJg5i6u5kg==","shasum":"90d58f21a0207d290fab33eea234fab09394ce1a","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-0.3.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLkAmzTATHR8v9tKLDs9W2CePJknYoMjrxmQJ/qP+JpQIgQpXi9FlMrZRmpo86RK9p+Ge6s4+wrYG/EPZicSmlSzs="}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props-0.3.6.tgz_1501035598934_0.33766060206107795"}},"0.3.7":{"name":"typed-props","version":"0.3.7","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"src/index.js","scripts":{"build":"npm run build:dev && npm run build:prod","build:dev":"webpack","build:prod":"NODE_ENV=production webpack","test":"mocha test/**.spec.js","prepublish":"npm run build"},"license":"MIT","devDependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","mocha":"^3.4.1","should":"^11.2.1","webpack":"^2.5.1"},"directories":{"test":"test"},"dependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","should":"^11.2.1","webpack":"^2.5.1"},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"keywords":["saga","sagas","async-effects","async","generators","flow","control"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"1eb278752f47b08482e6971aa70f4a39b71eeba3","_id":"typed-props@0.3.7","_npmVersion":"5.0.3","_nodeVersion":"8.1.2","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-vba11Um4GCcxji48hxKs2ENH9kqs50iZiSXYPBo91B3yBlXgnIYY7j4P14tLZM9LTzd8QppGa97vK6vJJm371w==","shasum":"44bbc3cc70cb7806c80d189936f3b1bc4aa7ecd0","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-0.3.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEzg2mBZERpFwCVmN68UWebxM3gcalGlHUiMSXQUEvx4AiA+R+sWr/vQE5iVjpfhBcSnPHMJNWV3nYPsUgtErZa75Q=="}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props-0.3.7.tgz_1501036113126_0.10040632169693708"}},"0.3.8":{"name":"typed-props","version":"0.3.8","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"src/index.js","scripts":{"build":"npm run build:dev && npm run build:prod","build:dev":"webpack","build:prod":"NODE_ENV=production webpack","test":"mocha test/**.spec.js","prepublish":"npm run build"},"license":"MIT","devDependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","mocha":"^3.4.1","should":"^11.2.1","webpack":"^2.5.1"},"directories":{"test":"test"},"dependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","should":"^11.2.1","webpack":"^2.5.1"},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=0.6.0"},"keywords":["saga","sagas","async-effects","async","generators","flow","control"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"d435fc3c6bf5e8a7267436340d4728df7e372d54","_id":"typed-props@0.3.8","_npmVersion":"5.0.3","_nodeVersion":"8.1.2","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-2RTI1Jnr0eO8c2HjRKBEftZiDOO6UbuDfZ97rX+6UENMdA1QQZpAYiBzVhc5tk8xDxB44xfsKH8IQj28KbjUnw==","shasum":"0113149c9283a6ddd272582223856b6f7512e6ce","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-0.3.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICHlofGQgVJAvBntInXBjnnOVcsbwdFS+tSeVL0XDl3XAiBEa2POwTbCvP9ixnG6NeKODj9vmZTkg3QOKH/gUfZRSQ=="}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props-0.3.8.tgz_1501038079247_0.31412458000704646"}},"0.3.9":{"name":"typed-props","version":"0.3.9","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"src/index.js","scripts":{"build":"npm run build:dev && npm run build:prod","build:dev":"webpack","build:prod":"NODE_ENV=production webpack","test":"mocha test/**.spec.js","prepublish":"npm run build"},"license":"MIT","devDependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","mocha":"^3.4.1","should":"^11.2.1","webpack":"^2.5.1"},"directories":{"test":"test"},"dependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","should":"^11.2.1","webpack":"^2.5.1"},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=6.0.0"},"keywords":["saga","sagas","async-effects","async","generators","flow","control"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"887dc11990962bebacd3daa3485a6db5cccca3ab","_id":"typed-props@0.3.9","_npmVersion":"5.0.3","_nodeVersion":"8.1.2","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-GKPHm8VmAeS3Hkmtkj2+tn0pJdIvXhjSz9Jp723TPbgyUDvlUIjNdZJfXBW7u6YRki7x7HQ9W/394idIjUcyqw==","shasum":"233e13de5eb3506305c944db9cf120f97238fa2e","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-0.3.9.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCYDTOWTsjADxUIJIsGUMyy08yc3Le8CyHOLaO/WkgKQQIgXu2Arf7Tji2mXFMxAkgSL+16RiemNu2K2+ST3cqEen8="}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props-0.3.9.tgz_1501061434536_0.6787787596695125"}},"0.4.0":{"name":"typed-props","version":"0.4.0","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"src/index.js","scripts":{"build":"npm run build:dev && npm run build:prod","build:dev":"webpack","build:prod":"NODE_ENV=production webpack","test":"mocha test/**.spec.js","prepublish":"npm run build"},"license":"MIT","devDependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","mocha":"^3.4.1","should":"^11.2.1","webpack":"^2.5.1"},"directories":{"test":"test"},"dependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","should":"^11.2.1","webpack":"^2.5.1"},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=0.6.0"},"keywords":["saga","sagas","async-effects","async","generators","flow","control"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"26d1116be9a579d7f3c07ead55d392339d8a548c","_id":"typed-props@0.4.0","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-XD6osFBtIFHLLXh9OJVjSSTYIR6Z1lNIHcdvKbiI+HMr8EVtyr0zUAj7q/2TfQkocNCF/Bsn/8aOhSnehSsNxQ==","shasum":"b3439b70cc4c234621b1d95db6964ae9eecea3b1","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-0.4.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBfCAMD8NPHSG1lYbLB7noZ+AtwR4U/NfeTR+/1bf+hOAiBcRl8CXjJnivCnNQ7m5h6WE0PRnmbASuFgJSt1s1CZJw=="}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props-0.4.0.tgz_1507158615806_0.6632230903487653"}},"0.5.0":{"name":"typed-props","version":"0.5.0","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"src/index.js","scripts":{"build":"npm run build:dev && npm run build:prod","build:dev":"webpack","build:prod":"NODE_ENV=production webpack","test":"mocha test/**.spec.js","prepublish":"npm run build"},"license":"MIT","devDependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","mocha":"^3.4.1","should":"^11.2.1","webpack":"^2.5.1"},"directories":{"test":"test"},"dependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","should":"^11.2.1","webpack":"^2.5.1"},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=0.6.0"},"keywords":["saga","sagas","async-effects","async","generators","flow","control"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"71319deb6cb91038db2bd3941a95fbe78f2b2f85","_id":"typed-props@0.5.0","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-LxOGmbqlVbGK7ptSYQe4GAFO0uSMUXwbGKcjEKO+gddIoFVIldmtb9bKC6JgfSomoO9FU+QiXFuXyJTT6uhKHg==","shasum":"e9d7dd90095616182f93a2fc4c33b8e353292794","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-0.5.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCRrYJTfrdU8QhT2oZVLuUzmYu1ryZCMsYtPqESCWwJYAIgHx3OdBDDuL5Np02kSWkGv7m1MW3l8OvtbrgaUvIeBX8="}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props-0.5.0.tgz_1507162237315_0.18741734977811575"},"deprecated":"Unnecessary dependencies like babel and webpack"},"0.5.1":{"name":"typed-props","version":"0.5.1","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"src/index.js","scripts":{"build":"npm run build:dev && npm run build:prod","build:dev":"webpack","build:prod":"NODE_ENV=production webpack","test":"mocha test/**.spec.js","prepublish":"npm run build"},"license":"MIT","devDependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","mocha":"^3.4.1","should":"^11.2.1","webpack":"^2.5.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=0.6.0"},"keywords":["saga","sagas","async-effects","async","generators","flow","control"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"0640fb5c6fe2655733acc4b76697fbc033f8ad6d","_id":"typed-props@0.5.1","_npmVersion":"5.4.2","_nodeVersion":"8.8.0","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-fh4WCTem9af6eW31BgooMryhVB63t/YGL3xCGnok3zJ9Eqkoa+iq6dwWOSW7RfRylN3b8HEgikz0Qc10ofV3AA==","shasum":"b3a4d0aa8a95a9e7b0462a030a607101b73b6039","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-0.5.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5kC0Wk/Z6sMi8P5ogDGOtJ7GKvRQmNbQ1Y8t23jeAKAIgPI1GkCtzWVTLThaTZBTE7VQKijD2R5N+qVos3y1QrMg="}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props-0.5.1.tgz_1509031086261_0.9230632574763149"}},"0.5.2":{"name":"typed-props","version":"0.5.2","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"src/index.js","scripts":{"build":"npm run build:dev && npm run build:prod","build:dev":"webpack","build:prod":"NODE_ENV=production webpack","test":"mocha test/**.spec.js","prepublish":"npm run build"},"license":"MIT","devDependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","mocha":"^3.4.1","should":"^11.2.1","webpack":"^2.5.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=0.6.0"},"keywords":["saga","sagas","async-effects","async","generators","flow","control"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"0640fb5c6fe2655733acc4b76697fbc033f8ad6d","_id":"typed-props@0.5.2","_npmVersion":"5.5.1","_nodeVersion":"8.8.0","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-4nCw4wQnOipjXaqoWjwRV+TqxzXmM+wFQrcK2/6pEn+c36COuqcinWbDFBDfCAT8j4mwJXMIuGhaMbn+1jX25w==","shasum":"7ffe3da66709fce2f0285d64491907a76a434c91","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-0.5.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+Djf+dKjb33HpggagAeI5UXCAkeWKtq/hdLfiRgdDYQIgBKVq1qBx25dMVGhdEfQay1vaZddyAzwFS6phrQfJEJE="}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props-0.5.2.tgz_1509374739660_0.13292465289123356"}},"0.5.3":{"name":"typed-props","version":"0.5.3","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"src/index.js","scripts":{"build":"npm run build:dev && npm run build:prod","build:dev":"webpack","build:prod":"NODE_ENV=production webpack","test":"mocha test/**.spec.js","prepublish":"npm run build"},"license":"MIT","devDependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","mocha":"^3.4.1","should":"^11.2.1","webpack":"^2.5.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=0.6.0"},"keywords":["validator","validation","types","type-check","typed","values","prop-types"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"2cd40e02b0903909a9b6da933c75b8af0633aca2","_id":"typed-props@0.5.3","_npmVersion":"5.5.1","_nodeVersion":"8.8.0","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-HffKGUiYbL7BSD8SPJF0lB3JIbp0smnI9R3yazL1OwiqvrXXvH4ZqHPB5jqSC56mCxTQHNZncHIxdoVApCoM8A==","shasum":"f6583c207d4207aca48bfe30e585320b1d37e0ba","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-0.5.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCoiQhIuKSkqrScEtDcsEx3Cf0l4D591MG2CMTHbIvwSAIhANlnzeIw/9Ae3z6qd2Lyu/AhY/91kOXNZclkyuN/GpQ3"}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props-0.5.3.tgz_1509375106419_0.786202410934493"}},"0.6.0":{"name":"typed-props","version":"0.6.0","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"src/index.js","scripts":{"build":"npm run build:dev && npm run build:prod","build:dev":"webpack","build:prod":"NODE_ENV=production webpack","test":"mocha test/**.spec.js","prepublish":"npm run build"},"license":"MIT","devDependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","mocha":"^3.4.1","should":"^11.2.1","webpack":"^2.5.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=0.6.0"},"keywords":["validator","validation","types","type-check","typed","values","prop-types"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"46804bcf840b39639906da68b81851b3e984a787","_id":"typed-props@0.6.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.0","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-Ik3xdGuofz5RZzrO3UWVlbrPqfKtRA8DO445nE8GzdsghQkvWFP/rNTUraaAEBm+7G8r0lBj5UsrwXUs1SnEIA==","shasum":"102eed6ff5897c8d9a58466a5ac7772a68b75600","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-0.6.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFoSmaM8swYCQHeDBmzNeoX4bSwRuNyJf9TeC85hQjKHAiEApAn2U6aa4H2SvvooxxabMy6iKbDvYD+87EOqXYuSWv4="}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props-0.6.0.tgz_1509535239274_0.12873424822464585"}},"0.7.0":{"name":"typed-props","version":"0.7.0","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"src/index.js","scripts":{"build":"npm run build:dev && npm run build:prod","build:dev":"webpack","build:prod":"NODE_ENV=production webpack","test":"mocha test/**.spec.js","prepublish":"npm run build"},"license":"MIT","devDependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","mocha":"^3.4.1","should":"^11.2.1","webpack":"^2.5.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=0.6.0"},"keywords":["validator","validation","types","type-check","typed","values","prop-types"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"226efef2c30767a8499586e1836fec1a274f95bc","_id":"typed-props@0.7.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.0","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-esyD7KGYwM8hDp1LaCOQ25C5izSw0Np3xr+0/9XPZtDehQaW2OAb+7GhHtLGISpEFWB++hCeRs+nzp4Zhzv1JQ==","shasum":"b611966f7d2d44ae8dbfd7f440db903ede6d3c42","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-0.7.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXd6Z1nny8hg6TQHu6PYguQzf51HvHSlpjmZBdKAqIbwIhAPkbWpw7SJ3wp4hk57+6zL2VvtpsKKFU6bFV+UYStJAb"}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props-0.7.0.tgz_1511905323117_0.7794528445228934"}},"0.8.0":{"name":"typed-props","version":"0.8.0","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"src/index.js","scripts":{"build":"npm run build:dev && npm run build:prod","build:dev":"webpack","build:prod":"NODE_ENV=production webpack","test":"mocha test/**.spec.js","prepublish":"npm run build"},"license":"MIT","devDependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","mocha":"^3.4.1","should":"^11.2.1","webpack":"^2.5.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=0.6.0"},"keywords":["validator","validation","types","type-check","typed","values","prop-types"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"e5f67b1eeff29d54881a56b99f4125e1ee861b36","_id":"typed-props@0.8.0","_npmVersion":"5.8.0","_nodeVersion":"9.3.0","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-rGjEHK2uCyyCNrAbM0+RKy8zeK09UPjeyXUMtcOzR5DtFXLku9QjXskF7JQs/zgJhyCXA49UnwUlLmZyFg41JQ==","shasum":"1a521370ac8ebfe2fbdabaf995a0db30397b16ca","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-0.8.0.tgz","fileCount":9,"unpackedSize":52608,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA6V0rpC9IvOiR5mTawH+HumZbW7sIU8YMtYIS5y2/2ZAiEAqikqwjCkklMtK5dqP1xIytASfdk0MRNSGBihSl5XBus="}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props_0.8.0_1522052084795_0.32121286846124164"},"_hasShrinkwrap":false},"0.8.1":{"name":"typed-props","version":"0.8.1","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"src/index.js","scripts":{"build":"npm run build:dev && npm run build:prod","build:dev":"webpack","build:prod":"NODE_ENV=production webpack","test":"mocha test/**.spec.js","prepublish":"npm run build"},"license":"MIT","devDependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","mocha":"^3.4.1","should":"^11.2.1","webpack":"^2.5.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=0.6.0"},"keywords":["validator","validation","types","type-check","typed","values","prop-types"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"dda9f414d8efa2dab3694f8e3febca039fcf3616","_id":"typed-props@0.8.1","_npmVersion":"5.8.0","_nodeVersion":"9.9.0","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-zKrSwpYseUGoZD5x4udGwdsEtkcky6wjkUH8/IQ6V5olQP0E67T4dVKlCXzN8KZkhlndtrN/K1JWLG0T3vRA0A==","shasum":"3a82b0638684b3cff7b6f3cce99683328faf80c3","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-0.8.1.tgz","fileCount":10,"unpackedSize":67376,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHaOXL2yS+c6DvWTk0cIReIY9ZS7ewyj1MDJ08TLp8kTAiEA5UsbjyS+It1lfV3GajrIAMdNJbEEF/vOhgFy4ftV3Ok="}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props_0.8.1_1522339315002_0.28955370161861094"},"_hasShrinkwrap":false},"0.8.2":{"name":"typed-props","version":"0.8.2","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"src/index.js","scripts":{"build":"npm run build:dev && npm run build:prod","build:dev":"webpack","build:prod":"NODE_ENV=production webpack","cov":"istanbul cover node_modules/mocha/bin/_mocha -- -u exports -R spec test/**.spec.js","test":"mocha test/**.spec.js","prepublish":"npm run build"},"license":"MIT","devDependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","istanbul":"^0.4.5","mocha":"^3.4.1","should":"^11.2.1","webpack":"^2.5.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=0.6.0"},"keywords":["validator","validation","types","type-check","typed","values","prop-types"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"0fc357a4a2d2493f94f0acadc7733e1e2852fa15","_id":"typed-props@0.8.2","_npmVersion":"5.8.0","_nodeVersion":"9.9.0","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-342fu2qNqm2laihdv0NiuTuuFjzgsg5vlmqWG9j235gNjD+Ml4/P3RM6kxudk090KdzFkC3jDXHFrOoLZUDPbA==","shasum":"3263606057e2bfc208e84abcef677e9ad4ed6769","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-0.8.2.tgz","fileCount":20,"unpackedSize":150706,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGDQKtywy9ER59be663akzg3cH34brdPQEAzbm3Ppaw1AiEAyh2bNuzTg8sVgExR3i/5TgvZnCfCYmhzeysvMnHNsC8="}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props_0.8.2_1522339979224_0.02176890481646665"},"_hasShrinkwrap":false},"0.8.3":{"name":"typed-props","version":"0.8.3","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"src/index.js","scripts":{"build":"npm run build:dev && npm run build:prod","build:dev":"webpack","build:prod":"NODE_ENV=production webpack","cov":"istanbul cover node_modules/mocha/bin/_mocha -- -u exports -R spec test/**.spec.js","test":"mocha test/**.spec.js","prepublish":"npm run build"},"license":"MIT","devDependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","istanbul":"^0.4.5","mocha":"^3.4.1","should":"^11.2.1","webpack":"^2.5.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=0.6.0"},"keywords":["validator","validation","types","type-check","typed","values","prop-types"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"0191dd607b56b9f74da6e1e07a6d66eaae0757df","_id":"typed-props@0.8.3","_npmVersion":"5.8.0","_nodeVersion":"9.9.0","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-g2W0Q7CuQHtjGr/0oPLi+m0WDjSGNei44gkg6tx5+SQRO8bgP4ugz3vj8AbwsECvN7wmeHK6uykp5gBUEQzuOw==","shasum":"d0d3ef029d1e7f5d64cf61a425f0e58519e0cdef","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-0.8.3.tgz","fileCount":20,"unpackedSize":155203,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnUlrZhMRCvkqks24fnLDGbImuSniubAvc2un5ODINQwIga4Q+UlYcScytO+QnKNJy84pqe6gtkocb89Ayuh3K7CM="}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props_0.8.3_1522603178702_0.251894220107703"},"_hasShrinkwrap":false},"0.9.0":{"name":"typed-props","version":"0.9.0","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"src/index.js","scripts":{"build":"npm run build:dev && npm run build:prod","build:dev":"webpack","build:prod":"NODE_ENV=production webpack","cov":"istanbul cover node_modules/mocha/bin/_mocha -- -u exports -R spec test/**.spec.js","test":"mocha test/index.js","prepublish":"npm run build"},"license":"MIT","devDependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","istanbul":"^0.4.5","mocha":"^3.4.1","should":"^11.2.1","webpack":"^2.5.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=0.6.0"},"keywords":["validator","validation","types","type-check","typed","values","prop-types"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"8725c9378b3987e0f187f18710a09b0aed418d8f","_id":"typed-props@0.9.0","_npmVersion":"5.6.0","_nodeVersion":"10.0.0","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-ltGTQvWF7WBc71GJmIcW6IDkTd2iMx7IvoIlOd21QLf6ylSQbgHd8sR6FVkOnxl7x6Hey9xenhNqw/+YzC588Q==","shasum":"a19b98d20d2751a8a6dffd91ec1f6ac63f1c2c47","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-0.9.0.tgz","fileCount":22,"unpackedSize":170317,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6lTYCRA9TVsSAnZWagAAEhkP/RWrtSwbn9tuPhIjlTXq\nt2NXwRF5EPmxXVhi3vKZnye+CLyGC/AH1T7FfZ7LZYMS2tGgqW4CMt/CjnoW\n2JGqFLNvyifo+DP73M74DBsfSsdQ1MGqyEYAh6cjLoeeuyrDThq8zX9LEud0\n3ylZmCvwshXwKvyrSzxjufxRpMQoDZlBbnz+1e30hpIgEtpAS7ioC93bs/36\nek6Pp2PStDpDM7oUDlDFlTlfo09gf6mhCfxQlqq28jyDsXB34MqtQivv7awG\nrgHzWWVJrA9EOLO5p8b2u67vdm6ow3o3pwVwW6rh/SSuV31bdLF5ZI/EgaED\nZr6aMm+TPRd+gxgDTBgTUenQxYf/qlTJQECwMypppt+FZVQgdlvtVORDb/xx\nr2IaTLkkdLrGGV7t4xsVOXqosHWFKabQxmp/X+3DU2w+RWrK5knhO7mf20Me\nozFlxksPsTS1aNsYGBOz5eyeRgrx3rgYl9rM/H4nxfB/vV9Jh/B37ZddTqWd\nVK6VlmsErykyYM4OZYw3JDj9YAfgoJeN3SOwImfM64vlNPND0SdYDlUHJlpS\nFBmxPNzdxPhwJ0S4dw7M5u/S8ERwmCDihOCWMh4S7fWnbkCipTtBYkFjxWqg\nyZa8wNNSW9F3gLvaEeVD6gAqos1+OixfQSTzBg2Ys/DE2MVWotS78TM8smyO\nbZ/a\r\n=3Jan\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICuxUPf+CmLL/nrhcXGRYh7Upooy8su74SR1Ate3dWcMAiEA+FDMlGgf3bKX/29bR1g3AcMfxh7FwPeKHI+MBY/7Yjc="}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props_0.9.0_1525306583051_0.261744223828972"},"_hasShrinkwrap":false},"0.10.0":{"name":"typed-props","version":"0.10.0","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"src/index.js","scripts":{"build":"npm run build:dev && npm run build:prod","build:dev":"webpack","build:prod":"NODE_ENV=production webpack","cov":"istanbul cover node_modules/mocha/bin/_mocha -- -u exports -R spec test/**.spec.js","test":"mocha test/index.js","prepublish":"npm run build"},"license":"MIT","devDependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","istanbul":"^0.4.5","mocha":"^3.4.1","should":"^11.2.1","webpack":"^2.5.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=0.6.0"},"keywords":["validator","validation","types","type-check","typed","values","prop-types"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"604be3bc919514fe70b4dd13a271590ac7394960","_id":"typed-props@0.10.0","_npmVersion":"5.6.0","_nodeVersion":"10.0.0","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-rpsLOyV7SCGeWuNt7jmZwfvKF6rZbuEDCeRbVQNbHY3+HBBeN/Q646Ba58NDl3ekabPgtoVgRXu638ObkSCMGQ==","shasum":"0d6433c61342ecd78c16dc660af04002f3a8b878","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-0.10.0.tgz","fileCount":22,"unpackedSize":172033,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6mVKCRA9TVsSAnZWagAAywcP/Rxo1PV/eOreJta3i97L\nt/7jdNmrOlhMf9aPy6P5daCF5Vu4L1lJ0QQkSOjasJihF/s1qirMVQvEoBTF\nZWOTYzakrSi/NXpvPKe9iNexzhfLJuGrnGFC7/GAdExzyU7uPPdUTbjrI+Dy\nHZ7FTgI/Zwhu5KeVd4iG5Zm0f476B4hmK2jW/XV9ZATc/IgZ4Mmz4Yg1kDTZ\n/4Bc1cQxvIEW/FAdfA36JF3uL/OcSYeK6UJRflRJMnzDWgDq47ijFuWPeaZs\nO5c2kZYI6LcO4gRpvHGTC5BDCwi/3cBgUPt60wftLlByxnJbQTQuCTPgcPpI\n0YaPfZEPAflJcEg2C0X1Jz8l1NcgjkNosjHGKBYU6ocqxZmpRCC05jo/7X4U\nw3IJgiNLE8RYaaTaaKMUpI5WyxDzBn8SSLYYyTiOvnfGT2eZ7dh45MfUN1jh\nqF82fxzbHCEzApauBzY0PlFvTsaA89W9CGZc/JJi5ROY4O6+pPXlOTK/botu\ngh4l6pmVgsdR/8yc8F+YKMC/A0ZvUo9GqzUSlbT9PrjXjyOrCpYaSkgsMhVN\n5TvKe6VbBP7sdLyf0sIPiZtBwpN33ccK8JEagwPyEKhS8rFgWgh6MXfSIxuS\nQazSCaZqF7S3gInvykg7G5Zu28j4RAcNLx47yo/VSI5SOoqw7tAE0BiewkMb\nYaO/\r\n=5f0V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCK20ZDcPL0N12Zby8aVX/i1R6DN8ZrQJQeNkCN76XPAIhAKR8l8lH44oGVecemYyCcnewZykUTqrgtLkHRJNYru9h"}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props_0.10.0_1525310793303_0.20916419131569963"},"_hasShrinkwrap":false},"0.10.1":{"name":"typed-props","version":"0.10.1","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"src/index.js","scripts":{"build":"npm run build:dev && npm run build:prod","build:dev":"webpack","build:prod":"NODE_ENV=production webpack","cov":"istanbul cover node_modules/mocha/bin/_mocha -- -u exports -R spec test/**.spec.js","test":"mocha test/index.js","prepublish":"npm run build","shasum":"bash -c 'for file in $@; do shasum -b -a 384 $file | xxd -r -p | base64; done' -- "},"license":"MIT","devDependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","istanbul":"^0.4.5","mocha":"^3.4.1","should":"^11.2.1","webpack":"^2.5.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=0.6.0"},"keywords":["validator","validation","types","type-check","typed","values","prop-types"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"40b36168aa4e9d5889f7e82fad85e7959ce809f1","_id":"typed-props@0.10.1","_npmVersion":"6.0.1","_nodeVersion":"9.11.1","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-zzMZHHhc4Xy1gkOz9XPDsni6U7yx3SFDCxnuCCmsN1qdnT8bf2YEzh4IWZzhxpH82iRlmamE0j+MV6gDdJv+jA==","shasum":"a1c70a5dbce39fa261889cbbdf43077391385a31","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-0.10.1.tgz","fileCount":22,"unpackedSize":192620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa+wS5CRA9TVsSAnZWagAAGHEP/iUQDqzugSsp25RrSjIP\nNNdALNY2bY5heLggHxSn1PxvfCvAXKQjy2+obIiHGu60j3+LD5ACnkhrXamW\nubsVRJUOC7PmCNnLt4uIlHD0aeXYvuTJRyiFLjcfU6Yi70eJMPuzP6VeO3hB\nOj8GsZe0YOOldNdRkU42Zcbd7/o201jQOqqfGZRkqFEAptK3nhZWBy7EiLSc\nKFkzw4f9aCztxydslarG0IVGauWFIPJzlyLb+JUZICtd0T3pJMxpQsNwmEXc\nsHgp18MDO0FVbt4Y8QpBsfBPAMuR2/2nup7da5RrTkaoqt7u4BBV+yKbPP6C\n3UaFD6DC5LtoiRO1xYGVXRue0yJwLXhIa1AOs4Z6AOXWnRMLCiFyCflT4p5f\nJ2gndnXYj2YqavIox4e7LmlgfLUZqYV/t42rh9/4ANKDT8vd3eI4lcgSCU+Z\noMo5RpVWbjr0QG1tPNAVtUVR2Z/eXpsn8zT+n3T8wIKCk5+EaxDzco3+Euel\nZK2mrYIkm6/6+jnV4wCQ24J+hJtvO1YsN6hy39jv+Q3mw+gd9hfqsZgBWRjK\nTbUy8oOIXQYqvyXIybqzpwh3Phx/D5KUKAt9sjul4GEhPzGzjJNkbBxvg3G5\nwJLm+ZazB/YbPlyKT+94+QNOZXeLM59D6lZqpOE/0XFEuPhR469BI/xHE7x5\nv3qQ\r\n=qqLR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHnOYKonHPRPAvJeU1QIYLdTCy3UfoxIltp7qxH1G/riAiAC3NxV2vMG/VA2bhVwrr7emtOnv4lSAFBAl12sltmB0Q=="}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props_0.10.1_1526400183770_0.9470433331398713"},"_hasShrinkwrap":false},"0.10.2":{"name":"typed-props","version":"0.10.2","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"src/index.js","scripts":{"build":"npm run build:dev && npm run build:prod","build:dev":"webpack","build:prod":"NODE_ENV=production webpack","cov":"istanbul cover node_modules/mocha/bin/_mocha -- -u exports -R spec test/**.spec.js","test":"mocha test/index.js","prepublish":"npm run build","shasum":"bash -c 'for file in $@; do shasum -b -a 384 $file | xxd -r -p | base64; done' -- "},"license":"MIT","devDependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","istanbul":"^0.4.5","mocha":"^3.4.1","should":"^11.2.1","webpack":"^2.5.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=0.6.0"},"keywords":["validator","validation","types","type-check","typed","values","prop-types"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"6011db3d9bbaa938d0113e0e39a5570f7ffed614","_id":"typed-props@0.10.2","_npmVersion":"6.0.1","_nodeVersion":"9.11.1","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-gd24Un5ipkpEKPb/J1TxnH8GqGZqeb58lOsFu6GnbmgMITPy55muwwgR8WzrtpLoQ+N2LrB+VTcLoWbu2psHDA==","shasum":"00a36abbba801e0843fca6a971977aaed0a9012d","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-0.10.2.tgz","fileCount":12,"unpackedSize":91118,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa+wZrCRA9TVsSAnZWagAA8WMP/1o6Jxu8SqpIxIgRauXn\n59n5HKpxYEB3JHpvgJRc0lJBSlCeXYu0B11f6KNlthssOdiFljXmHHtQ5qcL\nbmJaIWfLN+CjsQr+EXcvWkXDItIcPi2Lz6Bmz9tbm3WIJMscVZB/37MLwYOH\n55y7dfL+sl+PewbxQJzIFQWADwyWqC98c5bORS3mDbzYilGkarjBLd2mLSO5\nKfZaFBuG+CztShzMk3rKpRFyJxiju9AbuXYZ0xVCIyoiqTkqUDb04jD25YGW\nl+TojgjGajZYg1OLiS6tTuKbVwXTTkLfLEg8JxsLfQxxJNLFdSMwkCA/jWrP\ncPI5uJeFX7WApv+b0JIbvfmhuqWQlYMF7uabiBPV4fhrw67N3pUjG31w1Sts\nYPlyX8m4P8lSTAuc7/qrKvuWBgwhfbMDcQmXXM+xNauuUi22xI4B82aOc2en\nrZR66zLlFimchws7nV/pYNjnmJ+InxUnAhbrWJbni1Ufehypiz/STZ7GBFV0\n3Ro+jzB9Zkr7MT4bxfHargSMs4ffupQxN4hFxiLjiK7euunWhEXZCPVOfR/Y\nhLG68Zd/+6x7JsfZfZpjBZc0V/aMIXkU7BqJTINDKi7N1dskAlixQSRN+vhU\nUOOgtO8vBho0aj1EU8x3nKCsj5mV7CEkzxe/gRYe0bgT1EYeRhA0dZQTqGmG\nhCLv\r\n=gFj2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCgqJ9wOoMufAABIlQieMhSHFaBluQhnC+2i/v47FLrpwIgCLs0qmfsNjQ8h2OOYVckvti9G25qvnYLiGTbAqFDgSs="}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props_0.10.2_1526400618440_0.9032622038547089"},"_hasShrinkwrap":false},"0.10.3":{"name":"typed-props","version":"0.10.3","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"src/index.js","scripts":{"build":"npm run build:dev && npm run build:prod","build:dev":"webpack","build:prod":"NODE_ENV=production webpack","cov":"istanbul cover node_modules/mocha/bin/_mocha -- -u exports -R spec test/**.spec.js","test":"mocha test/index.js","prepublish":"npm run build","shasum":"bash -c 'for file in $@; do shasum -b -a 384 $file | xxd -r -p | base64; done' -- "},"license":"MIT","devDependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","istanbul":"^0.4.5","mocha":"^3.4.1","should":"^11.2.1","webpack":"^2.5.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=0.6.0"},"keywords":["validator","validation","types","type-check","typed","values","prop-types"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"590786c2e30f4465a22d15ec1feb443e3ec344d8","_id":"typed-props@0.10.3","_npmVersion":"6.0.1","_nodeVersion":"9.11.1","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-w3ZlCoHOQ+AZE+EbbSMTIou4+W2HfTi3VEZANcieGnxT2sffUvd3tA/b7iuX7bKdN4yMWM9ksjpsnvz+WoIbzw==","shasum":"a0495fb108a7881f1aa1cf215165e22c6a1a2b03","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-0.10.3.tgz","fileCount":13,"unpackedSize":91827,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbAXpKCRA9TVsSAnZWagAAj8AP/iRKo9Kbm6jygfx0uonx\nsOaAzD3nMwiEDnW8HHtiLJxmMiqbEObHNiw0zjSXr4vEzaBebpoTZDqUC2Z4\npxEhaqfVZH+ya24Qx52AcOTjnKwHEEcX26oIumCoz3Intc+6dxnScPxHB5Mo\n748a5WZaLsUmlmJ6ZqGyzaxKnKNs8B8E5mV011mY1AxEVlTthMMW4I+SoKAM\nFDRPFxRLx4ykblQi2leV1rRy6GpK5rTJba1BAwVeJlIS26/y9Wq85FfcYkVh\n7F7E4s4MhSzwnZprlbro2eP0xyZBo7iN0xvWNXdOvAQqkGW6oypKBiwn3a9P\nzHn2ISw5oGcG/XvbvBANWh5rj9+GWF0H+qFe9tRprOqB+8JTgv862E8xi1AL\nM4lXPPuwkvm1WJjIzTjDRrXq8Fn4T60cLyf/ydI5HamWkXhHuN52j1aAPKkx\nJNM+KqghWfinWf2w8SDOmZg+3uoC2SOZajTLCFl/5mjP/V1KgspUOjVMPUIF\ncrLOCajD9OJwiJKK59D8vzMSif98nO7e07qBE9DFIO0PemD2dA7TSw53KRfO\njBwdjY++YRw+NqPY+YecqUapKgkIBMYrwvXQcXxKcPd8yVGdWTatbV/D/LdS\nNONPZB2hFaDyh6aT7iItJ/OxMo2Eg/NzMO4rzPv02TBV8mt4gTG7CFkIeSRR\np6I2\r\n=WQ5T\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIARfW7KnaU5sllaMtsiwHW608xwtEijM0F7qA2z66EuyAiEAsFk1Vhqof/DLXqMff2W202CZ6/KakYR8mm9ajMRFZkM="}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props_0.10.3_1526823495970_0.9986986928124353"},"_hasShrinkwrap":false},"0.10.4":{"name":"typed-props","version":"0.10.4","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"src/index.js","scripts":{"build":"npm run build:dev && npm run build:prod","build:dev":"webpack","build:prod":"NODE_ENV=production webpack","cov":"istanbul cover node_modules/mocha/bin/_mocha -- -u exports -R spec test/**.spec.js","test":"mocha test/index.js","prepublish":"npm run build","shasum":"bash -c 'for file in $@; do shasum -b -a 384 $file | xxd -r -p | base64; done' -- "},"license":"MIT","devDependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","istanbul":"^0.4.5","mocha":"^3.4.1","should":"^11.2.1","webpack":"^2.5.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=0.6.0"},"keywords":["validator","validation","types","type-check","typed","values","prop-types"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"e6a439cc9a842f98ae2db3b4c555eaa93513b6b2","_id":"typed-props@0.10.4","_npmVersion":"5.6.0","_nodeVersion":"9.11.2","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-ky7VsaAWCQseaalQgBuqy93QICAUf2FIaAzpODQ0TFIrN9EtIrvhRoJKJ9ooCjKoT8PaSba4jrSVd8i8O11ShA==","shasum":"af4c3846946fa7732311148dff18d4e36aa6984f","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-0.10.4.tgz","fileCount":13,"unpackedSize":92132,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdtgVCRA9TVsSAnZWagAAcBAP/2lZ+mSypDSWDICDr2nx\nhtYKQ96mIr/dinBUPDOmNCb3u18VKkk2/2nyJyyJ/533E83htr/YXI2gq/RQ\nWDVb6UT/LShOk+NHWp2AnM5a+6XS7Ts062zFBB5S9s4575iFK9maL4cP5apE\n9zyiojYjHgUZBfPy3D9Av5iBkEhowt+o4X93OQo/N2ZkB4/Aw3aCbu6W8Ryy\n+TTNVZYyAhCfJJ+npqWlc6xpgdMx881DEK500F22bOP8CMiAs3QmEOr5rJdj\nqTq9ceWHk8aoZTRwNwhntpetG2RbVLwbc3Wx8a1WMFSRxi27aiLA/4ihtY8f\nuhl889bL5BkTEkIE5hm5MQ/EOtT/3gWl+uADklHB7w7np+B1UlTIWolXSbik\ndNQ+0mtwKLg1RgTMeR6CgY3gMJmpYOGPPZUJS3+HjMT0eG2Gdpx5Z9A/vBKt\nYK3OoufLtG65cbYJMHsF4PYxS4JgtcNYtS0vrweZ2OzEXvRjW/QrTAW1LZl6\njyuuWN0E/IrplwRsVvDX0net0sWliQlWLFolnoXJR07zi0MyJOkg9R3BkcLI\n/Uub7bh/sjhsxm1W2/07bEcL38W2wdVNmFfD2ts8TzDCJPlbashFzxqycO6v\nyUX4JtwKoHnpMYcL460b2oO0FWmRcPO+v1CzeZN0t+WY2FeREqseODs13n70\nodYC\r\n=4E78\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCrNpnrmyOUQf5Rf5rChe58Ka2gCs87iY0i+dgHASBaegIgfnP1s5lxSrN0+fpaH6J9M2PjAGWANOAqpDEYVAaPvG0="}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props_0.10.4_1534515220886_0.9278545240370841"},"_hasShrinkwrap":false},"0.10.5":{"name":"typed-props","version":"0.10.5","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"src/index.js","scripts":{"build":"npm run build:dev && npm run build:prod","build:dev":"webpack","build:prod":"NODE_ENV=production webpack","cov":"istanbul cover node_modules/mocha/bin/_mocha -- -u exports -R spec test/**.spec.js","test":"mocha test/index.js","prepublish":"npm run build","shasum":"bash -c 'for file in $@; do shasum -b -a 384 $file | xxd -r -p | base64; done' -- "},"license":"MIT","devDependencies":{"babel-core":"^6.24.1","babel-loader":"^7.0.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","istanbul":"^0.4.5","mocha":"^3.4.1","should":"^11.2.1","webpack":"^2.5.1"},"directories":{"test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=0.6.0"},"keywords":["validator","validation","types","type-check","typed","values","prop-types"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"e6a439cc9a842f98ae2db3b4c555eaa93513b6b2","_id":"typed-props@0.10.5","_npmVersion":"5.6.0","_nodeVersion":"9.11.2","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-gaMgbhmks4SMYSnLzCNsTJuE+6pikS1Cq7hsVRfvP2U7uvVbkQKIXKmYmkCVEcHUgIR6Q+gQNizrtgJcNzrSdg==","shasum":"929c7b18755c182998862c66e5bce72d0c20c295","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-0.10.5.tgz","fileCount":13,"unpackedSize":92090,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbduR8CRA9TVsSAnZWagAAdLcP/RDHxgjWMSi+Oof8XMWN\niEJXqlEeXplXz5cBu0U3xlUmvjN1cpTbGN8Ha7joxrHglam0cLqDvntIavOI\n6g/dqDFXHbZqPlic4e6KtGRaDZicN0J0h2hlPCM3/AMSqr0v2BhAOuc5ktYf\nw4p+pXOQivO7SsdCGFxPifJSIzkhrCT/GJm7wn6f/qIDlUcwVrXzVRE/fn4b\npy4oKTmdh3UOm+nQDu8ASNe1n/7Mdij+is6Pj49hw23DEhB4Yv4wH4H/uidK\n/6snEkkF0xFzWIWKfrZqk/pjTPmZHFmwb4e1CgoV1Lpa3X0I/morYwnhdDtJ\nctfJDs7O0BsuYFLwViYmMLH4mOuNcUXL+uMleTn1Oz8Zy4cl0q0Lrsi2/4zn\n3wJ7KVU6BFNCikHmcNpEyfi8XkpxId1Cm3inSSDllbZzm2YZFoa3ciahiPkN\njv/+Vtjc+9N7o2T73GLZcQhEXD150pzfqkmm5g1Yzq7hPXjQ4EmDYm3U/q3q\nWW0VC7SBZ1WgsYcBwdTABQoxQpvDLoT9txuk5YgXHuoPFs2uG6+roxK3Wesc\nit8WcVmTY623++UKDPKCs8tV6FR+iBYs+k6Czjmb+BYVH83KNHixL8HvwNPy\nXPpTG6F89ZP5PqOQ+t14KwvXqpFLjP8ksAidqOTeRXEgRZV51Fmtb/8cmpL7\npY7I\r\n=maAO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMnRu4AvMmmtPRnLKWQ/AKKBieA4dQyOR7pfKZ5Fhi+gIhAMHNULFUQaMDg77HoCPMpfIdENJ2OVxy8AxqCU5HzESd"}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props_0.10.5_1534518395730_0.45577849291081796"},"_hasShrinkwrap":false},"1.0.0":{"name":"typed-props","version":"1.0.0","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"dist/node/index.js","types":"dist/node/index.d.ts","scripts":{"build":"npm run build:web && npm run build:node && npm run build:checksum -- dist/*.js","build:node":"tsc --module commonjs --outDir dist/node","build:web":"npm run build:compile && npm run build:concat && npm run build:minify && rm -rf dist/src","build:compile":"tsc --module esnext --target esnext","build:concat":"rollup dist/src/index.js --format umd --name TypedProps --file dist/typed-props.js","build:minify":"babel-minify dist/typed-props.js -o dist/typed-props.min.js","build:checksum":"bash -c 'for file in $@; do echo `shasum -b -a 384 $file | xxd -r -p | base64` $file >> dist/checksum.txt; done' --","clean":"rm -rf dist","cov":"nyc -t coverage --reporter=html mocha test","test":"mocha test","prepublish":"allow-publish-tag next && npm run clean && npm run build"},"license":"MIT","devDependencies":{"allow-publish-tag":"^1.0.1","babel-minify":"^0.5.0","mocha":"^6.0.2","nyc":"^13.3.0","rollup":"^1.7.3","should":"^11.2.1","typescript":"^3.3.4000"},"directories":{"example":"examples","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=8.0"},"keywords":["validator","validation","types","type-check","typed","values","prop-types"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","readme":"![TypedProps](doc/cover.png)\n\n---\n\n[![npm](https://img.shields.io/npm/v/typed-props.svg?style=flat-square)](https://npmjs.com/package/typed-props)\n[![Travis](https://img.shields.io/travis/rumkin/typed-props.svg?style=flat-square)](https://travis-ci.org/rumkin/typed-props)\n![](https://img.shields.io/badge/coverage-100%25-green.svg?style=flat-square)\n![](https://img.shields.io/badge/size-12.60%20KiB-blue.svg?style=flat-square)\n![](https://img.shields.io/badge/deps-0-blue.svg?style=flat-square)\n[![npm](https://img.shields.io/npm/dm/typed-props.svg?style=flat-square)](https://npmjs.com/packages/typed-props)\n\nFacebook's PropTypes-alike interface implementation for client and server, reusable\nand extensible. It produce error reports instead of throwing or printing into\nconsole. It works *without React*.\n\n[Gitter](https://gitter.im/TypedProps)\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Usage](#usage)\n- [Examples](#examples)\n- [Standard checks](#standard-checks)\n- [Non-standard checks](#non-standard-checks)\n- [Decorators](#decorators)\n- [Checks and groups](#checks-and-groups)\n- [Extension](#extension)\n- [API](#api)\n- [License](#license)\n\n## Installation\n\nVia npm:\n```shell\nnpm i typed-props\n```\n\nOr via unpkg.com:\n\n```html\n<script src=\"https://unpkg.com/typed-props@1/dist/typed-props.js\"></script>\n<script src=\"https://unpkg.com/typed-props@1/dist/typed-props.min.js\"></script>\n```\n\nComplete [usage guide](https://github.com/rumkin/typed-props/tree/master/doc).\n\n## Usage\n\nCustom types check:\n\n```javascript\n\nimport {Type as T, StrictType as ST, check} from 'typed-props'\n\nconst type = T.shape({\n  id: T.number.isRequired,\n  name: T.string.isRequired,\n  email: T.string,\n}).isRequired\n\n// Or\n\nconst type = ST.shape({\n  id: ST.number,\n  name: ST.string,\n  email: ST.string.optional,\n})\n\nconst data = {\n  id: '1',\n  name: null\n}\n\nconst issues = check(data, type)\n```\n\n### Output\n\nResult of validation is an Array of Issues. Issue is an object which describes\nvalidator rules violation. \n\nIssue typing:\n```typescript\nexport type Issue = {\n  rule: string\n  path: Array<string|number>\n  details: {\n    reason: string\n    [key:string]: any\n  }\n}\n```\n\nExample:\n\n```javascript\n[\n  {\n    // Violated rule.\n    rule: 'type',\n    // Violation path. It helps to receive value in nested object.\n    path: ['user', 'messages', 0],\n    // Details explain what exactly goes wrong.\n    details: {\n      // Reason helps to identify kind of problem within one validator.\n      // Usual values are mismatch, no_matches, and redundant.\n      reason: 'mismatch',\n      // The next values are validator dependent.\n      type: 'string',\n      expect: true,\n      is: false,\n    }\n  }\n]\n```\n\n## Examples\n\n* Create [UniqItems check](examples/uniq-items.js).\n* [Describe API](examples/api.js) with TypedProps (with circular types resolution).\n\n## Standard checks\n\nStandard checks provided by Facebook's PropTypes:\n\n```javascript\nimport {Type} from 'typed-props'\n\n// Object properties should pass all checks.\nconst shape = Type.shape({\n  // Any value except of undefined\n  anything: Type.isRequired,\n  // Which is equivalent of\n  anythingElse: Type.any.isRequired,\n  // Number property\n  number: Type.number,\n  // String property\n  string: Type.string,\n  // Boolean property\n  bool: Type.bool,\n  // Object property\n  object: Type.object,\n  // Array property\n  array: Type.array,\n  // Array property\n  func: Type.func,\n  // Symbol property\n  symbol: Type.symbol,\n  // Property which value is instance of Date\n  instanceOf: Type.instanceOf(Date),\n\n  // Complex rules\n\n  // One of check if value is in list of passed primitives\n  // It works like an enum\n  oneOf: ['one', 'two'],\n  // Check if all array values match the passed TypedProps\n  arrayOf: Type.number,\n  // Check if value is matched any of passed TypedProps.\n  oneOfType: Type.oneOfType([\n    Type.number,\n    Type.string,\n  ]),\n  // Check if all object properties passes the TypedProps.\n  objectOf: Type.objectOf(Type.number),\n  // Check shape has described properties and no other props.\n  exactShape: Type.exact({\n    id: Type.number,\n    name: Type.string,\n  }),\n})\n\nconst issues = check({}, shape) // => [{path:['anything'], rule: 'isRequired', details: {is: false}}]\n```\n\nResult of `check` call is array of [issues](#issue-type). If there is no issues, this array will be\nempty.\n\n> ⚠️ If shape/exact rule property presented by function it should return type to check.\n\n## Non-standard checks\n\n```javascript\nType.shape({\n  // Make type optional\n  optionalValue: Type.optional,\n  // Determine type in runtime\n  propertyDependentType: Type.select(\n    [\n      ({type}) => type === 'ADD_TODO',\n      Type.shape({/* ADD_TODO action payload shape */}),\n    ],\n    [\n      ({type}) => type === 'SET_COMPLETED',\n      Type.shape({/* SET_COMPLETED action payload shape */}),\n    ],\n    [\n      () => true,\n      Type.any\n    ],\n  ),\n  // Create custom checks when TypedProps is not enough.\n  customValue: Type.custom((value) => value === Math.PI),\n})\n```\n\nTypedProps have it's own custom checks which make it more handful.\n\n### `Checkable.optional`\n\nThis is pseudo check. This rule allows to make some property optional. It can\nswitch off previously defined `.isRequired` check. It's better to use with `StrictType`.\n\n```javascript\nStrictType.number.optional\n```\n\n### `Checkable.is()`\n```\n(value:*) -> Checkable\n```\n\nThis check validates the checkable value to strict equal `value` argument.\n\n```javascript\nType.is('user')\n```\n\n### `Checkable.select()`\n```\n(...Function|Checkable) -> Checkable\n```\n\nThis checker allow to dynamically switch between types depending on input value.\nIt selects the first arguments that is not a function or if it's function and\nit returns something truly. Then use it as type to check.\n\n```javascript\nType.select(\n  [(value) => (typeof value === 'string'), Type.string],\n  [(value) => (typeof value === 'number'), Type.number],\n  [() => true, Type.any] // Otherwise accept anything\n)\n```\n\n### `Checkable.custom()`\n```\n(check:(it:*) -> bool) -> Checkable\n```\n\nCustom check accepts `check` argument and use it to validate the value.\n\n## Decorators\n\n__Experimental Feature__. Decorators can check function arguments and value it returns in runtime.\n\n> ⚠️ Decorators throw CheckError with `issues` property.\n\n```javascript\nimport {StrictType as T, args, result} from 'typed-props'\n\nclass Arith {\n  // Fixed arguments length example\n  @args(T.number, T.number)\n  @result(T.number)\n  add(a, b) {\n    return a + b\n  }\n\n  // Variadic argument's length example\n  @args(T.number, [T.number])\n  @result(T.number)\n  addAll(a = 0, ...numbers) {\n    return numbers.reduce((sum, b) => sum + b, a)\n  }\n}\n```\n\n## Checks and groups\n\nCurrently there are several groups of checkers: existence, type, exact, and complex checks.\n\n* Existance:\n  * isRequired\n  * optional: removes isRequired\n* Type:\n  * bool\n  * number\n  * string\n  * func\n  * object\n  * array\n  * any: removes any other type check\n* Exact:\n  * is\n  * oneOf\n* Complex:\n  * oneOfType\n  * arrayOf: overwirites type check with `array`\n  * objectOf: overwirites type check with `object`\n  * shape: replaces exact\n  * exact: replaces shape\n  * select\n  * custom\n\nType and existence checks are switchable and can replace each other. It's made\nfor flexibility.\n\n```javascript\nType.isRequired.number.string.func // -> final check is \"required function\".\n```\n\nIn the same time the complex checks like `shape` or `arrayOf` require the input value to has certain\ntype object and array respectively. They will overwrite type checks too. But overwiting of complex types\ncurrently isn't possible because of unexpected behaviour. It could leads to runtime errors.\nSo it strongly recommended not to overwrite such checks.\n\nIt could be changed in the future.\n\n```javascript\nType.arrayOf(Type.number).isRequired.number // Will throw an error in runtime\n```\n\n## Extension\n\nTypedProps support extension throught inheritance. So you can create new type using\n`extend` on Type class or mixing in new rules with `Object.defineProperty`.\nMore real life example is in repository [examples](./examples) directory.\n\n```javascript\nclass IsFinite extends SimpleRule {\n  static ruleName = 'isFinite'\n\n  static checkIt(it) {\n    return isFinite(it)\n  }\n}\n\nclass MyTypes extends Type {\n  static get isFinite() {\n    return new this([\n      IsFinite.create([], isFinite.config(true))\n    ])\n  }\n\n  get isFinite() {\n    return new this.constructor(\n      isFinite.create(\n        this.getChecks(),\n        isFinite.config(true),\n      )\n    )\n  }\n}\n// Mixin into TypedProps\nObject.defineProperty(Type, 'isFinite', {\n    get() {\n        return new this(\n            IsFinite.create([], IsFinite.config())\n        )\n    },\n})\n\nObject.define(Type.prototype, 'isFinite', {\n  get() {\n    const checks = IsFinite.create(\n      this.getChecks(), IsFinite.config()\n    )\n    return new this.constructor(checks)\n  },\n})\n```\n\n### Rule types\n\nThere is several Rules which are using internally. \n\n#### UniqRule\n\nThis is probably the most useful type. This rule overwrites any other\noccurencies of the rule in type's rules array. It defines it's own\n`create` method which shouldn't be overriden by custom implementation. Mostly\nbecause it senseless.\n\n#### SimpleRule\n\nThis rule extends `UniqRule` and define it's own `check` method which take all\nwork by creating non-check logic (issue createsion, result comparision). It\nrequires `ckeckIt` method wich should return `boolean` value.\n\n```javascript\nclass IsArray extends SimpleRule {\n    static ruleName = 'isArray'\n\n    static checkIt(it) {\n        return Array.isArray(it)\n    }\n}\n```\n\n## API\n\n### `Checkable()`\n\nCheckable is a prototype of TypeProps. It contains only check logic and has no own rules.\n\n### `Checkable#getChecks()`\n```\n() -> Checks[]\n```\n\nReturns a list of all defined checks from the TypedProps instance.\n\n### `check()`\n```text\n(value:*, type:Checkable) -> Array.<Issue>\n```\n\nValidate `value` to satisfy `type` requirements. Always produce an Array of Issues.\n\n### `getRuleParams()`\n\n```text\n(type:TypedProps, name:string) -> null|*[]\n```\n\n* `type` - Target type.\n* `name` - Rule name.\n* `=` Returns check params object or null if rule isn't found.\n\n\nReceive `rule` params by its' name.\n\n### `listRules()`\n\n```\n(type:TypedProps) -> string[]\n```\n\n* `type` - Target type.\n* `=` Returns list of rule name in order they were defined.\n\n### `Rule{}`\n```\n{\n    ruleName: string\n    config: (...args[]) -> RuleParams\n    create: (options:Array.<Check>, params:RuleParams) -> Array.<Check>\n    check: (it:*, params:RuleParams, self:Checkable) -> Array.<Issue>\n}\n```\n\nRule is an object which contains several methods required for TypeProps to work:\n\n#### `Rule.config()`\n```\n(...args:*) -> Object\n```\n\nReceives arguments from call and transform them to Rule internal representation.\nThis representation could be different from rule to rule.\n\n#### `Rule.create()`\n```\n(checks:Check[], params:object) -> Checks[]\n```\n\nAdds new check into array of already existing checks. It can overwrite\nany rule defined earlier when it is necessary. Also it can modify a rule\ndefined previously. But in most cases it just remove previously defined rule\nand push new one to the end.\n\n#### `Rule.check()`\n```\nCheckFunction\n```\n\nReceives `value` and checks that value is satisfying rule logic with `params`. If it's\nnot, then method returns list of found issues.\n\n### `Issue{}`\n```text\n{\n  path: Array.<String|Number>\n  rule: String\n  details: Object\n}\n```\n\n### `Check{}`\n```\n{\n  rule: String,\n  params: Object\n  check: CheckFunction\n}\n```\n\n### `CheckFunction()`\n```\n(value:*, params:Object) -> Issue[]\n```\n\nObject representing validation failure.\n\n### License\n\nCopyright &copy; 2018–2019, Rumkin. Released under [MIT License](LICENSE).\n","readmeFilename":"readme.md","gitHead":"cf55bf59f606c694a530dd008d727869cb33e36e","_id":"typed-props@1.0.0","_npmVersion":"6.5.0","_nodeVersion":"11.7.0","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-q7zZBiZ4/eV73BE0KvEo5hX46GiksXUNYWwqIVrt2/zNIJnvUnmUmbDN+Ae/AQrK8IYhCwcGJO5gKVRzOoEw6A==","shasum":"781ad533566da9d5bc2580568d038e918c696cac","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-1.0.0.tgz","fileCount":25,"unpackedSize":222140,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcnCbZCRA9TVsSAnZWagAAJBQP/jJW+b56c/5g5aO8ijvm\nhPSe5YiOFgV+NsjwFY2QfMW1ATJ004trFwHlaT/xjSUmltUHKuuxJbZmbfSa\nejoGqHVsIZMKbKGKK4LxiXK9cnJnlpLfpX9+jx3PI6ppoRWFxHuZNhqsMDXp\nPu/2lAX8e98Bu9u6NY4lI/9AMenlL6GP87nrmqa+YoAWtDJUjKFAWzYuqcIT\nIbaSH30gBn1eoIywqFoulcPVSkI2mSXcL9c/Y1thyW+sQQZCUNoZ6pv0dErs\ng0pQJdtRtY4UAhzrkO64H606NAIdtFaXuWJHKD3OjAV3m2ct+mDStnK7I3Nx\nWED2E8t3MDftkydFdTTQaMCe33J4tXx6fnMzKrEa6XYUaochdU50efrH161z\nWrWY0RrFMtOUarIqvu7mAHmp1T77cCGgUHwrqpi0iBO3bn8DZ9iV0A9RsxwY\nUhAaiVya2RGKoBwwTks06hbeQhacn4tQo6rbDkB3gis9MFgHz/m6OCeLyYOm\ny6UuMP9OCn5A8ZuyNX5GD5tlUYSPYPMH0+/6nvAhQi62OBjENV/E0RFYzuAt\nC8+YfU0p/RKDBNuZr6AeD4dJjw3W1/NEgjnglYvvpNu0f6lA2m50c6eXy+ou\nPQHi3OdCHqwawH6ofMV4Os7Ziv4kDCWyP0kLkNvbZ4QTjDyweHOZ3j0qtoeT\nRLeW\r\n=oILu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDImJLabcUm8h+zr2DvgMcSP9VmQ1euluwO6L+ab5iOggIhAJo4o7RsX5kLJRnq11VgQBSZvOFLpTM5iYok3ybn8dGI"}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props_1.0.0_1553737432505_0.8661420893734195"},"_hasShrinkwrap":false,"deprecated":"Bracking change delivered in 1.1"},"1.0.1":{"name":"typed-props","version":"1.0.1","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"dist/node/index.js","types":"dist/node/index.d.ts","scripts":{"build":"npm run build:web && npm run build:node && npm run build:checksum -- dist/*.js","build:node":"tsc --module commonjs --outDir dist/node","build:web":"npm run build:compile && npm run build:concat && npm run build:minify && rm -rf dist/src","build:compile":"tsc --module esnext --target esnext","build:concat":"rollup dist/src/index.js --format umd --name TypedProps --file dist/typed-props.js","build:minify":"babel-minify dist/typed-props.js -o dist/typed-props.min.js","build:checksum":"bash -c 'for file in $@; do echo `shasum -b -a 384 $file | xxd -r -p | base64` $file >> dist/checksum.txt; done' --","clean":"rm -rf dist","cov":"nyc -t coverage --reporter=html mocha test","test":"mocha test","prepublish":"npm run clean && npm run build"},"license":"MIT","devDependencies":{"allow-publish-tag":"^1.0.1","babel-minify":"^0.5.0","mocha":"^6.0.2","nyc":"^13.3.0","rollup":"^1.7.3","should":"^11.2.1","typescript":"^3.3.4000"},"directories":{"example":"examples","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=8.0"},"keywords":["validator","validation","types","type-check","typed","values","prop-types"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"e0de4eb5b686a6d432b8d6bb3784c29767161b50","_id":"typed-props@1.0.1","_npmVersion":"6.5.0","_nodeVersion":"11.7.0","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-mq5W1lLiJuGIeI8oYN40nUT8uew0EmfYCNiPi9McIQ6YXzhTqxAX7nwIQRv73eq/PaxQhEVxUVEqivRZQWBRBw==","shasum":"7d073fb15940c6957881de131097309451edfdb9","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-1.0.1.tgz","fileCount":23,"unpackedSize":218802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcnDU0CRA9TVsSAnZWagAA9U0P/jO6NXTkXwFp3NWT3m7q\nvCfEdqovs70pYkQONe4oE5BqXN2YBZGmnSq1VMnJ/jnxmSZ1NSmzFbqHcP2M\nQCnHGtacaNicozxtv23vPDKfEYudEXwzdgSISgUtoeY1yAKbq9q0W9urk1mu\nmDrhpR0kO610qIPDDJs5zG29gE2pRGL6m7m7ux2ZKYDQFAuHR3n3jli4DeJ9\nxtETEu3qVMou75FhkJjELIS8azXMCmGB9VL2+9sg5Aiyz7+VOPoDPdJI33eR\ntaxcFTC63rcyeSjKZqY4FVaIPQzVq2ES0pWcqMZJL4YyNH8YOnTiXkkb2bde\nAaomLyeW1Stcwl53xIuDrmnJ5j7nuS/Mzyv2ULkZEIUiLxKqRBtHNFdQfPMd\nU6fEvi365FVB9CgICmmtTG24AJL4xYmj1dCpO0ulYJtJYIU/ecTfH2njt5gy\nMOZkTE1o49x1gBdzssbBdR5inXM6aFI0C1fiwi4C0ezvD+3lpxuMQgH6SSWQ\nD11b7imBFsTkxgvU3Ngb5AOnbJ62Js80IfA0TJqyCIDPLbEW25nIS+bmIy1L\nrSUYhpDZ02BcYYeqBOHL9qerziS4h5v5nRjr12psy7aF3zAIImXeKsjD60KU\nid+NYbnW3tQTLk2BhhIFpI/3ED3zc5f1OtFoJgbxlYGj9PcG6N+YYkH1jklt\n8DZd\r\n=DZl4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHsjaKXN5NMsPjrWnsIWBOmxjZ6i6+7eju6sNpY9lsa2AiBjiw5bwF1bU31eWc7PbY32phxcM8wYbJKg7RvL7AlY6w=="}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props_1.0.1_1553741108147_0.05172785037324923"},"_hasShrinkwrap":false,"deprecated":"Bracking change delivered in 1.1"},"1.1.0":{"name":"typed-props","version":"1.1.0","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"dist/node/index.js","types":"dist/node/index.d.ts","scripts":{"build":"npm run build:web && npm run build:node && npm run build:checksum -- dist/*.js","build:node":"tsc --module commonjs --outDir dist/node","build:web":"npm run build:compile && npm run build:concat && npm run build:minify && rm -rf dist/src","build:compile":"tsc --module esnext --target esnext","build:concat":"rollup dist/src/index.js --format umd --name TypedProps --file dist/typed-props.js","build:minify":"babel-minify dist/typed-props.js -o dist/typed-props.min.js","build:checksum":"bash -c 'for file in $@; do echo `shasum -b -a 384 $file | xxd -r -p | base64` $file >> dist/checksum.txt; done' --","clean":"rm -rf dist","cov":"nyc -t coverage --reporter=html mocha test","test":"mocha test","prepublish":"npm run clean && npm run build"},"license":"MIT","devDependencies":{"allow-publish-tag":"^1.0.1","babel-minify":"^0.5.0","mocha":"^6.0.2","nyc":"^13.3.0","rollup":"^1.7.3","should":"^11.2.1","typescript":"^3.3.4000"},"directories":{"example":"examples","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=8.0"},"keywords":["validator","validation","types","type-check","typed","values","prop-types"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"8dfc469f26b3131680f40bff108f86f6f8a5b76b","_id":"typed-props@1.1.0","_npmVersion":"6.5.0","_nodeVersion":"11.7.0","_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"dist":{"integrity":"sha512-AyBlMNeVCLyVMjjREups+mwIQaTwZyUoYsicDe13MCdlBRr+h0112hBu9Ixv5lAn+XEo24GUDmyvKPBwXEXkLw==","shasum":"27cd7a73d24590dae18fa588e4f06cbe0c48a065","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-1.1.0.tgz","fileCount":23,"unpackedSize":221033,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcnDwfCRA9TVsSAnZWagAA2aIQAJ7Aib1iBf09kwEz2xhw\nupx8AJk6o5TD25KRHPdmWnYfYvU3l7ES2jW7S/sIb1A9WajeVzZvuGxqaZKU\nazZ2UXrM+y3YgsL2oofrBGVDk+1SKpSfPxQg2tjBcfkBI1wOsnmbJCtbV/sh\ngcFbBNeLkcc7f5rytmv1CYUxVgC1EkvXdWK5C67MysOAGDX348IkKQi5W7wV\nbrDR2KGh+mtmW7XJRT+2hub5r2+CkHhQ40w0vYUT6ZDzp35BTx37xwsCJfbX\nV2T1wbglydbvtP3eRpD7FU+ODJsDA2VIxUJXEAaUYXROjqccmEZfbkUGyXKH\nQJp5bXsynXIAyqqc4jbZFtcu3gIkMy7ZR7ezQ+FnSFqSVulrG7Dg2kEzKbwG\nQLy5+Cz1NyWIsfXPYtIUwl0Vf0y24ACcvtrxElvLnTkY6EJbJKXb36w4U9+0\ncjTOPJQ/BdnSDCEaZ4gsQSqRhJdfSqER0LFGsgQpwZ02Lm25TRTrMfd4x3Hp\njUu3eOtPRrftTXgpzAV/2DMRGfKGHrwZzhHmnDzP4cduW31wpx45MfXpKOWY\nQyc59WoyCmI8c0mTr+H0IGSi6zFkS2In/tlEZvr6rv+hQA72wfsjeb3LfGi9\nGW9jc6juvfc22pEgV7AfTmcDULSQSNRoFaEffMAe322ySxvQWdKo0706lEtd\nrvGH\r\n=0gzl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBUjB+DOTVViH5VFpGqeQVACyVDe+vJTZ8wYMBnPx/rbAiBXiln0qEKNIn8wy5ehIK/7QMtlNxTpeZfE2nYXPHpdaA=="}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props_1.1.0_1553742879360_0.18368362134271576"},"_hasShrinkwrap":false},"1.3.0":{"name":"typed-props","version":"1.3.0","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"dist/node/index.js","types":"dist/types/","scripts":{"build":"npm run build:web && npm run build:node && npm run build:checksum -- dist/*.js","build:node":"tsc --module commonjs --outDir dist/node","build:web":"npm run build:compile && npm run build:concat && npm run build:minify && rm -rf dist/src","build:compile":"tsc --module esnext --target esnext","build:concat":"rollup dist/src/index.js --format umd --name TypedProps --file dist/typed-props.js","build:minify":"babel-minify dist/typed-props.js -o dist/typed-props.min.js","build:checksum":"node bin/checksum.js dist > dist/checksum.txt","clean":"rm -rf dist","cov":"nyc -t coverage --reporter=html mocha test","test":"mocha test","prepublish":"npm run clean && npm run build"},"license":"MIT","devDependencies":{"allow-publish-tag":"^1.0.1","babel-minify":"^0.5.0","mocha":"^6.0.2","nyc":"^13.3.0","rollup":"^1.7.3","should":"^11.2.1","typescript":"^3.3.4000"},"directories":{"example":"examples","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=8.0"},"keywords":["validator","validation","types","type-check","typed","values","prop-types"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"9287023694db1183d9f79e9e27d811b116350781","_id":"typed-props@1.3.0","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-8cZ988/uzqUFuN1Eeyuv/Vob6CwsxPQYYnATgamZkhCC8VOZoBLnlFowzW4OOBc6hJrqWfmQ1Ynv+NgA8KvjoQ==","shasum":"34a079b791907a0477f71c2d67e2b12d132b7132","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-1.3.0.tgz","fileCount":31,"unpackedSize":262024,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdPRxHCRA9TVsSAnZWagAAZG4P/iSusvuFsdeLEF+WQ0JZ\nEK+vErPr0qpHcnZ0GGFKHYdpD4kqOP9Q4HpOLi5+xPXXMzAZHktan9yNJc74\nPM2hBdCfE+fM3QNTEukJvcOdA01MlTMajjbt1Leti896GE9gJcIsN+MTbwQC\n2q/DUy8os98IQ8z/FrlHQw6mZoEfGu7VhE9y3KFTzfs8ZFodfQuyP5IZe2U6\nlHZzWB/sRyaoQ8sFsco7k3XaZukt6gO21HyMPCKlWARd3fSw24mBOY4vDoDq\nOxtyQdKP6xTdqvbNj3b5aTKg9+iZn520VRYQi1KfNaogjow+LEyEWmfUVYiN\nVcnp0byLJIxheDgtx86wi/3z+h29SqfROifKoFi0e31VIcLFTVhUWZYOYFKP\nkBQLCTfcHaNTtXGt4AX0LZge15QZl/IeLWROWyUeU774li/vAU0+1wUaSAzp\nhI5PE5kX4y0/6wDXXJG/Sgtj2oIdQHb6Y0PyUACI3L0kdWMwSxCND85Ic6eo\nsefcFkBStB0HwbPSPECGn4NtRA5NVuilpywMzpUe/Ik3XQMnLrGwrqts9mIX\n9AI8dvmV/zCPCy/tmS+1GXxtl+8a2nm1lCu1Yis5OBwiVbyggn5e69LPkIVD\nOn41T2SMSNmo5Z/IjGUEXiml5l3u/Ps9fqoEQpoDo5ebuqY2Oz4M2sMXW4jk\nk5Tq\r\n=wEtg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDvb0MxrJvD8OsRRSgfyXv3jwMAHUqgvMG8jyyFTi/wXQIgR68yoXBRdudzHZiTSF15mbw1zeban8HxNsWtryE+pRY="}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props_1.3.0_1564286021971_0.2685744669779748"},"_hasShrinkwrap":false},"1.4.0":{"name":"typed-props","version":"1.4.0","description":"Facebook's PropTypes standalone extensible implementation for browser and server","main":"dist/node/index.js","types":"dist/types/","scripts":{"build":"npm run build:web && npm run build:node && npm run build:checksum -- dist/*.js","build:node":"tsc --module commonjs --outDir dist/node","build:web":"npm run build:compile && npm run build:concat && npm run build:minify && rm -rf dist/src","build:compile":"tsc --module esnext --target esnext","build:concat":"rollup dist/src/index.js --format umd --name TypedProps --file dist/typed-props.js","build:minify":"babel-minify dist/typed-props.js -o dist/typed-props.min.js","build:checksum":"node bin/checksum.js dist > dist/checksum.txt","clean":"rm -rf dist","cov":"nyc -t coverage --reporter=html mocha test","test":"mocha test","prepublish":"npm run clean && npm run build"},"license":"MIT","devDependencies":{"allow-publish-tag":"^1.0.1","babel-minify":"^0.5.0","mocha":"^6.2.0","nyc":"^13.3.0","rollup":"^1.7.3","should":"^11.2.1","typescript":"^3.3.4000"},"directories":{"example":"examples","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"engines":{"node":">=8.0"},"keywords":["validator","validation","types","type-check","typed","values","prop-types"],"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"homepage":"https://github.com/rumkin/typed-props#readme","gitHead":"a3f74a87f13d4e4b43bd432f24513b45266e75a4","_id":"typed-props@1.4.0","_nodeVersion":"12.5.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-THqjRXKhYBbH8RvM+9rxpAlhXLxZdUB9v1w6AfRGuKyo286CXgJF6ICD+Y6298mv7oprpRNfhzDyFG4mquzLdg==","shasum":"967279dc7a2313e4db54f7ee40a573dd2364eb2d","tarball":"https://registry.npmjs.org/typed-props/-/typed-props-1.4.0.tgz","fileCount":31,"unpackedSize":267043,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdTMHOCRA9TVsSAnZWagAADXoP/R2jD2bNvCvOD7N7tNKj\nCXYowVDoeSt4ohWUY/w+TKjCBSsbltwtZOhiIjW+YMqBQannKd9yCw5S45fU\ncMB8dai1zx16jKfmDrU7qZtFOW47HSw/4+XynCYXKjsn0MQ1bIrUpPc+z7Nx\naWXGL5fujjZNTZ5IOi7YVhMK0GXrPeecdOUhaGMGHe2BJk6mazHqo529cjNY\nluA0c5ZWq5R7bKDZFrrSe02gxv5n7D2TKQgUD7VoM4tRiS7ZldH/THNLhl4B\nncFKso0oWDxC3uNNe6HU5LOD/rKOObRmDbXi2MREvQIv76AcPna1VWb04Qim\nT10gd1sSQan3pGWiS69cPgSGu24stjVgAn2fvLBcbJqcihpsi14vUVMgCf70\nY7XpZjx/rtsJxWSn/ADFuXPylVkZlRA1QL2B99fzMywkyPqp/aOsGH9k0YHe\nHQbPQXPjWqnsG0ZTL7R4Y238OskSqQhDJBXTrJXlAqvDfvx7dnnZv9/WBkGZ\nlkKgQe4qxz+3Hq0iBm/WPFW1PQlmSU+AbxoxxME6+FfTInZ79b/fh76skUEB\nlIX4NdCiDfhkoxjpFbmhmSTKaRXFbbvAMo3VSGLLNZksboLd2uzLk3XA9Vxe\nYcGRAYINy3FlHbQ3fgcGEDM4kgd1deC8MN7GVQ6yctTvX+kAlHP39dKq0Ubn\nX4NZ\r\n=9+fV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCiSrqOlCj+GWhVr4oV9U8qQRceZJ8mUkHnqpoM8D701AIhAK3SIqB8tOM1W0Qd7yDC45Fdg9/WTwO5wc7e2VBH5G0p"}]},"maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"_npmUser":{"name":"rumkin","email":"dev@rumk.in"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typed-props_1.4.0_1565311437732_0.03835012120781123"},"_hasShrinkwrap":false}},"readme":"![TypedProps](doc/cover.png)\n\n---\n\n[![npm](https://img.shields.io/npm/v/typed-props.svg?style=flat-square)](https://npmjs.com/package/typed-props)\n[![Travis](https://img.shields.io/travis/rumkin/typed-props.svg?style=flat-square)](https://travis-ci.org/rumkin/typed-props)\n![](https://img.shields.io/badge/coverage-100%25-green.svg?style=flat-square)\n![](https://img.shields.io/badge/size-13.0%20KiB-blue.svg?style=flat-square)\n![](https://img.shields.io/badge/deps-0-blue.svg?style=flat-square)\n[![npm](https://img.shields.io/npm/dm/typed-props.svg?style=flat-square)](https://npmjs.com/package/typed-props)\n\nFacebook's PropTypes-alike interface implementation for client and server, reusable\nand extensible. It produce error reports instead of throwing or printing into\nconsole. It works *without React*.\n\n[Gitter](https://gitter.im/TypedProps)\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Usage](#usage)\n- [Examples](#examples)\n- [Standard checks](#standard-checks)\n- [Non-standard checks](#non-standard-checks)\n- [Decorators](#decorators)\n- [Checks and groups](#checks-and-groups)\n- [Extension](#extension)\n- [API](#api)\n- [License](#license)\n\n## Installation\n\nVia npm:\n```shell\nnpm i typed-props\n```\n\nOr via unpkg.com:\n\n```html\n<script src=\"https://unpkg.com/typed-props@1/dist/typed-props.js\"></script>\n<script src=\"https://unpkg.com/typed-props@1/dist/typed-props.min.js\"></script>\n```\n\nComplete [usage guide](https://github.com/rumkin/typed-props/tree/master/doc).\n\n## Usage\n\nCustom types check:\n\n```javascript\n\nimport {Type as T, StrictType as ST, check} from 'typed-props'\n\nconst type = T.shape({\n  id: T.number.isRequired,\n  name: T.string.isRequired,\n  email: T.string,\n}).isRequired\n\n// Or\n\nconst type = ST.shape({\n  id: ST.number,\n  name: ST.string,\n  email: ST.string.optional,\n})\n\nconst data = {\n  id: '1',\n  name: null\n}\n\nconst issues = check(data, type)\n```\n\n### Output\n\nResult of validation is an Array of Issues. Issue is an object which describes\nvalidator rules violation.\n\nIssue typing:\n```typescript\nexport type Issue = {\n  rule: string\n  path: Array<string|number>\n  details: {\n    reason: string\n    [key:string]: any\n  }\n}\n```\n\nExample:\n\n```javascript\n[\n  {\n    // Violated rule.\n    rule: 'type',\n    // Value location. It helps to receive value from nested object.\n    path: ['user', 'messages', 0],\n    // Details explain what exactly goes wrong.\n    details: {\n      // Reason helps to identify kind of problem within one validator.\n      // Usual values are mismatch, no_matches, and redundant.\n      reason: 'mismatch',\n      // The next values are validator dependent.\n      type: 'string',\n      expect: true,\n      is: false,\n    }\n  }\n]\n```\n\n## Examples\n\n* Create [UniqItems check](examples/uniq-items.js).\n* [Describe API](examples/api.js) with TypedProps (with circular types resolution).\n\n## Standard checks\n\nStandard checks provided by Facebook's PropTypes:\n\n```javascript\nimport {Type, TypeStore} from 'typed-props'\n\n// Object properties should pass all checks.\nconst shape = Type.shape({\n  // Any value except of undefined\n  anything: Type.isRequired,\n  // Which is equivalent of\n  anythingElse: Type.any.isRequired,\n  // Number property\n  number: Type.number,\n  // String property\n  string: Type.string,\n  // Boolean property\n  bool: Type.bool,\n  // Object property\n  object: Type.object,\n  // Array property\n  array: Type.array,\n  // Array property\n  func: Type.func,\n  // Symbol property\n  symbol: Type.symbol,\n  // Property which value is instance of Date\n  instanceOf: Type.instanceOf(Date),\n\n  // Complex rules\n\n  // One of check if value is in list of passed primitives\n  // It works like an enum\n  oneOf: ['one', 'two'],\n  // Check if all array values match the passed TypedProps\n  arrayOf: Type.number,\n  // Check if value is matched any of passed TypedProps.\n  oneOfType: Type.oneOfType([\n    Type.number,\n    Type.string,\n  ]),\n  // Check if all object properties passes the TypedProps.\n  objectOf: Type.objectOf(Type.number),\n  // Check shape has described properties and no other props.\n  exactShape: Type.exact({\n    id: Type.number,\n    name: Type.string,\n  }),\n  // Exact shape with custom props\n  exactShape: Type.exactFuzzy({\n    id: Type.number,\n    name: Type.string,\n  }, [/Id$/, Type.string]),\n})\n\nconst issues = check({}, shape) // => [{path:['anything'], rule: 'isRequired', details: {is: false}}]\n```\n\nResult of `check` call is array of [issues](#issue-type). If there is no issues, this array will be\nempty.\n\n> ⚠️ If shape/exact rule property presented by function it should return type to check.\n\n> ⚠️ .object will fail for arrays and vice versa.\n\n## Named and circular types\n\nUsing named types it's possible to created nested structures with cross references.\nIt could be useful for validating complex data types. Also names help to produce more\nmeaningful error reports.\n\n```javascript\nconst store = new TypeStore()\n\nconst userType = Type.shape({\n  id: Type.number.isRequired,\n  name: Type.string.isRequired,\n  friends: Type.arrayOf(\n    store.ref('User')\n  ),\n})\n\nstore.add('User', userType)\n```\n\n## Non-standard checks\n\n```javascript\nType.shape({\n  // Make type optional\n  optionalValue: Type.optional,\n  // Determine type in runtime\n  propertyDependentType: Type.select(\n    [\n      ({type}) => type === 'ADD_TODO',\n      Type.shape({/* ADD_TODO action payload shape */}),\n    ],\n    [\n      ({type}) => type === 'SET_COMPLETED',\n      Type.shape({/* SET_COMPLETED action payload shape */}),\n    ],\n    [\n      () => true,\n      Type.any\n    ],\n  ),\n  // Create custom checks when TypedProps is not enough.\n  customValue: Type.custom((value) => value === Math.PI),\n})\n```\n\nTypedProps have it's own custom checks which make it more handful.\n\n### `Checkable.optional`\n\nThis is pseudo check. This rule allows to make some property optional. It can\nswitch off previously defined `.isRequired` check. It's better to use with `StrictType`.\n\n```javascript\nStrictType.number.optional\n```\n\n### `Checkable.is()`\n```\n(value:*) -> Checkable\n```\n\nThis check validates the checkable value to strict equal `value` argument.\n\n```javascript\nType.is('user')\n```\n\n### `Checkable.select()`\n```\n(...Function|Checkable) -> Checkable\n```\n\nThis checker allow to dynamically switch between types depending on input value.\nIt selects the first arguments that is not a function or if it's function and\nit returns something truly. Then use it as type to check.\n\n```javascript\nType.select(\n  [(value) => (typeof value === 'string'), Type.string],\n  [(value) => (typeof value === 'number'), Type.number],\n  [() => true, Type.any] // Otherwise accept anything\n)\n```\n\n### `Checkable.exactFuzzy()`\n```\n(shape:ShapeType, fuzzy:...[RegExp, Checkable]) -> Checkable\n\nShapeType = Object<key,Checkable|Shape>\n```\n\nCheck exact shape with fuzzy properties which keys should match regexp from fuzzy params.\n\n```javascript\nconst fuzzy = Type.exactFuzzy({}, [/Id$/, Type.number])\ncheck({userId: 1, postId: 2}, fuzzy)\n```\n\n### `Checkable.custom()`\n```\n(check:(it:*) -> bool) -> Checkable\n```\n\nCustom check accepts `check` argument and use it to validate the value.\n\n## Decorators\n\n__Experimental Feature__. Decorators can check function arguments and value it returns in runtime.\n\n> ⚠️ Decorators throw CheckError with `issues` property.\n\n```javascript\nimport {StrictType as T, args, result} from 'typed-props'\n\nclass Arith {\n  // Fixed arguments length example\n  @args(T.number, T.number)\n  @result(T.number)\n  add(a, b) {\n    return a + b\n  }\n\n  // Variadic argument's length example\n  @args(T.number, [T.number])\n  @result(T.number)\n  addAll(a = 0, ...numbers) {\n    return numbers.reduce((sum, b) => sum + b, a)\n  }\n}\n```\n\n## Checks and groups\n\nCurrently there are several groups of checkers: existence, type, exact, and complex checks.\n\n* Existance:\n  * isRequired\n  * optional: removes isRequired\n* Type:\n  * bool\n  * number\n  * string\n  * func\n  * object\n  * array\n  * any: removes any other type check\n* Exact:\n  * is\n  * oneOf\n* Complex:\n  * oneOfType\n  * arrayOf: overwirites type check with `array`\n  * objectOf: overwirites type check with `object`\n  * shape: replaces exact\n  * exact: replaces shape\n  * select\n  * custom\n\nType and existence checks are switchable and can replace each other. It's made\nfor flexibility.\n\n```javascript\nType.isRequired.number.string.func // -> final check is \"required function\".\n```\n\nIn the same time the complex checks like `shape` or `arrayOf` require the input value to has certain\ntype object and array respectively. They will overwrite type checks too. But overwiting of complex types\ncurrently isn't possible because of unexpected behaviour. It could leads to runtime errors.\nSo it strongly recommended not to overwrite such checks.\n\nIt could be changed in the future.\n\n```javascript\nType.arrayOf(Type.number).isRequired.number // Will throw an error in runtime\n```\n\n## Extension\n\nTypedProps support extension throught inheritance. So you can create new type using\n`extend` on Type class or mixing in new rules with `Object.defineProperty`.\nMore real life example is in repository [examples](./examples) directory.\n\n```javascript\nclass IsFinite extends SimpleRule {\n  static ruleName = 'isFinite'\n\n  static checkIt(it) {\n    return isFinite(it)\n  }\n}\n\nclass MyTypes extends Type {\n  static get isFinite() {\n    return new this([\n      IsFinite.create([], isFinite.config(true))\n    ])\n  }\n\n  get isFinite() {\n    return new this.constructor(\n      isFinite.create(\n        this.getChecks(),\n        isFinite.config(true),\n      )\n    )\n  }\n}\n// Mixin into TypedProps\nObject.defineProperty(Type, 'isFinite', {\n    get() {\n        return new this(\n            IsFinite.create([], IsFinite.config())\n        )\n    },\n})\n\nObject.define(Type.prototype, 'isFinite', {\n  get() {\n    const checks = IsFinite.create(\n      this.getChecks(), IsFinite.config()\n    )\n    return new this.constructor(checks)\n  },\n})\n```\n\n### Rule types\n\nThere is several Rules which are using internally.\n\n#### UniqRule\n\nThis is probably the most useful type. This rule overwrites any other\noccurencies of the rule in type's rules array. It defines it's own\n`create` method which shouldn't be overriden by custom implementation. Mostly\nbecause it senseless.\n\n#### SimpleRule\n\nThis rule extends `UniqRule` and define it's own `check` method which take all\nwork by creating non-check logic (issue createsion, result comparision). It\nrequires `ckeckIt` method wich should return `boolean` value.\n\n```javascript\nclass IsArray extends SimpleRule {\n    static ruleName = 'isArray'\n\n    static checkIt(it) {\n        return Array.isArray(it)\n    }\n}\n```\n\n## API\n\n### `Checkable()`\n\nCheckable is a prototype of TypeProps. It contains only check logic and has no own rules.\n\n### `Checkable#getChecks()`\n```\n() -> Checks[]\n```\n\nReturns a list of all defined checks from the TypedProps instance.\n\n### `check()`\n```text\n(value:*, type:Checkable) -> Array.<Issue>\n```\n\nValidate `value` to satisfy `type` requirements. Always produce an Array of Issues.\n\n### `getRuleParams()`\n\n```text\n(type:TypedProps, name:string) -> null|*[]\n```\n\n* `type` - Target type.\n* `name` - Rule name.\n* `=` Returns check params object or null if rule isn't found.\n\n\nReceive `rule` params by its' name.\n\n### `listRules()`\n\n```\n(type:TypedProps) -> string[]\n```\n\n* `type` - Target type.\n* `=` Returns list of rule name in order they were defined.\n\n### `Rule{}`\n```\n{\n    ruleName: string\n    config: (...args[]) -> RuleParams\n    create: (options:Array.<Check>, params:RuleParams) -> Array.<Check>\n    check: (it:*, params:RuleParams, self:Checkable) -> Array.<Issue>\n}\n```\n\nRule is an object which contains several methods required for TypeProps to work:\n\n#### `Rule.config()`\n```\n(...args:*) -> Object\n```\n\nReceives arguments from call and transform them to Rule internal representation.\nThis representation could be different from rule to rule.\n\n#### `Rule.create()`\n```\n(checks:Check[], params:object) -> Checks[]\n```\n\nAdds new check into array of already existing checks. It can overwrite\nany rule defined earlier when it is necessary. Also it can modify a rule\ndefined previously. But in most cases it just remove previously defined rule\nand push new one to the end.\n\n#### `Rule.check()`\n```\nCheckFunction\n```\n\nReceives `value` and checks that value is satisfying rule logic with `params`. If it's\nnot, then method returns list of found issues.\n\n### `Issue{}`\n```text\n{\n  path: Array.<String|Number>\n  rule: String\n  details: Object\n}\n```\n\n### `Check{}`\n```\n{\n  rule: String,\n  params: Object\n  check: CheckFunction\n}\n```\n\n### `CheckFunction()`\n```\n(value:*, params:Object) -> Issue[]\n```\n\nObject representing validation failure.\n\n### License\n\nCopyright &copy; 2018–2019, Rumkin. Released under [MIT License](LICENSE).\n","maintainers":[{"name":"rumkin","email":"dev@rumk.in"}],"time":{"modified":"2022-05-22T12:32:59.108Z","created":"2017-07-26T02:13:34.408Z","3.5.2":"2017-07-26T02:13:34.408Z","0.3.5":"2017-07-26T02:13:49.700Z","0.3.6":"2017-07-26T02:19:59.860Z","0.3.7":"2017-07-26T02:28:34.621Z","0.3.8":"2017-07-26T03:01:20.350Z","0.3.9":"2017-07-26T09:30:35.511Z","0.4.0":"2017-10-04T23:10:16.723Z","0.5.0":"2017-10-05T00:10:38.204Z","0.5.1":"2017-10-26T15:18:07.275Z","0.5.2":"2017-10-30T14:45:41.335Z","0.5.3":"2017-10-30T14:51:47.333Z","0.6.0":"2017-11-01T11:20:40.216Z","0.7.0":"2017-11-28T21:42:04.040Z","0.8.0":"2018-03-26T08:14:44.955Z","0.8.1":"2018-03-29T16:01:55.113Z","0.8.2":"2018-03-29T16:12:59.329Z","0.8.3":"2018-04-01T17:19:38.773Z","0.9.0":"2018-05-03T00:16:23.154Z","0.10.0":"2018-05-03T01:26:33.406Z","0.10.1":"2018-05-15T16:03:03.897Z","0.10.2":"2018-05-15T16:10:18.547Z","0.10.3":"2018-05-20T13:38:17.621Z","0.10.4":"2018-08-17T14:13:40.950Z","0.10.5":"2018-08-17T15:06:35.937Z","1.0.0":"2019-03-28T01:43:52.661Z","1.0.1":"2019-03-28T02:45:08.344Z","1.1.0":"2019-03-28T03:14:39.459Z","1.3.0":"2019-07-28T03:53:42.118Z","1.4.0":"2019-08-09T00:43:57.995Z"},"homepage":"https://github.com/rumkin/typed-props#readme","keywords":["validator","validation","types","type-check","typed","values","prop-types"],"repository":{"type":"git","url":"git+https://github.com/rumkin/typed-props.git"},"author":{"name":"rumkin"},"bugs":{"url":"https://github.com/rumkin/typed-props/issues"},"license":"MIT","readmeFilename":"readme.md"}