{"_id":"tsmatchers","_rev":"32-06a310c0bd594c5bddf621dc7174eb1f","name":"tsmatchers","dist-tags":{"latest":"6.0.2"},"versions":{"3.0.0":{"name":"tsmatchers","version":"3.0.0","_id":"tsmatchers@3.0.0","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"dist":{"shasum":"2ba0ebd6ba8f76fd7f2250633b3a3c0e3c618e3f","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-3.0.0.tgz","fileCount":30,"integrity":"sha512-VEKnofSHp0YnHsiP+l+AQKM8QDuEWxH0twNKAVh7KebVdyikHsFj57+yxCSAgEo9pxlPiq8XAMSF5vVfinlg+Q==","signatures":[{"sig":"MEUCIBLCn/vYbc4BueO3J+z88OGGLxrb0JyrnHSoY7uIC4Z5AiEA2jEldVMaiFKaynDpg3upla8cEDcZNP1fwNshBBkJTrI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":85800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJF9hCRA9TVsSAnZWagAAvWQQAI9RfZiXjFK85o1IXKXM\nEarkow72qPIsnR6UHIFhSCTSw9M957JpnXQhlS5uzUnj/H89bWSt/An0I4ed\nG7hx7gz9tpUTlsdpCl6XNpcdx2qrr7Vb+Sg5u/UNHHY7J1IUsYlyJV9jgJPE\notZsFgzaQI/2CNnbomDPlPSVB9/ZFI5tGgKT6TSL59pEAG5qpg16EjRqrVOR\ngK65dEol8oKcJSNPGCWo3xIXt1UO0Jm2cc0JJCIAxOi45s+hphw5GJVJRtdb\n+ObUDjkgeZ4s1cU6yW3cdgJlnJTfX7xLhnyVsl9ZZoOwS05F7XgNwDaQrt6d\nH/mc31jenhs7hC3JB7hRkIC3uz3FxTCLc8WlBkrh1Up1lW7ndD8+9QCYABBa\n4UpjNPNyCpSO61bcAfu77cJZ6SP95dzPGZC65UNhqnqZFXog05F0Din3NBms\nooHcCs1ZRvaB2PmGkcm/lyF+2i1YrV/JifIUeqjfH5MxjJRZGQPOQPEf5xGj\nqGLsBYK4eSgrO79adxc6CsT4WBdubzP+w0KOmDinUdrLt/Smgwqq97gJ8Y7s\nxkQrBHglnl2iqT2ocvVNwpMQDFWIZPG1TjhY9ymSVLRJ6FguOA++v/Pxmcj9\n3y8KZiwn1kEJUEk8q2fs7oL0vheCaWC5No1+L2s3LMYNIyYmTXBcjA4gRvkN\n03MW\r\n=MESo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"js/main/index.js","gitHead":"e5afab6c6b0a7979b48d321f5e1b3becec5f2f1d","scripts":{"build":"tsc"},"typings":"js/main/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"_npmVersion":"6.9.0","description":"tsMatchers ==========","directories":{},"_nodeVersion":"12.5.0","_hasShrinkwrap":false,"devDependencies":{"mocha":"^7.0.0","typescript":"^3.7.5","@types/mocha":"^5.2.7"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_3.0.0_1579442017242_0.8667753321040024","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"tsmatchers","version":"3.0.1","_id":"tsmatchers@3.0.1","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"dist":{"shasum":"28cfe3e2088b75278d8bf57460ff9434f08518e1","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-3.0.1.tgz","fileCount":30,"integrity":"sha512-u1EDVYKd6pPyfADS4cg8A4Jd2+GYBGWnxB1f7pBULmudx/QMULzZVraq3HvSFTt2n4p1906TIKcjjB7i1bQcCg==","signatures":[{"sig":"MEQCICcuFasgyoFMvB6q1wnvVZpgUJ2H5YjU8zEcLSekH/YNAiASeBTzTwMaXVKvuuseKBDe9D7ljpEZ88UTdm3rvA6SVA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":85790,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJGFQCRA9TVsSAnZWagAAYU4QAIbPOjs7LLQn90iayIwR\npksbT/7kF7NB41PlDTCiv8FO2Sqe4zskstpSGSflboWcjZDX1bqLMqVtDCUb\nOF4/fIPfcbjCvF4rhUyMFSwU4Ko1FfPyLqm+Pp8lFkc/pitaMfZU+rxXlqTm\nYeFoGoEjB22QVtzIDihCQvzK89BTAYVJD9LdGjdWfz3mueYpXoWznfIkdj6Q\nw4HHVbWJRuva0X2apd9g15wt8ZLt3nP9lG6t5r3m1GPNY2RuiIhNQmMbLiau\nHLMMN7A8HUNbgZ/6V9xg7kCi7DNoIizJkOe3n7gMQp7Udv8fRodxin9Fq5/E\n0rOs0UCSb2ibEaaexVLpAb+uhauexZGWjZBlMMjk/p0HmvMd5CNjxqbvphJJ\nwRYUa5Feu+xDIfJAzMtin2dWqkSF/YalqQ4mJugwI73gYL9HnqkmuKDwuJel\nKbNdrIROjRC1BASBBY+xlr7eBAVkX82hI+R3MaWm2owovu0k9X4b+WuFgD+w\npQsO/1iBbs5KMhXKQqrfSg+au9ZjGgnFBYUwKME1EoWbHhwSfrsiDHzEvsT4\nT72zqn7OvletgNVFjW2uTrZ6czWdeLS/C00MFeqvx9hLmtouBqcOYon+rMSh\nqhR9SlWMOi3dNOP8WAny0AJG5SKrz2mucT8D/gAPwPPWVOjOY+a0RZjV0/Jq\n1zH8\r\n=JUNY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"js/index.js","gitHead":"e5afab6c6b0a7979b48d321f5e1b3becec5f2f1d","scripts":{"build":"tsc"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"_npmVersion":"6.9.0","description":"tsMatchers ==========","directories":{},"_nodeVersion":"12.5.0","_hasShrinkwrap":false,"devDependencies":{"mocha":"^7.0.0","typescript":"^3.7.5","@types/mocha":"^5.2.7"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_3.0.1_1579442511711_0.4056359689916951","host":"s3://npm-registry-packages"}},"3.0.2":{"name":"tsmatchers","version":"3.0.2","_id":"tsmatchers@3.0.2","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"dist":{"shasum":"fa73a6155c97e7e866499fa6e3f3c51b2fe6fdd8","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-3.0.2.tgz","fileCount":30,"integrity":"sha512-eCTjgGpovlbdS4/2/bm5DA7g4mn+up+kk+AKvvzTSatpULOsW73PSeylDj2q1V5W5ikCgS+/xuMVG+ylt1wZcQ==","signatures":[{"sig":"MEUCIQDVYqDLdo2Toe1g4wD0taoBNWZpy+3qRfqkFvMtun/QDwIgG71M2y8cPwusPoSfpTGe1R+IyVkgcQn9j+v/JZk4wgE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":100020,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJGL1CRA9TVsSAnZWagAACvAP/RWc7lLeSlb4WzjsJDlI\n2rGACJKg1QtGM6jkUHXhumKpN0h5pWSJ9h0fxFfNdCRkxrQTtgaGad5j6YmZ\nI1aNiDoDXm5P0sEHECQlB3q2zNmPpJv/9TB+AhSTEmCXnVB2s8/5SQ9aPX/U\nNOtorSKWsCJrWhPYcgNo9+4ipPMFvllWYRrAE/rPHnFgzhfEMTNWB2eNchyu\noPSIKrgOpaZhv8bb1k/wVfmByko4584DT//sP0/rRZjzkpqj5YJX8uua3Wbg\nJuzJV4+3rX2Tx1NFm+nZz0K7N//w0tz/+50fGklzrI+0uFsr0cMg6R6J61S/\nPI+jf/Hj6sRxxOGIgtt4bWW/LKBn9y7yF3X9cOvz3T1lKbDCs5BCMS0TWhDO\ni4mQ9sajkuYIddjrl5vFVQSEbFVKztcEV8VpenAfm3R+XrBh8QNwr6YlNvjh\nFLMfwULwes8o0nIG09NYAODWLqJvRmEqQEd4oC0248G6qsoC5lOs/dVBH7Wx\nUINCNcjh+4qoNGpL9cIiVTp99nP/eaheQVm1YUNG3aIITSrrYZ90um/lSB9Z\nHtIZy51ZVXZSPqgaXNO4LPdmr/pQ5UYBciO6K4pWmxABDTF6pXYVarqd75AP\n4JceVFt8IvpiXrC2HErDHnvLec70yzDj56PH/MWlyilkJiOeurjGUzBKR2MD\n/hgC\r\n=FtFf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"js/index.js","gitHead":"e5afab6c6b0a7979b48d321f5e1b3becec5f2f1d","scripts":{"build":"tsc"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"_npmVersion":"6.9.0","description":"tsMatchers ==========","directories":{},"_nodeVersion":"12.5.0","_hasShrinkwrap":false,"devDependencies":{"mocha":"^7.0.0","typescript":"^3.7.5","@types/mocha":"^5.2.7"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_3.0.2_1579442933327_0.9411136115924748","host":"s3://npm-registry-packages"}},"3.0.3":{"name":"tsmatchers","version":"3.0.3","_id":"tsmatchers@3.0.3","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"dist":{"shasum":"f2d3de95759d25670d33a9f074fe9c4a99cb5773","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-3.0.3.tgz","fileCount":30,"integrity":"sha512-2GuKfCdyfZ2GJrQzOowpnCArrMmzzlCxGcUspOWRtpZaBCkMggMKJRQeFneA/NKiNcXSeW5Z/HzUeRsp8K1igQ==","signatures":[{"sig":"MEYCIQDRUwl++pn5QHqfgkrIeHWRvQOcmHEH72bFnxGWuMcICwIhAOMg204HTPWcppPK83o4ZhfRVetgZ4EgGhNjmAl7dkHn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":99936,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJGQyCRA9TVsSAnZWagAAgN4P/iQzRd7E5PNvcbsnUvCB\nmciFbc3wrn2cXWNDpi/Gr1Qgyzajgr1gDlhCtCN625EkJ3a8xHm5Bp30r15S\nmKKW49i1wVfKfbGHbVjPmQpvJYD0gy2lyxaCOjEho7SUc8OK0mCdxcnBMDTI\nNGSFUskwaUas8/Wh5wOEwMuzCPVuG7Lw0SCLnbuPyh3dUkHQNa0az76dxAjl\nmkc878j47f3LqqiClGoqtblS5yJ/dZ4L1zmk23rj4KVRkPt5H5l676Rxk7Hn\nyHgDXErhPEojlTVzERqIiNZgkytNtocdwmc6V0b724E7UBgdZnlHN8pYO6Vc\nJknb5RYq1Fm9g8hlzfEHQdpXM8zZuRRIpgBnipkm+zYXhhtnd++N4PGhO3V0\nz7cuZXliqF2r7S1ZyKlJAKtUQbSBjY1mgG8iHezOHUSrUg1xwb/nsIThRlhA\nhmm9W+1MOD59MBGbhfCmDmEme4UfmRnhyaqtxpNzjLbrjAZUjZDvYdbNYIKM\nPsI2/FI1YBIBFcVT1Uzngsqw66zCCM5gXIk6P+IJ+oqz9TT5hcdmB9QCEArG\nBTA98XJ6fblo1sh8DbnBTFGja03WwF5UyRcRXckI2ZnrYyEvlCJx3ypK6R0N\nm7jv8fJxqYv4AjE7n0W+nl8h5LF2im57c1lWwV25gLIkuyNk0OEJEGgLu9dX\neTbL\r\n=t+AB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"js/index.js","gitHead":"e5afab6c6b0a7979b48d321f5e1b3becec5f2f1d","scripts":{"build":"tsc"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"_npmVersion":"6.9.0","description":"tsMatchers ==========","directories":{},"_nodeVersion":"12.5.0","_hasShrinkwrap":false,"devDependencies":{"mocha":"^7.0.0","typescript":"^3.7.5","@types/mocha":"^5.2.7"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_3.0.3_1579443250329_0.5041028678606925","host":"s3://npm-registry-packages"}},"3.0.4":{"name":"tsmatchers","version":"3.0.4","license":"ASL 2.0","_id":"tsmatchers@3.0.4","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"6a835cff4a217347be4c0ecd22d22c09b758a737","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-3.0.4.tgz","fileCount":33,"integrity":"sha512-6kqKJ+oUcVofmFVp5TgJKhOUGrfgtJ9EVWMWmOhRe6iuyGBGd341ONPMadFdSaqKRv/Pp8nYLB3/soU3SUawtw==","signatures":[{"sig":"MEYCIQD892NBEFmrwADh0ubG6V9VPaTP79QGiV8SdCfURw756gIhALbFtMGgcWutGu7PkUKX90EoBw8e9EmSPlcDfOKpUKoZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":107262,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJIeXCRA9TVsSAnZWagAAkr8P/Rk3+WB8IZeU6T9r8Lmn\nJBGldYl7ZXJZezCPrXtswtWkOF0Puw0/hg2r2Zy/MJ6RccuBnZ0kvfG3IJoU\nPipjdH32oC+s5u+xqv3VsNG0APnTqv8wH6fMkuT28JVhtiIRORiBOY2CX1PV\n1Kf1hoYOKMUXJ5O/GC5swOr018ilAMU+/4q9lDIa/MWEHooB/uhQGDr3vnKe\nppuYCRNcpLfNn9lL2LC3vBbwZXKPYEeHDjTYSFSRcnxh7hFSq+Nl/njGFn8L\nPPIFnKsP7ANkoLVf0G9eCRgKNQUt1zFbRVmd+3KXA9CTNtb2UKSmNViMvQVI\nOKTKdTf8YYpCZFRgQFaaOFRWyEOhQUoodEE0lqPeN4XCsd1XWRFlzC2cFdkT\nxasEjMKK1J4XBW/rFaNh8yFo+S0p5GzSxE+9fm9IAZQIoNmaLjT22Ng3W0sz\n4fz5hPCLMKkQCngma3ydK7HV3+haqECsZbtJ3uwnxUoUnWLeOctCfNDmzCYn\n9sR255kHrn0nSbgD0cV22SElC4ddbm5xOc1+PqiMMyjBR+BVevzlQ66rpTUH\nE20H+divQi+j/FFZOeBK2rCn2VbrQHMjq3Wf5FWdjXGaLZesrIcvBUDKIS9M\ncKw1rz7JwciYauqm0DhebF/SgC2ZVkE7QxLzOuzSAvNcBA8bffONmARFUb1/\nsD+k\r\n=ImiX\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","globals":{"ts-jest":{"diagnostics":false}},"testMatch":["**/__tests__/*.(ts|tsx|js)"],"testEnvironment":"node"},"main":"js/index.js","gitHead":"e5afab6c6b0a7979b48d321f5e1b3becec5f2f1d","scripts":{"test":"jest","build":"tsc"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"6.9.0","description":"tsMatchers ==========","directories":{},"_nodeVersion":"12.5.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","ts-jest":"^24.3.0","typescript":"^3.7.5","@types/jest":"^24.9.0"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_3.0.4_1579452310963_0.2721748462351017","host":"s3://npm-registry-packages"}},"3.0.5":{"name":"tsmatchers","version":"3.0.5","license":"ASL 2.0","_id":"tsmatchers@3.0.5","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"49861422d5b45545a479a41e8e33f86894f61595","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-3.0.5.tgz","fileCount":33,"integrity":"sha512-tz1WCTK4adEPCCdtRpyiJpW6hKWPYUXZnWjzjLwmxiMG6MMQITLHBg3tvLd7kp6kCBvQnEjazaByYimzQKDq8g==","signatures":[{"sig":"MEQCIE5IPU2vALAH5vQjFYbCE9FYzGOYJWRlXvI2jOw0hKQWAiAm4OnRzKbICR4lMmgomn8R/VxB7y/cmdV6/COcg8XtcQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":107705,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJIjLCRA9TVsSAnZWagAAzdMP+QGwLyTlbfubYmyWGCil\nhB35RNW/OGhv75KCeWPDL/gx2TSdN3EzJ1HSw3Xj7SITD8MxrmNP/Wt1x+8M\nO3n6ml1X0YSrp0QcqO/gSFxgeoGLxY5z2gHptE253GauTQujlALKP1MxlEbD\n/zT2RUm/VnyYD2PVVv3JdTtX20JbBeQ0p0aaDFiOY5HsBZfBBu7R5hthNvlt\naZZADUS+6XnHdzJ3Djr6nPLes2oAyPT0L0CqEbrwWKo2mI/piape2YwuSNT3\n1nyZ0VxdtRdllcyyoukJdIiQG+CaRNf034+V2+kykK3M/Um6qSrXi4y974AB\nbd07wu2AATYKeigw2cCsE9zs4+LCuOweBmyo5dgJzFh52+R9wWPWYLkcJbj8\ni5ABfrwEirla4yNXalhNUnmOvRy+xSs5HSUNqqFReVfIuRCou2AaVcEPgaBH\nIIl+SCK3mbsDn3Ld4d71OT2CEaeNgoryK0T83kF1+zD+cTPLOlcNKQCqNVKP\n8UVe7S1B8efWk4iAO/T8fT4arlj4SkZ0TE7XNndHDhUK2/Keu1P1YwjgaEvQ\nPHURFkAueZlcuGrmJmdE6B/JP2ikpBZo384dDmpSR2pIoYqxSPFVaITSPbkc\n13R6vXjCHCJZTwFmQ+bG4HmjehmXdBVrL5mnCXmChSkx596sVX3AxiaAX2yi\nhQ7D\r\n=sJCq\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","globals":{"ts-jest":{"diagnostics":false}},"testMatch":["**/__tests__/*.(ts|tsx|js)"],"testEnvironment":"node"},"main":"js/index.js","gitHead":"e5afab6c6b0a7979b48d321f5e1b3becec5f2f1d","scripts":{"test":"jest","build":"tsc"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"6.9.0","description":"tsMatchers ==========","directories":{},"_nodeVersion":"12.5.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","ts-jest":"^24.3.0","typescript":"^3.7.5","@types/jest":"^24.9.0"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_3.0.5_1579452619446_0.5265036764140403","host":"s3://npm-registry-packages"}},"3.0.6":{"name":"tsmatchers","version":"3.0.6","license":"ASL 2.0","_id":"tsmatchers@3.0.6","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"aad5eece15211952c451bfaa7c8c7b38f9ce19ea","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-3.0.6.tgz","fileCount":33,"integrity":"sha512-OLiJkKi0zqURBfq9aK0aEJGc6hABWtVw79U/p8M2r8rmdDb3bIDkAxWiDhNaDIvtQ1SaFYyxlU4QubZSGGv+ug==","signatures":[{"sig":"MEQCIFJj8+z8V01QkXrRX29IxQjVpdHg0hqOzb54PLqietCjAiBqgNA/5BFLEDVtpR3ILJ2cI/77YpaUxrFCIMOKsd0E6w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":108711,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJJA7CRA9TVsSAnZWagAA+GAP/ik/AKDSYMkn87OhrY5f\ne53yWLFbr0aJYBQqCIm/ZuiEjJt3V4tAtBuViXbAj9BXUPlQ88+psHFd0pPm\nUC6D+eI4xO2V80It7AFkcIiFyzC0UU6ObwQGNDlDEGeE2qVnobiTyuxtmSk0\ncY6vpWbzJZt+0ZChi9xO2GgYdyTY4+Ub8rkv0i6dQnDlzZperGOdTL9+0sSL\nxULHqzs0+x06xmoVMTJThRNt+/zbZ+Si34E/U4N0EaBPyM38v/g/UBK1I3Cc\nb48stxagLZMDqHvrSjBMLq/ljbfEmMdiAa6gvhZsTx2VGBMGc6uIOXNMIf96\n3dDgRdlL4dKhUth1p9X9dQEYW277NhFD+TOg42vqy8KNqNsv3OBtPgfrMUTq\n8f7ogmJfxcZROJLIB0s8TPDFxQSH0xZ4XbgC7OhuBsdXpPo5/rDnfyCsec3F\nTLj84zBMOQMSXJ5HElyOsfnXAvAzrYpTie9NK7ZURE3DqxGHT6iqySlh3LZ/\ncRAjogFYsiUy/jSFNggg8mTdZgR0Jts+Esi+j6nvKpl5DRCaGdAJIl7wTdiy\nK9p53AWDSW8AAmAbOW3zscK/tgMud/HnoT4CJq2xH+UV1ygtJnOsvCF8Vx+b\nVvJbFTaQfbsiL5PW2jCjC1FL7lhcJX2qfyzhbd+SBy1vT6q9nbAErTxnCIN5\ngQiF\r\n=dF36\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","globals":{"ts-jest":{"diagnostics":false}},"testMatch":["**/__tests__/*.(ts|tsx|js)"],"testEnvironment":"node"},"main":"js/index.js","gitHead":"6cb113c47eec92396207cc998a952af2566ab562","scripts":{"test":"jest","build":"tsc"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"6.9.0","description":"tsMatchers ==========","directories":{},"_nodeVersion":"12.5.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","ts-jest":"^24.3.0","typescript":"^3.7.5","@types/jest":"^24.9.0"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_3.0.6_1579454522502_0.8927164645026138","host":"s3://npm-registry-packages"}},"3.0.7":{"name":"tsmatchers","version":"3.0.7","license":"ASL 2.0","_id":"tsmatchers@3.0.7","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"ae416fa4ffea1766c34e445dda2ebf3d35075595","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-3.0.7.tgz","fileCount":33,"integrity":"sha512-ZXe3Z6B4ul/t/YCnZDhl9l4fuQ1k19fljvFJjQTCNZjRGbw6xq3k5WfWK1sHLm3VNuUCqt0agkhKf3crwvQSLQ==","signatures":[{"sig":"MEQCIFlLcH44z7iBWYqlezbLFnaC7W4O2IarxJWkKt2WgAKzAiACRlcxv0tKXFulbU+1TrdbK3whHN/Zk8XsKvufGS7uqA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109628,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOz8HCRA9TVsSAnZWagAAvakP/27q1ntlPBe1cBJLET0b\nKN3K5OxR6+qsIG2TZuSHfz3Y1stOgRLeklyYq53LwRWWVyjwwFEP5U6Z+49b\nkBa/6dlzj8Q6MrpgvSAV2g38tDoNkMqnS+P452gmfbals78rv9Bb3CCZAOpF\nx3nZElaW1XKtHKT1Zk480ps44UaCWAY9Fi7xnduMD4R8TQYYcvQm0SevgJQW\n4wNgx8XEV59d5JxMRuGsiY1KKbChoXoySyfe8EzXQjIHTTDDesy2W9czjhGt\njpzJCo9fDc70q5/XpQZHLCUmHwiJ6szdg8L9j+REwDpiLCwScMj/tzy9GwhK\nupP0DqLUFAdbPpRkSsIjxrRo1q2LJ0jTVk8RXbLvFfrqEa1XW97Tew0CykWO\nWy+seRNpgVLYqkeChXDFMapQH4TQJl85p/S4IF7jHtx5Ma4lMe5M0sYzSfq9\nGh8ZYJeqU/J1FnXG1NRuzlRaaADiSkbUl1AnEq6kRuG1t/qyh00OpcMoUPz+\nnIQl/tHAwfiGFLOZLasPnV6KIzcKjCJiuCopjSmrMXVcgg+GfYA7jmFki/HP\nPgFG84WN2xtpm122IL3WChRZKceQ6Mey8oJQuFmTqSD0AZ8VBspjSXwfJckt\nFOc76VsTVC4ZPdMgBbC5Dci1cpB4fpSqEIgD0sRd00TvV76BkKUow4iMmmQ5\n6YFH\r\n=nmgI\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","globals":{"ts-jest":{"diagnostics":false}},"testMatch":["**/__tests__/*.(ts|tsx|js)"],"testEnvironment":"node"},"main":"js/index.js","gitHead":"c83aff476332191d84f77e5064a57278152a5cec","scripts":{"test":"jest","build":"tsc"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"6.9.0","description":"tsMatchers ==========","directories":{},"_nodeVersion":"12.5.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","ts-jest":"^24.3.0","typescript":"^3.7.5","@types/jest":"^24.9.0"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_3.0.7_1597718278724_0.9563187034397911","host":"s3://npm-registry-packages"}},"3.0.8":{"name":"tsmatchers","version":"3.0.8","license":"ASL 2.0","_id":"tsmatchers@3.0.8","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"9a9a2dd43a51ca29853541081e7dc66ba8b9d207","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-3.0.8.tgz","fileCount":33,"integrity":"sha512-ZJ8p/Qgqq6dlHEcJNDi58dL2kkt252NX/BnkUA4Q78zlCnFyeVr4byv7PVwApLP2sOvcoqv0l8s/lj50IFLFVQ==","signatures":[{"sig":"MEQCIH9W/2aFoG2DY6QN+zekqun/71mds0FgO7USyBWdCRQmAiAjlFbPrvjcGmuL7NDxy5giP9Rdn2WyUjbWZbq1a3WTZA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109945,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfO0DtCRA9TVsSAnZWagAANqwP/AmQSUi45h8cJVP4Zgk7\nq+I9rTyCIipa20Ilj6Y+1791f+2Ce14xH6sQexHR23KezqQWnCZx+cWt6Gml\nnrd7VbXfCgVQvL4lJr2N5X7ofGm83Lr+lUm0nXfNqzXGzK/50VxzO/nDbPmK\nJ/V4I+kMh+QDMCjGrWxqNAHNgqZKsYJp70x7NIrzuYHbaP6KLgFabELKZ9TT\n2TqNuHQ0NSipoq5CGBEiJCNkQ+C7cPbAzCXH5E4RIJzuxNRuFbsdO6/SSJ4T\n/0p9Ffx5v0Lewx2bdqQ6Mb2fEyoD/63TSul7MraEXFAFbXKrBZE+nPy0zDuN\nTyAAe2KBPzb2JsbAnrdesRoYxHIFANXUmkEAtLOVfgEKvELkcUsE7I5VbsdB\nc+1OknGbosRlFBDd674txom2USz3hpz/8BCQY9SLgjdcNKFJ/oLjr0ckhPuZ\nS/lWVQxGNAGSiOj2tONEzA7UJsYnrZaIrEF6o75NBDeC+E/Lej6k6zwZs2m8\nIZfz+bbtWF47r25ArwR69E/SUbwns74EgVaAvH+236pecRZFZwEWYdqvp6TV\ndLWsESegkEMNGrcZ2hcgcAVj8is7muRntiZcWOgcINpdAnOVWniavDIX4R3B\n2Dk+a8pfeLeFuaA8spKQIKNMO5tABuv6iGrQx1b9RZcn2UvBzjq0D22Ogq+Y\nZm/y\r\n=39Fr\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","globals":{"ts-jest":{"diagnostics":false}},"testMatch":["**/__tests__/*.(ts|tsx|js)"],"testEnvironment":"node"},"main":"js/index.js","gitHead":"efee26e3491971a778598b7bf87b0cb692a508cd","scripts":{"test":"jest","build":"rm -fR js && tsc"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"6.9.0","description":"tsMatchers ==========","directories":{},"_nodeVersion":"12.5.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","ts-jest":"^24.3.0","typescript":"^3.7.5","@types/jest":"^24.9.0"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_3.0.8_1597718765219_0.14304260773217403","host":"s3://npm-registry-packages"}},"3.0.9":{"name":"tsmatchers","version":"3.0.9","license":"ASL 2.0","_id":"tsmatchers@3.0.9","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"266c5f183052fd52ab9f9bfd275da7698df13a92","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-3.0.9.tgz","fileCount":33,"integrity":"sha512-D7QgbHD1jHWK4PQkYmpRlp13AN4X79gC+9snzHoM234p7o0f6BPZlEocGWJKN9/B0JigDXO4mKI+JST4ZiDdCA==","signatures":[{"sig":"MEQCIHo5PV5nk1Y+QDBlQwgxUl3xSBqA0B58rUVT41eYwH5UAiA8SGCu1Y5NK7i66B0So+kOL9ParCVZgBoCm+cEYfc4lw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109975,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPVjnCRA9TVsSAnZWagAAGXUQAJA16LrmQ788zQ9Tibf+\nskkPuZzHuSHVycb5+XdhemcJn6dGw84ePsKt4rjxXg4ZhgOvna5qv9wLrABg\n2nPR71nl/eYXhTFpGAgy5twIdHdMdIplzItX4+j8Hd0wRq4sR64nvfNcjvto\n99kKFJiL8sLveqA0fJ7IUGmnkCiv+AGeR0nIdhndsNIdTLO6Vcn17SZ9K6fS\nlPqWYmEJmlfvDsfIos7BQub3yWZurG/5bWTNTiXeUzE656fZU/vRYl+sTm6Y\nOdUH+SQIBQd4YOKvzs37GbK/WDSr+n2QYqyl6EsbW+DXMGbzFSrUVYE4V0m/\n7nHRD/K7CGk9TQ3yWm/wZJDoKNS9HNxlWu4KfxZB+8z8uKrI/4EobFWQuBCp\n1IAkrCB67Sry8Ip7O5VRju0+l9LeKH8GjhgIe5J4CRy0fjz8Ifw+dulzI+lQ\nDvKdzOMrt+phYEXizrJ2tk8wjjqpT0HYUCPprB9aeIjI8EQd5MQY2zb+SSKE\nD34fnFO9sbO9Zq3Sios8H0U5AFkfx2d+MwlpO5KROfTnatZ3yei0yJYiuDor\nhUi40zMCS9HjhYLnv/puDhTC5vV0zcg5Y8fT61hsXGHmt5hqNvStH/r5ywPQ\nowM78e1+PK9A3TT4qxvBA/jJ+T4sFdyN4oj6mEn0OVihrO9p+YqxB4SP9Ybl\nrZ9P\r\n=XkbP\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","globals":{"ts-jest":{"diagnostics":false}},"testMatch":["**/__tests__/*.(ts|tsx|js)"],"testEnvironment":"node"},"main":"js/index.js","gitHead":"86cb171c0eae81a53c1e2b27e112e9d0476cbe1b","scripts":{"test":"jest","build":"rm -fR js && tsc"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"6.9.0","description":"tsMatchers ==========","directories":{},"_nodeVersion":"12.5.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","ts-jest":"^24.3.0","typescript":"^3.7.5","@types/jest":"^24.9.0"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_3.0.9_1597855975166_0.9074797184810335","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"tsmatchers","version":"4.0.0","license":"ASL 2.0","_id":"tsmatchers@4.0.0","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"f2c72e7177bccadb0e928a0e5f44eb9cda03af6f","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-4.0.0.tgz","fileCount":33,"integrity":"sha512-RpPg0nytlKNte4CLNaqetw6eeRZ7O5ZAzQ63VdjKUtbq6qdvzn5+4OW/fgJyB8XaU27oecxk2sbLcgy/lUHqqA==","signatures":[{"sig":"MEUCIQCgM0PKvF3oMKlwY4C0a4jAuRSKPxFd5U270gkeFlfBJAIgYrpxr+2/HW2k7YaMUgTTh9ZEsHIcLy2erm7l5J/YWxQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":110346,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPZ+dCRA9TVsSAnZWagAAhZ4P/iILzxU13KtMESP9jIbS\nb3zfg7yC6S8n7G63yqgjhi0zVDPpDYDGeYCCdA0bJ5EhkT43muhmsFSP6Xro\nwtm5AUgo+XbxGdg74z/Oy4rHcW+4Axl9EmjPzOefTK5D1jn7Gme42tVRclLD\nKw70EDfrhNzqrMX/w3YIWPwrKOI+0OPJzvHA6pxCNYvtKjqjnv+CiAa2lqqb\nAkX++PsQUb5BVlJJUGc4+WSxXeMG+f6ef+5wW1ZijlEBLVhfFYod8Y6Jfd9e\nKZ71Ptd26+g9F8HO/zzEosaNeKyStXBrikBZyHBo6BFw3fAjmM3iNFv6oS6Z\nTFDti+3d7xoe85XFKeiLb0f5RZ4CYnEPlQDOGm4pZ922TrVrxshcBaFINrK1\nlj/jx0D72WmvAMwtg0buU1tRVPyUTcH8v0MHCzG55QtcxmEl2BZf9XimiaOU\n/vpo6ALd678m1yjyfnGHtJiuVV3DaMIskl6LHWoqBcdYgI5ViU123kNKUMNA\nOwWD+P+OLFAPi8R4Ipw3SFV0d64VWCybq0+MpfqBFpOpLESTZSYuC2nTH0d8\n1k1u3ihdxJs3Lm3TAjvPj8Qaj/q61xjyhXafg/Faix/hjgLElNJ64DOZyGzq\njDkIBpRtbOb3G9yEwG4tqq2AzkIB+i6vn8TF0315ilZi/u6++LkW8mzfRi5P\nT/6i\r\n=uHhw\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","globals":{"ts-jest":{"diagnostics":false}},"testMatch":["**/__tests__/*.(ts|tsx|js)"],"testEnvironment":"node"},"main":"js/index.js","gitHead":"86cb171c0eae81a53c1e2b27e112e9d0476cbe1b","scripts":{"test":"jest","build":"rm -fR js && tsc"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"6.9.0","description":"tsMatchers ==========","directories":{},"_nodeVersion":"12.5.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","ts-jest":"^24.3.0","typescript":"^3.7.5","@types/jest":"^24.9.0"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_4.0.0_1597874076691_0.050938924496326976","host":"s3://npm-registry-packages"}},"4.0.1":{"name":"tsmatchers","version":"4.0.1","license":"ASL 2.0","_id":"tsmatchers@4.0.1","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"bd134febd74c5d0011633861bd41067567cf1eb1","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-4.0.1.tgz","fileCount":33,"integrity":"sha512-RMO7jbx4I6QC19tPrLxZoqQ57YHpAjX28JOmn6/kpdy2Lk9/54JBZacSsk9c+7Bfso5/QUIN+fwIwHVIxs99yg==","signatures":[{"sig":"MEUCIDVIIsrKYal4lQGEBzltaqAKHUhKII7kpFj2/JTsWQjhAiEAsBScSQJJxZ1qROgF9oCdSmq9Ldbx7+hm2XnB5HDriUQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112871,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZ3QiCRA9TVsSAnZWagAAQCQP/Rpsvnkf0oCkNsC3qOCd\npLvY6b/nAq+piFhOyvBHnKuB2wt4BiQuhsXmqb7ys37ioyu4OgG/CkVhM2Wr\npoCNuT9kSxy/0I/zL5Xxk8m5xeSoORMmoaKE8UsC+C5+uXivUF4jcNhJR0Cc\nLrM4LY/nd+viLGYnqLouW+k7ODhyOdadZm70rEq9UQRFlIB754+hSlfMWsVy\neZQVpajU8rWlpDO0A2QAdUaSRRO5bMnMkdKZhFQqo5pPngwtvN4tepE6fYsR\nUboyex7wfP8rsJ7vdXyStxa6LoXq8v/mLVXe4u+TpdNo3/FfFiWi/MtTgQT2\noBXOQWW21UoVywQ2wry/CRtLF194iSk7Ct8OyQFLbyi1n46kX/dCWNZ4pZN0\nyFd3jN5MgbCD/lEDXeM7Fr7UE9Dakxd/LAG48AjxlNs1mV4SCna3Nku8UJwV\nlta2DacYivwXIMdv214BpQhbXrNAaC2X15ZQyWeswZVS/vK0aPS6chX1wzZJ\nd8i1Its8v/p3kuYs2+hIhlKJ5X8sFT6+CXKEMKT1LABCX6RZ7hSn3Y+le1wB\njxhluS5ytaCcpPdkLBv0csu7dTLUMUNFNpeNBmLoYt6hA52Wl4LWEzyeTOtv\n6TbQ+kStEBJZd1fwjS+MgixmBuU3AAWR3S6Mar6y2CI1gQ7nDVDjHjg6CIZS\naHSc\r\n=JyJq\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","globals":{"ts-jest":{"diagnostics":false}},"testMatch":["**/__tests__/*.(ts|tsx|js)"],"testEnvironment":"node"},"main":"js/index.js","gitHead":"1167dd9eb66a64f47b73cd8cab241cb7cbffc73e","scripts":{"test":"jest","build":"rm -fR js && tsc"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"6.9.0","description":"tsMatchers ==========","directories":{},"_nodeVersion":"12.5.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","ts-jest":"^24.3.0","typescript":"^3.7.5","@types/jest":"^24.9.0"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_4.0.1_1600615457973_0.599390481342214","host":"s3://npm-registry-packages"}},"4.0.2":{"name":"tsmatchers","version":"4.0.2","license":"ASL 2.0","_id":"tsmatchers@4.0.2","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"5dfe383c96db909cf15b00ea94578cd82c76641b","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-4.0.2.tgz","fileCount":33,"integrity":"sha512-HQdjuEZx6jc2T7XRgHTmw4DK8Hinm6Tzdhw3DQVhKzgkCROvOMusb2EhsT/dAjipFAFTIJ8HqPbzM6U4ncrhzw==","signatures":[{"sig":"MEYCIQDyMnUW5ey9yfqpi6NwCQvIMlbVAa1gB2tap0F3Sd3oCAIhAKLKP4IH3AGrqhuXDP6e+C00wEW0EdcTrNevQnR3nHh8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116062,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZ6YOCRA9TVsSAnZWagAANM8P/2OsoChu7yOcS8bFilZc\niVm4kmbMfeHHPrmmYVXVBRDmddPIHsPks/JaVBPPpGmaolP5JjR/n11jzOwo\ntzRwiEI6ACPL+Ji4rJZLzkn7opQy+CwUFNkUtb2N7mprViuWwTPDF27vtZox\n8T9hgz0TbpUBVrbYGNFxd3Q8+o/YzVC2yKu+B+HeIE5UsK0cUYiWg42klnjk\n9CBWNpt5v3ungKOqp+BegBT28KS5qjlBY4A2Pf5L7/fCja8jJ8FCC+Ekpw33\n5kcC2YiYWIEoXBAkqm0DdSfJYglFSRaLRmkOT/di6PPyE1bVLJkq/VPEqTpj\n0NiPh1i1T/24LElA3QcKUyOOTolm+1di6N6jxZjNQhB5HUUxAdJgaOhCng7i\nN8xQRZ/d5PRClAFyHEZAedxuRFrcfZbHjYThfx1ZVB+V7Sk5yQtO9vTZ6DWb\nReFt+czh+fUATnnmc7W9/e2yBlye9vb6Vp04+DfSqMFq7t2pydi8Nx/j1Y6N\n1QXR/HyLprEgFp1graJ5J2nvF1GWHMZTD29TKiieJLjSF+dI8Fi9Z6yTnoqn\nbMrD8JS9AGhbOa3FAOYtkj0Y9qfzl7TW1eUtsD0IQkq97BEgHIkAESJjQl6c\nQ0YjUqWlJOZK35CuIQwDlqvsjtvPE6zV28G0QUPoWh5AiHNRFQ2AvdQ+dRBI\n1d3k\r\n=0uJL\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"ts-jest","globals":{"ts-jest":{"diagnostics":false}},"testMatch":["**/__tests__/*.(ts|tsx|js)"],"testEnvironment":"node"},"main":"js/index.js","gitHead":"ca51a72967541f8cf630fcddf47e2ef6c199c688","scripts":{"test":"jest","build":"rm -fR js && tsc"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"6.9.0","description":"tsMatchers ==========","directories":{},"_nodeVersion":"12.5.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","ts-jest":"^24.3.0","typescript":"^3.7.5","@types/jest":"^24.9.0"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_4.0.2_1600628238248_0.12039132457536872","host":"s3://npm-registry-packages"}},"4.0.3":{"name":"tsmatchers","version":"4.0.3","license":"ASL 2.0","_id":"tsmatchers@4.0.3","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"06a00fd59c701c8994fc77deac252bcec4ac4fb0","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-4.0.3.tgz","fileCount":36,"integrity":"sha512-mzKZJX1qk6pjJfcocW0YI7mnrNlEwB3yP2BBmrnzx4e0K/BXQnUy+Qr4CajzWsyYki/fBlYYEW9zJeGgN8M6eQ==","signatures":[{"sig":"MEYCIQDAurAr1HG0wWPvYAI3QltNwz1tXlL0mK1sTgPws+BhmQIhAIydD9Uh6ybUYBIbEZMRNZ2g+lD6sebTay5/KQCLs4E+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":121970,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhrZwGCRA9TVsSAnZWagAAMU0QAI9lYPiJgDEPL3H/i4bL\n3XcRF0LVsCNnUC94V8xQ1SzLKEyWbndS1EGsf1UgcpC+GELLctfjiAxZSxQv\n1zbqBw8Y4qCNh8o1qpzY0z7U6bu72bkqFboyCWuPq+V0XLrZtTA8cHdDLDqD\nIhGwG4ibxEcc8txqtXiY+kVJL180OsmgKewo5sRufSnYIl0/9gzSAai0pC4w\nPZpJDLuzZrDsvV1R0LQQqnpof1Gn9oleu6aiuG5drFrFzVZY/JgCJ0OURqTI\nwJzN8s6XZSOYtqhHX5cXggvOcNNK/NqpAnu4jKl0z0ppQ4R4Az4vEvA2OXjn\nAXrEjdRbH2jbnwwfbL6EDfrj/U4bJwDBhUS4Wr561mB/G/g5DQRwrfq9KOYt\nvWr/FnF6LsIzfpzQTN1QJmmO8KFUAW/RjEKjEcnWiCwjkX8/ObrW/+tOF09w\n/CekRJSlJWzL9zRiUW6SbCrtQQ3LWohkJMCrSlGwuBfQhlbKe5G/YnOKFPkR\nLYceTK+K79siYJf5DKVePUc8boL+jjObqoDzQlEUzFOHuLstLeuZ3jmHSBOa\nHNU7XDQMGBqCyWyzxtkfuwmjS/6D8MYYl7ggf7420SMTW2SymaHNt7N3kHq7\nXjztGA+OHMHLK+dn23dCtisv3QdxEdfbp2hSUO28xd82/PJ5syHR5iIFGXeb\nN4Iv\r\n=xsy0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"js/index.js","gitHead":"1f098a63c806d523315d6cf03f54d0d411c0be4e","scripts":{"test":"jest","build":"rm -fR js && tsc","watch":"jest --watchAll"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"7.7.6","description":"tsMatchers ==========","directories":{},"_nodeVersion":"15.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.3","tslib":"^2.3.1","ts-node":"^10.4.0","babel-jest":"^27.4.2","typescript":"^4.5.2","@babel/core":"^7.16.0","@types/jest":"^27.0.2","@babel/preset-env":"^7.16.0","@babel/preset-typescript":"^7.16.0"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_4.0.3_1638767621898_0.4014794814544831","host":"s3://npm-registry-packages"}},"4.0.4":{"name":"tsmatchers","version":"4.0.4","license":"ASL 2.0","_id":"tsmatchers@4.0.4","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"47f730dcc9681b7552c8cc31578d0bd675c3c785","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-4.0.4.tgz","fileCount":36,"integrity":"sha512-fuBbwWh15J/kaqM+FT/afGrjWfewLAmk7Y4uB11m1ulD7q2NH5E8BNDmwuixgw4otmhrPOGzAvIW7AYKMCJcQg==","signatures":[{"sig":"MEQCIFY7SrVzGZ5Hi7bfcFhdvFNcbKo1aWy8CNb3u/pshQOBAiBwcia3Apu8q/YXh/AUgl1QWSzG9UABhjrPKBrOcONHyQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129273,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhroYbCRA9TVsSAnZWagAA+/YP/0UPn8bAEtTb9dBzCxlq\nOR+7PgYDsyOY1lcembhx6uyT7sri9ky8vRia36o+TktFA01vfegipB0ONLH0\nNcorr7QV2Vp0i4yQZz36QkJoPcvv3lJoVK2RptKKk01J9KF1cD7L8jzRfvSt\nX+uYdc/PmwOdkYxBfnQz/jSqd3AIrlvEZJPt177cZ5Lbukxp3xsClSbk0sRF\nbH9rterUeXmcMHwZIsAlwquHZQuV+oI9OET+G8KmfdtZtMMRdkF18ee8KWij\nJ3TMPiqr0xUGNv6xtGftXBVoQHVkQScqx6fMksojlVD1q6C1bBkFUlPcsAUb\n2pcrP5LLc3M7AQqJ/0IA2dyuZC4SJy0HVIvyjIvamPtu5TljBtD+Vrq5n9yC\n6UlLjBFAecSX+GGq/QaSSQgJw6eJ45bm/2cNuZqf88K2oyvuo4/HDmQynSBn\ncEzX9QYdRjLiDaynQQcF8cVreKvKWIRna2KD4ciFnHugc/mE13Y65hMlb8Od\n50f5BhutVoLjEZ6rbiWOynlblG0ihb2hUEsRpASXJfjHwkAXYQ19C0DiyXEw\nRu4aIXhW6QY8yXSUfGYJWn05WEjRyQZGd5iCekRcv4tlalEATgDSqnMuVvDv\nhohdqoC4hhfInbVcOETVYr9OjpB9TJEjA4IV9s0wayDPJetv/YuZ4f45PqQw\n6x1q\r\n=Qyzw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"js/index.js","gitHead":"be1e2d5fd2c74e294df19ec9b6b087d9a18c611c","scripts":{"test":"jest","build":"rm -fR js && tsc","watch":"jest --watchAll"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"7.7.6","description":"tsMatchers ==========","directories":{},"_nodeVersion":"15.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.3","tslib":"^2.3.1","ts-node":"^10.4.0","babel-jest":"^27.4.2","typescript":"^4.5.2","@babel/core":"^7.16.0","@types/jest":"^27.0.2","@babel/preset-env":"^7.16.0","@babel/preset-typescript":"^7.16.0"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_4.0.4_1638827547423_0.8020449348633132","host":"s3://npm-registry-packages"}},"4.0.5":{"name":"tsmatchers","version":"4.0.5","license":"ASL 2.0","_id":"tsmatchers@4.0.5","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"a597e8f5a5d53ae871b15caebc78d5a55ccb1cf6","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-4.0.5.tgz","fileCount":39,"integrity":"sha512-N1/mh6cRPQS3CHXS+xABdkvqcQ6Oh8VxcUZq8DYSaHMZLk2LERgZy8dOnbeJC6UPwDJyHod0FAKNIhnuJhBSfw==","signatures":[{"sig":"MEYCIQDHFgm2tNAW2zxVxy0J5p7p0ru0cohowLnLHheb5uwrpAIhANlPSNI2SaRMuWFd7kkVrdOaU5T/ssdIfz5sx+xF2paP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":143436,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhsX33CRA9TVsSAnZWagAAok4P/jTdUYLRK4/EikiyC7nH\nWPu+kefY5uORH4pYLGp4PSwhlBjgbR7/wvOFqLiQtw2xIoUv7ZsvpP0J1Vsc\nh4lE1dGpYEwz5SAsfzlxpIEw+azhaHaKR7gwMEnhTERNg5m3M4Zp56nWQBC4\ndDiK+hM0SGdLe2VsC5iz7wRYDTJ66c/thn6pe0NJuGkyBIdsA0scJgEoj1ma\n59dmdpiwx3lACQIOMwOCq6wGQQr1vYq/TflJz66/2LvGqz9vf5kzwCU6O/RX\nL+4PtslwjYqPSfPrNraCgyx1lezFOSTug6JiSmD8Igf1T+PkV1PcqBxdFN2a\nPtxYTizEdUNWG4aiSkLC4tiABMmZUK54lZrD/7Q8mPOYlH8sKSbZwufZQv4c\ntM8Vc/LRcTzoIAF0C1zGRySNTsh0wrijpQvyvti2PLlrSF9u7g0yP/mLn2pm\nKDM7ClxNX95Qkvbz3U6+5OuJr7cBJiwYlglo3pvW9XO7IN63Kn5aOm70AT2y\n9Ad3UTGvLkgqk99/3d4ChMXcQ5WhraC+wgif8pZHk5ZtZ4Jb2SfQw22nzGU1\nzMk9aDpZPMtcpWuCR/oK10yGP3WyC2EXOwbwYbUynPs+5m3qqinT91+AdJ/Y\noFYBsTAv9OeFQME+2Yrpc5WIAaFUv1W7uItaAmd1zfBcyFV6lL4l3S96gXiy\nOUjr\r\n=6vow\r\n-----END PGP SIGNATURE-----\r\n"},"main":"js/index.js","gitHead":"d627f5c60d8bfa174c8b7011bceca6c647061d0a","scripts":{"test":"jest","build":"rm -fR js && tsc","watch":"jest --watchAll"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"7.7.6","description":"tsMatchers ==========","directories":{},"_nodeVersion":"15.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.3","tslib":"^2.3.1","ts-node":"^10.4.0","babel-jest":"^27.4.2","typescript":"^4.5.2","@babel/core":"^7.16.0","@types/jest":"^27.0.2","@babel/preset-env":"^7.16.0","@babel/preset-typescript":"^7.16.0"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_4.0.5_1639022071339_0.09007858659809131","host":"s3://npm-registry-packages"}},"4.0.6":{"name":"tsmatchers","version":"4.0.6","license":"ASL 2.0","_id":"tsmatchers@4.0.6","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"1aa7b9b47f5fe103c05fecfb0dd17a87ff56699c","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-4.0.6.tgz","fileCount":42,"integrity":"sha512-zIfXt/AXYqASJ0FlbSQd5d9MOukO6Bb/5Sfjnu7/Ygz3jhn2+F93GqegrGjcO6TVdrei8DcuLTQeTjM6edoDsw==","signatures":[{"sig":"MEUCIQCSAEm2wR6SbRwB2QKNVxvyYBGPh7VXQpZHfLC63u5PBgIgNNxBjaqdjg8/jKIGapg1gut62ofLPD2JWELni/Rzpk8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":180376,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjAAycACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrGqg//bXGEFiAlljIhJ5M06I4yTTVGBWQBowAg4jnSpyNFXkD39VdU\r\nswcXrFPo69Os3eXNAnuCuhP5FSVpJ66OPyNcN2rwz64aomdGdq1pW4yCvU+E\r\nowjqg6tnP9Wa15CQJ6K8sfm1O9a7Jkm+ZYZOlPV8qaLb5d0bJUOSo+lTg1EL\r\nR4bmk5mVbCleOXnm4+4gBbKLn1VCA9q9D56KtRS53z3iY0XvfrpBVFQU+s9b\r\n1VgtmCG6bcnRwyjsciGTIKpNij8mpTjkRi7hWTZ2YhHOptxojDS5xh85uwQS\r\noJVKSyu8vFx/xzDqKBMAvwlX4X0dPdLYwl4TBQcRAe56SGhMfZ+PAs2a9+5v\r\nffIPvZotWIMtIm8C2DCAZzGQciFECNq0pV/OmMFCi5nd/CDbCziwgvrV8KGc\r\n+Yz5XJWHQ+1dOz7zwPwPPa7WLJMIHEw1+Yf9oFJnkqv2bIOo77kBdEbP3p2R\r\n7km/ZJRtyOFP5Y+PbO1FxoLfK47WNFeCpLfnRGFFlGy0t8JYnzzqvYwUvqeu\r\n0ggDrt6+Or+9wGVixHpEBkxRLFD4uhcXZePiq4S4lVsYZQkhcegJHY3wFhYY\r\nckNiDEFLMJ01MqydlLmGJoHENxd5yOlnz3Jf+u96gz+69YnNMTFVbEAIgPRs\r\nCF+BN6uRdFvDQW+nYBEDfNghzbOBofW6HzI=\r\n=mq+Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"js/index.js","gitHead":"207e17086c54a593397b56a42220300a69f9fec3","scripts":{"test":"jest","build":"rm -fR js && tsc","watch":"jest --watchAll"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"8.11.0","description":"tsMatchers ==========","directories":{},"_nodeVersion":"16.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","tslib":"^2.4.0","ts-node":"^10.9.1","babel-jest":"^28.1.3","typescript":"^4.7.4","@babel/core":"^7.18.10","@types/jest":"^28.1.7","@babel/preset-env":"^7.18.10","@babel/preset-typescript":"^7.18.6"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_4.0.6_1660947612518_0.8162755715840613","host":"s3://npm-registry-packages"}},"4.0.7":{"name":"tsmatchers","version":"4.0.7","license":"ASL 2.0","_id":"tsmatchers@4.0.7","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"c5846126f7d310769c0cb711764dbf206dd74aef","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-4.0.7.tgz","fileCount":42,"integrity":"sha512-zDGiO0/g2lWzq4/MvDMi94nqvwtjF5QbhnYRRXvzUzjLYsMM2J31MraIAcBObN2vj+EmsWbtj/wo4rVpPlYcbA==","signatures":[{"sig":"MEUCIQCjgn81EiNdfPm0BFiqARs30lUxpfHm9MaB0+arRU7BzQIgd7Ro3VZ3vtqlPpcItAANVh0Ee/K+pfF5870wkuAd0HE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":180926,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjAElZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp6CA/8D7iWUjQgSNUG33lI8JLZhmz8e5CaNKTW6M7nkhSP2Rr5dgYt\r\njZesny9csRrZWNn3i1IIcU/okKxV8qJv2INGFTZuTEmSNJMhb6lSwMwRlYX+\r\nr/ZZ/RZM5UwiP9yV40TQ6diYqfL8cLiYFCVYUwKMqZnVIYPetCA9tUbSgzSL\r\nLNzz5bsbIB6AHEHbN89+UmCScT99WGkSEKKpkMSgCRmZRMmB7/vkTIwbNQ1v\r\nkqshZbdBqavMkzfimB/rVn50zRQFdcMkkQvGpnYwJLpgO4F6HTtp9lNqfqmL\r\n6nfHIbPhCPzVTvf+EYA/Aoq8Xtx1JJbUgbo9S8WwpvSIN2+PeQAXQ/mDKUtP\r\nLgpfjSldWRHR5hjTey7l+EyhRPecGNaoap18VvcIrCO4fvbdDIszUIGBsjTf\r\nIiMFHPg09TyONTKVzeE+iWKmHqH2E46kigJdt5kvgJVBzEOgVa9Ebg2vyzkw\r\ngVqa9+kbUpVnWxrTUjGmtazOthl82tLqc5Xx2YD9LmN5aqrb+zQRqJuLMSJg\r\nsTfQzqfgnjMrJ84wzGxePzun2uv9wnVDrwqzkNIeizoyyEsZvseTThzj5gK+\r\nxpAUfuMDCqt6sZka7IHT1zJLfS01/jvDYzcJg8M4S7j3yBbAO5+8/o8sDY6V\r\nLRy/Tf3PsBgVhDt9cRT03w05aBCGJUcNQ2Y=\r\n=6p9y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"js/index.js","gitHead":"3c9a3a4bc3929829489e679fc3f2bcf7effe2c7c","scripts":{"test":"jest","build":"rm -fR js && tsc","watch":"jest --watchAll"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"8.11.0","description":"tsMatchers ==========","directories":{},"_nodeVersion":"16.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","tslib":"^2.4.0","ts-node":"^10.9.1","babel-jest":"^28.1.3","typescript":"^4.7.4","@babel/core":"^7.18.10","@types/jest":"^28.1.7","@babel/preset-env":"^7.18.10","@babel/preset-typescript":"^7.18.6"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_4.0.7_1660963161728_0.15752164427690984","host":"s3://npm-registry-packages"}},"4.0.8":{"name":"tsmatchers","version":"4.0.8","license":"ASL 2.0","_id":"tsmatchers@4.0.8","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"f9d9d8cbaa982fe7ae23d4e557e99d826309b371","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-4.0.8.tgz","fileCount":42,"integrity":"sha512-PqtK0wXcf631VJD4qskcSg6AUESJdDhoxzA1hY8RuhIPdKTgysOxTyLkQ239NYg88Bhzh4VNKt54WJOqXGvdMw==","signatures":[{"sig":"MEYCIQCjjy5Z7QEHV+ZR1UFFFTxKe6D6VJWjtNo6HrzodrZYaQIhAIWTj4sevgDCuqOVbdQh71jpnedlOytsWfs1t5tag8p+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":181585,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjA6XHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrFMxAAg4m0hlFqI3H52Nbd6l8a1KGL77AxtG5+u0orMTn7hoaxjRNG\r\nOszIjAYGD1eefelbM7Ryiipw4O0AkAXemgAVEVNiiJ0V5EucDrEPRsPJQxma\r\nZATivM/WPknl+FDcabXdBsfBtVyWjpB0Ivh8qeiyOHYYvedeS49qH/i2UOTr\r\nXGeuIJ0cVKq+ikai98xBOq6b+L2DefZtbt8CZ5cnIEZUUJeXsfoD7x5NfIg+\r\nUt0g715wRNDSlYS7c+XzISqgrDiQYeslc782yD8EwIZxhbDk0inqojZQcD6Z\r\naeb/gkQsNv8tCPE/qSzL7BpXuvJVhUvxmpQLeOHgIrMV/onDzQwXmXAg+M69\r\ns/IgThGuOgbFv/xfte+KTKXum6apMxRJw3x5+ZZiMyqwWfQauRn+GvZ+RKX4\r\nJ3fkBzIZdBN1ppvJPXzvk9OU3Z49t3rb1R17hC83K6oOYFxolXn4CUtOFYN7\r\nfgkwpfKt2WJS+GceRTn68AaQK9BZmDJPwWN40F+D+ahl7Yx/akdblF1to+L2\r\nGziGeCuWrExlklfuzcLPI8rGmOLVNHJnUf8X+VVm6mEnHrI7X+Q1CEbKWHlM\r\nhcaXc/+7r0S3cbXJEqYVla1xrI3EwOjSdCT8y+UGKnXhT31I3rtY85owAad7\r\nfJW6Echz/4yUGi1LkI1VL8hVkfBY8t4nR2A=\r\n=F5Dj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"js/index.js","gitHead":"b7a4b2e82ef128fe489df98b9c1b39e576985774","scripts":{"test":"jest","build":"rm -fR js && tsc","watch":"jest --watchAll"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"8.11.0","description":"tsMatchers ==========","directories":{},"_nodeVersion":"16.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","tslib":"^2.4.0","ts-node":"^10.9.1","babel-jest":"^28.1.3","typescript":"^4.7.4","@babel/core":"^7.18.10","@types/jest":"^28.1.7","@babel/preset-env":"^7.18.10","@babel/preset-typescript":"^7.18.6"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_4.0.8_1661183431722_0.3319626484455165","host":"s3://npm-registry-packages"}},"4.0.9":{"name":"tsmatchers","version":"4.0.9","license":"ASL 2.0","_id":"tsmatchers@4.0.9","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"c782f619090e94852181f9dae03257f3433ce16d","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-4.0.9.tgz","fileCount":42,"integrity":"sha512-XQEbOgRLi4at4CaXxStidEIFyDqx2h46joYl6bzTOvJV51m9IhMykLzuMVWZsIQy93vlJ0HX8LECYWwkbT8aNA==","signatures":[{"sig":"MEUCIHA7A0jKnosD71R/wIENhzIv13AjVB2DTsG0tAF8FeP0AiEAvgEnfDQ1wkFnIWgcTlDFE+lKCLO1Pk7krRWodCAmNds=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":181859,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjB46rACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpoPQ/+NNFkGgTho8PkefKUTbwnX3P5XXDhTsn9RAeoLFdwUwCH3RQO\r\nWv/jcaoAu5ApqkiswjUgLOJQmOeG3xUSkpRapOb8QZybSgdRpVOGweL8Vmcb\r\nJR+ti3tcyZXn8Tv7+NL9Gcb/z/HQKMt3SOX9YCSlgYr9l/GJdESzHXyoone6\r\nkH4qPW/ovkpq0mHml0kNhpzv60UhnPewQP26ygDu0Lju9ngT26TS1LP4MVGb\r\n7xpKQz+XIkLZiA2478GoTJ0uFjsbi1fkiuKU0BHz3Lc6bReU+/rvVrcuKReD\r\nMPxhA+WIbbYylJJmaGEV/1mlvnOZUJL2GHxynvsJkLUH2A4lBBRFfxH04h85\r\nyP2YynrK2t2CmtUFumu89fHhpnqNLZQ8Psc1qykcXV9xRvaHdzHT2zLjCP6i\r\nrpTQwMMuXC/ftgT/x2kv6OUwznP6mXUQexONdFpukU6vfiENrhSJSZFYCw2O\r\n+5PxVa8zEKBULnkX/Y7fshD/cVc6jxC/hI1Ts123Q2Cj3c7xbVQN6N3wLBz5\r\nPHoN2gQvJjPJI9Yt8AlWY2BDYWBBg9bVVjgedapl3Ol+b+K9yaGqTWwpYr0o\r\n2IYSdRnuFiBv83ssaEMKJGDx1WMHssXevpZ+pr4CgvwxOBK4g6cfEi7VxYct\r\ndb1DB7K/SkiR/pjyztIefNhuZBwb/jcWhX8=\r\n=KZXS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"js/index.js","gitHead":"b7a4b2e82ef128fe489df98b9c1b39e576985774","scripts":{"test":"jest","build":"rm -fR js && tsc","watch":"jest --watchAll"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"8.11.0","description":"tsMatchers ==========","directories":{},"_nodeVersion":"16.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","tslib":"^2.4.0","ts-node":"^10.9.1","babel-jest":"^28.1.3","typescript":"^4.7.4","@babel/core":"^7.18.10","@types/jest":"^28.1.7","@babel/preset-env":"^7.18.10","@babel/preset-typescript":"^7.18.6"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_4.0.9_1661439659230_0.5366676454875949","host":"s3://npm-registry-packages"}},"4.0.10":{"name":"tsmatchers","version":"4.0.10","license":"ASL 2.0","_id":"tsmatchers@4.0.10","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"b1f3941ebd49eea884cbfe3cbb14afbd0e385f19","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-4.0.10.tgz","fileCount":42,"integrity":"sha512-4MOzlM8UH16S9Wy5dXb6VyeB8F9D6T0+Klf/QLqJcilakerzBmOQx4ExxMkY6xF8BzS9xhSh1HK2I596Ljfzng==","signatures":[{"sig":"MEYCIQCrhheU5FYd7BntrG+esXso6TDNLp+6JpFC9579KOCNOQIhAPyZw2sL7o3OGNC3w5bLctU1l7JJEBEp9rYbDFbIYNMx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":181965,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjCDM6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpDow//ecUXvL39imj5O49w0aFWKgFEbwhNkvQDJ1fYe6xpL8xWYLx1\r\nWzv+dhkW2eZOcDGd8fVq2nA1QhhjhldoZ4DhxXg7Wi05mhuBfu6ZWksI419A\r\n9HPPIZ4LLOeg+Vc4Ab2K8GiHU/K0JcKxla7ywd1zR7K/Z7qbw8K9u33WJkHl\r\nUOTxOATcvTH3m1M1AAZY7FLjSQ+7y6CjOoOMhuUPGZFEm4g0nJcZI9MbCFQL\r\n05ztXfbu9QEj779jAP8mgdi5aXY1DTU8yXd7N1QTDu4DkR9NrxqfycPE6rzO\r\n4b7iEEDC7ABRwkM4gUXhxPZYjfxFePIiYlP6qO50asdOCmShxPSk84OU8aP0\r\naKYuXp81VQ445n5kgVV1O1ajujdr1I1PsHXFK1x1umgUTe28evMMu9DgkueV\r\nsEl71xQZrWVgIsmvQp5gbKDthere1JpqEv/ZH7HieEqcFNH36TRKvceHIU1k\r\n75EqRNAe/rLPCJbQtLvJta5VEIAYVeTePTWRdfTfSsCEDBr60NZpwpVsqyGj\r\nE8fE4Bz7Eq7rUwHOaIYqBmXXrZrOJDmJJfVA2WPz6MSrEIEy3mvygErrmfSF\r\nR6omTA2Sx1iZZsW29vK7x19hMJA3VjBt0YTGiPxUsFxcQbNMG7rCpzcZ8N/+\r\nwkCZg++KtbIsMOZ2nLRFdDSLd6oWzmPDiZg=\r\n=U5+P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"js/index.js","gitHead":"461ffc2b6ff325c78add2931a3e65aaa5d86af6c","scripts":{"test":"jest","build":"rm -fR js && tsc","watch":"jest --watchAll"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"8.11.0","description":"tsMatchers ==========","directories":{},"_nodeVersion":"16.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","tslib":"^2.4.0","ts-node":"^10.9.1","babel-jest":"^28.1.3","typescript":"^4.7.4","@babel/core":"^7.18.10","@types/jest":"^28.1.7","@babel/preset-env":"^7.18.10","@babel/preset-typescript":"^7.18.6"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_4.0.10_1661481786076_0.9843527789267048","host":"s3://npm-registry-packages"}},"4.0.11":{"name":"tsmatchers","version":"4.0.11","license":"ASL 2.0","_id":"tsmatchers@4.0.11","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"cb8a4d16356a388b97ade6023b9fffad25d2a145","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-4.0.11.tgz","fileCount":42,"integrity":"sha512-xQ7WNNI7aGoLK5PTFa1L1LY8EBAROLba3U2yVCJb3sLoNF7hT2SqQfA+rlv8e7Ofrg4Rjs2t9VDq2l/sIGbH+A==","signatures":[{"sig":"MEQCIBYaRWVpNoyCbJgJ1Pd0fVG5OLt5f3V/zHfo/R+QCtI9AiAgOdGwVX08344pr9WgYnr+iXa//LHqlJceqFiSuvO/vg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":183007,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjEp3RACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmocEg//XsIGueZJUf9ZpkftxT0oA027gMJlytcNf4i5y22BE8yJuiOh\r\new7FeCVIISFTHDl5L0R/dRkoCvZkVk4fptLovhXW1pYdsBRwv9p+/Vkdhois\r\nZX0KIJxuo0PHJ63kOKLSu7TymAWsSHDOCT7sCqBtMel5D9Ymid3dT2GIY92s\r\npepWFZwtKyDRIRCdOJpGs0oAQK72Jb47zke33HWX/qZdtiXsiCO1MCptzbhL\r\nmTESs6aEcztmPrsg5DZc0pXaZCT8nnt3MOLvSD9/ZRVkAc0s7h1dYVgC8Jim\r\n50pDB4pTArTvQE/Scgleaa9qhCEdDLPEvNXNYUPAMIp0lbGVvzSx253giSc3\r\nhSDEN4KTpnvWBe41Ph8uhZTa0ahRGfWaWx2Wj9sZDMZpM9qDQ4wPTI8Putd+\r\nWsud7tN1r2ADh/vj06VvPy1yYVdIbxbcQB4M0IaBnqBSaF9hAOHLP4w6XCZG\r\nqHz9XFmM3oNvlGRP5/hqktQxx0VENsDQU8WKvm5SCcf1wrIRUL6+iO97ge2s\r\nlk6nwMraTCaEYSfNsZCv26eSr0F+aAGPDUqIN87T10Uh42Y9Nc3meHjDUeQB\r\n5sIo++ygIvHi95FAMpQAfX05VsxJx758mpnm0L+tyZFwDFRX72FjCag+o5Dc\r\nupRt+ZMCtlvYySVc/PQFEg+G64MrBkaUaVc=\r\n=lMvI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"js/index.js","gitHead":"b4f0d04749af9942cac512c4ec5d2adba726cfee","scripts":{"test":"jest","build":"rm -fR js && tsc","watch":"jest --watchAll"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"8.11.0","description":"tsMatchers ==========","directories":{},"_nodeVersion":"16.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","tslib":"^2.4.0","ts-node":"^10.9.1","babel-jest":"^28.1.3","typescript":"^4.7.4","@babel/core":"^7.18.10","@types/jest":"^28.1.7","@babel/preset-env":"^7.18.10","@babel/preset-typescript":"^7.18.6"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_4.0.11_1662164432994_0.4059281554823846","host":"s3://npm-registry-packages"}},"4.0.12":{"name":"tsmatchers","version":"4.0.12","license":"ASL 2.0","_id":"tsmatchers@4.0.12","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"45cb880ebb61d0f482639c34d029c9316cbe8553","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-4.0.12.tgz","fileCount":42,"integrity":"sha512-mZ1+v4BsY6g9LVjNv2cUIEMTI08uVykOjFoSEwhY7WB9rKVe5TZdexglAieEPiUEEmkssrn9tmXiLpXK+T9Jhg==","signatures":[{"sig":"MEYCIQCNvKTA8LBwFsgJxC4KQXtF3iN90zQYcQtrRjNrKCAUrgIhAKsfvbdX/zhrs1uULbnhsKqvel/82JiGszB9BGgW0TZ5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":184951,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj6slAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoQuQ//TwoutpKk/pRYlIJVyqox4whGQsComE01uyX1KjIT83/Rgehf\r\nBATYF4C97dK7gadjYNFERwecg1YqpWutCnwKuDiciDvHo42uW5TWr/ULfkkV\r\npFPelfbfGZsNdqF32MzqUtkR9Yfwb6U7l6XHuVZtcR28D2/hjhYCWqdncEn9\r\nElxMicGc329Qu4A/vRTFQQssKLmVFZdYP3sHBJYcNmi50zq/Uws6VgOjOk2J\r\nauTI/RY8XbnYwvuZGdwGwjJEkppSJjp2gFjeNQduag2YEZnCq/g9rg4+F/LN\r\njxyOPbxyYANXThHfx+MeqCk59ciS/dItZk+EwkKYWNf5DSKbBOiSzQI1uB1q\r\nAQQEoX4GhVpUAduRpvbxPU2KeEbNH+bkavS8sIUguNq5F7oy+NpvOf14WWML\r\ngF3DoBgyZi9ZYerr7lDHoaWcDqjGcnWAR4vFoHqV/m3nWyxQ2crA9TG5qcbg\r\n10eIdti0eAoLdym+BuTaKc0EKQ/MRCDEe3WVZeE/2MJJ3Z43YQDXKV9fFsXo\r\nMKb4n0qx0P8ArEaOotDiBo4/y55BvjcKkh1MD/RD7YFBkIR0WxudPRAG9GUz\r\nyNNTGsUUS4XYlHNUfzxp5siw2sFUkFuyXj9ps87VzFmjHMhB0vZELnvMCdSC\r\nsHEQ47t3pKUlZPlEWtxvoN4UgJMZotXi8lg=\r\n=xkYh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"js/index.js","gitHead":"bfbfe6d53a09ad5750a7bb368f14d7d427dbf0d7","scripts":{"test":"jest","build":"rm -fR js && tsc","watch":"jest --watchAll"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"8.19.2","description":"tsMatchers ==========","directories":{},"_nodeVersion":"18.12.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","tslib":"^2.4.0","ts-node":"^10.9.1","babel-jest":"^28.1.3","typescript":"^4.7.4","@babel/core":"^7.18.10","@types/jest":"^28.1.7","@babel/preset-env":"^7.18.10","@babel/preset-typescript":"^7.18.6"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_4.0.12_1676331328046_0.27868689197363783","host":"s3://npm-registry-packages"}},"5.0.0":{"name":"tsmatchers","version":"5.0.0","license":"ASL 2.0","_id":"tsmatchers@5.0.0","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"d344dd1b67623f90f29d0d9f812dccfa402c7c31","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-5.0.0.tgz","fileCount":42,"integrity":"sha512-sHQTvpBsnzkvytHRVJnMTL1vMlmuS3LitJmO9pfCfjzXVCnoBKiDp94I9AKSp0GFofPHYoavivI8gdGE00sm/g==","signatures":[{"sig":"MEUCIHDuUGqTTAmMkOOAyqlBiZoi6Wa4a4fLXjKAFue2w3v2AiEAwskcz/DmfRPuzeBstHSzvZFQpf7veM7TQdAFa5JkSW8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":184379},"main":"js/index.js","gitHead":"45fa6a0e639e815a31b626683844560a119baea4","scripts":{"test":"jest","build":"rm -fR js && tsc","watch":"jest --watchAll"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"8.19.2","description":"tsMatchers ==========","directories":{},"_nodeVersion":"18.12.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","tslib":"^2.4.0","ts-node":"^10.9.1","babel-jest":"^28.1.3","typescript":"^4.7.4","@babel/core":"^7.18.10","@types/jest":"^28.1.7","@babel/preset-env":"^7.18.10","@babel/preset-typescript":"^7.18.6"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_5.0.0_1694995220968_0.49845388817342906","host":"s3://npm-registry-packages"}},"5.0.1":{"name":"tsmatchers","version":"5.0.1","license":"ASL 2.0","_id":"tsmatchers@5.0.1","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"0908146a25bbdf6f37ed3bd612cbbbc95a64d921","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-5.0.1.tgz","fileCount":42,"integrity":"sha512-rsjjYqvI2Hqf/UBKNdgK6ds+v61XzIRqVdL1TtLMkwynQizUIBnGf7vd/PMIIhd0XKC6gKU4YrNlrO/gi6TvcQ==","signatures":[{"sig":"MEYCIQC/C1l+BExVG27D9S+0khmxxRzcPp0RrTu41z4GzyBZiAIhALbAsOXVn6OE8Gn89gATdM4pekSsaz136eoPQdP9fDvX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":184675},"main":"js/index.js","gitHead":"7b0b6f8c60b7047238086a5214d7a7ae9e2a67fc","scripts":{"test":"jest","build":"rm -fR js && tsc","watch":"jest --watchAll"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"8.19.2","description":"tsMatchers ==========","directories":{},"_nodeVersion":"18.12.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","tslib":"^2.4.0","ts-node":"^10.9.1","babel-jest":"^28.1.3","typescript":"^4.7.4","@babel/core":"^7.18.10","@types/jest":"^28.1.7","@babel/preset-env":"^7.18.10","@babel/preset-typescript":"^7.18.6"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_5.0.1_1699918394744_0.3926143402788502","host":"s3://npm-registry-packages"}},"5.0.2":{"name":"tsmatchers","version":"5.0.2","license":"ASL 2.0","_id":"tsmatchers@5.0.2","maintainers":[{"name":"simonegianni","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"096f89dd71fceb87ec8aa8395f9b9547539a1ba8","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-5.0.2.tgz","fileCount":42,"integrity":"sha512-BBA4F2Zk8/IcgGC+lX0WYe+8vXG9mb+XFtAcInhtKY3J2YkKZdf159vDnYuInuq2X+T0InNhbPxVas0W57RbDw==","signatures":[{"sig":"MEUCIFfqdkoKrYqtmlhNru7VReaKZFvPPnG31lxMNo+XZ4cTAiEA6bQoYXXEBeMU4zXDIfg1kPs2KIv3bvFCANwinXiHf60=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":184950},"main":"js/index.js","gitHead":"46edd51ffeb8add60af413a46f67f6a55befbfe2","scripts":{"test":"jest","build":"rm -fR js && tsc","watch":"jest --watchAll"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni","email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"8.19.2","description":"tsMatchers ==========","directories":{},"_nodeVersion":"18.12.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","tslib":"^2.4.0","ts-node":"^10.9.1","babel-jest":"^28.1.3","typescript":"^4.7.4","@babel/core":"^7.18.10","@types/jest":"^28.1.7","@babel/preset-env":"^7.18.10","@babel/preset-typescript":"^7.18.6"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_5.0.2_1699961478625_0.8265504790674809","host":"s3://npm-registry-packages"}},"5.0.3":{"name":"tsmatchers","version":"5.0.3","license":"ASL 2.0","_id":"tsmatchers@5.0.3","maintainers":[{"name":"simonegianni-user","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"ccea8ca014fce962fa26be3a0a8be2b7118cfc56","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-5.0.3.tgz","fileCount":42,"integrity":"sha512-Rqc0qqhrlOR1pKGrVCERGXgEUOiGOwDN89vO8HRpccMvmejRJH3aRZZCdtUbKyeQedxvoB9ePHaaSnn57Kjz3Q==","signatures":[{"sig":"MEQCIEEhfgfHqTGRzBxzMC7fo1+MuQGEWY+2E0W1b9yYboiPAiAwUJOnb6zSRsfy6WBKhqBy/jR/70D9IPiVXtbcGeTZgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":183303},"main":"js/index.js","gitHead":"f87db85a805380c96149eb76f8e853d4186a80ee","scripts":{"test":"jest","build":"rm -fR js && tsc","watch":"jest --watchAll"},"typings":"js/index.d.ts","_npmUser":{"name":"simonegianni-user","actor":{"name":"simonegianni-user","type":"user","email":"simoneg@apache.org"},"email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"10.9.2","description":"tsMatchers ==========","directories":{},"_nodeVersion":"22.15.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","tslib":"^2.4.0","ts-node":"^10.9.1","babel-jest":"^28.1.3","typescript":"^4.7.4","@babel/core":"^7.18.10","@types/jest":"^28.1.7","@babel/preset-env":"^7.18.10","@babel/preset-typescript":"^7.18.6"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_5.0.3_1750902746326_0.6530577156230435","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"tsmatchers","version":"6.0.0","license":"ASL 2.0","_id":"tsmatchers@6.0.0","maintainers":[{"name":"simonegianni-user","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"1596bc8cf7bd5fde77b62ebb2984ef6013cad8f6","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-6.0.0.tgz","fileCount":82,"integrity":"sha512-KSpohjB3v5LJGKn55G4WBwAcHd1ibeUvWCwDrWPjp09rmzG+zx1fmjr+bP1UNrA/ApBkR4O4IMjdHK69wYIyig==","signatures":[{"sig":"MEQCIHjmtvxpjvccOXKiN9UCM4txYAboPCSGTCyMGeKqiuk+AiBHj75JU36tMuepp3kUy4tlnQG365NRJmD9hFJ6iBLv1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":343052},"main":"dist/cjs/index.js","type":"module","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/cjs/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"0c2c2b52ae1901fb08485dec936120c97d5fc75e","scripts":{"test":"jest && node test-cjs.cjs && node test-esm.mjs","build":"rm -fR dist && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node scripts/fix-esm-imports.js && node scripts/fix-package-json.js","watch":"jest --watchAll"},"_npmUser":{"name":"simonegianni-user","email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"9.5.1","description":"tsMatchers ==========","directories":{},"_nodeVersion":"18.16.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.4.0","ts-jest":"^29.4.1","ts-node":"^10.9.1","babel-jest":"^29.0.0","typescript":"^4.7.4","@babel/core":"^7.18.10","@types/jest":"^29.0.0","@babel/preset-env":"^7.18.10","@babel/preset-typescript":"^7.18.6"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_6.0.0_1754867151664_0.530484216759036","host":"s3://npm-registry-packages-npm-production"}},"6.0.1":{"name":"tsmatchers","version":"6.0.1","license":"ASL 2.0","_id":"tsmatchers@6.0.1","maintainers":[{"name":"simonegianni-user","email":"simoneg@apache.org"}],"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"dist":{"shasum":"5abbf222234e323a848eb83367f54e6518425add","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-6.0.1.tgz","fileCount":82,"integrity":"sha512-6mob5glkHS5kAcgsjWHYbe+ZIjB9rfnEg7rPb+8V0PI5fuCQN7PpjXCePjAAXcP7ymkJboIp9k/b1Qn1b8c3yQ==","signatures":[{"sig":"MEUCIQClDMVSMe3F/Min0obhU4MPx4fheIOGPMYqr+0BGBVdiAIgTNjFpUOQscPsZWItb43u+20mluMyMdsxBmimOwrb8kM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":343288},"main":"dist/cjs/index.js","type":"module","types":"dist/cjs/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/cjs/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./internals":{"types":"./dist/cjs/tsMatchers.d.ts","import":"./dist/esm/tsMatchers.js","require":"./dist/cjs/tsMatchers.js"}},"gitHead":"0c2c2b52ae1901fb08485dec936120c97d5fc75e","scripts":{"test":"jest && node test-cjs.cjs && node test-esm.mjs","build":"rm -fR dist && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node scripts/fix-esm-imports.js && node scripts/fix-package-json.js","watch":"jest --watchAll"},"_npmUser":{"name":"simonegianni-user","email":"simoneg@apache.org"},"repository":{"url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git","type":"git"},"_npmVersion":"9.5.1","description":"tsMatchers ==========","directories":{},"_nodeVersion":"18.16.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.4.0","ts-jest":"^29.4.1","ts-node":"^10.9.1","babel-jest":"^29.0.0","typescript":"^4.7.4","@babel/core":"^7.18.10","@types/jest":"^29.0.0","@babel/preset-env":"^7.18.10","@babel/preset-typescript":"^7.18.6"},"_npmOperationalInternal":{"tmp":"tmp/tsmatchers_6.0.1_1754867567470_0.31849649384245127","host":"s3://npm-registry-packages-npm-production"}},"6.0.2":{"name":"tsmatchers","version":"6.0.2","devDependencies":{"@babel/core":"^7.18.10","@babel/preset-env":"^7.18.10","@babel/preset-typescript":"^7.18.6","@types/jest":"^29.0.0","babel-jest":"^29.0.0","jest":"^29.0.0","ts-jest":"^29.4.1","ts-node":"^10.9.1","tslib":"^2.4.0","typescript":"^4.7.4"},"type":"module","scripts":{"build":"rm -fR dist && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node scripts/fix-esm-imports.js && node scripts/fix-package-json.js","test":"jest && node test-cjs.cjs && node test-esm.mjs","watch":"jest --watchAll"},"license":"ASL 2.0","repository":{"type":"git","url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git"},"main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/cjs/index.d.ts","exports":{".":{"types":"./dist/cjs/index.d.ts","require":"./dist/cjs/index.js","import":"./dist/esm/index.js"},"./internals":{"types":"./dist/cjs/tsMatchers.d.ts","require":"./dist/cjs/tsMatchers.js","import":"./dist/esm/tsMatchers.js"}},"_id":"tsmatchers@6.0.2","gitHead":"bf3ffb215752ec9af61fef119443192a8faad9ea","description":"tsMatchers ==========","bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"homepage":"https://github.com/SimoneGianni/tsMatchers#readme","_nodeVersion":"22.20.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-0xuUP/L5e1KtsNgO8iymO8kCl/Mcd8jequhGHI6AtZxcfFnhR0crJueFw2DcCLP1ruHNzByXPn+VdqdGSb97EA==","shasum":"32036d24143016646d9e16df4cfa4a32cb47efef","tarball":"https://registry.npmjs.org/tsmatchers/-/tsmatchers-6.0.2.tgz","fileCount":82,"unpackedSize":343364,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIH/Iqnipo2aO8Ya3ZcBvbfmP28ax5MB5jr9jM/MDI5zlAiEA5ElGt7GW0q1tKivsx2cmjop+59p255dPt7iUB77kqd0="}]},"_npmUser":{"name":"simonegianni-user","email":"simoneg@apache.org"},"directories":{},"maintainers":[{"name":"simonegianni-user","email":"simoneg@apache.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tsmatchers_6.0.2_1764201623992_0.1444240710405731"},"_hasShrinkwrap":false}},"time":{"created":"2020-01-19T13:53:37.241Z","modified":"2025-11-27T00:00:24.416Z","3.0.0":"2020-01-19T13:53:37.346Z","3.0.1":"2020-01-19T14:01:51.816Z","3.0.2":"2020-01-19T14:08:53.510Z","3.0.3":"2020-01-19T14:14:10.515Z","3.0.4":"2020-01-19T16:45:11.360Z","3.0.5":"2020-01-19T16:50:19.586Z","3.0.6":"2020-01-19T17:22:02.629Z","3.0.7":"2020-08-18T02:37:58.896Z","3.0.8":"2020-08-18T02:46:05.321Z","3.0.9":"2020-08-19T16:52:55.329Z","4.0.0":"2020-08-19T21:54:36.794Z","4.0.1":"2020-09-20T15:24:18.141Z","4.0.2":"2020-09-20T18:57:18.420Z","4.0.3":"2021-12-06T05:13:42.046Z","4.0.4":"2021-12-06T21:52:27.551Z","4.0.5":"2021-12-09T03:54:31.506Z","4.0.6":"2022-08-19T22:20:12.733Z","4.0.7":"2022-08-20T02:39:21.868Z","4.0.8":"2022-08-22T15:50:31.890Z","4.0.9":"2022-08-25T15:00:59.417Z","4.0.10":"2022-08-26T02:43:06.243Z","4.0.11":"2022-09-03T00:20:33.206Z","4.0.12":"2023-02-13T23:35:28.241Z","5.0.0":"2023-09-18T00:00:21.183Z","5.0.1":"2023-11-13T23:33:14.936Z","5.0.2":"2023-11-14T11:31:18.866Z","5.0.3":"2025-06-26T01:52:26.513Z","6.0.0":"2025-08-10T23:05:51.855Z","6.0.1":"2025-08-10T23:12:47.653Z","6.0.2":"2025-11-27T00:00:24.176Z"},"bugs":{"url":"https://github.com/SimoneGianni/tsMatchers/issues"},"license":"ASL 2.0","homepage":"https://github.com/SimoneGianni/tsMatchers#readme","repository":{"type":"git","url":"git+ssh://git@github.com/SimoneGianni/tsMatchers.git"},"description":"tsMatchers ==========","maintainers":[{"name":"simonegianni-user","email":"simoneg@apache.org"}],"readme":"tsMatchers\n==========\n\nWhat is it?\n-----------\n\nA set of typesafe typescript matchers inspired by Hamcrest matchers for junit, to be used for easier and more descriptive test assertions.\n\n- Totally type safe assertions for your unit tests\n- Works with Jest, Mocha, TsUnit and any other unit test framework\n- Zero dependencies\n- Can coexist with any other assertion library\n- 99% of test coverage\n\nWhy should i use it?\n--------------------\n\nWhen developing TypeScript, you often need to write unit tests. There are currently a number of \nframeworks to write those tests, like Mocha, Jest, TsUnit just to name a few.\n\nHowever, the assertions in most of those frameworks are not very descriptive nor easy to use. \n\nInstead, with tsMatchers, assertions are more readable and produce better error messages :\n\n```javascript\nassert(\"Right nickname\").when(person.nickname).is(\"Nick\");\n```\n\nIt is type checked, more readable, and reports a better error message :\n\n> Was expecting \"Nick\" but was \"Nock\" when asserting 'Right nickname'\n\nWay more complex assertions are possible with a simpler syntax, for example :\n\n```javascript\nassert(\"Person matches\").when(person).is(matchingObject({\n  name: aString,\n  surname: aString,\n  nick : aString.and(not(stringContains('!'))),\n  friends : withLength(10)\n}));\n```\n\nMoreover, it's totally extensible, so that you can write your own matchers to use in your tests.\n\n\nHow to install\n==============\n\nUse npm or yarn:\n\n```\nnpm i -D tsmatchers\n```\n\n```\nyarn add --dev tsmatcher\n```\n\nThen import and use it into your tests:\n\n```javascript\nimport { check, equalTo } from 'tsmatchers';\n\ncheck(x).is(equalTo(y));\n```\n\nHow can I help\n==============\n\nPlease star the project. Report bugs, wrong or not clear documentation, or your ideas on how to improve it in the GitHub issues, \nand eventually fork it and send pull requests with your changes. \n\nUsing assertions\n================\n\nThe most common syntax for an assertion using tsMatchers is :\n\n```javascript\nassert(\"This thing is true\").check(x).is(rule);\n```\n\nWhere :\n1. \"this thing is true\" is the message you'll see if the assertion fails\n2. `x` is the value to be checked, and can be anything\n3. `rule` is a rule to match, can be a raw value or a matcher obtained using matching functions explained below\n\nWhile having a message is a good practice, if you don't have it you can skip it and write directly :\n\n```javascript\ncheck(x).is(rule);\n```\n\nAnd it also supports a different syntax to avoid polluting with tons of imports:\n\n```javascript\n\nimport { assert, is } from 'tsmatchers';\n\n//....\n\nassert(\"This this is true\", x, is.equalTo(y));\n\n```\n\nOr also directly using `check`:\n\n```javascript\nimport { check, is } from 'tsmatchers';\n\n//....\n\ncheck(x, is.equalTo(y));\n\n```\n\nequalTo(val)\n------------\n\n`equalTo` is probably the most basic matcher, so basic you usually don't need to write it at all.\n\nIt checks if the value to be checked is (loosely) equal to the given value. For example :\n\n```javascript\ncheck(10).is(equalTo(10));\n```\n\nAs said, it is so common that if you don't specify it and simply use the value, `equalTo` is used by default.\n\n```javascript\ncheck(10).is(10); // Totally equivalent to the previous example\n```\n*Note* the comparison is loosely equal, so it passes if `x == val` in JavaScript terms, however \nit is TypeScript type checked, so the following will give compile errors :\n\n```javascript\ncheck(10).is(equalTo('10')); // Error, x=10 (number) and val='10' (string)\ncheck(true).is(equalTo(1)); // Error, x=true (boolean) and val=1 (number)\n```\n\nIf you need to perform untyped assertions like above, you can use `looselyEqualTo` :\n\n```javascript\ncheck(10).is(looselyEqualTo('10')); // Will pass, because '10'==10 is actually ok in JS\ncheck(true).is(looselyEqualTo(1)); // Will pass, because true==1 is actually ok in JS\n```\n\nIf instead you need a strict comparison even at runtime, you can use `exactly`, that uses the strict comparison\noperator and passes if `x === val` :\n\n```javascript\nvar x:any;\n// some value goes in x, but since it's :any TypeScript can't check at compile time\ncheck(x).is(exactly(true)); // Will check that it is a boolean and it's true\n```\n\nAnd remember these all work also with the alternate syntax:\n\n```\ncheck(x, is.equalTo(y));\ncheck(x, is.looselyEqualTo(z));\ncheck(x, is.exactly(w));\n```\n\naString, aNumber, aBoolean ...\n------------------------------\n\nIf you don't want to check for a specific value, but only to check that something is a number or a string, you can use\nthe various `aXXXX` :\n\n```javascript\ncheck(x).is(aString);\n```\n\nThese will check for specific (JavaScript) types :\n * `aString`\n * `aNumber`\n * `aBoolean`\n * `anObject` : can't distinguish between an instance of a specific class or an inline object\n * `aFunction`\n * `anArray`\n\nOthers will check for boolean values :\n * `aTrue` : will match if it's a boolean and has value true (synonim of `exactly(true)`)\n * `aFalse` : will match if it's a boolean and has value false (synonim of `exactly(false)`)\n * `aTruthy` : will match if whatever value can be converted to a boolean `true` in javascript\n * `aFalsey` : will match if whatever value can be converted to a boolean `false` in javascript\n\nSo for example :\n```javascript\ncheck(0).is(aFalsey);\ncheck(1).is(aTruthy);\ncheck('').is(aFalsey);\ncheck(true).is(aTruthy);\ncheck(true).is(aTrue);\n```\nWill all pass.\n\nOthers are less specific but still very useful :\n * `definedValue` : will match anything defined\n * `undefinedValue` : will match anything undefined\n * `aNaN` : will match a number with value NaN, useful mostly as `not(aNaN)`\n\n```javascript\nvar x = 1;\ncheck(x).is(definedValue);\nvar y:any = 'ciao';\nx = x*y;\ncheck(x).is(aNaN);\n```\n\nIn alternative compact syntax the initial \"a\" is dropped:\n\n```\ncheck(a, is.number);\ncheck(b, is.falsey);\n```\n\nnot(rule)\n---------\n\nAny rule can be negated using `not`, for example :\n\n```javascript\ncheck(x).is(not(aNumber));\ncheck(x).is(not(equalTo(10));\n```\n\nIn alternative syntax `is.not` can se used to achieve the same results:\n\n```javascript\ncheck(s, is.not.number);\ncheck(s, is.not.equal(\"ciao\"));\n```\n\nCombining rules\n---------------\n\nMore complex expressions can be created using the `.or.` and `.and.` syntax :\n\n```javascript\ncheck(x).is(aNumber.or.aBoolean);\ncheck(x).is(aNumber.and.equalTo(10));\n```\n\nThis works also with the alternative compact syntax:\n\n```javascript\ncheck(x, is.number.or.boolean);\n```\n\nNumbers\n-------\n\nThere are many rules to check numbers :\n * `greaterThan(val:number,inclusive:boolean=false)` passes if `x` is a number greater than `val`, or equal to `val` is `inclusive` is specified `true`\n * `lessThan(val:number,inclusive:boolean=false)` same as greaterThan, but passes if `x` is less than `val`.\n * `between(min:number,max:number)` passes if `x` is a number between `min` and `max` **inclusive**.\n * `closeTo(val:number,range:number=0.1)` passes if `x` is a number close to `val` within `range`. Formally passes if `Math.abs(x - val) <= range`.\n \nFor example :\n```javascript\nvar a = 12.5;\ncheck(a).is(greaterThan(10));\ncheck(a).is(lessThan(15));\ncheck(a).is(between(10,20));\ncheck(a).is(closeTo(10,0.5);\n\nvar b = 25;\ncheck(b).is(between(25,30)); // Will pass, between is inclusive\ncheck(b).is(greaterThan(25,true)); // Will pass because of the boolean true making it inclusive\n```\n\nDates\n-----\n\nDates are supported for direct comparison, for example :\n\n```javascript\nvar a :Date = // a date\nvar b :Date = // a date\ncheck(a).is(equalTo(b));\ncheck(a).is(b); // Same more compact\n```\n\nSimilar to numbers, there are many matchers to check dates :\n * `dateAfter(val:Date,inclusive:boolean=false)` passes if `x` is a date after than `val` (or equal to `val` is `inclusive` is specified `true`)\n * `dateBefore(val:Date,inclusive:boolean=false)` same as after, but passes if `x` is before than `val`.\n * `dateBetween(min:Date,max:Date)` passes if `x` is a date between `min` and `max` **inclusive**.\n * `dateCloseTo(val:Date,precision:Date)` passes if `x` is a date close to `val` within the given `precision`\n\nThe precision is one of the following strings: \"millisecond\", \"second\", \"minute\", \"hour\", \"day\", \"month\", \"year\". A date is considered close to another date if the difference between the dates is withing the specified precision.\n\nFor example :\n```javascript\nvar a = new Date(2016,1,1);\ncheck(a).is(aDate);\ncheck(a).is(dateAfter(new Date(2015,1,1)));\ncheck(a).is(dateBefore(new Date(2017,1,1)));\ncheck(a).is(dateBetween(new Date(2015,1,1),new Date(2017,1,1)));\ncheck(a).is(dateCloseTo(new Date(2016,3,4),'year')); // Will pass because of the precision: the two dates are in the same year\n```\n\nInstead of using a Date object, you can use a string with the ISO format, which will be converted to a date considering it always in UTC and filling the missing fields with zeroes.\n\n\n```javascript\nvar a = // some date;\ncheck(a).is(dateAfter(\"2015-01-01T15:40:27.345Z\"));\n```\n\nWhen using a string as an argument to closeTo, the precision is determined based on the given string, for example:\n\n```javascript\ncheck(a).is(dateCloseTo(\"2016\")); // Will implicitly use precision \"year\" and check only the year\ncheck(a).is(dateCloseTo(\"2016-03-05\")); // Will implicitly use precision \"day\" and not consider the time\n```\n\nDate matchers are available also in the compact syntax:\n\n```javascript\ncheck(b, is.date);\ncheck(a, is.date.after(\"2015-01-01T15:40:27.345Z\"));\n```\n\nArrays\n------\n\nYou can check an array length with `withLength`, if it contains specific values with `arrayContaining`, and \nif all elements of an array conform to a rule using `arrayEachItem`.\n\nFor example :\n```javascript\nvar x :number[] = [10,11,12];\ncheck(x).is(anArray); // Useless in this case\ncheck(x).is(withLength(3));\ncheck(x).is(withLength(greaterThan(2)));\ncheck(x).is(arrayContaining(10));\ncheck(x).is(arrayContaining(equalTo(10)));\ncheck(x).is(arrayContaining(greaterThan(10));\ncheck(x).is(arrayEachItem(greaterThan(9)));\n\n// Or comibined\ncheck(x).is(withLength(3).and(arrayContaining(10)));\n```\nAll these assertions will pass.\n\n`withLength(rule)` takes a single number and checks the `length` property of the array.\n\n`arrayContaining(rule)` passes if at least one element of the array matches the given rule. The rule can be any\nmatcher expression.\n\n`arrayEachItem(rule)` instead passes if all the elements of the array match the given rule.\n\nBoth are type checked at compile time, so the following will give a compile time error :\n\n```javascript\nvar x :number[] = [10,11,12];\ncheck(x).is(arrayContaining(equalTo('text'))); // Typescript type error here, cause array is numbers and matcher is for strings\ncheck(x).is(arrayEachItem(equalTo('text'))); // Typescript type error here, same\n```\n\nIn alternative syntax, use `is.array`:\n\n```javascript\nvar x :number[] = [10,11,12];\ncheck(x, is.array.containing(10));\ncheck(x, is.array.containing(is.greaterThan(11)));\ncheck(x, is.array.eachItem(is.greaterThan(9)));\ncheck(x, is.array.withLength(3));\n```\n\nStrings\n-------\n\nA string length can be checked with the following matchers:\n- `stringLength`, to make sure of the length, which also accepts combining other matchers\n- `stringContaining`, to check substrings\n- `stringStartsWith` and `stringEndsWith` to check starting and ending parts\n\n```javascript\nvar x = 'Testing';\ncheck(x).is(aString); // Useless in this case\ncheck(x).is(stringLength(4));\ncheck(x).is(stringLength(greaterThan(3))); // Supports using a number matcher\ncheck(x).is(stringContaining('est'));\ncheck(x).is(stringContaining('es','ing')); // Supports multiple strings, must be contained one after the other\ncheck(x).is(stringStartsWith('Tes'));\ncheck(x).is(stringEndsWith('ing'));\n\n// Alternative syntax\ncheck(x, is.withLength(4));\ncheck(x, is.withLength(is.greaterThan(3))); // Supports using a number matcher\ncheck(x, is.containing('est'));\ncheck(x, is.starting('Tes'));\ncheck(x, is.ending('ing'));\n```\n\nTo make checks case insensitive, you can combine the `lowercase` or `uppercase` matchers with the others:\n\n```javascript\nvar x = 'Testing';\ncheck(x, is.lowercase.starting('tes')); // Will pass, because x is converted to lowercase before the check\ncheck(x, is.uppercase.ending('ING')); // Will pass, because x is converted to uppercase before the check\n``` \n\nObjects\n-------\n\nOther than `anObject` matcher, you can check the properties of an object with `objectMatching` :\n\n```javascript\n// Will use an inline object, but any javascript object will work\nvar x = {a:10,b:'Test',c: {c1:100,c2:20}, d:'Other'};\n\ncheck(x).is(objectMatching({\n  a: 10,\n  b: withLength(4).and(stringContaining('est')),\n  c: { // Sub-object-matching\n    c1: between(0,100),\n    c2: closeto(20,1)\n  }\n}));\n```\n\nFormally, `objectMatching` accepts as a parameter an inline object with rules as values, and applies the rules\nto the corresponding `x` properties. If one of the values is an object, it goes the same way recursively.\n\n`objectMatching` is not strict : in the previous example there was an `x['d']` for which there was no rule, and the assertion passed.\n\nIf you instead want to be strict, and make the assertion fail if `x` contains a property for which there is no specified\nrule, you can use `objectMatchingStrictly`.\n\nType safety between the given object and the matchers is checked, an will raise an error in case properties don't match:\n\n```javascript\nvar x = {a:10};\n\ncheck(x).is(objectMatching({b:5})); // Compile error, x does not have a \"b\" property\ncheck(x).is(objectMatching({a:\"ciao\"})); // Compile error, x.a is a number, not a string\n```\n\ninstanceOf\n----------\n\nTo check if `x` is an instance of a specific class, use the `instanceOf(val)` rule :\n\n```javascript\nvar x = new Person();\ncheck(x).is(instanceOf(Person));\n```\n\nasync await\n-----------\n\nAsync methods are supported in all checks, so for example:\n\n```javascript\nasync function doSomething() :number {\n  // Your async-await promises code here\n  return 1;\n}\n\nit(\"Test async\", async () => {\n  await assert(\"Something should be more than 10\").check(doSometing()).is(greaterThan(10));\n  // as well as in alternative syntax\n  await check(doSomething(), is.greaterThan(10));\n});\n```\n\nRetry\n-----\n\nThere are times when async operations may take time to complete, and a given check needs to\nbe retries few times before it eventually returns the correct value.\n\nA check can be retried using `retry()` (or `is.retrying()`), for example:\n```javascript\nmylib.downloadFile();       // Start some async long running operation\nawait check(                // Retry is always an async operation, so we use await\n  ()=>                      // Always need a function wrapping our call to that is can be retried\n    mylib.getFile()         // getFile() is a method that will return a value only after some time \n).is(\n  retry()                   // So we retry the check ...\n    .upTo(3, \"seconds\")     // .. up to 3, after that time it will fail ..\n    .wait(1, \"seconds\")     // .. initially waiting one second .. \n    .every(100, \"millis\")   // .. then retry every 100 millis ..\n    .until(is.truthy);      // until something is returned\n)\n```\n\nMore formally: `retry()` will setup a retry operation that will asynchronously execute a function over and over at\nspecific intervals, until the return value does not match a specified matcher or a given timeout is reached.\n\nThis means that `retry()`:\n1. needs a function, that will be executed multiple times .. using it on a static value is pointless and causes a compiler error\n2. it is always an asynchronous operation, so it must be used with `await` or other proper handling for async tests\n3. the actual check to perform on the returned value is specified using `.until(condition)`, any available matcher can be used\n\n`retry()` can be configured with the following methods:\n- `.upTo(val[,unit])` : how long to retry, by default if not specified it's 1.5 seconds\n- `.every(val[,unit])` : how much to wait between retries, by default if not specified 100 ms\n- `.wait(val[,unit])` : how much to wait before the first try, by default is 0 and first try happens immediately\n\nEach of the three methods accepts a value and a unit, the unit can be \"millis\", \"seconds\", \"minutes\" or \"hours\", or their\nshorter versions \"ms\", \"s\", \"m\", \"h\".\n\nChecking exceptions\n-------------------\n\nTo check if a call throws an exception use \"throwing\", usually together with a fat arrow function:\n\n```javascript\ncheck(() => object.call(null)).is(throwing());\n```\n\nIn addition to that you cal test that the message is the expected one, using specific string or regular expression:\n\n```javascript\ncheck(() => object.call(null)).is(throwing(\"Must specify an argument\"));\ncheck(() => object.call(null)).is(throwing(/Must.*/));\n```\n\nIn more complex applications, it's useful not to throw simple Error but to throw specific instances:\n\n```javascript\ncheck(() => object.call(null)).is(throwing(ErrorType));\n```\n\nAnd eventually it's also possible to test that these objects have the excepted structure:\n\n```javascript\ncheck(() => object.call(null)).is(throwing(objectMatching({statusCode: 500, message: withLength(greaterThan(0))}))));\n```\n\nAsync methods and promises are also supported:\n\n```javascript\nawait check(() => somePromise).is(throwing(Error)); // Note that it needs to be wrapped in a lambda function\nawait check(() => someAsyncMethod()).is(throwing(Error));\nawait check(async () => await somethingLong()).is(throwing(Error));\n```\n\nNote: TypeScript is not able to properly infer the async or sync type for the throwing matcher,\nso it defaults to returning a Promise. ts-lint with option no-floating-promises may complain about\nlines where the returning promise is not used, in that case throwingSync can be used to coerce\nthe sync case.\n\n```javascript\ncheck(() => nonAsyncMethod()).is(throwingSync(Error)); // Prevents ts-lint from seeing a Promise when it's not there\n```\n\nBuilding locally\n================\n\nClone the repo and then run \n\n```\nnpm run build\n```\n\nTo run tests run\n\n```\nnpm test\n```\n\nor\n\n```\nnpm run watch\n```\n\nYou can use yalc to test locally before publishing:\n\n```\nnpm i -g yalc\nyalc publish\n```\n\nThen in your project:\n\n```\nyalc add tsmatchers\n```\n\nTo publish a release:\n\n```\nnpm run build\nnpm publish\n```\n\nRelease notes\n=============\n * 6.0.2 : Fixed exports in package.json to support new TypeScript paranoia\n * 6.0.1 : Fixed access to tsMatchers internals.\n * 6.0.0 : Support both ESM and CommonJS, with proper imports and exports, also fixed some typings to better support new TypeScript versions\n * 5.0.3 : Added string.lowercase and string.uppercase matchers, improved container flexibility\n * 5.0.2 : Fixed bug with arrays contained inside an is.object.matching\n * 5.0.1 : Fixed a rare issue with objects having a different prototype\n * 5.0.0 : Removed `either` and clarified interface and documentation about `.and` and `.or` syntax\n * 4.0.12 : Fixed #21 and slightly improved #20 and array error messages\n * 4.0.11 : Fixed #20, nested arrays now are properly checked\n * 4.0.10 : Improved signatures for better compatibility\n * 4.0.9 : Fixed #19, improved `.or()` and `.and()`\n * 4.0.8 : Fixes issue with undefined values in object matching\n * 4.0.7 : Fixed #16 and partial work on #17 and other minor fixes and clode cleanups\n * 4.0.6 : Support for dates, better array matching, less object matching generic mess, full exception on is.throwing, dependency bump (tickets #8 #9 #10 #11 #12 #13)\n * 4.0.5 : Retry, minor bug on reporting assertion message\n * 4.0.4 : Array eachItem mathcer\n * 4.0.3 : Bumped versions, increased tests, fixed minor things\n * 4.0.2 : Async throwing\n * 4.0.1 : Async value checks\n * 4.0.0 : Breaking syntax change, `assert(\"msg\",obj).is(..` removed, `assert(\"msg\").when(obj)` renamed to check, `assert(obj,val)` rnamed to check\n * 3.0.9 : fixes on type checks for object matching\n * 3.0.8 : republish\n * 3.0.7 : type checks on object matching\n * 3.0.6 : improved throwing error message\n * 3.0.5 : improved packaging and exports\n * 3.0.4 : added throwing\n * 3.0.3 : improved packaging\n * 3.0.2 : bumped all versions, updated to use proper packaging, published on npm\n * r4 : overloaded all main functions to work like \".is()\", accepting both a matcher and a simple value that will be converted to an \"equalTo\".\n * r3 : Fix an undefined in WithLength, fix a bug on ObjectMatcher that was not checking all matchers \n * r2 : Fix on \"aNaN\", use specific matcher cause typeof is not reliable\n * r1 : Initial commit\n\nTODO\n====\n\nMore fluent interface\n---------------------\n\nLike `.to.be` and similar constructs, we already have the `is` interface and the container for matchers, but we need \nto somehow chain it with the value. Syntax would be something like:\n\n```javascript\ncheck(\"str\").is().string.withLength(3);\n\nawait check(() => somethingAsync()).is().throwing(AnError);\n```\n","readmeFilename":"README.md"}