{"_id":"@randlabs/communication-bridge","_rev":"3-29cffb3be60ff3d694b7558abafc8b1e","name":"@randlabs/communication-bridge","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@randlabs/communication-bridge","version":"1.0.0","description":"","main":"index.js","types":"index.d.ts","scripts":{"webpack":"webpack","webpack-dev-server":"webpack-dev-server --env.mode development --open","dev":"npm run build:dev && npm run webpack-dev-server","start":"npm run dev","build:dev":"npm run webpack -- --env.mode development","build":"npm run webpack -- --env.mode production"},"keywords":[],"author":{"name":"RandLabs.IO"},"license":"Apache-2.0","devDependencies":{"babel-core":"^6.26.3","babel-loader":"^7.1.5","babel-preset-es2015":"^6.24.1","eslint":"^7.7.0","inline-source-map":"^0.6.2","source-map-loader":"^1.0.1","uglifyjs-webpack-plugin":"^2.2.0","webpack":"^4.29.0","webpack-cli":"^3.2.1","webpack-dev-server":"^3.1.14","clean-webpack-plugin":"^3.0.0","html-webpack-plugin":"^4.3.0","webpack-merge":"^5.0.9"},"gitHead":"4d1c48436139279f2401d9d78d73fb4f0915e386","_id":"@randlabs/communication-bridge@1.0.0","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-CuJNwtMTG1LHR1LQNWUPv+8xPUdkRY9p61wGJEp8J/N3q8djmnMySvSQlyVqLBvXsTPKmYc0ZmfXEXCpb5P5Cw==","shasum":"9b1c0f440cf88ede8d58eb2ce641982ecb32bea9","tarball":"https://registry.npmjs.org/@randlabs/communication-bridge/-/communication-bridge-1.0.0.tgz","fileCount":6,"unpackedSize":17703,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzm+WCRA9TVsSAnZWagAAv7IQAJtQT8k2P1KHZztIC4ZF\nP+dmAG3BGgvoEBSREbCnZOVptPT/+Zhk9IcW4CcpkYLS/ZEguu1yhMcormlw\npiwbiAvkwPeNlTJ9Py3WPj9zAjsmM/GPiR8MC5Mm6deFtju5dUDlvc0DRjPW\nnXDFhAGG7jRUVYuxXiAp0r+bjw/yA7z8RyxNNoaqDtOdXFtWeHdP7vhUxPYq\nCozoO0xGGhEaXiRmaMDkZGxeFQUNsYY41SN+Pv4XQflNmBOCTqHjT+7tfKWy\nZ/Dy2wKVjVNsTQ9hyjjrOuufIjDnnPwuPlCRxGg0GDQAOM6ZVvyrJFJ5cooD\nrnKu30MhGuIlwyJ9aRM+wzAyaXhTTqBmWX7dkUij9SigQU7ZHKaS+RJk4Bv1\nBNnDoKXhdyMvXUCZmsW6MZWwTmkfZZABYs8TTIjJhkIesYCQX9EelcdGehCp\niQhE09kPPKuh20B05JBjf+Jive+G+ePDthVNujpxAsWcNu1AurSZZwlNu8g7\nywHVKsrIgz40+xcMISkjfVgr/TiMerzVIXPlnZ0ZD/32/c3LeNtRquRKeNtt\nluOWbf5OMs++1BCe6zaA1WL8MqB8VcREoYbeUHsyMHlyjL1MzzIkdGd6QMAD\nhXbWkBV0xHTpJ2MxfpOsE6bOZTxPN6Iw0UPT5e5TwoIK9/dFzp+4i3SUrHLG\nuuGK\r\n=S3TH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA00qJxKDDw7Dr4KkZYXfICS3TDynwVz/J0khj4bOzQpAiEAzpbY4j6GJP11/CVQZ7ZvwgNnwT2reCBMwE8M8ZfH294="}]},"_npmUser":{"name":"alex99y","email":"alexyammine94@gmail.com"},"directories":{},"maintainers":[{"name":"alex99y","email":"alexyammine94@gmail.com"},{"name":"mxmauro","email":"mxmauro@mauroleggieri.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/communication-bridge_1.0.0_1607364502103_0.6084994220969819"},"_hasShrinkwrap":false},"1.0.1":{"name":"@randlabs/communication-bridge","version":"1.0.1","description":"* [Overview](#Overview) * [Installation](#Installation) * [API Usage](#API-Usage) * [Copyright and License](#Copyright-and-License)","main":"index.js","types":"index.d.ts","scripts":{"webpack":"webpack","webpack-dev-server":"webpack-dev-server --env.mode development --open","dev":"npm run build:dev && npm run webpack-dev-server","start":"npm run dev","build:dev":"npm run webpack -- --env.mode development","build":"npm run webpack -- --env.mode production"},"keywords":[],"author":{"name":"RandLabs.IO"},"license":"Apache-2.0","devDependencies":{"babel-core":"^6.26.3","babel-loader":"^7.1.5","babel-preset-es2015":"^6.24.1","eslint":"^7.7.0","inline-source-map":"^0.6.2","source-map-loader":"^1.0.1","uglifyjs-webpack-plugin":"^2.2.0","webpack":"^4.29.0","webpack-cli":"^3.2.1","webpack-dev-server":"^3.1.14","clean-webpack-plugin":"^3.0.0","html-webpack-plugin":"^4.3.0","webpack-merge":"^5.0.9"},"gitHead":"cd6b98464622fdd47cafb3c79a6aa54bc0c63941","_id":"@randlabs/communication-bridge@1.0.1","_nodeVersion":"16.15.1","_npmVersion":"8.18.0","dist":{"integrity":"sha512-CzS0U8IFfXNK7QaJFE4pjbxDGfPjbXBEsEaCn9FN15F+ouSAEUQkva3Gl66hrkBZOGexKFEWMwUHIDKpZ2hfVg==","shasum":"d1ecfc29157afcbb0ca2d73122d67905eecb5bf3","tarball":"https://registry.npmjs.org/@randlabs/communication-bridge/-/communication-bridge-1.0.1.tgz","fileCount":8,"unpackedSize":20199,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAfJictgJj6lN0DUAa8dXM8cNb95m3YnCt8zar6SMR2YAiEAqEHTFSU7h9ueOoiog8N4KU8TfJutH6PpCjPBw7edzkY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjFg93ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqhcw//T3ZlLA7bR/Nv+2CZtevdChaIdV+zooZUfRDFsLV/0oljJLlw\r\naTUAoIBt9ylWql8D+ucHRYA8uR2S4WgxuJPzcygvMHMKI0LG4wtI6st5hXLZ\r\naGg7y5ICDIOUd15GbpvI8oyfVO3ZMZBUwldY8pUH9UEMHAjJMAoHUHZ2r3Ff\r\nmqPLK5KWyknxkphv2b8lzGYihbehuMkJ5irqP5qBtoXitmpvdwC2eW79wEj9\r\n4lEF4vNyEnFDgN8UdPc2othkxRMuRQOpjdlvoM9Ar6BQwSOKxfDKA4Fpq4eR\r\nR0cFhPLtGKE/kPIV9UaOzFMubl7f+ayN5anZDpRPA4EinAUyZR5x8x3L0Wrj\r\nImNmXgTofeAHMpFwnBE0koNAAueM/npgJQOWvxsKIOVZd3s3X4J442hQQ6Cv\r\nIM0HE741Mv9TAPMpl1rrVrW+UF8IAROns0O5E+IGwonE+i45P7pLAwxJnGVA\r\nJB1mVnENxkyairR82d2KlLbncijcyx3u9rCg3u9XnYwVVFUCGYvnEq4V9R4Z\r\nX17d5MjQPURsRJBAqf7zwiJqGzNv7/2QZ0+7tAXRKtMSefnKRK/hn/zqvAxJ\r\ngjNA0PuPrvfQmAq3IyK4gePs94TxbC6nOWU7rphF8ohAX493r5lLW485JbKv\r\nMbDIC+PEt8m+78+wwDdlkCZfiFtVh9DmdXk=\r\n=Fo46\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"mpicco-randlabs","email":"martin@randlabs.io"},"directories":{},"maintainers":[{"name":"mpicco-randlabs","email":"martin@randlabs.io"},{"name":"mxmauro","email":"mxmauro@mauroleggieri.com"},{"name":"alex99y","email":"alexyammine94@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/communication-bridge_1.0.1_1662390135134_0.800176914719404"},"_hasShrinkwrap":false}},"time":{"created":"2020-12-07T18:08:21.837Z","1.0.0":"2020-12-07T18:08:22.374Z","modified":"2022-09-05T15:02:15.530Z","1.0.1":"2022-09-05T15:02:15.372Z"},"maintainers":[{"name":"mpicco-randlabs","email":"martin@randlabs.io"},{"name":"mxmauro","email":"mxmauro@mauroleggieri.com"},{"name":"alex99y","email":"alexyammine94@gmail.com"}],"keywords":[],"author":{"name":"RandLabs.IO"},"license":"Apache-2.0","readme":"# Communication-bridge\n\n* [Overview](#Overview)\n* [Installation](#Installation)\n* [API Usage](#API-Usage)\n* [Copyright and License](#Copyright-and-License)\n\n### Overview\n\nA cross-domain communication library develop by Rand Labs that enables send and receive messages between browser windows/tabs.\n\n### Instalation\n\nThe library can be installed via npm:\n\n```sh\nnpm i @randlabs/communication-bridge\n```\n\n### API Usage\n\nImport and define the communication channel\n\n```js\nconst Messenger = require(\"@randlabs/communication-bridge\");\nconst channelName = \"channel name\";\n```\n\n#### Tab #1\n\n```js\nconst client = new Messenger(channelName); // If listener is undefined, it will ignore all incoming request\n\nconst window = window.open(\"https://another.website.com\");\n\nconst response = await client.sendMessage(window, { customMethod: \"doSomething\" }, { waitForReply: true, origin: \"*\" }); // If you are sending sensitive data, put a specific origin, for example: https://another.website.com\n\nconsole.log(response); // { response: \"OK\" }\n\n```\n\n#### Tab #2\n\n```js\nconst hub = new Messenger(channelName, function(data, origin, source, sendResponse) {\n    console.log(data); // { customMethod: \"doSomething\" }\n    sendResponse({ response: \"OK\" });\n});\n\n```\n\n### Copyright and License  \n\nSee [LICENSE](LICENSE.md) file.\n","readmeFilename":"README.md","description":"* [Overview](#Overview) * [Installation](#Installation) * [API Usage](#API-Usage) * [Copyright and License](#Copyright-and-License)"}