@klodianimeri/channeljs
Version:
Javascript channel like communication.
3 lines (2 loc) • 2.13 kB
JavaScript
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((e||self).channeljs={})}(this,function(e){function r(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}function t(e,r){if(!{}.hasOwnProperty.call(e,r))throw new TypeError("attempted to use private field on non-instance");return e}var n=0;function o(e){return"__private_"+n+++"_"+e}function i(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}void 0===Promise.withResolvers&&(Promise.withResolvers=function(){var e,r;return{promise:new Promise(function(t,n){e=t,r=n}),resolve:e,reject:r}});var a=/*#__PURE__*/o("items");e.Channel=/*#__PURE__*/function(){function e(){Object.defineProperty(this,a,{writable:!0,value:new Set})}var r=e.prototype;return r.send=function(e){for(var r,n=i(t(this,a)[a]);!(r=n()).done;){var o=r.value;o.push(Promise.withResolvers()),o[o.length-2].resolve({done:!1,value:e})}},r.close=function(){for(var e,r=i(t(this,a)[a]);!(e=r()).done;){var n=e.value;n[n.length-1].resolve({done:!0,value:void 0}),t(this,a)[a].delete(n)}},r[Symbol.asyncIterator]=function(){var e=new Array(Promise.withResolvers()),r=this;return t(r,a)[a].add(e),{next:function(){try{return e.length>1&&e.shift(),Promise.resolve(e[0].promise)}catch(e){return Promise.reject(e)}},return:function(n){return t(r,a)[a].delete(e),Promise.resolve({done:!0,value:n})}}},e}()});
//# sourceMappingURL=index.umd.js.map