UNPKG

refraction

Version:

A guard that represent central point of control in your application.

1 lines 3.89 kB
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Refraction=e():t.Refraction=e()}(this,function(){return function(t){function e(n){if(i[n])return i[n].exports;var r=i[n]={exports:{},id:n,loaded:!1};return t[n].call(r.exports,r,r.exports,e),r.loaded=!0,r.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}function r(t){if(Array.isArray(t)){for(var e=0,i=Array(t.length);t.length>e;e++)i[e]=t[e];return i}return Array.from(t)}function s(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}e.__esModule=!0;var u=function(){function t(t,e){for(var i=0;e.length>i;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),o=i(2),a=n(o),c=i(1),f=n(c),l=function(t){return t.refractionLevel||100},h=function(t,e){var i=0,n=l(t),r=l(e);return r>n?i=-1:n>r&&(i=1),i},b=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];s(this,t),d.call(this),this.applyMiddleware.apply(this,r(e).concat([this.addToHistory]))}return u(t,[{key:"subscribe",value:function(t){return this.mediator.subscribe(t,h),this.unsubscribe.bind(this,t)}},{key:"unsubscribe",value:function(t){this.mediator.unsubscribe(t)}},{key:"publish",value:function(t,e){var i=e;this.middlewares.forEach(function(e){i=e(t,i)}),this.mediator.publish(t,i)}},{key:"setHistoryLimit",value:function(t){this.history.setLimit(t)}},{key:"clearHistory",value:function(){this.history.clear()}},{key:"getHistory",value:function(){return this.history.get()}}]),t}(),d=function(){var t=this;this.middlewares=[],this.mediator=new a["default"],this.history=new f["default"],this.applyMiddleware=function(){for(var e=arguments.length,i=Array(e),n=0;e>n;n++)i[n]=arguments[n];1===i.length?t.middlewares.push(i[0]):i.length>0&&i.forEach(function(e){return t.applyMiddleware(e)})},this.addToHistory=function(e,i){return t.history.add({channel:e,time:performance&&performance.now?performance.now():null,param:i}),i}};e["default"]=b},function(t,e){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}e.__esModule=!0;var n=function(){function t(t,e){for(var i=0;e.length>i;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),r=function(){function t(e){i(this,t),this.items=[],this.limit=200,this.setLimit(e)}return n(t,[{key:"setLimit",value:function(t){this.limit=+t>0?+t:this.limit}},{key:"add",value:function(t){this.items.push(t),this.items.length>this.limit&&(this.items=this.items.slice(this.items.length-this.limit))}},{key:"get",value:function(){return this.items}},{key:"clear",value:function(){this.items=[]}}]),t}();e["default"]=r},function(t,e){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}e.__esModule=!0;var n=function(){function t(t,e){for(var i=0;e.length>i;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),r=function(){function t(){var e=this;i(this,t),this.subscribers=[],this.publish=function(t,i){e.subscribers.forEach(function(n){n?n[t]&&n[t](i):e.unsubscribe(n)})}}return n(t,[{key:"subscribe",value:function(t,e){this.subscribers.indexOf(t)===-1&&(this.subscribers.push(t),this.subscribers.sort(e))}},{key:"unsubscribe",value:function(t){var e=this.subscribers.indexOf(t);e!==-1&&this.subscribers.splice(e,1)}}]),t}();e["default"]=r}])});