send-channel-message
Version:
Simple function that allow to pass messages to separate script in different browsing context and get back result data as a Promise.
1 lines • 1.66 kB
JavaScript
!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.sendChannelMessage=n():e.sendChannelMessage=n()}(window,function(){return function(e){var n={};function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var o in e)t.d(r,o,function(n){return e[n]}.bind(null,o));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=0)}([function(e,n,t){e.exports=t(1)},function(e,n,t){"use strict";n.__esModule=!0,n.default=void 0;var r=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"*";return new Promise(function(r,o){var u=function(e,n){return n&&"function"==typeof n.postMessage?e?null:new Error("Error! Invalid message."):new Error("Error! Invalid target.")}(e,n);u&&o(u);var f=new MessageChannel,i=f.port1,a=f.port2;i.onmessage=function(e){i.close(),r(e.data)},n.postMessage(e,t,[a])})};n.default=r}])});