{"_id":"message-bridge-js","_rev":"30-45547149328f7d25cdcb30f6c44ad1ea","name":"message-bridge-js","dist-tags":{"latest":"0.9.4","commonjs":"0.1.5"},"versions":{"0.0.1":{"name":"message-bridge-js","version":"0.0.1","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"git+https://github.com/alfnielsen/MessageBridgeJS.git"},"main":"build/MessageBridgeService.js","dependencies":{"@microsoft/signalr":"^5.0.4","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.13.10","@babel/preset-env":"^7.13.12","@babel/preset-typescript":"^7.13.0","@types/jest":"^26.0.21","@types/uuid":"^8.3.0","babel-jest":"^26.6.3","jest":"^26.6.3","jest-websocket-mock":"^2.2.0","mock-socket":"^9.0.3","ts-jest":"^26.5.4","typescript":"^4.2.3"},"scripts":{"test":"yarn jest"},"gitHead":"e4d55bd9ce951cf494e53587fd9b4a1b3415c329","description":"A CQRS Hook.","bugs":{"url":"https://github.com/alfnielsen/MessageBridgeJS/issues"},"_id":"message-bridge-js@0.0.1","_nodeVersion":"14.16.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-ni+FbLjgDBRUHtJd11VYjvJ2aeQxbKHHpN9XuWby8ncl9tibysuR5Wbl7R4bbayeMsbAXlYfOcCd48+UXzOslw==","shasum":"872c0e990f9a162ca2b6905bcc21b5a4982d3b05","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.0.1.tgz","fileCount":36,"unpackedSize":736771,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdUQ6CRA9TVsSAnZWagAA0vkP+wQ52KHckO9tdZxAzg0n\ndhzsVyOfPSBIBg9fCIYYyJCyShvYBpbjcrmTcqfxGoWx62ge35VMjhuIYWsB\nVaAxUMWKgnHVpBChOueL2K8Cyi2JpHfQtZfkGLtuLfvEChd9QKtxLU48l4t1\nhbKlilgMzqRfMcYw+V+K/oqu/6/HE2+zwRqVSB8FDvFtz4Wk+uMPfoitwq5s\nu9dUU9ApsRjDxTtEhwDLdtG5vQYNRo4l+8ml/8hWPUD5oUWJNvsh4fZV6ZV3\n0IJ/P+uUE0SZhgmF9NGwgmvQXUCw7ALY1F2l9NhSetUovem0V39NMojbEx59\nxgpSZ7GTSS8Ux8ftmRn5PtzEnthFT/0PsZxmvVMhWFoGottNnCgRjGiNjO6L\n7csPy93XceUmZYENUK1sQNcnklJpUgkJSZR8x43wa6QePVyloABWcp8QVXIi\nuQO18YtxAqz08ZBQ4FxKW6vmBqiBWoWYB9Ot+we5BG2JpqI8NZTLioblVAjN\nfhQVmyctuhdhgBw7LizBuzxEnBpBHNGAyOD4BtkFmvV5BnDZemhKmSWoyzMC\nb0skmgmYaMeYiOssfmNTSUPNAmLoEmx5mp0+oB7ZJFc+JTXsD8NJdFUt0vgG\nqyvrLzzjacJrxWVHNAUolhjYEMSNQ103lPIOTEoKlq0Ri54jETC9n76HHOyz\nfH25\r\n=zvI1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDEe4QgpJNNPosmzxTq20KPRUU44wmORJr7kdgYa6jLMQIhANLl4L6ujv8OSvWHHLjDE9+8Esljz2AuRVDkQjEyDRbb"}]},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.0.1_1618297913906_0.32865872133934104"},"_hasShrinkwrap":false},"0.0.2":{"name":"message-bridge-js","version":"0.0.2","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"git+https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"main":"build/MessageBridgeService.js","dependencies":{"@microsoft/signalr":"^5.0.4","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.13.10","@babel/preset-env":"^7.13.12","@babel/preset-typescript":"^7.13.0","@types/jest":"^26.0.21","@types/uuid":"^8.3.0","babel-jest":"^26.6.3","jest":"^26.6.3","jest-websocket-mock":"^2.2.0","mock-socket":"^9.0.3","ts-jest":"^26.5.4","typescript":"^4.2.3"},"scripts":{"test":"yarn jest"},"gitHead":"e4d55bd9ce951cf494e53587fd9b4a1b3415c329","description":"A CQRS Hook.","bugs":{"url":"https://github.com/alfnielsen/MessageBridgeJS/issues"},"_id":"message-bridge-js@0.0.2","_nodeVersion":"14.16.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-59Tpd8VrfeGk3yAwq/tTytjulT7MCAxe9Wix8403m2fktznKtTorJEfFEQFIqL9u6lQgBUmD7Mc8aWnX6FR6+w==","shasum":"ace3cf977bcd9d348e68fb8ec902039de50623b5","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.0.2.tgz","fileCount":19,"unpackedSize":41776,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdUlcCRA9TVsSAnZWagAAIi0QAIrkEXn7TO/krmzSrZCg\nwb6un/nXqmeUQnnf6FVR6RMIIsDNPHzoB5hoHa0PV6N7z6JENOxKpE8CxRmf\npnrT1Tp3VvU9JSq3dGG/yc3tB+WigbZkJLnjy1JthrREG1vvxWI+eOrjLdyZ\niiSnn3e09hrtXJT9W5/ItyiK8i34kQ8u3d6HgetjFZICFce+h8JNPOMic7mv\n7wYcXx/NdInQVx8nf0uo6Jr92vRXmYjbniWbbExjdvwvj6UgGp0rjkuDqGHs\noO2y3bpEvG5qcm7ijEhdzNTOd4kDOIimfJJGDYNspMpC5SgRO96N4T8wNCYw\nxjW/DKZ80UH03LvE7rFEIjkTS+V9nD4L196C4Zh0duRf1PhcFjDs8IiLpB+m\naY1uBqFp+NYs4QpL+dbuFB95ItzwvNMeOLTeQQojh9jCjNtjt4jptDEl7KX/\nTAq8wG+Z7my3w4mvjjUT7XZ1FoGYG0DBzeRj+3pbdDWGD7SOUtP1dcBJoet6\nkJeJ0Azy/E+1jfvnB6u1Rv7pGY0V53DprqVwvpNYsD8AAxASUCpOqdu9jlB0\nJ5PSAmqumCxE2WgfhscCYEd5E+EYKSandyAP6jIXluSuVbbUgqD15xLsnzLd\nMPPLdWDquO+efteBtRqUlRQepIERdio6Hm5mc5eLEFcNUEHa5R91sKlRrE3s\nI+FV\r\n=Wzcr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOFbDgowcMSTTGjGsc1FX32hSpDESCk4y/uvbob1epLgIgYZoWWgEyv383zBS5IS7uPHxjUM93c2pKAvnHi1ZdG2o="}]},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.0.2_1618299227794_0.5355902859754267"},"_hasShrinkwrap":false},"0.0.3":{"name":"message-bridge-js","version":"0.0.3","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"git+https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"main":"build/MessageBridgeService.js","dependencies":{"@microsoft/signalr":"^5.0.4","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.13.10","@babel/preset-env":"^7.13.12","@babel/preset-typescript":"^7.13.0","@types/jest":"^26.0.21","@types/uuid":"^8.3.0","babel-jest":"^26.6.3","jest":"^26.6.3","jest-websocket-mock":"^2.2.0","mock-socket":"^9.0.3","ts-jest":"^26.5.4","typescript":"^4.2.3"},"scripts":{"test":"yarn jest"},"gitHead":"d16e835c27204fc8a9503df7cce61d76909d5fd2","description":"A CQRS Hook.","bugs":{"url":"https://github.com/alfnielsen/MessageBridgeJS/issues"},"_id":"message-bridge-js@0.0.3","_nodeVersion":"14.16.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-Ru/i7uJj8MSBGZx+PZdG+PTR2V6JCoUjAq+qOBW618HIo2aV7xIsjM9VpkkzcYQLvAbq7sVTBYWTnGoHOhTukw==","shasum":"7bffd6d67776941c33a14dc89674196959e29375","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.0.3.tgz","fileCount":19,"unpackedSize":42612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdUt4CRA9TVsSAnZWagAAOgwP/2Lnub3qwB4z9FGivCK6\n94pWNNswynekgcM4czYVO8ekcYc6rZiAaHdYpT/MfZXoEdl+US98Ky2Onq/M\nW6QaVIfz18pv+6EvAM+htmiEIwNcSmgevDJ3rmRf3v6vs+8CLjhlUMvTrzeK\nZXSLKmpX0qvliv+Of6DHrT+wMKLiiaCqNP/uOB4/wS++OMeTzT6rhtTddtMl\nzlZ9mlllNwHpiHgYwMVtzFRaavf60fHS58s6nGAxa6VfjbYBPr0EtH58xvBr\n2dfb17oA8N/wEtPjdd8Z9H7Ef44LBLRW4IXDc21/evRTfuLlGK0pBUZhmOWh\ntuRD5JWevkOj2WOKNvQ1+iE+ImqtZghVJTVRNfm9m8HkggbUqrzUwdKXDWUS\n9dPBTBNQM+OS4hIv7HOc8Fd2/1HDonwYJKFVIOzQwQu15fWMfhvOwFj/56gC\nLz8PG6e+5O5qBC/OQAmGVWQsnGdOfz0mdk1JxiCC3jtd63n7B3HfPAiJHjOK\nSm/XU6Xdcfd25yc7ywOYB4DG8LsDFdJ4sSNMZ9UxTyELIAiUesBPDGWF8uwa\nvOyHcwdp5u/92LWdzL+yF47IuU/NeizNYizSgmBvLpyr16vO0TKpXvKt/3+k\niqlrBD5VKTKEmnzn5DYfH1mw0mcErfOUQqkE9+r6SG3u0I7JX16qy4tivnad\no0X7\r\n=WXQ1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICd8TXbxvXKXNCrEM0/zDzfi318oBzlNogYuDMVFlgD3AiEAkzuBMQMhLRsDmxCcLxkiG5A+EEVZIyXIPj/O4qsGg+w="}]},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.0.3_1618299768366_0.618554481156415"},"_hasShrinkwrap":false},"0.0.4":{"name":"message-bridge-js","version":"0.0.4","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"git+https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"main":"build/MessageBridgeService.js","dependencies":{"@microsoft/signalr":"^5.0.4","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.13.10","@babel/preset-env":"^7.13.12","@babel/preset-typescript":"^7.13.0","@types/jest":"^26.0.21","@types/uuid":"^8.3.0","babel-jest":"^26.6.3","jest":"^26.6.3","jest-websocket-mock":"^2.2.0","mock-socket":"^9.0.3","ts-jest":"^26.5.4","typescript":"^4.2.3"},"scripts":{"test":"yarn jest"},"gitHead":"d16e835c27204fc8a9503df7cce61d76909d5fd2","description":"A CQRS Hook.","bugs":{"url":"https://github.com/alfnielsen/MessageBridgeJS/issues"},"_id":"message-bridge-js@0.0.4","_nodeVersion":"14.16.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-sCR6FbvaIKaMRhTH6qn1Ej3yknUvRrh3pmXRZasFcZHQtv2DVfgQSJT9uRxVBLE/i4Ec8bw8ZAfgprcccnmGCQ==","shasum":"568fbf1fb27b35c8a0ace1b465b3437c8bccb099","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.0.4.tgz","fileCount":19,"unpackedSize":42370,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdU40CRA9TVsSAnZWagAA13sP/2DFVj0jvUcCmzJKVz1y\n1pLxspPADtxsIIy/BV7nFXcg651GqT521DWtkUsHh4SB5SKxMyx/6qmp8vM2\ngApLUPJzOUr2+KZmx3RkGpBYkvvJ0G8f7/9zKS5ilIZMa3WER9+jaWI7L4v1\nty4sz1ydOLtqnKffDbHZLkqF48ZyvHazPQ25aPDS00w+k6+A4CEa14gbpOrN\netRv97dXN6n+GZ3xLzA9DYeceBPof74Cq/2TKlm+Qo3V5h7j+Lmzm4UKXak7\nhM6bVHTxFi29z22XngdaW781Q25R+NtXu9gNRuRNQuZBaSxs5OkaSMqcIn6e\nkEn6iPogllVBQlYVjYlM1WcML2zsqdM59HkDNPhamm41gPZ/gJjOvZA79S5L\ngkU9d/hr4OVqPM5xoNN6+zzqqfNHgBMfcBRQhTK//fH7u2NHxCPNgTnG2Ppt\nLXNFgrL15+9QlAXA1/C55frG889dThmfVJOKINDDmQw6HGHgIQTTq+zjy5Q0\nWZLYjWIQkPiiwbwnKOvpKIdxzt/jG09W/M3uOIPktyUMhSD6kyKgxKBENYEM\ndiznj4wVlWhrlmZjZ3tsIQl7Ms3S4uuAAyHvQOl3hSpxGqtCmgnx/CaFc6MO\nGnJJSamJWm+qh7wgiPhSVEnAuHAKiFeNG2EJr9ZTSroW04vpMYAc0i6oaDGv\nM6sV\r\n=8klT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDHS4oO3RN7hZGZdmGzIUcFJ2+72FcD6USUzjGHUJ5eNAIhAJN6kKek+2r+6CfusqIyvUnSzAVIMX3TingNbN2x/COM"}]},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.0.4_1618300467613_0.5303889943399567"},"_hasShrinkwrap":false},"0.0.5":{"name":"message-bridge-js","version":"0.0.5","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"git+https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"main":"build/MessageBridgeService.js","dependencies":{"@microsoft/signalr":"^5.0.4","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.13.10","@babel/preset-env":"^7.13.12","@babel/preset-typescript":"^7.13.0","@types/jest":"^26.0.21","@types/uuid":"^8.3.0","babel-jest":"^26.6.3","jest":"^26.6.3","jest-websocket-mock":"^2.2.0","mock-socket":"^9.0.3","ts-jest":"^26.5.4","typescript":"^4.2.3"},"scripts":{"test":"yarn jest"},"gitHead":"c75855f11fb760f49745db4093652c54bd00516e","description":"A CQRS Hook.","bugs":{"url":"https://github.com/alfnielsen/MessageBridgeJS/issues"},"_id":"message-bridge-js@0.0.5","_nodeVersion":"14.16.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-M2IBqSWJmok74MOA6kWd34wIpHBnYezE57uqIxp8055YtuYJ2WvhGgFVoIGZ81Vow9ozWlQELQdja8bZgt6KRA==","shasum":"26b16d32ead9966f892572a45bdf4efe2ed9a2b6","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.0.5.tgz","fileCount":19,"unpackedSize":42560,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgsNPPCRA9TVsSAnZWagAAfPsP/jvNDBwfb6EptvbeFxY5\nOrJxKpZ9slpDAEmgY8SpoiqvSKGXiKGSYUrwEF04+AOknrFUGhMZBAEayy41\n/8G++o4MQjsuq0RS0hU8h6LZOtcbL/bsFTfqVhLy3rrVChs6Y2kWLx99ZrvX\nvNSvqApWAFab19zbarktLRPWgbif81c60aH4aTlA9n8RPV+X37VwFCWP1KIe\nLwYu6ApAINimbxUOsObNlkiyee3iyWMIif+3EyttxTuzSFbW3JnRcyzB6uQR\nrfjIFPmFTTtdrBwoQeEaTZrejpG5cZyGRCQd9ZItLUC9xhvm+hJMwrUlAQms\nQlIAF6qdr2LfwVKcZ5UK33oCAi6sgVj0Shv6d35oj+mba2k7YrqB1FlZJpaf\n3MlInI83kto1R4Wi9PAG9ARcTHL0/z+xx7070c6ZspFgfsJZxjn76VncB/jr\nUtds9p13AMWU2YOWQrA2eIpxRnl/r2IVuO/FmoY5THTu/wD7LYo32MAWJPYb\nR4c7OqdgUVO0Ct3UL7k471Axk+WqfjJy7zBY3tyufLT+fd4ExjAUz3DYnunm\neijVFpU9158eOUKdcASVM4XA3u/X9A5JUw2iKpxWJsTFavpNDAzGsFWJGOsf\ny8q5QEHWwsUo5zx2v0MGOlWpkaN9q/j5govhC9mRH3g51D+VBZazK/rOGUdf\nx4WL\r\n=Td56\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDwaMZKkBfIswdwBADx1p04MUwve4Kkx5imWpKtk44TdAiEAoXIXmRlZ7q4ZeNCUD3j9P7H61Fx7+ymtao0JrQJ/Zfo="}]},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.0.5_1622201294766_0.03791222753922385"},"_hasShrinkwrap":false},"0.0.6":{"name":"message-bridge-js","version":"0.0.6","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"git+https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"main":"build/MessageBridgeService.js","dependencies":{"@microsoft/signalr":"^5.0.4","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.13.10","@babel/preset-env":"^7.13.12","@babel/preset-typescript":"^7.13.0","@types/jest":"^26.0.21","@types/uuid":"^8.3.0","babel-jest":"^26.6.3","jest":"^26.6.3","jest-websocket-mock":"^2.2.0","mock-socket":"^9.0.3","ts-jest":"^26.5.4","typescript":"^4.2.3"},"scripts":{"test":"yarn jest"},"gitHead":"c75855f11fb760f49745db4093652c54bd00516e","description":"A CQRS Hook.","bugs":{"url":"https://github.com/alfnielsen/MessageBridgeJS/issues"},"_id":"message-bridge-js@0.0.6","_nodeVersion":"14.16.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-74d88XAYdz/10EUcS5uoMtj771O/QoudPqBeQVV55WKGIiH1d/dvkqEVumJaZE6RlBUQ/8yv9u7iRnryPBSWsg==","shasum":"ad51bec8fc667cdf87369ab91c1ebb0fa316e6f5","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.0.6.tgz","fileCount":19,"unpackedSize":42749,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgsNUwCRA9TVsSAnZWagAAWGoQAKFL9+MdhHWi3l/qPBxI\nxZMKmR/Qwb6RPTiFK5mP8mU8/5f7ocDuY4SPIXOdKGJoQaDSxjQPfTlzU6UN\n97IEFKfMHutYxHpqOlnp6UuZq7dUfK+avf9Rez2vcteO710fI7oCIXUzkKk6\njfAEnQ+Ys1vGQxLYxIAK6JPv7dzeoecq/HQPewas4oR2n1ZaaethjISf1iN+\nCGY19yM2Z1L5Iz1n2UW55KQrgswfLADoSEUHkYCe81KfAFHoWW4wJK/7NrcF\nhEOOSGFmQar39Bj+lg+1aa44LGoUYLW+1Qmt3cQFwpyVqgfsx2z0ADl/b6he\nVWYsKbiurAfjkqpn2hlmNNPs8zC9fe+ii2e5LoumepHjAtf+og7Yzf4RpSPb\nJSHbmbrOimM7thyInZczzsmKZU3Kl0ly1M1b0UFI0vos6Py1JLkYFbPzw+Oq\n2m84OkZNHOiUJD47pQNyS88H7RCpofcGFaoOMbS4NadV7jXyX3VaaBiMiewA\nvvPDmkJ6JYV895wsAx33SCKYQRtMvd67HlpZYteXF5bVsHfrgrVLPVer0Z+8\nZCGd16hDsqiKMqSqEetiJ02zMSMTKULvq51BhRcBfWJfCTSHJIXIJPfY07k1\n2Sv91sR08FIvdqyfDG7R30gcs40bQe8tJQIuQF6bmdbuosF2KidzcN5sd6ao\nHcvp\r\n=GhmC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC3e8Mco2w141PMFgal2a/tNnHYvAtW2ECgQ/IHwFSXuAiAqHqzaDQtJ/vWdPKfr36nG0RxegApGwrG+uARGgRmBDA=="}]},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.0.6_1622201648183_0.16722856461236724"},"_hasShrinkwrap":false},"0.0.7":{"name":"message-bridge-js","version":"0.0.7","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"git+https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"main":"build/MessageBridgeService.js","dependencies":{"@microsoft/signalr":"^5.0.4","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.13.10","@babel/preset-env":"^7.13.12","@babel/preset-typescript":"^7.13.0","@types/jest":"^26.0.21","@types/uuid":"^8.3.0","babel-jest":"^26.6.3","jest":"^26.6.3","jest-websocket-mock":"^2.2.0","mock-socket":"^9.0.3","ts-jest":"^26.5.4","typescript":"^4.2.3"},"scripts":{"test":"yarn jest","build":"tsc","publish":"npm publish"},"gitHead":"28579a2de692be8a2c7e38a5116384771b4071d5","description":"A CQRS Hook.","bugs":{"url":"https://github.com/alfnielsen/MessageBridgeJS/issues"},"_id":"message-bridge-js@0.0.7","_nodeVersion":"14.16.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-fV9uYc0T8AdELT5ky0kEq8Lusr7L1VmjnLg+c77HBDLQ83c08KvZOPU1leNlroJOV6ER/A5moRFhcCrlDGPx/g==","shasum":"ef38b9b1d11e4618d001c9912b24678e32bde4d3","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.0.7.tgz","fileCount":19,"unpackedSize":42908,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyIEkCRA9TVsSAnZWagAALykP/1r9XLP3sr4FYTP9ckNv\nhyrkMp3VAGTqKWafqTCO3JTTOQIaUsQNbLDQxr3RafCM2SlkTBRumR+c31bY\nkRSisKNFwifSkxYgza5fWZjjjbcKj2tXtutWMVXHa+e2jGnegjWf9GllPYdJ\nuTQAUdezuqNOxvqQcE/F/yrwNjJRub/SLN7Ke544oqaP80yOGhGKgIALXvsS\nUKRDOD3CYh9eVacTA9FoMAO40zMM6c4J0qBzzES7YJLkHJSNvYriud4rG5LS\n7gneViO1U3P2osI7LulcqmMyp2PNX9BVS3xIyQ/D9PJK/J8HEH4JdQpMO2wQ\nvaxnXayDoZQdoBaPcUHHiwjpWpF4FRdAstJ2XPYcCRT+pf0Miy7+/BSPr86Z\nHWVdMuByPFJEPbA2JZu00p5nGls6rIx6O4frTy8+vlwvqRiJDQQYbmCk15lf\nh2zzQnN67pD4NOHrQt+von8WEBIJKIsTwnx6nZ8WuXiEy6tAO+thRmpnEhM2\nPzA/yegHZFBA3BDrLy5eQSDy05wRAxwLBzzHvfaHAyYs8WlSM8gJMAoa0Krn\nsdbHNv2GNWGD81kkfJ0cYDH5eLGfW4S5h/PgJZ6J84nX6jpZkb0W0ggQ71au\nFAzQaOILo8TCLvNYFmUazwfGavgET3LVbttvvjG2Ndl7V3loCfxcUl/BAHw4\nwK+/\r\n=Tthu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDZBSL9gjWoNR2FMhkd2aN8jGf5V2g/nX1s14cvnSIuCQIhAKDFYwZfPE/GrpRWIXnUysE4YU3KVIF2htSCTP2xOr2E"}]},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.0.7_1623752996828_0.8236924492806288"},"_hasShrinkwrap":false},"0.0.8":{"name":"message-bridge-js","version":"0.0.8","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"git+https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"main":"build/MessageBridgeService.js","dependencies":{"@microsoft/signalr":"^5.0.4","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.13.10","@babel/preset-env":"^7.13.12","@babel/preset-typescript":"^7.13.0","@types/jest":"^26.0.21","@types/uuid":"^8.3.0","babel-jest":"^26.6.3","jest":"^26.6.3","jest-websocket-mock":"^2.2.0","mock-socket":"^9.0.3","ts-jest":"^26.5.4","typescript":"^4.2.3"},"scripts":{"test":"yarn jest","build":"tsc","publish":"npm publish"},"gitHead":"28579a2de692be8a2c7e38a5116384771b4071d5","description":"A CQRS Hook.","bugs":{"url":"https://github.com/alfnielsen/MessageBridgeJS/issues"},"_id":"message-bridge-js@0.0.8","_nodeVersion":"14.16.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-TI2KhMRTZiGoI7s7dQD3++33ug5SoONt0YtMzDQZrnETohL6yGvNlE8hfApMQeFfR+5XEck8lbwScaltIoDUWQ==","shasum":"1f53020ca698fd6a97b3f568743647038b47f55b","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.0.8.tgz","fileCount":19,"unpackedSize":42908,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyIFICRA9TVsSAnZWagAAObAP/1M03MiwyYMQDr+WJExa\nc3SHl3On+EJ/ytu8JyVbru222eKrqPgi1C8QNxelz0GXp2/Qa0F2ps6Pl1AT\n2Dev2g6odmNpT4s9/0RcYY3z+uuqfutd3XKX6t4L+3TDt5HBNwEOgLRT9M7t\nA+hBkpc3oLNPZjtLimsIrnVJFjvd+STWrE0GWupSWySxqdg69z+3S2oB4VpN\nQO5fbUFN6qXEwFRJxJx8JJmke0qMf+qqEcnOKoABrO7CLHYn2OdZL90T0KxQ\nnLJsOWvP+EpFUiT7WqyG3FQM+l+NreeQEOxV9E01dmIGAg0b0qMl6zVxWyGK\nmqd+lm/vVddschUSz1tFSRaFL+aUqlUB6CGVrLtWsyc+LX/8RK5OCN5RLhJ2\n7MQHbqQDV36PktJGFHEefEvsuTzf2GT5ZZlMYkUvREkitpeb4CQwsDOZDss3\n7GlJwUoQhkTQr6DvaTtmebxai4a2gZzilgmMkpfx2IETavQU2k7XnNEvyRxm\ne5AxxULMY3jRsk3FdKAkf5b3rk/+4G08XfFB48BFlqfH2EGSX/hY1Q5n/HCP\nAmIziEm29Ydp/Z0lehLAXq6+00kLNafACwIvuDnvKHizvDI8mIREuJ8mzxVF\n4kxDszoiFnfCiyeqW4FMLhPAyg05Q3afLraB+kvmagmztPyQbN0Ziu8hpAJM\nSGIj\r\n=U5Xt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAh1b8tb8F8XkO/AnDbg/Mg2BXhISlm4Nbju5Ov5rhBEAiAx1dF2zmEeJy+O781dSbKpurw1bTeOHk8fuSGsP6sg3g=="}]},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.0.8_1623753032539_0.8242880138586"},"_hasShrinkwrap":false},"0.0.9":{"name":"message-bridge-js","version":"0.0.9","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"git+https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"main":"build/MessageBridgeService.js","dependencies":{"@microsoft/signalr":"^5.0.4","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.13.10","@babel/preset-env":"^7.13.12","@babel/preset-typescript":"^7.13.0","@types/jest":"^26.0.21","@types/uuid":"^8.3.0","babel-jest":"^26.6.3","jest":"^26.6.3","jest-websocket-mock":"^2.2.0","mock-socket":"^9.0.3","ts-jest":"^26.5.4","typescript":"^4.2.3"},"scripts":{"test":"yarn jest","build":"tsc","publish":"npm publish"},"gitHead":"e279a87db3d96584c709ad5f94efa2bf655cfa7d","description":"A CQRS Hook.","bugs":{"url":"https://github.com/alfnielsen/MessageBridgeJS/issues"},"_id":"message-bridge-js@0.0.9","_nodeVersion":"14.16.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-wgZDpOHFRxZLK/Es9aTDzLBMUUpupA+i9I55BsnWriiQart4Kuc37WSDIItSpfoTBt7dopBD+Kvx4uJFDnleAQ==","shasum":"4479552b9ddc8e8b91fba1bd0c10724b0f6c0f12","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.0.9.tgz","fileCount":19,"unpackedSize":43230,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyIQ4CRA9TVsSAnZWagAAN5MQAIjes+PSJ8Kt20crd6/Q\nb40908gmXEaJReNAUVa19NuL6m6mxMYI8h+qDTquPHqIilmszswosSspNUHD\nfqCq3HgTU57ZlNBtJWuoRz31BnrdB6v1k1JeBInHun+PJSYnS3YMuOchsPTE\nJGQNkD1fIvz+uCjpOd0bMdP1BG3Jm02Q+LYnes7OxDZNjwI7xxx+mnqVk2yQ\n3iiATu/Y2fKF3XNc7m54Io0j52SWGmdo3InKXUwa0K3tdbP9kIYLDfgx+n8O\nM7MxTbrHr9m6KH2VigZ5WjOOV6PaPiSGnvex/EnbIS246H4m6393w6ATSi62\nlPXFTmnKmP/ytK0kDitV8Mt2Sr62wM5fghMTN7RVaFgvMVoOQxS+0qSxJmHI\nKczKpFlABHVTVLl21TJfU8WpULolzE2rMgxbW7u1UkC536uCehuvDSW/Vjm7\nLEn+7oIPQD7C9FoefsxPE7WZzw3oX+xF5vUMtmh/63uUiUuBo2eXtMWXTG2Y\n0gmRmj4LT2GAETv2CfHdoqinAvoMqDelxmNwUmpIiGFDRjyrwt5HyTpurEtg\nhrZh71p4bsI4oXmjliF1N4/RvfC5SOKRQYLUl2Z1W1mJ1UpaVUVYt/NeLurJ\ncIB+U7kEPl8BNbW0NSXj/X9DmqdNdi0V+BLZNsOFiGSKuNtJ5/wQfcziFcoN\n9jBk\r\n=x30j\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDbtwUe3g+J/sldeVDvTsFnTLAwDJkLQq66rHzIrhY+6AiEA9XemFp5bc7ro23XGI561fjCgbzaiEk8DhbAbmBpgUeU="}]},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.0.9_1623753784758_0.4185115387820577"},"_hasShrinkwrap":false},"0.0.10":{"name":"message-bridge-js","version":"0.0.10","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"git+https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"main":"build/MessageBridgeService.js","dependencies":{"@microsoft/signalr":"^5.0.4","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.13.10","@babel/preset-env":"^7.13.12","@babel/preset-typescript":"^7.13.0","@types/jest":"^26.0.21","@types/uuid":"^8.3.0","babel-jest":"^26.6.3","jest":"^26.6.3","jest-websocket-mock":"^2.2.0","mock-socket":"^9.0.3","ts-jest":"^26.5.4","typescript":"^4.2.3"},"scripts":{"test":"yarn jest","build":"tsc","publish":"npm publish"},"gitHead":"e279a87db3d96584c709ad5f94efa2bf655cfa7d","description":"A CQRS Hook.","bugs":{"url":"https://github.com/alfnielsen/MessageBridgeJS/issues"},"_id":"message-bridge-js@0.0.10","_nodeVersion":"14.16.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-UCDEMmWj0nC6rg2inJcjOKQDD3Vg51sO/KY7ngaIKa+NbUIOpy37fqUXnu/A8HUOGzjGmVavinxCksOkdip8IA==","shasum":"6e8d6edddf2e021c7b2fbe10bd8ae17b01cc86ef","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.0.10.tgz","fileCount":19,"unpackedSize":43463,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3CuVCRA9TVsSAnZWagAASgYQAJ/drk+ttiQFPTLZliV+\nLNouhE+00PZ87Jg9hyGjT40+7U7wVesTbTWO4EF6zfBh++mDJDY6nOw1XV7F\n0XgQNu2XmA1rcAUGE0vIsnIDh6THTMRae6d8rqYgLuOgdSYg1Y/gos4lMY2z\nlUi5fNR5L+VsTCBywwSEJIsuLwjq2zndWtNiCaQuS2OthUPOuvoAiPMkNiyK\nYzRegRpdMBBB+Yv3aEs9en73q4/cauH+85gDtVw0lMGeNbW+7L3u3aukmUdS\nHmSo5/yQ18K0tAvs6hCoaSYeTsiZS/wuMi3QYxZ8UvbBlWb/psX2I5U+Lz7L\nAFosIGuBwbg5WvmcKySpFJfyZpoHiZFd3KM6e/HkWfUa4b7jycdaEaPLjOyo\nn7I8nZo/1dVsOKXGT3mpTY4Od3ghn7MDNqMx7VpkiJ0Oqt1DmJ2SzHF8xjgj\nMgiRVAtWJ1VQGyVt41AopHpF9y+YMErScFIRHMgL2O6TJ2RjhjWbZjotYRHN\n9c8XLBmfwGV/ZMD2/37cIRCSuaT5aX9iUFu2cEqj6kxsRt9lOihQX0bANlxp\nvK/JLN8vDxlXPiei5kD4P6Azv9FQ7mUpO0HgNSs1FmM+CleHmR0hRyjpu0L/\nlgODsPZb3Iaqqhc5JRy01DgQs8vdAeIfFRGdacsyvJXfncMArQUSLlYQSahh\nMuDl\r\n=3Lq1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBc2BEzpkL5cjy1aMqtPT8q6wefFe77LV7e0eIVmGEwkAiARn7u9NXSDsrjh+SrTQM2EfBmEI/5jthBjmzRzSAkriQ=="}]},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.0.10_1625041813484_0.2789883479770483"},"_hasShrinkwrap":false},"0.1.0":{"name":"message-bridge-js","version":"0.1.0","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"git+https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"main":"build/MessageBridgeService.js","dependencies":{"@microsoft/signalr":"^5.0.9","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-typescript":"^7.15.0","@types/jest":"^27.0.1","@types/uuid":"^8.3.1","babel-jest":"^27.0.6","jest":"^27.0.6","jest-websocket-mock":"^2.2.1","mock-socket":"^9.0.3","ts-jest":"^27.0.5","typescript":"^4.3.5"},"scripts":{"test":"yarn jest","build":"tsc","publish":"npm publish"},"gitHead":"20693cae7a6f8ffcc35ab28329642dbb1e738f55","description":"A CQRS Hook.","bugs":{"url":"https://github.com/alfnielsen/MessageBridgeJS/issues"},"_id":"message-bridge-js@0.1.0","_nodeVersion":"14.17.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-rNDG1yipfHVLb5X/DUb4scX9pQ9GklRftUASVqTNFe6DhSxYJXaPpMuRH5YlNlFnLldTcP2YV50OSILUuZ0C0Q==","shasum":"00473c4acdae1d01de067d70d7945fdb87f04c15","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.1.0.tgz","fileCount":31,"unpackedSize":51668,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhG5W9CRA9TVsSAnZWagAA3tEP/1G6Fsd0bHdvLLacXpm8\nhykVWt1D1YYZog4E6U95pD1pY5307epqpv55IdEADPx9qkuBYoVgCjCezOmq\n3bykyvhyjvEay4yCAhGVvhryVWSLFsqmPfwiNCZNDsCIz5dBe2o/ErAYrq+L\nsWr6Mc48q4PQWylhBW59+lN1Rw8VvT0DBgLWJUFHmrCIqNQ7wdwcXvxDNKfm\nHsWqDbVLPDlIXeUVs/p7aNRzaVFYsd1qPT7fkpvyrVYL5FmFXYp3G3WT+1FQ\nY520d8/GeyEBfV/Nn4C9wUEVbiBMO/6PYBPgHJc3Tc+ynd6nd6qyubIY+2LR\nkoJDUDT6WI+8MQsp3BebiEzD/iM2Wxv9m6WIvBT/wdrt0uqxADZyryFyhz9W\npRZZAbm5phsV1cmGLdAuGfCizgOZQN3MypIOaRZZ/JoAkvblIZnZ4K8Aa48N\n5HaRDwoouuo4wJAnIlJ6l/D444ie9vuxWwIvyVbRSNbEihucpdzIaO1yLgjC\nIH7B8r0MfDzs1nKP0WgCpKuckKBlpEMm7PM55YbDNEFN6p6aY9Mq7QV6HsKc\nyD0Htg3nTsojA9VGQ+OrTSUKr11v5ZEAwUDAbhtp7HL+dldFPIrvkjPdCtqW\ngIf8f9QUSQNJ05U2sXHP8xRDhfNbLAuhM7IwVhhzv8c5UzeYdTCG4UFJmtW0\nJBVR\r\n=enrE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCtKBLrk7SByfSBDtvwtJwZdobOT+vU+X151yOvjxurFgIgI3895F3JoOmSuNL6eQO3NNaROoz1lb1Y9y6o62qCl1M="}]},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.1.0_1629197756998_0.5572351074913608"},"_hasShrinkwrap":false},"0.1.1":{"name":"message-bridge-js","version":"0.1.1","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"git+https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"main":"build/MessageBridgeService.js","dependencies":{"@microsoft/signalr":"^5.0.9","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-typescript":"^7.15.0","@types/jest":"^27.0.1","@types/uuid":"^8.3.1","babel-jest":"^27.0.6","jest":"^27.0.6","jest-websocket-mock":"^2.2.1","mock-socket":"^9.0.3","ts-jest":"^27.0.5","typescript":"^4.3.5"},"scripts":{"test":"yarn jest","build":"tsc","publish":"npm publish"},"gitHead":"561ced88810597ab85f0243ddaebd56bba55fbf2","description":"A CQRS Hook.","bugs":{"url":"https://github.com/alfnielsen/MessageBridgeJS/issues"},"_id":"message-bridge-js@0.1.1","_nodeVersion":"14.17.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-GUbZAafg3HA068GW6K2aQjkgPcbKjFqHVDl1qGJa1y1EchPKsrDDm01Yx4xfxuRVpHZ0H5hfbtX3T0jSr2JMWw==","shasum":"ae7737dc5838f643997d0f9c1f3c1bd2de0f3acd","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.1.1.tgz","fileCount":31,"unpackedSize":50712,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhG5gQCRA9TVsSAnZWagAATpEQAIdb5bkBj0eU5mFqQgwp\nztBBiqVQnwY+D3k5oqle/UNOETig1D3ui0+odWOCMRzZrwPm5oR5hbDxX1la\nvydzqP7w1haME9qmGxOkzzM72vBmRtbCXS9TwNs/V9tX1MydNs7X76JMHk96\ngjnVJsasPqCciAVDchPDPP3+HLX4FcDf0e60yPmTbckf9hFpew11GyJxKW+6\nEri8iY1M1mMnnIIb15kUO9J/RyuQepDFH/ruVpUQyaPvM1bmuBLWwdYkZuDD\nd5IdVqGQWGfMphdLWn8rManu7/mojrloKCzfOoKqrqY7rppskGyJ7XU4r85u\nZoDqrPvC6LcSzTmuEX3CI+2TId9gnGKHnamyJGW4h/pmcvQqquTlC9a0vuXA\nLc2G+/AROmaRv7UM8wt68X7XWcapV+1MBzK4GdjoccKWj1pu+DkRIBcqyJh/\nY1bii4ERRAqMhNsAq/seB90qTTvyYgGQ0c8UBks3kphu7T+PHNhnNMXkE9Sx\nK2R9CtRsOAqpaHfZXVvs7/giTTuPmyvZVG5rbsMSl8cluK5a8w2cJL4iRPVY\nDpPs4kkjXP+yEQfh7T9WkpFxapsr3UhWR8RqwH1g6GBrdOouSFTRXiqbCUtO\nkc3iTjJJY+Cmc3kT7cydM3VfO9KQycIAR3GOd8ip0BB6QzE41T4LjDzcxQqZ\nqOjA\r\n=8Zw9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICJD4/3sqBhF9g8OBK4usxoeOXWfpuKRXqEndZ65WxEYAiEA7vxd5dS+tsXMw89B+5s9Y/bpHD1qqkYBqs4lvQvrgco="}]},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.1.1_1629198351895_0.011658841499840644"},"_hasShrinkwrap":false},"0.1.2":{"name":"message-bridge-js","version":"0.1.2","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"git+https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"main":"build/MessageBridgeService.js","dependencies":{"@microsoft/signalr":"^5.0.9","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-typescript":"^7.15.0","@types/jest":"^27.0.1","@types/uuid":"^8.3.1","babel-jest":"^27.0.6","jest":"^27.0.6","jest-websocket-mock":"^2.2.1","mock-socket":"^9.0.3","ts-jest":"^27.0.5","typescript":"^4.3.5"},"scripts":{"test":"yarn jest","build":"tsc","publish":"npm publish"},"gitHead":"5423f436949d4c68b9192b1227d304c58bc138e3","description":"A CQRS Hook.","bugs":{"url":"https://github.com/alfnielsen/MessageBridgeJS/issues"},"_id":"message-bridge-js@0.1.2","_nodeVersion":"14.17.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-Qay05UQ2OHrQTYMzH9hnXMgllo7OoxO7tote65GVg4K4UfKYasjlD1KFf/YAes0+DSjHoYhXpoxg3wj3XJ1DQQ==","shasum":"abd4c339c9709428e5d00eb6ad73a755bbfb1fcd","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.1.2.tgz","fileCount":31,"unpackedSize":50438,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhG5r/CRA9TVsSAnZWagAADjkP/3Z5Nv1pzqDFugFXkSuo\n2dnJwsT9LWmp7/bcHOjijzOr7NMS2L/2D+B1Dn9bqgy2RUBmC2GLe4w9mq5b\nJyzP0cVWYAIaIe68pQUanX1jIa27xcsCERcga59tPJOHr13LHYrclWQDfAP5\nPPc+w0y2j8OP0k0UlX5Oz/xXe2DoSNkgji8nkX7/3hIIQWQ9Letx93G82XOI\nFltoDdfDtmOdDcVkB6iwNmepU+BtsRw78nEjihqoQ0uTZ7fdRsVei9BqonzN\noybxRgk6E+kJqJnllsquy2kyA/6vFROsBwvuAYLGrD4o+tsYU/GCTMtXji+e\nwMqSCcNiCQS4n6BZfASdeV2TAQ9NU4HcG9yoxfL0ZvI3XuC03gtLGFlQOc9p\n1WVwGJBK0d5LSlil2tdbDkaVZ+h6wnNzo6I3Min5rMg9uzE7m6UF/8kFagHP\nQbj3btS/QghmcJOctSMcUJtuJZ2vISUyQPMBrfWfoP6NkMAUyQvyXAmaUReO\nnHYIsLcKv9HEf6PL23pv3e/BvMK3F6TMsWk2elBEm6RewznBLC8tzseq3R3c\nIJ9N4La+2TeyDz/kxSLXxwZLtD63LRGEyp6ep0oyTa49O7g0DJiBI2fxlL1s\nPqyAZCvzLhw9taJwqRASUK3hAllgqD1tfz6KoamgTJUxE5lKntkYeDprv3yA\n896R\r\n=bW4/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDrjLc8Z0nauBJR2q3VEUTJ8GjzcX3BUEZJwgpnlgRCgAIgSUQQp8kypokjGINpENIvrY4ckZiYbf5EXvfmh6Cfnvg="}]},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.1.2_1629199103520_0.8677455811245884"},"_hasShrinkwrap":false},"0.1.3":{"name":"message-bridge-js","version":"0.1.3","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"git+https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"main":"build/MessageBridgeService.js","dependencies":{"@microsoft/signalr":"^5.0.9","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-typescript":"^7.15.0","@types/jest":"^27.0.1","@types/uuid":"^8.3.1","babel-jest":"^27.0.6","jest":"^27.0.6","jest-websocket-mock":"^2.2.1","mock-socket":"^9.0.3","ts-jest":"^27.0.5","typescript":"^4.3.5"},"scripts":{"test":"yarn jest","build":"tsc","publish":"npm publish"},"gitHead":"2ec750ca2136c9f092d6f9e80529484772d1ea54","description":"A CQRS Hook.","bugs":{"url":"https://github.com/alfnielsen/MessageBridgeJS/issues"},"_id":"message-bridge-js@0.1.3","_nodeVersion":"14.17.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-RTxeKPKOOJuAD7eqc8YqCGxGggnS6wONWxeUKFkOpIRszUzXMs8RB7kVi1HPp8Zgonp7yR+lIoYHzF2yg34naQ==","shasum":"899b775810051588c2d255e11e6b6ce426d7881d","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.1.3.tgz","fileCount":7,"unpackedSize":17127,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhG6ifCRA9TVsSAnZWagAAs6cP/j0li62ohNIIjj+DKGF/\nBSEV8crRftvS7MQBWletpTqJwCQe3P0ESaqJoouBinxHCbetwznptOdJxF+3\nhNkz57rBF5QCCgmk25vDlcVJp4FtkSdGa4h+AhWcoETgvF+2NC9SWBKmRsjT\nsYCclj4cNGs8GksOWGe3jzAtL+ulARwtT47vIUcqWnnBeHQhNYzgY1oKFKhm\netsvAnQA/wFM/KLaIvQqlKBzHmXl7H3gJRYCrPkV2Xa1rzfj7+2AhyibGarN\nqLrOMF9DHsaXwu1GuK8hE+mFHkYN/AYLqi/L/FT563fUpSyF1K6yuFZ0GWQW\nM3hwKywIkyc1/cvE4hW193C2Xrv3opJ5z+GsTu1FBkWf9GYJaAmUVWXF9KYY\nbY+TSPVjnWMo2Etyt9JsUZKh3XHJ9XdcsginIHqg98tuvrpCIY3+98x0gu1I\n98T2sFl6dZIN22/uDoI0gtYktCenjBCvy+8v6+nlnsL46fXw1d5adU8kYQe0\nR1RBR3QLh1B4nmd8avUD3Yxot4EoQmjvNx3mvSGUmFbKiF5IBtCFbbtIvq+7\nwHoruRJ1IPRclrwa9odByQaL8v9iTbxH7gfjUGOc96N5mVj0F84YgdZSwkCH\n4Qj/vdCIB/ZFsVfiOlAjGDyb9iMQlwjCohci1r83yxlFgqkJWaIlC6bI0ybu\nYBem\r\n=WTVf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBPxQGiuV7uPq+grELf+1b9K7fv6uSz2i5pxdqAHoS5gIhAIQoZc6b238BBUV3xs/8xR9dD9YwqOnEFEx9bt9mYbvR"}]},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.1.3_1629202591887_0.04951997288136556"},"_hasShrinkwrap":false},"0.1.4":{"name":"message-bridge-js","version":"0.1.4","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"git+https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"main":"build/MessageBridgeService.js","dependencies":{"@microsoft/signalr":"^5.0.9","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-typescript":"^7.15.0","@types/jest":"^27.0.1","@types/uuid":"^8.3.1","babel-jest":"^27.0.6","jest":"^27.0.6","jest-websocket-mock":"^2.2.1","mock-socket":"^9.0.3","ts-jest":"^27.0.5","typescript":"^4.3.5"},"scripts":{"test":"yarn jest","build":"tsc","publish":"npm publish"},"gitHead":"2ec750ca2136c9f092d6f9e80529484772d1ea54","description":"A CQRS Hook.","bugs":{"url":"https://github.com/alfnielsen/MessageBridgeJS/issues"},"_id":"message-bridge-js@0.1.4","_nodeVersion":"14.17.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-rZFZ/DSF+qxjYVU2rJh1tzwxcjknGPiCI/6ZrBO4sVh3RA0xJ0l2BjAlME0VSTCa/n8Na11UWhE2JlUYLC2+WA==","shasum":"c36f808cd1edf7bd34d948d2307c645d272766a6","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.1.4.tgz","fileCount":31,"unpackedSize":50840,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhG6kBCRA9TVsSAnZWagAAHQ4P/RPbAPlMNzgUn0bArcOf\nWovYCqB2sTehxZW58VKxwLyjRmItUfnEfZBzHQ85Vmh5Jfq2plf1PhwEgbYc\nm3Cy8z0xouW8O5JL/gRzHJRXjMMFyTrkXJDHuxrIEeR03khkjN6EYQJ83cAM\nyr47U3gHvpAVoR9HOFXYwxmWkFJ1mZat1UZPKR8/QyidUWGtdnMSg97on+hi\n4OwZ+/PbnLfG/Qzw7C3z9BR52DjEaQ7Hvujcn2V6R8dnB6GQ8rzBezftFeT2\n3Hu/oDxxJJJyNeXenguvCP11++rkZCI0S3TO+fSX9DO5vtoMm0LI31m+c+bs\n9ftmrEJVZqo3VSIyfxMjbr7UP1iRCyxmLwEdfkaN8jYCiChUup73tZhcrOky\nEaNg2eEgXkqPW9x5w39LBQMG75W16UfqXXA0r9iui16TgbPj3W8TtiaVD+8l\nGPbWHWDx0S5xGKycnKLCRSC1b/LJf5vjkH24a0r0krQ1W1uH9Una/2euNPnH\nfsF9eiMv8nCMDQGeR25pW9jM/95yCEalnLHSYC2p9y7e3zdIxtRIPqgebAFZ\nByeF17aXfTOgULHVOU9kbSO+uk3d6QmP8K7uTjWao4hWzA5FUpTu9FFvHada\n+0nKw1QP+H6nBlhQ5TGi/aVYC9xIBYs1/ROfQpEJoh9Kol7IlA6OZk3FW5El\nZDu4\r\n=kcKC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAR2n6OVAieeOTavXytO0WJHkzXegqAQv3c5zEQThP4lAiACK55BvAEdQb3eo2f1Y0PTcSO1Yx9lxKc+GQP6absadg=="}]},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.1.4_1629202688943_0.6497288362585516"},"_hasShrinkwrap":false},"0.1.5":{"name":"message-bridge-js","version":"0.1.5","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"git+https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"main":"build/MessageBridgeService.js","dependencies":{"@microsoft/signalr":"^5.0.9","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-typescript":"^7.15.0","@types/jest":"^27.0.1","@types/uuid":"^8.3.1","babel-jest":"^27.0.6","jest":"^27.0.6","jest-websocket-mock":"^2.2.1","mock-socket":"^9.0.3","ts-jest":"^27.0.5","typescript":"^4.3.5"},"scripts":{"test":"yarn jest","build":"tsc","publish":"npm publish"},"readme":"# Message Bridge (JS)\nA CQRS Hook. \n\nExtreme simplified Commands, Queries and Events for applications UI.\n\nThe Bridge enabled sending Commands, Queries and Event between a frontend and backend\nthrough a websocket.\n\n\n![Overview-diagram](docs/Overview-diagram.jpg)\n\n### Bridge commands:\nMost used commands:\n - sendCommand\n - sendQuery\n - sendEvent _(It's called send because it will send it to the backend - not fire it! )_\n - subscribeQuery\n - subscribeEvent\n - connect\n\n\nUnderlying commands _(can sometime be used to fetch trackId ect...)_\n\n - sendMessage\n - createCommandMessage\n - createQueryMessage\n - createEventMessage\n - onError\n\nProtected commands\n\n - handleIncomingMessage\n - receiveEventMessage\n - internalSendMessage\n\n\n### Examples\n\n```ts\n// See \"/examples\" in repository for more examples\nconst bridge = new MessageBridgeService(\"ws://localhost:8080\")\nawait bridge.connect()\n\n// Commmand\nconst command: ICreateTodo = { name: \"Remember to\", priority: \"low\" } \nbridge.sendCommand({\n    name: \"CreateTodo\", \n    payload: command,\n    onSuccess: (id: number) => {\n        alert(`Todo created with id: ${id}`)\n    }\n    //onError (handler error response)\n})\n// Query (subscribe)\nbridge.subscribeQuery({\n    name: \"GetTotoItem\",\n    query: { id: 25 },\n    triggers: [\"UpdatedTotoIem\"],\n    onUpdate: (todo: ITodoItem) => {\n        // update ui\n    }\n})\n\n// Query (subscribe)\nbridge.subscribeEvent({\n    name: \"UpdatedTotoIem\",\n    onEvent: (todo: ITodoItem) => {\n        // do stoff..\n    }\n})\n\n```\n\n### Install\n\n```\n> npm i message-bridge-js\n```\n\n```\n> yarn add message-bridge-js\n```\n\n### CDN\nUse directly in a browser: (CDN)\n\nThe dependencies (@microsoft/signalr and uuid) most be added before this script\n\n```html\n<!-- @microsoft/signalr -->\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/microsoft-signalr/5.0.4/signalr.min.js\" integrity=\"sha512-h0xYAfohLfIHQffhHCtxoKLpHronITi3ocJHetJf4K1YCeCeEwAFA3gYsIYCrzFSHftQwXALtXvZIw51RoJ1hw==\" crossOrigin=\"anonymous\"></script>\n<!-- uuid -->\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/uuid/8.3.2/uuid.min.js\"></script>\n<!-- message-bridge-js -->\n<script src=\"https://unpkg.com/message-bridge-js/cdn-build/MessageBridgeService.js\"></script>\n```\n\n_For a specific version use:_\nhttps://unpkg.com/message-bridge-js@0.0.1/cdn-build/MessageBridgeService.js\n\n\n### Backend\n\nOn the backend it has a sister library (MessageBridgeCS) that execute Command and Queries and notify the UI on Events.\n\nThe general pattern will remove the needs for controllers* and hook directly into you Commands, Queries and Events in your backend.\n\n_*This doesn't mean you don't want them or need them to expose you API for other sources_\n\n#### Coexist with Controllers\n\n\nMessageBridge don't restrict you to implement anything you did'n have before,\nand you can choose to use it on only a couple of elements \n(fx your admin or support UI) \n\nAll command/queries call can have use both the bridge and a controller, \nno restrictions. \n(But your controllers should in this scenario never do anything \nelse then just \"send\" the command/query to the handlers \ni the application layer of your backend )  \n\n\n### Events\n\nThe Bridge enabled the frontend to listen to events.\n\n\n### Technologies\n\nBuild on SignalR (Websockets)\n\nBackend is (currently build on C# and MediatR)\n\n#### Internal - how it does it \nThe bridge sends BridgeMessage that contains a:\n\n**Name** of the command,  query or event\n\n**Payload** that contains the actual Command/Query or payload for en Event for Error\n\n**TrackId** that is used to catch responses \n\n**Type** that are ont of\n- Command\n- Query\n- CommandResponse\n- QueryResponse\n- Event\n- Error\n\n\n\nThe frontend will add a **TrackId** which in the backend will be added in the responses.\n\nThe message is sent to the through a websocket and \ndeserialize its payload in the backend.\n\nIt will then execute the Command/Query, receive the application process (Handlers)\nresponse and create a response message, \nthat are sent back to the frontend including the **TrackId**\n\n![Overview-diagram](docs/Command-flow.jpg)\n\n\n\n#### Not restricted to these Technologies\n\nThe first version of MessageBridge is designed for a C# backend,\nand uses @microsoft/SignalR and its back ends hubs.\n\nThe is not a restriction, but a choice for the first version. \nOther implementation using other messageQues then SignalR \nand other backends like Java can be created in the future.\n\n\n### Flow diagram\n\n![Flow-diagram](docs/CommandServiceDiagram.jpg)","readmeFilename":"README.md","gitHead":"2ec750ca2136c9f092d6f9e80529484772d1ea54","description":"A CQRS Hook.","bugs":{"url":"https://github.com/alfnielsen/MessageBridgeJS/issues"},"_id":"message-bridge-js@0.1.5","_nodeVersion":"14.17.4","_npmVersion":"7.20.6","dist":{"integrity":"sha512-Jzsvc71aa261EfReU3yz/lhtosMeziBb/ppEAuBt2QK3tD4eM4MWSwpDTnnmCHqDCN8PZdE2ZiivhE+9IX9RdQ==","shasum":"0707e2420a4ab9dd5a9c8dac9954313c35c459f8","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.1.5.tgz","fileCount":31,"unpackedSize":53272,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJ9lDCRA9TVsSAnZWagAA5hMP/2Oy+XIOgNdshAW8EXTo\nCyLku95ZZ+FB+YSg8UMD2oO7ygoqEONzifXm5i9Ub91jsC24MBkjQPlq4PVE\nugopuwb8mWE8bQa+yGjz4pPHNdlvnSo67ocSlYnI4xw1lNBmgif9uT11Rtrq\nEX4tX+7FqJGpm5gNH2wQbamjKOTTRDjGmOFEiSzQq2VAMqvDy3FP5h2Bxk9p\nQk4PpurgO92f74PtSkHEZm6X4yjCwz97RMUzijinqzbCLvQhV6nXJrdFNpW7\nYlrD5tdkBl/ifn4l9BVviebCEQc6LSx8C8ZpPFm2utG2HUVlNbq8OLhL+cmq\nyUMIAyfF/p3lI/acLnwiy83Jth4yri4OXrPBLFX3gGhbwH5erj/XPeK3Ljaj\nbZCEe5p18oJyzcQGc7Cj83Gz6oKfY5ysqjN18kthmY53ZhoXxhqtFoclvOe+\nDBQPpG6BFe5SOYbbTAfcj0LAQmBrkTFGhL8psxNyRcd/+1WeaJyjiCDTz9fJ\nNM0qkAv8XDj3dipCMA0me4pBWwENgTh1qida1nuHErUEPqbajDxeIPYZczdW\nViY3pFQVk1T/xMXkYnOZITqwkhITQFwvMCe7ZIIpzrioPaaDc7iPPNOvuDYV\n5Ve+vZvoaUtcTYBE9DymdWpQH5kvtW03ONPuPzSLASusBtmHScIQIyXbGVXp\nhs8n\r\n=oGVL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEj8v8W2QtW5IUta3OamOKEoZG4mHDd7F3q9seV/Sy0AAiEAkujF+rpFewrTqcXuznzKD1wYNjiOuJFY2io/a/IIHSs="}]},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.1.5_1630001475113_0.7441665445738233"},"_hasShrinkwrap":false},"0.1.6":{"name":"message-bridge-js","version":"0.1.6","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"main":"build/MessageBridgeService.js","dependencies":{"@microsoft/signalr":"^5.0.9","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-typescript":"^7.15.0","@types/jest":"^27.0.1","@types/uuid":"^8.3.1","babel-jest":"^27.0.6","jest":"^27.0.6","jest-websocket-mock":"^2.2.1","mock-socket":"^9.0.3","ts-jest":"^27.0.5","typescript":"^4.3.5"},"scripts":{"test":"yarn jest","build":"tsc","publish":"npm publish"},"description":"A CQRS Hook.","licenseText":"Copyright 2021 AlfNielsen\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","license":"MIT","_id":"message-bridge-js@0.1.6","dist":{"shasum":"b1567fdf06be129b2c2e4bd6f0823715b4a8eb8e","integrity":"sha512-SKRKjpsELmGk5I7zfzNWs6WS5mnW99lxhvRFzakCfh22+ZctzwIWgp8YJPaYPV7zCLA3vGXC1AqgxapRrPhR6A==","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.1.6.tgz","fileCount":36,"unpackedSize":52071,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/k8XCRA9TVsSAnZWagAA81oQAIVcjc/Vumd3s9I7B2b5\nbEqu9vvG2v7MXm8W35VlPjp1qXPPp6uKj+DEm6m9axgsd4Y3NSCPap0Fm5Kz\n9lzhOGfdFAIstrxfD6GpZugRz7H2cQlEd4zoQ9TyOKXstKHSuXw2ozL+5Etq\nDjrMKYmAPCGcQbi6pQtaMZIcFrDY39TKiVPrQaFawXSW1qpl1ZzY4dmakuwj\n+eZr1CU21b70mPao+ZkgcFyyS178DDv/tq8FAGkP+DZyFz5ti3WX7jTB5P5P\n7kJBSf7001maW5YWsBtisyJHemO3BBighaHCfeIRUERslSoV7uKyPkCcmNOo\ns01eYDLQzv2EjP297kfc7pgxjsUwSvZ7cML7SRhzFKgjc+8kMzs0VMEDmfa7\nr8vbgSfTk1kUUP1AI+kJp7K1bMTaa/7XohNJwbiOVioUtkIvx8Udcdw8N0zv\n/TD/OTX+KGtvOKGGns0vRVYmiEQMEQfJMQ+klSylvXOEUygF35H1Zhnpl60f\nvMENwMU3nbbIBFsjr1n711YQWWwBMj9BWGc4AHIbK5inDqvvk/r2xU4QQoTh\n+1XDIkgfPIbo6Kid3NP+JskJ1whkAFRFkZpNMuQ5+aBY35qTZuDtBSq+Q0Qb\nLJShkf3WB/l96ODVuwWjgU3SQ7eeRdRXJonragvVlAxJZ0TmeYKPt2uqKwDX\nmFlK\r\n=FNBl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFGyUJG66z3lMD2X8nzCDhUwnkrpV+SkiutE71/FeksJAiEAq1z/dYrLOwE7aKm7sd8zSF2PVV8u7d7NGu49tu6qbUE="}]},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.1.6_1644056342882_0.6782314569488179"},"_hasShrinkwrap":false},"0.1.7":{"name":"message-bridge-js","version":"0.1.7","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"main":"build/MessageBridgeService.js","dependencies":{"@microsoft/signalr":"^5.0.9","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-typescript":"^7.15.0","@types/jest":"^27.0.1","@types/uuid":"^8.3.1","babel-jest":"^27.0.6","jest":"^27.0.6","jest-websocket-mock":"^2.2.1","mock-socket":"^9.0.3","ts-jest":"^27.0.5","typescript":"^4.3.5"},"scripts":{"test":"yarn jest","build":"tsc","publish":"npm publish"},"description":"A CQRS Hook.","licenseText":"Copyright 2021 AlfNielsen\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","license":"MIT","_id":"message-bridge-js@0.1.7","dist":{"shasum":"35aeed6b8b1214ee8a108858f6ae60ba4eed70ed","integrity":"sha512-lp9fVcTeMV79yoLcCJtGNC0D9wH/RgBwlg+vRNUrXU4mWWQwpm+SZydBG1/yF7mfCOCdI8Yaz+ciDCV2AXyLKw==","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.1.7.tgz","fileCount":36,"unpackedSize":52071,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/lB2CRA9TVsSAnZWagAAtZcP/0V1gZhCD/dLwOSfUmoM\nq2MO26cO54xI1JAqtAKpFEM4TkYdhg+R6WaVaweLqfWxA1L9ZQXEut5uQcpS\niql/r10f6s8nU7/Vcgk8iOFfV6wkvQIXI/SNyImTYSC4t6tBBpGYomTsY/bb\n0v2pwAuhVimBTD7WpEdCw8E3UKPk5ipbvEvP7YkZSZLO4a7HjPmmMol6YuLF\njelDUaY1JcdlQhDFjMX7l3okcy2MxU1jyoBU41JwxO7ZbnZ45hzCj2tsuPlt\nO8vB9OZxOEo3tzqd8KbWOV9Uy9sRqrKqRoQp3CfqnSHIn39Lf8I6eDyjwlf+\nLGgTzpDUQLeO+RsmV1UPqhsPd8affPQILH0xio/hRP2CrW3Gqo0wIg+nDIlM\nJzKr4ML4tCqvsJpC2str4unYbZyoC/TJP6BJQgYt+2ZeDSjuWwlx9okgZ+au\n9AVhk1zxk3wl6oxTmhoRtTpeoWBhx28a406jlM80qo+K4u+EbfKYswjUnM7T\n6g9eKMdJeZy9wyY3piXoObn2FRZ/WcX8c6IM42gxB7KAtiafQZwLOzwGW5b2\nOOh8yx0MoMh3YaHs1OaZqOsbzEhH0m80sgIIaIHcWePZI0095L0ZkP39nMcv\nbArAGuf169Co1uvbXoQc9KYD9MyK5KpA+jeBV9nrc8auFJyxAfcUtYFiVgHf\nxuw8\r\n=9eJu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGDYbiR86V85/l5Qn0PO5qIrK9UjhLzn9b44+ATvhsO0AiBOYTbGcVQIN8T/ozqwFkHOtTc1Ip8WzDIF7Bk51yUvfw=="}]},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.1.7_1644056693886_0.6546793730197236"},"_hasShrinkwrap":false},"0.1.8":{"name":"message-bridge-js","version":"0.1.8","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"main":"build/MessageBridgeService.js","dependencies":{"@microsoft/signalr":"^5.0.9","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-typescript":"^7.15.0","@types/jest":"^27.0.1","@types/uuid":"^8.3.1","babel-jest":"^27.0.6","jest":"^27.0.6","jest-websocket-mock":"^2.2.1","mock-socket":"^9.0.3","ts-jest":"^27.0.5","typescript":"^4.3.5"},"scripts":{"test":"yarn jest","build":"tsc","publish":"npm publish"},"description":"A CQRS Hook.","licenseText":"Copyright 2021 AlfNielsen\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","license":"MIT","_id":"message-bridge-js@0.1.8","dist":{"shasum":"ba15e9a40018e862578a37e84fb804c3733fd962","integrity":"sha512-wVqm/To3ssDQ12CryTVigPt9ig9p2x4f8UonyyjZxsRHPdMn6C4BYWziNiPjlHPh9fIKix1zk350Dt7+BcIWpQ==","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.1.8.tgz","fileCount":36,"unpackedSize":52071,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/lICCRA9TVsSAnZWagAAtjYQAI8wVx4x7Pp/8xSW9Qpl\nd9aBVk/kYLyaoOA+T0+WltzUiA/fjeOk5LDSl8fxVnLJXIwlCbduPsFO+USP\nHO7w6DQvQyoWolcO1HSeuQoMrE+f3E/spDMMefYTy/6J9Qu6mI3IUhLZuhTt\nIg3j7OwBKXjkOOb58kS4+VgEYviJfhu5rJDueqSA/aYLSPpOMaTRQyG1ZPyZ\n8MPYLTAp37zcuM5cfknleotJ7n2odqyfJaX7kxCRaN9Dtb/NAa55xJK135pd\nz4h5a0sLsDuDLyn8IuXivDzlg5wryRDZqnssazD82jDbO/AIslcRWBm7323c\nGLHqbmbTnhmvyWqevmf92Akx6X3WIn3R9GK/TxauvSuQdXY8gNRo98pJjW3N\n8y0Yh6SjAE7ePfZV+7Zd+dpQx7HN/loYV/xgEESEbsbb3FTUA+pcO4MXO0ON\nY5Lj4XplBrd9/HHrHYyv8QYYcF3ISF1Wdq/SJgRyoDGA3b6RL2yRNK1uNakF\n632PlvVlWNaabB8JOb+SIdHN9mmKAqJRmc1MejtlcWgBmv0Ca2J0XpNoNTt9\nFEC0Y8Mw9gxAlggIqgRaTUacyzcpInEjGYkGJcP07QIJ7x5i3CfmqqrbFCMg\nQbzQXrKOESC0QmP4V19dIjoUOfSSCDVUDVj0HdA2X6HOK3U1OgP5CU9nSVZj\nPJKu\r\n=iU47\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEsWx2R2M076vqFxhcfgjkbzo+Qor7KxYPhE3Hp0pEw1AiEA8k8qFtHCP+LMlDA44huxQnB61CzicYMwk18nVltd+bg="}]},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.1.8_1644057090188_0.5400782930404817"},"_hasShrinkwrap":false},"0.1.9":{"name":"message-bridge-js","version":"0.1.9","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"git+https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"main":"build/MessageBridgeService.js","dependencies":{"@microsoft/signalr":"^5.0.9","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-typescript":"^7.15.0","@types/jest":"^27.0.1","@types/uuid":"^8.3.1","babel-jest":"^27.0.6","jest":"^27.0.6","jest-websocket-mock":"^2.2.1","mock-socket":"^9.0.3","ts-jest":"^27.0.5","typescript":"^4.3.5"},"scripts":{"test":"yarn jest","build":"tsc","publish":"npm publish"},"types":"./build/MessageBridgeService.d.ts","gitHead":"cf02a4544483f402cebe019822623f45e139369c","description":"A CQRS Hook.","bugs":{"url":"https://github.com/alfnielsen/MessageBridgeJS/issues"},"_id":"message-bridge-js@0.1.9","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-HrbAdMz7JO85YAc0MP6ge866SrQ0kN07w/DpvLihxaGBnE2WbrpQEBu12dEAsrFAovxxcbyy/xx9+mAilGPQyA==","shasum":"e60306c6bb0b28d8f90939200cfdfb6721b83a28","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.1.9.tgz","fileCount":31,"unpackedSize":53468,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDA/NX3HniWIQ5eAxnHCqxzDSXQTMIdLdXX0UAuSoYStAIgQXGEvdHS1kyFippi7mlNRgPKI1VSp79AkIcXMprvwdg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJidRU6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoHLA//Zx3ACCnOBBSmg7uBrA8QGjknNAhAZ6AxTW4KhO9XZky/kh9W\r\nGG4fM+bsaoZqortfPAsmBE04rmi6Ds43HXo28C2alOU9ZGGZdJ2VMwk7zl9Y\r\nxI/qAqVNVGo7vm+eySlMPwXGvyuUiFB/dE+wUZflpWnyDgrAx7TXjM3VwcTu\r\nLyujHDj+nmzBKLUNBAf2AHM1yaBT3tLdflnslb4OPccwABtiFq+0dgoYgIdB\r\nRj2Gu8JeiBKYVTUAyuYSD3QkAXzAjPRv6btDRp0WPcvQzXplpsqwsHbeCbLL\r\n35t5w2ieuk3RXN3/9ifPG1nV+OhxdvVUNgpOAglg5Sc21qBk75/gTSLPlBgp\r\nhBJ7Y4aYjNvwfAjd7AIl45DAPUXAMhyVXOGtImy6VJ1f95XkD/WiM/HYzUBo\r\nde0N/1sIMk8cy0J4KaZYYLgPfc8wHD9vFpPeQRICKCCaF3wz8gH22zRjuzlV\r\nSrR8BE/QYZ0DguWhDd6bYSqtm22cahGQsvBsDyjp7dJpmNnpN7hm7qGePNRw\r\nOZ6JIBq3dBpbBmcuzLRFTrHadvwqjerVt7GlPOImfeAbmv0bCcArsGBFilXd\r\naBXDAsKdW0+/KFISbLms4cURqz2O/PKnuk6OeQcthc+HYVI8Twmi+K45/D1M\r\nB4q/tyGn7JV/ADQM33LjleH2DIyswH7sfGA=\r\n=7Tlo\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.1.9_1651840314370_0.9801047422156668"},"_hasShrinkwrap":false},"0.1.10":{"name":"message-bridge-js","version":"0.1.10","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"git+https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"main":"build/MessageBridgeService.js","dependencies":{"@microsoft/signalr":"^5.0.9","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-typescript":"^7.15.0","@types/jest":"^27.0.1","@types/uuid":"^8.3.1","babel-jest":"^27.0.6","jest":"^27.0.6","jest-websocket-mock":"^2.2.1","mock-socket":"^9.0.3","ts-jest":"^27.0.5","typescript":"^4.3.5"},"scripts":{"test":"yarn jest","build":"tsc","publish":"npm publish"},"types":"./build/MessageBridgeService.d.ts","gitHead":"d7d74e9eb1ab6e6b1fe3ae15dc0d5db2b8da5c14","description":"A CQRS Hook.","bugs":{"url":"https://github.com/alfnielsen/MessageBridgeJS/issues"},"_id":"message-bridge-js@0.1.10","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-zQk5p2rOfpg+Hj0eIHKHu92s9i5Bmm4gaFy/Pz7QCqWgVxJ0HcYM10Ffog+SQWvZvb/H2S5SDFjZI3iI6xBPwg==","shasum":"750aa6364d865647851c5149731b6cc29f92254e","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.1.10.tgz","fileCount":31,"unpackedSize":54906,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHL63z33nfkMAyweXfIV8ovHKNFj3Y0/1P61U/2gVn+vAiEAmYnD96hzDhFplLJ/aMPAJeRsxZ0EOBoSCkzv1pWMm5c="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDdhrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpYqBAAkI2rvKaAJ7IXAhBPW+vnF2OB6qbCADwdfl+zE9RTB1q/NfIy\r\nqE1nB3MzX85TaPOG2AWOd74V/S4JNqv7AUYWxNrW9WHLQ1/Iqmk0HvZ5EWvO\r\nCUuMbVC+JDV0wxn4sbLXWknhDoWR10VXd4n1Y9LNsfno8JppWBwkiUlGHSb5\r\nbFLsnpsxaU0YyZlhvyVVV96H/r/WDYImHMtz0qJTdLNrPBqt7rZ0aMO8QJ6G\r\nIaoCKp00k9yEBl4WyGzrQ0u6ZwJkak8+pMPDQ4fS1fEFGoJQtxaVWUQkldrM\r\nM+YP0wHu+fkUe8C6v9NI+TopV/rG1GPadcTfa3V1YfgmxlwaPbU9iEjyI+hB\r\nW+7/SmAPoFwdNvaDcFJFPR5m3dcA0HSUp4ipOO9xJWXXlmYYWGtyvO/BEHUq\r\nDgkZn3Lc3eC8OvNSlzBeDtotZN4l1EUm1lr9NqEt3xCotrUGrEUWEjH6yn8i\r\ngzGu4uyolMnynwJ8WVCX3v786NV0o9P4PdpqbatQ5ti/nceacfaaUB647ldm\r\nnPWQd2/qdIIj+8EIhlFntqCbP/maVPoGogG4qmgJvRSZQjn5Vbh/Y0VaCw3A\r\nDV7KR9B0YEKj7miS/mHr7zmmVhWnL0gBCbuNPiSRIzFUYdo3JdY3QBiLt7HC\r\nPS0C8NkAXiFAhYJnt4Np2xMKNHWnCZgsQKU=\r\n=98MZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.1.10_1661851755789_0.38004428927348255"},"_hasShrinkwrap":false},"0.1.11":{"name":"message-bridge-js","version":"0.1.11","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"git+https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"main":"build/index.js","dependencies":{"@microsoft/signalr":"^5.0.9","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-typescript":"^7.15.0","@types/jest":"^27.0.1","@types/uuid":"^8.3.1","babel-jest":"^27.0.6","jest":"^27.0.6","jest-websocket-mock":"^2.2.1","mock-socket":"^9.0.3","ts-jest":"^27.0.5","typescript":"^4.3.5"},"scripts":{"test":"yarn jest","build":"tsc","publish":"npm publish"},"types":"./build/index.d.ts","gitHead":"28a0de0f98a8f3cc80671316243f635b0bb8bab4","description":"A CQRS Hook.","bugs":{"url":"https://github.com/alfnielsen/MessageBridgeJS/issues"},"_id":"message-bridge-js@0.1.11","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-r9QyoqpRSXl9mEXFK/zijW5TOWttOn5hvkyY8a+qU2jIKpcSFKfsE46Qr8ADM7UJTGS+T04utoCt8mKj6wKCTA==","shasum":"b131cdc9640a9cbf4225470eef2c5c284253d6f3","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.1.11.tgz","fileCount":35,"unpackedSize":56214,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE9QLqNZ7KUb5ex3Y5pcgXESieQrvzGWHB+i/X2YFWsZAiBNvV1LAwWLnla/yoZXZoysDao3Awaw7jJRIW03UBYDPQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjFHLgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmri4g//S7c7f5JCi+ja5UxN9TVRrABACtgMRFKTOy6xEOOu4i/JlpK1\r\n+8OPUJptJ/I8yg0JfKKpPZ51nfO1G/Ats1ZsafLdqou6jF36pOOH5vgjAbjX\r\nzrsXnhyvzs283nNAsSDDNiqkB1d64jTNgC3v9Ezf4nAoyG0PWetsP4v+xRs8\r\napEqMeILWIPesCJJlD6VM9GOr1bjRdGuxiYUzcm7Ki0ssx8HQ0mrJ5c7Fw2c\r\nKcAREEXQfBagNb1Inev8f/lkOJqqvO4PqEy1+1Ecoj6kUGTWZo7zvRGBZmPu\r\nusTdFWHN0cnEfBDV+8q+gjtfWk0liQhwO5pS75OuudXZg2CJYoZ5BjZMD0At\r\n5Rc/zcpLEXVqLr7rj3ADaGV92IgRgZu+zUhkD/VocbBC5p7qwvRgC3VZ0GnY\r\nBGV3VS8hI+VhcI8HQJijVWIKvHBPpTkcL0fkZUeEPRtzreMr/SWtIgki/i47\r\nxmhyfWni84HhgJC7XAvBVSJskdK/hhVRggB6UKsAOuMT5136UmFMmLILbvLe\r\nTwcuxCPaPfrgCs+vqtnxqLnC8Jxun4hiHJ5i15Btj+b+FDIM1Wann5GbBXTS\r\nyEJdEt+YF/sjTowsWwJVdsbkwcBGPsG94HX0ghmfwxfmNOeB+lDR2ykGyJXX\r\nKDP8mOFHEcbricC+fw5iUr02diNbe0FRb2E=\r\n=Bxcy\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.1.11_1662284512622_0.5280168023280645"},"_hasShrinkwrap":false},"0.2.0":{"name":"message-bridge-js","version":"0.2.0","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"git+https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"exports":{"require":"./dist/index.cjs","default":"./dist/index.modern.js"},"main":"./dist/index.cjs","module":"./dist/index.module.js","unpkg":"./dist/index.umd.js","source":"src/index.ts","scripts":{"test":"yarn jest","build":"microbundle","publish":"npm publish"},"dependencies":{"@microsoft/signalr":"^5.0.9","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-typescript":"^7.15.0","@types/jest":"^27.0.1","@types/uuid":"^8.3.1","babel-jest":"^27.0.6","jest":"^27.0.6","jest-websocket-mock":"^2.2.1","microbundle":"^0.15.1","mock-socket":"^9.0.3","ts-jest":"^27.0.5","typescript":"^4.3.5"},"types":"./dist/index.d.ts","gitHead":"32c93d9588b903e1936d97a4112d3929b167ea5a","description":"A CQRS Hook.","bugs":{"url":"https://github.com/alfnielsen/MessageBridgeJS/issues"},"_id":"message-bridge-js@0.2.0","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-djo//rNuRwnPiXLsj1iknWbevtk9/0QlKbWnuAVP6BmWZCTigqwwe+Ess3qPiKt8DQtxBGEwoScFHenpTpSkiQ==","shasum":"63604a6ec694f3c4075099f8e458585974b675e3","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.2.0.tgz","fileCount":27,"unpackedSize":127379,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEFYBJy0F1vVBIQIqzV4VWT/Cz3/m9B9SmtcPh6S50iTAiBwLGdxU1xWSV3vjoAczDUlyahKZ8mFuWqo9FsRuW+6cg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjFHVCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrYjw//Z+aiXSUjSgMjvkOee1gPpvk6KmqKq6IudKMBhsGwhDGYLKFt\r\nTD3criPg0vsKulQZkriy4sgU/18pJdtNsPcXvI7d4Xmb5W9D4dL5HhaBY0mf\r\nZvmcb6TzIfa7gjLN4vrWDOWWBzcE7zlagBVeIhs8Q5m+aaaDGHKsOj0t7qYV\r\nAO2w+khogivFhMeTcUB5RejujMqmMlYniNqmFeLB4+p7vXqkaTyOYacp+ahU\r\n2MpQrcaTBjAPNryx6IMb5pvksHuwfWnbj+x5Sjcls93msKFDLcIl0w/nOFrU\r\nAPhaIUxbo6n+c6yZf8N7IcF0YI8mWC2HmLhn8RfqI1zgKgx7SJqWf8aUtOXA\r\nIBd6X5dEYfhVQPuIkjf+COAbTW0Gcy/xCSJ2sysQpBiFqoytVISdUENCq+jn\r\n4xLpCDXyfcCClTCEXWMjXcfSikOQE4LvC4oGFXxlNhy/gZTHe13QmNKoBFFZ\r\n28tknRM+ti+3m3MWBAYw5PSLPtW70VqYsx2/CR7Qnkf6z0MYeI5HJZLNo0ba\r\n/9DEX2pEJ5Z0GFzy29DatPwz6LpMekzhhQFtp2SWZltX1HHoBvCV0VcTxqsb\r\nF/S+mbl4aAFczvo1Iv9LMUqsUHWY1IV6Yibm4Nu2euiW1oUMONWKJJQtX1DE\r\no18OjrgwfBqg70NnMY1iHxrc4iU3192JA8w=\r\n=ivs4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.2.0_1662285122281_0.9183700802368029"},"_hasShrinkwrap":false},"0.2.1":{"name":"message-bridge-js","version":"0.2.1","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"exports":{"require":"./dist/index.js","default":"./dist/index.modern.mjs"},"types":"./dist/index.d.ts","main":"./dist/index.js","module":"./dist/index.module.js","unpkg":"./dist/index.umd.js","source":"src/index.ts","scripts":{"test":"yarn jest","build":"microbundle --format umd,cjs,es","publish":"npm publish"},"dependencies":{"@microsoft/signalr":"^5.0.9","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-typescript":"^7.15.0","@types/jest":"^27.0.1","@types/uuid":"^8.3.1","babel-jest":"^27.0.6","jest":"^27.0.6","jest-websocket-mock":"^2.2.1","microbundle":"^0.15.1","mock-socket":"^9.0.3","ts-jest":"^27.0.5","typescript":"^4.3.5"},"description":"A CQRS Hook.","licenseText":"Copyright 2021 AlfNielsen\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","license":"MIT","_id":"message-bridge-js@0.2.1","dist":{"shasum":"16be249fe3450a6d016f878554d2fca0d49796a1","integrity":"sha512-fWtuuASXCKwCAjJDEOQFB9C0d5/NpMQhZEWGB9YJJ3qJpHet77Iu+ESfHThZXAGn8Fg/0yI/TyrNXAIcU3yAoQ==","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.2.1.tgz","fileCount":32,"unpackedSize":127430,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEH0qayCQ87UipemHN8uyYe9LflaB8hrh8kavBpSWWWGAiEAxqCei53PQtAXbeZvepTPvrkMoHPD6+c1C84J6xJt3ZI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjFHqbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoM+Q//WdiR2kPebC5StQsK5HeSH+nigWYcABsnvNkBJSC8GbW2K81O\r\nDENvi77P1ZYHDQk0nlp2IDHmFLfiv9QI3o1ElNoYy9kJHtGeXCpUzEgOpYTE\r\nww3chwTcqS1bbnydHGXqDrxhEJLvNTDwuxFct+1ruzlqt+0HBORjIzg/HpkK\r\n+UojUr2PRFNi2FIvuAGUb1I7k+Bk4iR5iAR+GSxcwesJ/1CMwO6aoXS/Sd0N\r\n6ZifzcUQS4zJKv6iPxNtF9CuFQNMiIJrwhnIZeQ+VUeB7Ak7M5VS2fCgAuzb\r\n/euGddee9+129ijaZq1m3PeOVRrM1RQFbZ7QiDkUl/7Tn2GeVK8V5IG8Tk2l\r\n1eIPN5Ijf+ea5i1nr/cFXjfoCY9nNZPxRSqUuUB93oSLMWNteHy57SNffdX8\r\nUaVuFCU/Dld5OX1OCY7DiwnZmmSM8bj8Ukh8XWuhJFFRfsfDF0Phb1PDDftB\r\nH2ubV0JAz7WwKE6oHFKoHGkcFTlMysnuOowwzzkPHp1yaR5aRsPFZlfUF6y7\r\ntxiIgy6Q4bq4BK761GPuvvw685IH5GKwLHA7T3aGSAyUgAnAwqduoRGhpykj\r\nMyNWk1CjcbGMPQFNUXQgW3xe788zueEhb7/j+lRBy/MJdk0nxe8FeF3YDS5h\r\ngm/trER/unNHSN3fLo8oBajwQKlp8oH10aA=\r\n=7rTi\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.2.1_1662286491354_0.7789046901290875"},"_hasShrinkwrap":false},"0.2.2":{"name":"message-bridge-js","version":"0.2.2","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"git+https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"exports":{"require":"./dist/index.js","default":"./dist/index.modern.mjs"},"types":"./dist/index.d.ts","main":"./dist/index.js","module":"./dist/index.module.js","unpkg":"./dist/index.umd.js","source":"src/index.ts","scripts":{"test":"yarn jest","build":"microbundle --format umd,cjs,es","publish":"npm publish"},"dependencies":{"@microsoft/signalr":"^5.0.9","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-typescript":"^7.15.0","@types/jest":"^27.0.1","@types/uuid":"^8.3.1","babel-jest":"^27.0.6","jest":"^27.0.6","jest-websocket-mock":"^2.2.1","microbundle":"^0.15.1","mock-socket":"^9.0.3","ts-jest":"^27.0.5","typescript":"^4.3.5"},"gitHead":"8fc711c97d1c88931da5af9322ec99cd94101adb","description":"A CQRS Hook.","bugs":{"url":"https://github.com/alfnielsen/MessageBridgeJS/issues"},"_id":"message-bridge-js@0.2.2","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-lE62R/Hq8y+rgN3NqVssUBtf9Kr1AULgkJdJXNLhDrinE9tFA8goP7hv5ZqMqvlFhRxALZWjkQZTKj4Jp5nV7Q==","shasum":"5b049f961bcaec15c67a60e63faa687cb45f65da","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.2.2.tgz","fileCount":27,"unpackedSize":127547,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8XkkUO3MQP3eEjPgVOWmEgszfW0LD+qQC6sAdXEynawIgL4X2WTKK94DlcZWorzPFhSy2hJGu2H/Vu7SOmweknnI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjItcDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrzuQ/+OGJwdLp2D0zhVfTt/V6vcV1OULGozNuN0dFrUD57fu4xVROL\r\nNi0YZjvofGGyiJpUuYWLu3GKrgRajRZNIBGsF44QCz1Z+9/4xHpeeD2Nm7Py\r\nurZbvoRPlwAu8hLe7kMN/v0aQCYoesOof8Z4PyBfO5rbGePz0YG92aNFf2on\r\nIsOylPmDBI1U9HkobsMV7VYI11Jrsb7TnWXx4WKGmeF1uQT7znx9PC63iJco\r\noiErabrSv+8JoT3oNOzBYQgjQqluH1GLw0l1EMlnadtvphsQJbd+AJo46K4m\r\nSq4qoiOU3TplSHnSUquR1tJ6VoF+aikyh5EVUQXrTwvVHaqdBEtkqNP81t2a\r\njVAwTHH58ZhlpKZTViVA31iNguSoG+s+qi5FrHlAuLhp+3E0Y4f5G2AmwuUV\r\n4HIXWoqnwHI/1UtBOD/OQiqyDzU1sJdmGImKSBPHwXTk/q9soGUNoZ7yYv1s\r\nEB/UKG5QreS5QWNejmiyd7xz2TuPyicSRmt7SdkaxHdOGZxATpSV8Gf3q6iT\r\nMmX33MqE872UrfDLXamlwI0WEv/+vWYghGQqdClOBY9fS3FaO0ZSWjum/vu9\r\nrKOhoDFkfzbE7iTVU6H6qXippKR4Ld8OyryUqexFHWZ5WraN5fJY0xB0oV8J\r\n3oanIpbJCtK3QLheKvWWAZZEc+kBFJe3eb0=\r\n=bwFH\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.2.2_1663227651369_0.8755424779844578"},"_hasShrinkwrap":false},"0.9.0":{"name":"message-bridge-js","version":"0.9.0","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"exports":{"require":"./dist/index.js","default":"./dist/index.modern.mjs"},"types":"./dist/index.d.ts","main":"./dist/index.js","module":"./dist/index.module.js","unpkg":"./dist/index.umd.js","source":"src/index.ts","scripts":{"test:all":"yarn jest --runInBand --detectOpenHandles","test:flow":"yarn jest -i tests/fullFlow.test.ts --runInBand --detectOpenHandles","test:errors":"yarn jest -i tests/handleErrors.test.ts --runInBand --detectOpenHandles","test:options":"yarn jest -i tests/bridgeOptions.test.ts --runInBand --detectOpenHandles","test:request":"yarn jest -i tests/requestOptions.test.ts --runInBand --detectOpenHandles","test:parallel":"yarn jest -i tests/parallel.test.ts --runInBand --detectOpenHandles","test:event":"yarn jest -i tests/sendEvent.test.ts --runInBand --detectOpenHandles","test:logger":"yarn jest -i tests/logger.test.ts --runInBand --detectOpenHandles","test:intercept":"yarn jest -i tests/intercept.test.ts --runInBand --detectOpenHandles","build":"microbundle --format umd,cjs,es","publish":"npm publish"},"dependencies":{"@microsoft/signalr":"^7.0.2","uuid":"^9.0.0"},"devDependencies":{"@babel/core":"^7.20.12","@babel/preset-env":"^7.20.2","@babel/preset-typescript":"^7.18.6","@types/jest":"^29.2.5","@types/uuid":"^9.0.0","babel-jest":"^29.3.1","jest":"^29.3.1","jest-websocket-mock":"^2.4.0","microbundle":"^0.15.1","mock-socket":"^9.1.5","ts-jest":"^29.0.5","typescript":"^4.9.4"},"description":"A CQRS Hook.","licenseText":"Copyright 2021 AlfNielsen\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","license":"MIT","_id":"message-bridge-js@0.9.0","dist":{"shasum":"d1ecd6ec04ace741aaed72f257fd2003e18636cd","integrity":"sha512-NqsSI9M46Fwzia9WCnRXde4+FSwb0cNwgvzKrwBfXjNi/7rPW9ZHN/oKKmGPfPTqQRNqjSwvTNqB1WosK7UsxA==","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.9.0.tgz","fileCount":29,"unpackedSize":218727,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBlSg1tVFRatqyTDWMgZ3zvx4/NItHT7qDn/F3GcbPBiAiAUlR73Hy2iRsB4qKWTjRcCa3TlU0PE/ahrRb1X8nZHAw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxHweACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrlIw/+MrhjnH+VTy3Onzz7YhmnEKk7/gNDfwB7Eso+Lf64c0dbCRR9\r\n0rCDW5AwGEalfUoEYc+cEyvSS0aO99wHOqAPnPu37Ti7njnoMuYEILRXirKa\r\nI/KRUGTKK+742S9MbW65WHSq/ViMrCBW3WS77ffaqoCDnJfbBfcLhP4JOFQb\r\nbl0WeAEe621y7ngcN7QxFCxkFHU0yqLKUcJwMCa0lnAOyKXrllkgSkvkGlEd\r\n/EA7osBPPpDtErAI98oAqqiFn5zy28x/7rO/bVBObb0L03R8h7DHuHGwzyZ1\r\n82UPwzEMbEJuQSC+t6EtsYGHnB5jfr5H6kogtiBqceLTLPYjeEm19MdYPWjI\r\nFRM8A7F2X3peFxmy+MkYLqSJ9NIrtJcQGbAR/orAyoa9EKr6cmPZOvvIl+/q\r\nqREWcN1KzhLMeFQkM4QAHIjv9AzLv6ITqPvh89uLOzX9b83KWWadRlIPErxc\r\n0ceaF7WLHOyW4aed91NYzsqijn7U31+Gb80CUC3J2TivvUwxz+miy6WOTJHx\r\nNDHvXBw347zMRvANt3B/llcuFQhkTBogYx8/rLRP9ZqLsJJHiSxo+YLaCEV6\r\nxuW5xegSNGr6JAq9t+KNNYtps+uUewuA1/EhpxglcriXfxPu8A0ahYrHT5JO\r\nNF1k64z9mYciq+2zpmtwUo5Noa21FAox2BQ=\r\n=Qij4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.9.0_1673821214197_0.4102455146100821"},"_hasShrinkwrap":false},"0.9.1":{"name":"message-bridge-js","version":"0.9.1","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"exports":{"require":"./dist/index.js","default":"./dist/index.modern.mjs"},"types":"./dist/index.d.ts","main":"./dist/index.js","module":"./dist/index.module.js","unpkg":"./dist/index.umd.js","source":"src/index.ts","scripts":{"test:all":"yarn jest --runInBand --detectOpenHandles","test:flow":"yarn jest -i tests/fullFlow.test.ts --runInBand --detectOpenHandles","test:errors":"yarn jest -i tests/handleErrors.test.ts --runInBand --detectOpenHandles","test:options":"yarn jest -i tests/bridgeOptions.test.ts --runInBand --detectOpenHandles","test:request":"yarn jest -i tests/requestOptions.test.ts --runInBand --detectOpenHandles","test:parallel":"yarn jest -i tests/parallel.test.ts --runInBand --detectOpenHandles","test:event":"yarn jest -i tests/sendEvent.test.ts --runInBand --detectOpenHandles","test:logger":"yarn jest -i tests/logger.test.ts --runInBand --detectOpenHandles","test:intercept":"yarn jest -i tests/intercept.test.ts --runInBand --detectOpenHandles","test:cancel":"yarn jest -i tests/cancel.test.ts --runInBand --detectOpenHandles","build":"microbundle --format umd,cjs,es","publish":"npm publish"},"dependencies":{"@microsoft/signalr":"^7.0.2","uuid":"^9.0.0"},"devDependencies":{"@babel/core":"^7.20.12","@babel/preset-env":"^7.20.2","@babel/preset-typescript":"^7.18.6","@types/jest":"^29.2.5","@types/uuid":"^9.0.0","babel-jest":"^29.3.1","jest":"^29.3.1","jest-websocket-mock":"^2.4.0","microbundle":"^0.15.1","mock-socket":"^9.1.5","ts-jest":"^29.0.5","typescript":"^4.9.4"},"description":"A CQRS Hook.","licenseText":"Copyright 2021 AlfNielsen\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","license":"MIT","_id":"message-bridge-js@0.9.1","dist":{"shasum":"aa81f8a7c5f7be4143398a8ff22930e4be80934c","integrity":"sha512-/IX4Btd+LVYAt9G1MVkdF2xPF96q2+3oOAvkG/uqCXZ73Pj10F6ZjNI45U1hTXu+LIdoj0gmyoJNLW8arCHHrg==","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.9.1.tgz","fileCount":29,"unpackedSize":274290,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCIHB+kOSSkQbdGMqb823yQPrZ5BTI02Lkg/rH7WFa8KgIgV48/6p4yTTrxys20n1ddFqu5jq1RYqRkSkKZd/gAI1U="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxUPYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo2mw//bzAAGcVYNKAqWEt0akTBQ645JQhZiCJGu0LWfoSFBLpihYab\r\nvloz+W1j+RCEBzjbRGSy8cL0Cso9B94JcOvY6e+SvlNLOL4M49+8tAaKwCjL\r\nZaVfUEgrmeFknAvecZ+HqXjKujBSHOba9bvUVWpM+LF6Th573SYiEy/em7f8\r\n53H2yoLw0OiDVSIcRZe/Ck+yyPohTbVzG9el1SsaIGKSGGVNryggytARQNhg\r\ncYk9DBSY6pok4VzmQ5aj2mQZu6TpLseRzD3IBQ39XzRZ50yjK2o7bwoSxUUw\r\nOiGeIKwqq95B50M8IsBoYnyaL46CHy/9MYx2B2u6URl2lw0H8XEXD15wT7xU\r\n8w0Jp14wmW1SWALp9ftR+18fBYkIf2szip+jCZOD+0MsuSQyq61RxapPTXmb\r\nHMrHO283U0CbuFwHmlYHuL4MDNIKF/hU37MAupN5USFdv9kqerA8qx0pxOGK\r\nI7bBhdwfc0zNBlgrFLBov6hxWcx56ZVXxzd2oNoSmZdOHVsqjKBoxcun07mJ\r\n3ICVG99ZiUA1bhEHDYifK/yPLOkQbWqqeCuNpq3lwkaAxttL/kT1PbJllODh\r\n7w8sLCko8IzS+0+RswBRLj7y7chEmNkQj1VUFmx3OulqghRIvOxHJCcrK3k1\r\nVJVq7pr1BAh9g/vkvczFf4R89fxVn+UakrM=\r\n=qp5t\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.9.1_1673872344216_0.9355874819986181"},"_hasShrinkwrap":false},"0.9.2":{"name":"message-bridge-js","version":"0.9.2","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"exports":{"require":"./dist/index.js","default":"./dist/index.modern.mjs"},"types":"./dist/index.d.ts","main":"./dist/index.js","module":"./dist/index.module.js","unpkg":"./dist/index.umd.js","source":"src/index.ts","scripts":{"test:all":"yarn jest --runInBand --detectOpenHandles","test:flow":"yarn jest -i tests/fullFlow.test.ts --runInBand --detectOpenHandles","test:errors":"yarn jest -i tests/handleErrors.test.ts --runInBand --detectOpenHandles","test:options":"yarn jest -i tests/bridgeOptions.test.ts --runInBand --detectOpenHandles","test:request":"yarn jest -i tests/requestOptions.test.ts --runInBand --detectOpenHandles","test:parallel":"yarn jest -i tests/parallel.test.ts --runInBand --detectOpenHandles","test:event":"yarn jest -i tests/sendEvent.test.ts --runInBand --detectOpenHandles","test:logger":"yarn jest -i tests/logger.test.ts --runInBand --detectOpenHandles","test:intercept":"yarn jest -i tests/intercept.test.ts --runInBand --detectOpenHandles","test:cancel":"yarn jest -i tests/cancel.test.ts --runInBand --detectOpenHandles","build":"microbundle --format modern,umd,cjs,es","publish":"npm publish"},"dependencies":{"@microsoft/signalr":"^7.0.2","uuid":"^9.0.0"},"devDependencies":{"@babel/core":"^7.20.12","@babel/preset-env":"^7.20.2","@babel/preset-typescript":"^7.18.6","@types/jest":"^29.2.5","@types/uuid":"^9.0.0","babel-jest":"^29.3.1","jest":"^29.3.1","jest-websocket-mock":"^2.4.0","microbundle":"^0.15.1","mock-socket":"^9.1.5","ts-jest":"^29.0.5","typescript":"^4.9.4"},"description":"A CQRS Hook.","licenseText":"Copyright 2021 AlfNielsen\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","license":"MIT","_id":"message-bridge-js@0.9.2","dist":{"shasum":"a538855c37cc6245fd08220f1309528a7d078a12","integrity":"sha512-DVa7flwrDvejxWEcIt3DlJo90vV0elLzXVfsIjfri4RWmprZJrYSqcXmZ8tBzrVClCnrZyMWLUjnnf9cc6vKyA==","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.9.2.tgz","fileCount":31,"unpackedSize":350740,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXc/MzHN+QB1H26jNT3CgnyfUqjd/GPwAzmDvP6xMQVgIgXZV12aBaIIWoZuU+BB3w4TJx1dW+nbHEF7/flkqpca4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxVEXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoV6Q/+JE/g+GEsefJy4HQiSj2h7MHb8PEDYqLYbi/udxA6siTp8gnP\r\n1VxtkG6WMmzwF/KsQZCjaLO+23MmFW7P3fRQkEBPnN4XNZjifLxWRZXIobfm\r\nXBy+GKrrXdgspNdYiXYKSokpeq9CvpCOAWDrU2YXqg+C0fBaagqhrvsBCY22\r\nNCKW4tP1v2bcr7czZIAC0E0He0vBDA6fvtKGTNOjWHqolkK+4zNTSL24kt2B\r\nSuaDl4pUb4Vlcnw07DGtjDQ9rTEt/pt3rBRxHgyWE0546HJN/dM0qFr2e+PL\r\nrS1vrso+0BOzIKkaTEjGcrJ/qo/qkRurCtnIaeucJFP0da9+PqaI7gRvRoTk\r\nyHcIbIwF/naNnl3dwzZN5SRCwCWctskXhoN0bbJcGlQN9L/FRvecrPTdQXFo\r\nUwJyXplHet/C8kSX4VGQmvq4XzCgZLBaoE7dYnaQdjnyVJ4AgFAnmdlC6mtS\r\nr2yzWsXpuiLRBvZo1M3WGGGfanmhS2p74XYM1dZA29BPD4HNpc/nXbkeQ+VF\r\nGeq1rhC7aST9j4Y9S1/s+GCwCeEtpykMjaFK5YA2MDwR5n/CtCHq6VCJdbV6\r\nM8CXE05VYA8Fe62rRjkMIjDuVGjdejKNB3Ts9dDpNUpTTWFtSi9RcpVnTWlA\r\n2Oodqb+1lIPPfkdgN9cMuvae5Vp0ODYTyVs=\r\n=TUQi\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.9.2_1673875735576_0.2686216648043962"},"_hasShrinkwrap":false},"0.9.3":{"name":"message-bridge-js","version":"0.9.3","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"exports":{"require":"./dist/index.js","default":"./dist/index.modern.mjs"},"types":"./dist/index.d.ts","main":"./dist/index.js","module":"./dist/index.module.js","unpkg":"./dist/index.umd.js","source":"src/index.ts","scripts":{"test:all":"yarn jest --runInBand --detectOpenHandles","test:flow":"yarn jest -i tests/fullFlow.test.ts --runInBand --detectOpenHandles","test:errors":"yarn jest -i tests/handleErrors.test.ts --runInBand --detectOpenHandles","test:options":"yarn jest -i tests/bridgeOptions.test.ts --runInBand --detectOpenHandles","test:request":"yarn jest -i tests/requestOptions.test.ts --runInBand --detectOpenHandles","test:parallel":"yarn jest -i tests/parallel.test.ts --runInBand --detectOpenHandles","test:event":"yarn jest -i tests/sendEvent.test.ts --runInBand --detectOpenHandles","test:logger":"yarn jest -i tests/logger.test.ts --runInBand --detectOpenHandles","test:intercept":"yarn jest -i tests/intercept.test.ts --runInBand --detectOpenHandles","test:cancel":"yarn jest -i tests/cancel.test.ts --runInBand --detectOpenHandles","build":"microbundle --format modern,umd,cjs,es","publish":"npm publish"},"dependencies":{"@microsoft/signalr":"^7.0.2","uuid":"^9.0.0"},"devDependencies":{"@babel/core":"^7.20.12","@babel/preset-env":"^7.20.2","@babel/preset-typescript":"^7.18.6","@types/jest":"^29.2.5","@types/uuid":"^9.0.0","babel-jest":"^29.3.1","jest":"^29.3.1","jest-websocket-mock":"^2.4.0","microbundle":"^0.15.1","mock-socket":"^9.1.5","ts-jest":"^29.0.5","typescript":"^4.9.4"},"description":"A CQRS Hook.","licenseText":"Copyright 2021 AlfNielsen\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","license":"MIT","_id":"message-bridge-js@0.9.3","dist":{"shasum":"3051a751199700f2ea09134ecac61ba95d808892","integrity":"sha512-DhOL1EPa24j7DL+Qk1YjZlZDnxHTyNjZAk0huBQ8TRQ3oNjHJHg8ddY6lVCq64kY01JD6FcXe0OffmMElYOAKg==","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.9.3.tgz","fileCount":31,"unpackedSize":350526,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAO/b6dlL2ZpMu3/nTXPeJHfO7tII/FVDGt1fTL1DbhrAiEA4Xers3uKVLh7eN1ZCSve7Rq4yu6RGDgyELTzVIl+Cmo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxVRmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpxkw//b5a2rVchEGcPQoBzYoESDsXaPlQnjbG/6/ViIqz+Woqw7XZ+\r\nCUflRuaJ+ZjaZIMrbgdTQsnGEkit+1dBRvr6qEEfDoZ3F/3TxxgSH5JX6mbm\r\n6sSlQXY445k5dZFhxexolKh3WMRHyaBgelU67+/v3e7siw6Qi0vsLpHfdLil\r\nOMsT3TsvjUzSdwB2rf5zKCVjgYtGgWW2xrILbN9Z0vVjym0Fv10iRUNqOMjd\r\nYZQH2e1UL8/QKP/HZn8tHGq//ZAxjTlanE70d6rI/YvnzL4QR8/zGTI4AGR0\r\nmaCE2GA6qM5dOnhopb90tL8g11UwaJrK2RJdbLMblulDWLxgFDO+Iazafvge\r\nVFa5ed4NQgvFn8FiEqzHLEndjNro4BDlYYiLjIFEwrbbvILw0h0vJNJS/wNo\r\nwIyq0+XL1Trrss800n8+FfeTwXEyOnQFNtH9N3vQdGf2t8gk2v6eNprKwQ83\r\nSa+FwgkvSMToUpr5ulNHuemKzGru0ly0ou02q0eXISG/1Ea/LxlOkGmNOb4r\r\nBpp70BfnKuSzuoouWe4nKaH6wRAAyBLwwWtnGGLc5hqreJWbreiUkgU9KrgO\r\nIVFNoM69fwnFJeM7Yj9CScFUfkqT6Sw1eLrhvfWjCsL7CQ410hxRzZQg0B4y\r\nrhAYZbsIBmVDG2bFe1oGnaebdsBpAlXpeN0=\r\n=tI4N\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.9.3_1673876581912_0.37158213607292345"},"_hasShrinkwrap":false},"0.9.4":{"name":"message-bridge-js","version":"0.9.4","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"https://github.com/alfnielsen/MessageBridgeJS.git"},"author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"exports":{"require":"./dist/index.js","default":"./dist/index.modern.mjs"},"types":"./dist/index.d.ts","main":"./dist/index.js","module":"./dist/index.module.js","unpkg":"./dist/index.umd.js","source":"src/index.ts","scripts":{"test:all":"yarn jest --runInBand --detectOpenHandles","test:flow":"yarn jest -i tests/fullFlow.test.ts --runInBand --detectOpenHandles","test:errors":"yarn jest -i tests/handleErrors.test.ts --runInBand --detectOpenHandles","test:options":"yarn jest -i tests/bridgeOptions.test.ts --runInBand --detectOpenHandles","test:request":"yarn jest -i tests/requestOptions.test.ts --runInBand --detectOpenHandles","test:parallel":"yarn jest -i tests/parallel.test.ts --runInBand --detectOpenHandles","test:event":"yarn jest -i tests/sendEvent.test.ts --runInBand --detectOpenHandles","test:logger":"yarn jest -i tests/logger.test.ts --runInBand --detectOpenHandles","test:intercept":"yarn jest -i tests/intercept.test.ts --runInBand --detectOpenHandles","test:cancel":"yarn jest -i tests/cancel.test.ts --runInBand --detectOpenHandles","build":"microbundle --format modern,umd,cjs,es","publish":"npm publish"},"dependencies":{"@microsoft/signalr":"^7.0.2","uuid":"^9.0.0"},"devDependencies":{"@babel/core":"^7.20.12","@babel/preset-env":"^7.20.2","@babel/preset-typescript":"^7.18.6","@types/jest":"^29.2.5","@types/uuid":"^9.0.0","babel-jest":"^29.3.1","jest":"^29.3.1","jest-websocket-mock":"^2.4.0","microbundle":"^0.15.1","mock-socket":"^9.1.5","ts-jest":"^29.0.5","typescript":"^4.9.4"},"description":"A CQRS Hook.","licenseText":"Copyright 2021 AlfNielsen\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","license":"MIT","_id":"message-bridge-js@0.9.4","dist":{"shasum":"6704dba67f268e5420e1d9b57cdb53ff85815dab","integrity":"sha512-Cs/AB0TiOlwn36UiMj/dX7AFP4UmfL7jFt8pPVZTQ5yzhWEGtLBnO4DGLmyXut0jUZxucQoiIbKosqjwjY4S3w==","tarball":"https://registry.npmjs.org/message-bridge-js/-/message-bridge-js-0.9.4.tgz","fileCount":31,"unpackedSize":353024,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFpqB2ot2ifwcWOS/D8eq67Lm0BJwQNVSCv6JEqu0wxEAiAqsP0kvyEhBgHHpeXXyjzVNQEuVSVf1qL0XDrTbeyJjg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxXYvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrkhA//Xwq+sXeAcw6nuKg6wc3fOMDSmG7nPnFSgpg01wlb24P8m3H7\r\nNKhAwfGCF5Lynm6SRvqmd3u/pAnHB0tG5KVvGlgUuVA9JqOkOkyCNtZGSqWj\r\nuqkaEFqw/cmiA7oyjwO1w3ejm9wb5ZybfblzQrG3yFVL9rnZpWeET6vboFLn\r\nLqWSK0+F/M/KkWgJc+n+tdCqeypCCYR4MPaFogbhsxIl0YGsMbw4f1VbLlhl\r\nIc/69qK03wYZUv9g0CDrto7fu93LobM4q/FMv+rNvV4hE1/PqOKT3/fMluJi\r\nxolC1jwxkaeqVpvWavxHQL2E1Ic+ENKJZNeKsttowENnGUw3LzJ6yAA2lnoc\r\na42ri8x81GxWpvQFQFxH99cnb6feKhxF8EY5DJOlY1YEMM88mP0QWvPwzGvF\r\ncUIxt1Z0CbkTieQlf+6pWBp5DyKDXvXdu05BBxK6iV/XcBVZo44IXSzWs+iU\r\nbPsQvwkXW28NIEiiaLL9YCb5XJV6uXDATd85B9uzMNBzWM+UWK1DcaqMHUhx\r\nAEsbWjkz2xK1w0KhhCXIdsOav2YXb3a/0yA/QocGx4EsDkEE5FykumsRXLAT\r\n0lSlqeuYfk/oXcpYyTF2URhKUECycQVaM0z5cwzZHz9JTFz74mGN/WP5XXzo\r\nyZ+QdGyEMIC2VxGlLcS+cIB6Z3Xret33SQU=\r\n=eDem\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"alfnielsen","email":"alfnielsen@gmail.com"},"directories":{},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/message-bridge-js_0.9.4_1673885230829_0.9468099101458984"},"_hasShrinkwrap":false}},"time":{"created":"2021-04-13T07:11:53.906Z","0.0.1":"2021-04-13T07:11:54.047Z","modified":"2023-01-16T16:07:11.150Z","0.0.2":"2021-04-13T07:33:47.976Z","0.0.3":"2021-04-13T07:42:48.535Z","0.0.4":"2021-04-13T07:54:27.745Z","0.0.5":"2021-05-28T11:28:14.954Z","0.0.6":"2021-05-28T11:34:08.288Z","0.0.7":"2021-06-15T10:29:56.990Z","0.0.8":"2021-06-15T10:30:32.668Z","0.0.9":"2021-06-15T10:43:04.868Z","0.0.10":"2021-06-30T08:30:13.649Z","0.1.0":"2021-08-17T10:55:57.110Z","0.1.1":"2021-08-17T11:05:52.035Z","0.1.2":"2021-08-17T11:18:23.656Z","0.1.3":"2021-08-17T12:16:31.992Z","0.1.4":"2021-08-17T12:18:09.110Z","0.1.5":"2021-08-26T18:11:15.373Z","0.1.6":"2022-02-05T10:19:03.069Z","0.1.7":"2022-02-05T10:24:54.087Z","0.1.8":"2022-02-05T10:31:30.324Z","0.1.9":"2022-05-06T12:31:54.528Z","0.1.10":"2022-08-30T09:29:15.948Z","0.1.11":"2022-09-04T09:41:52.856Z","0.2.0":"2022-09-04T09:52:02.496Z","0.2.1":"2022-09-04T10:14:51.615Z","0.2.2":"2022-09-15T07:40:51.571Z","0.9.0":"2023-01-15T22:20:14.400Z","0.9.1":"2023-01-16T12:32:24.439Z","0.9.2":"2023-01-16T13:28:55.750Z","0.9.3":"2023-01-16T13:43:02.155Z","0.9.4":"2023-01-16T16:07:11.035Z"},"maintainers":[{"name":"alfnielsen","email":"alfnielsen@gmail.com"}],"description":"A CQRS Hook.","homepage":"https://github.com/alfnielsen/MessageBridgeJS","repository":{"type":"git","url":"https://github.com/alfnielsen/MessageBridgeJS.git"},"readme":"# Message Bridge (JS)\n\nA CQRS Hook.\n\nExtreme simplified Commands, Queries and Events for applications UI.\n\nThe Bridge enabled sending Commands, Queries and Event between a frontend and backend\nthrough a websocket.\n\nThe pattern will remove the needs for controllers\\* and hook directly into Commands, Queries and Events in the backend.\n\n_\\*This doesn't mean you don't want controller or need them to expose you API for other sources_\n\n![Overview-diagram](docs/Overview-diagram.jpg)\n\n### Examples\n\n[Demo (CodeSandbox):](https://codesandbox.io/s/message-brigde-js-u7bzxi?file=/src/App.tsx)\n\n```ts\n// See \"/tests\" in repository for more examples\nconst bridge = new MessageBridgeService(\"ws://localhost:8080\")\nawait bridge.connect()\n\n// Command\nconst command = { name: \"Remember to\", priority: \"low\" } as ICreateTodo\nconst id = await bridge.sendCommand({\n  module: \"todo\", // module is optional (But can be used to track different microservices etc..)\n  name: \"CreateTodo\", // name of the command\n  payload: command, // payload (arguments) of the command\n})\nconsole.log(`Todo created with id: ${id}`)\n\n// Query\nconst todo = await bridge.sendQuery({\n  name: \"GetTotoItem\", // name of the query\n  payload: { id: 25 }, // payload (arguments) of the query\n})\nconsole.log(`Todo with id:25 has title: ${todo.title}`)\n\n// Subscribe Event\nconst unsub = bridge.subscribeEvent({\n  name: \"TotoItemUpdated\", // name of the event\n  onEvent(todo: ITodoItem) {\n    // event handler\n  },\n})\n```\n\nTracked requests:\n\n```ts\n// tracked:\nconst { response, request, requestMessage } = await bridge.sendQueryTracked({\n  name: \"GetTotoItem\",\n  payload: { id: 25 },\n})\nconsole.log(\n  `${requestMessage.type} ${requestMessage.name}: Todo with id ${request.id} has title '${response.title}'`,\n)\n// => `Query GetTotoItem: Todo with id 25 has title 'todo1'`\n```\n\nAdvanced tracked requests:\n\n```ts\nconst query = bridge.createQuery({\n  name: \"GetTotoItem\",\n  payload: { id: 25 },\n})\n\nconst { response, request, requestMessage } = await query.sendTracked()\n// Or\nconst response = await query.send()\n\n// Advanced tracked:\nconst {\n  trackId, // string (bridge message's track id)\n  requestMessage, //  Message<TRequest, TSchema>\n  requestOptions, // RequestOptions<TRequest, TResponse, TError>\n  send, // () => Promise<TResponse>\n  sendTracked, // () => Promise<RequestResponse<TRequest, TResponse, TError>>\n  cancel, // () => void\n} = bridge.createQuery({\n  name: \"GetTotoItem\",\n  payload: { id: 25 },\n})\n```\n\nMultiple parallel requests:\n\n```ts\nlet promise1 = bridge.sendCommand({\n  name: \"CreateTodo\",\n  payload: command,\n})\nlet promise2 = bridge.sendCommand({\n  name: \"CreateTodoNode\",\n  payload: commandNote,\n})\nconst [todo, note] = await Promise.all([promise1, promise2])\n```\n\nMultiple parallel tracked requests:\n\n```ts\nlet requestList = [\n  { name: \"GetTotoItem\", payload: { id: 25 } },\n  { name: \"GetNote\", payload: { search: \"remember\" } },\n  {...}\n]\n// convert to tracked requests\nlet promiseList = requestList.map(({name, payload}) =>\n  bridge.sendQueryTracked({ name, payload })\n)\nconst responses = await Promise.all(promiseList)\nresponses.forEach(({ response, request, requestMessage }) => {\n  if(requestMessage.name === \"GetTotoItem\"){\n    console.log(`Todo: ${response.title}`),\n  }\n  if(requestMessage.name === \"GetNote\"){\n    console.log(`Note: ${response.title}`)\n  }\n})\n```\n\nSee the tests in \"/tests\" (github) for examples of all features.\n\n## Install\n\n```\n> npm i message-bridge-js\n```\n\n```\n> yarn add message-bridge-js\n```\n\n## Backend\n\nThe backend must handle bridge messages and respond a message with the correct **tractId** and **type**.\n\nType map:\n\n- Command => CommandResponse\n- Query => QueryResponse\n- Event => No response\n- <= Server Event can also be send from the backend to the frontend (use type Event)\n\nAn example of a backend implementation, can be found in the **InMemoryClientSideServer** _(in \"/services\" folder)_\n\nNote it uses the helper methods in _MessageBridgeHelper.ts_ to create the messages. _(Primary **createMessage**)_\n\nAt some point in the future there will most likely be create official backend implementations for NodeJs and .NET Core.\n\n> It's suggested to use some kind of CQRS pattern in the backend as well (Fx MediatR for asp.net core)\n\n## Events (Responsive behavior)\n\nThe Bridge enabled the frontend to listen to events send from processes in the backend.\n\nThis enables the frontend to be responsive to changes in the backend, instead of polling.\n\n## Technologies (dependencies)\n\nThe primary implementation uses [@microsoft/signalr](https://www.npmjs.com/package/@microsoft/signalr)\n\nThe base bridge class uses [uuid](https://www.npmjs.com/package/uuid)\n\n## Bridge versions\n\nThe primary and most tested version is the SignalR version: **SignalRMessageBridgeService**\n\nBut there is also a websocket version: **WebSocketMessageBridgeService**\n\nAnd an **ClientSideMessageBridgeService** that uses the **InMemoryClientSideServer** to get started fast without a backend.\n\n## Internal - how it does it\n\nThe bridge sends BridgeMessage that contains a:\n\n**Name** of the command, query or event\n\n**Payload** that contains the actual Command/Query or payload for en Event for Error\n\n**TrackId** that is used to catch responses\n\n**Type** that are one of\n\n- Command\n- Query\n- CommandResponse\n- QueryResponse\n- Event\n- Error\n\nThe frontend will add a **trackId** which in the backend will be added in the responses.\n\nThe message is sent through a websocket and deserialize its payload in the backend.\n\nThe backend handles the Command/Query/Event and create a response message.  \nThen sent the response message back to the frontend including correct **type** and the **trackId**\n\nThe server can also send events to the frontend. _(without any prior request)_\n\n![Overview-diagram](docs/Command-flow.jpg)\n\n### Flow diagram\n\n![Flow-diagram](docs/CommandServiceDiagram.jpg)\n\n# Bridge commands:\n\nMost used commands:\n\n- sendCommand\n- sendQuery\n- sendEvent _(It's called send because it will send it to the backend - not fire it! )_\n- subscribeEvent\n- connect\n\nFor tracking (error handling and cancellation) use 'create' and then 'send' or 'sendTracked' later.\n\n- createCommand\n- createQuery\n- createEvent\n\nTracked versions of requests (They resolve the promise with a full RequestResponse<TRequest,TResponse>)  \nIt includes the request and response messages (So you can track which request data what used to get the response)\n\n- sendCommandTracked\n- sendQueryTracked\n\nHelper commands _(advanced use)_\n\n- createCommandMessage\n- createQueryMessage\n- createEventMessage\n- createMessage\n- createMessageFromDto\n\nProtected commands _(advanced use)_\n\n- onMessage\n- handleIncomingMessage\n- receiveEventMessage\n- internalSendMessage\n\n## All features are fully tested\n\n**jest** tests:  \n<span style=\"background: green; color: #333; font-weight:bold; padding: 3px\">PASS</span> <span style=\"color: #666;\">tests/</span>bridgeOptions.test.ts  \n<span style=\"background: green; color: #333; font-weight:bold; padding: 3px\">PASS</span> <span style=\"color: #666;\">tests/</span>fullFlow.test.ts  \n<span style=\"background: green; color: #333; font-weight:bold; padding: 3px\">PASS</span> <span style=\"color: #666;\">tests/</span>logger.test.ts  \n<span style=\"background: green; color: #333; font-weight:bold; padding: 3px\">PASS</span> <span style=\"color: #666;\">tests/</span>sendEvent.test.ts  \n<span style=\"background: green; color: #333; font-weight:bold; padding: 3px\">PASS</span> <span style=\"color: #666;\">tests/</span>intercept.test.ts  \n<span style=\"background: green; color: #333; font-weight:bold; padding: 3px\">PASS</span> <span style=\"color: #666;\">tests/</span>requestOptions.test.ts  \n<span style=\"background: green; color: #333; font-weight:bold; padding: 3px\">PASS</span> <span style=\"color: #666;\">tests/</span>sendQuery.test.ts  \n<span style=\"background: green; color: #333; font-weight:bold; padding: 3px\">PASS</span> <span style=\"color: #666;\">tests/</span>sendCommand.test.ts  \n<span style=\"background: green; color: #333; font-weight:bold; padding: 3px\">PASS</span> <span style=\"color: #666;\">tests/</span>handleErrors.test.ts  \n<span style=\"background: green; color: #333; font-weight:bold; padding: 3px\">PASS</span> <span style=\"color: #666;\">tests/</span>parallel.test.ts\n\nTest Suites: <span style=\"color: green; \">10 passed</span>, 10 total  \nTests: <span style=\"color: green; \">53 passed</span>, 53 total\n\n## Async vs Callback\n\nYou can use the bridge in two ways:\n\n- with async/await (default and recommended)\n- with callbacks.\n\n```ts\n// sendCommand and sendQuery can take a callback instead of awaiting the response\nbridge.sendCommand({\n  name: \"CreateTodo\",\n  payload: command,\n  onSuccess(id) {\n    console.log(`Todo created with id: ${id}`)\n  },\n  onError(error) {\n    // if the server send an bridge error message\n    console.log(`Error: ${error}`)\n  },\n})\n// or a combination to handle errors without try/catch\nconst id = await bridge.sendCommand({\n  name: \"CreateTodo\",\n  payload: command,\n  onError(error) {\n    // handle error\n  },\n})\n```\n\n## Handle errors\n\nThere are a couple of ways to handle errors.\n\nBy default the bridge will follow normal promise flow for _non-tracked_ requests (using try/catch)\n\n```ts\ntry {\n  const response = await bridge.sendCommand({\n    name: \"CreateTodo\",\n    payload: command,\n  })\n} catch (error) {\n  // handle error\n}\n```\n\nBut this can be changed with the option: **avoidThrowOnNonTrackedError**\n\nTracked requests will **NOT** by default to throw errors, but instead include error in the _RequestResponse_  \nIf an error is thrown or send from the backend (using the Error type with trackId),  \nthe response will be _undefined_ and the error will be set.\n\nThis behavior can be changed with the option: **throwOnTrackedError**\n\n```ts\nconst { response, error, isError, errorMessage } = await bridge.sendCommandTracked({\n  name: \"CreateTodo\",\n  payload: command,\n})\n```\n\n## Cancellation\n\nYou can cancel a tracked request by using the cancel method. (The server can also send _cancelled: true_ in teh response messsage)\n\n```ts\nconst cmd = await bridge.createCommand({\n  name: \"CreateTodo\",\n  payload: command,\n})\n\ncmd.send().then((response) => {\n  // handle response\n})\n\n// or\nconst { cancelled } = await cmd.sendTracked()\n```\n\n## Bridge options\n\n```ts\n// Ex:\nbridge.setOptions({\n  timeout: 10_000, // set timeout for all requests to 10 seconds\n  avoidThrowOnNonTrackedError: true, // avoid throwing errors on non tracked requests\n  onError: (err, eventOrData) => {\n    // listen to all errors (manual handling of errors)\n  },\n  logMessageReceived: true // log all incoming messages (For debugging)\n  logSendingMessage: true // log all outgoing messages (For debugging)\n})\nexport type BridgeOptions = {\n  // Add listeners:\n  onMessage?: (msg: Message) => void\n  onSend?: (msg: Message) => void\n  onError?: (err?: unknown /*Error*/, eventOrData?: unknown) => void\n  onSuccess?: (msg: RequestResponse) => void\n  onClose?: (err?: unknown /*Error*/, eventOrData?: unknown) => void\n  onConnect?: () => void\n  // Can be used to send a cancel request to the server\n  onCancel?: (msg: Message) => void\n  // Interception:\n  // - can be used to generalize behavior (Happens as early as possible in the process)\n  // Happens just after user options is applied. Before stored in track map and before any other actions.\n  interceptSendMessage?: (msg: Message) => Message // (default: undefined)\n  // Happens after message-string parsing, but before stored in history, onMessage and all other actions\n  // To get request for the message use: getTrackedRequestMessage(trackId: string): Message | undefined\n  interceptReceivedMessage?: (msg: Message) => Message // (default: undefined)\n  // Happens after the options for createMessage is applied)\n  interceptCreatedMessageOptions?: (msg: CreatedMessage) => CreatedMessage // (default: undefined)\n  interceptCreatedEventMessageOptions?: (msg: CreatedEvent) => CreatedEvent // (default: undefined)\n  // Handle errors and timeouts:\n  avoidThrowOnNonTrackedError?: boolean // (default: undefined)\n  throwOnTrackedError?: boolean // (default: undefined)\n  timeout?: number // (default: undefined)\n  // Cancel\n  // resolve on cancel (Let the process that did the request handle the cancel)\n  resolveCancelledNonTrackedRequest?: boolean // (default: undefined)\n  sendCancelledRequest?: boolean // (default: undefined)\n  callOnErrorOnCancelledRequest?: boolean // (default: undefined)\n  callOnSuccessOnCancelledRequest?: boolean // (default: undefined)\n  // if true, the response can still have a value, else it will be undefined\n  allowResponseOnCancelledTrackedRequest?: boolean // (default: undefined)\n  // Debugging options:\n  timeoutFromBridgeOptionsMessage?: (ms: number) => string // (has default implementation)\n  timeoutFromRequestOptionsMessage?: (ms: number) => string // (has default implementation)\n  keepHistoryForReceivedMessages?: boolean // (default: false)\n  keepHistoryForSendingMessages?: boolean // (default: false)\n  logger?: (...data: any[]) => void // set custom logger (default: console?.log)\n  logParseIncomingMessageError?: boolean // (default: true)\n  logParseIncomingMessageErrorFormat?: (err: unknown) => any[] // (has default implementation)\n  logMessageReceived?: boolean // log all messages received\n  logMessageReceivedFormat?: (msg: Message) => any[] // (has default implementation)\n  logSendingMessage?: boolean // log all messages sent\n  logSendingMessageFormat?: (msg: Message) => any[] // (has default implementation)\n  logMessageReceivedFilter?: undefined | string | RegExp // restrict logging to messages matching this filter\n  logSendingMessageFilter?: undefined | string | RegExp // restrict logging to messages matching this filter\n}\n```\n\n## Request options\n\nYou can set options for each request.\n\n- onSuccess // not recommended for most use cases\n- onError // not recommended for most use cases\n- timeout // set timeout for this request (overrides bridge timeout\\*)\n- module // info that the server can use\n\n// advanced options:\n\n- resolveCancelledForNonTracked?: boolean\n- sendCancelled?: boolean\n- callOnErrorOnCancelledRequest?: boolean\n- callOnSuccessOnCancelledRequest?: boolean\n- allowResponseOnCancelled?: boolean\n\n\\*_The bridge options has NO timeout as default_\n\n```ts\n// Ex:\nbridge.sendCommand({\n  name: \"CreateTodo\",\n  payload: command,\n  timeout: 10_000,\n})\n```\n\n# Getting started\n\nYou can use the included **ClientSideMessageBridgeService** and **InMemoryClientSideServer**\nto get started quickly (and later change the bridge to the **SignalR** or **Websocket** version).\n\nSee the tests for full examples in the \"/tests\" folder (Github).\n\n```ts\n// TestInterfaces.ts\nexport enum RequestType {\n  GetTodoItemQuery = \"GetTodoItemQuery\",\n  UpdateTodoItemCommand = \"UpdateTodoItemCommand\",\n  TodoItemUpdated = \"TodoItemUpdated\",\n}\n\nexport type Store = {\n  todos: TodoItem[]\n}\n\nexport type TodoItem = {\n  id: number\n  title: string\n}\nexport type UpdateTodoItemCommandResponse = {\n  done: boolean\n}\nexport type UpdateTodoItemCommand = {\n  id: number\n  title: string\n  throwError?: boolean\n  sleep?: number\n}\nexport type GetTodoItemQueryResponse = {\n  items: TodoItem[]\n}\n\nexport type GetTodoItemQuery = {\n  search: string\n  throwError?: boolean\n  sleep?: number\n}\n```\n\n```ts\n// TestServer.ts\nimport { InMemoryClientSideServer } from \"message-bridge-js\"\nimport { RequestType, Store } from \"./TestInterfaces\"\n\nlet server = new InMemoryClientSideServer<Store>()\nserver.store.todos = [\n  { id: 1, title: \"todo1\" },\n  { id: 2, title: \"todo2\" },\n  { id: 3, title: \"todo3\" },\n]\nserver.addCommand(RequestType.UpdateTodoItemCommand, ({ event, response }) => {\n  const todo = server.store.todos.find((t) => t.id === opt.requestMessage.payload.id)\n  if (todo) {\n    todo.title = opt.requestMessage.payload.title\n  }\n  setTimeout(() => {\n    event(RequestType.TodoItemUpdated, {\n      id: opt.requestMessage.payload.id,\n      title: opt.requestMessage.payload.title,\n    })\n  }, 10)\n  response({ done: true })\n})\nserver.addQuery(RequestType.GetTodoItemQuery, ({ response }) => {\n  const items = server.store.todos.filter((t) =>\n    t.title.toLowerCase().includes(opt.requestMessage.payload.search.toLowerCase()),\n  )\n  response({ items })\n})\n\nexport { server as testServer }\n```\n\n```ts\n// TestClient.ts\nimport { ClientSideMessageBridgeService } from \"message-bridge-js\"\nimport { RequestType } from \"./TestInterfaces\"\nimport { server } from \"./TestServer\"\n\nconst bridge = new ClientSideMessageBridgeService(\"ws://localhost:1234\") // dummy url\nbridge.server = server\n\n// interact with the (fake inMemory) server\nconst response = await bridge.sendQuery<GetTodoItemQuery, GetTodoItemQueryResponse>({\n  name: RequestType.GetTodoItemQuery,\n  payload: {\n    search: \"todo\",\n  },\n})\n\nawait bridge.sendCommand<UpdateTodoItemCommand, UpdateTodoItemCommandResponse>({\n  name: RequestType.UpdateTodoItemCommand,\n  payload: {\n    id: 1,\n    title: \"todo1 changed\",\n  },\n})\n```\n\n## React hook example\n\nThe bridge can be used with any frontend framework, but here is an example of how to use it with React hooks.\n\n```ts\nfunction useGetTodo(id: number): Promise<TodoItem | undefined> {\n  const [todo, setTodo] = useState<TodoItem | undefined>()\n  useEffect(() => {\n    const fetchTodoes = async () => {\n      const todos = await bridge.sendQuery<GetTodoItemQuery, GetTodoItemQueryResponse>({\n        name: RequestType.GetTodoItemQuery,\n        payload: { id },\n      })\n      setTodo(todos?.[0])\n    }\n    const unsub = bridge.subscribeEvent<TodoItemUpdatedEvent>({\n      name: RequestType.TodoItemUpdated,\n      onEvent: (todoEvent) => {\n        if (event.id === id) {\n          setTodo((todo) => ({\n            ...todo,\n            title: todoEvent.title,\n          }))\n        }\n      },\n    })\n    return () => unsub()\n  }, [id])\n  return todo\n}\n\nfunction useUpdateTodo() {\n  const updateTodo = useCallback(async (id: number, title: string) => {\n    await bridge.sendCommand<UpdateTodoItemCommand, UpdateTodoItemCommandResponse>({\n      name: RequestType.UpdateTodoItemCommand,\n      payload: { id, title },\n    })\n  }, [])\n  return updateTodo\n}\n```\n","readmeFilename":"README.md","author":{"name":"Alf Nielsen","email":"alfnielsen@gmail.com"},"license":"MIT"}