fpes
Version:
Functional Programming for EcmaScript(Javascript)
1 lines • 1.29 kB
JavaScript
var publisher;publisher=function(){var e={575:function(e){e.exports=function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}},913:function(e){function r(e,r){for(var n=0;n<r.length;n++){var t=r[n];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}e.exports=function(e,n,t){return n&&r(e.prototype,n),t&&r(e,t),e}},318:function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}}},887:function(e,r,n){"use strict";var t=n(318),u=t(n(575)),s=t(n(913)),i=function(){function e(){(0,u.default)(this,e),this.subscribers=[]}return(0,s.default)(e,[{key:"map",value:function(r){var n=new e;return n.origin=this,this.subscribe((function(e){n.publish(r(e))})),n}},{key:"subscribe",value:function(e){if(!this.subscribers.includes(e))return this.subscribers.push(e),e}},{key:"unsubscribe",value:function(e){this.subscribers=this.subscribers.filter((function(r){return r!==e}))}},{key:"clear",value:function(){this.subscribers=[]}},{key:"publish",value:function(e,r){this.subscribers.forEach((function(n){return r?Promise.resolve(e).then(n):n(e)}))}}]),e}();e.exports=i}},r={};return function n(t){if(r[t])return r[t].exports;var u=r[t]={exports:{}};return e[t](u,u.exports,n),u.exports}(887)}();