Socket
Socket
Sign inDemoInstall

kefir

Package Overview
Dependencies
0
Maintainers
1
Versions
86
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.4.2 to 0.5.0

16

changelog.md

@@ -0,1 +1,17 @@

## next
- Base errors support added (i.e. errors flow through all kind of transformations/combinations)
- Emitter now has `.error` method for emitting errors
- Emitter object also now has `.error` method
- Properties now may have a current error (as well as current value)
- New method `Kefir.constantError`
- New method `.mapErrors`
- New method `.filterErrors`
- New method `.endOnError`
- New method `.errorsToValues`
- New method `.valuesToErrors`
- New method `.skipErrors`
- New method `.skipValues`
## 0.4.2

@@ -2,0 +18,0 @@

2

dist/addons/kefir-jquery.js

@@ -1,2 +0,2 @@

/*! An addon for Kefir.js v0.4.2
/*! An addon for Kefir.js v0.5.0
* https://github.com/pozadi/kefir

@@ -3,0 +3,0 @@ */

@@ -1,2 +0,2 @@

/*! An addon for Kefir.js v0.4.2
/*! An addon for Kefir.js v0.5.0
* https://github.com/pozadi/kefir

@@ -3,0 +3,0 @@ */

@@ -1,2 +0,2 @@

/*! Kefir.js v0.4.2
/*! Kefir.js v0.5.0
* https://github.com/pozadi/kefir

@@ -241,2 +241,3 @@ */

var VALUE = 'value';
var ERROR = 'error';
var ANY = 'any';

@@ -351,2 +352,3 @@

_handleValue: function(x, isCurrent) { this._send(VALUE, x, isCurrent) },
_handleError: function(x, isCurrent) { this._send(ERROR, x, isCurrent) },
_handleEnd: function(__, isCurrent) { this._send(END, null, isCurrent) },

@@ -357,2 +359,3 @@

case VALUE: this._handleValue(event.value, event.current); break;
case ERROR: this._handleError(event.value, event.current); break;
case END: this._handleEnd(event.value, event.current); break;

@@ -415,5 +418,7 @@ }

_handlePrimaryValue: function(x, isCurrent) { this._send(VALUE, x, isCurrent) },
_handlePrimaryError: function(x, isCurrent) { this._send(ERROR, x, isCurrent) },
_handlePrimaryEnd: function(__, isCurrent) { this._send(END, null, isCurrent) },
_handleSecondaryValue: function(x, isCurrent) { this._lastSecondary = x },
_handleSecondaryError: function(x, isCurrent) { this._send(ERROR, x, isCurrent) },
_handleSecondaryEnd: function(__, isCurrent) {},

@@ -423,4 +428,11 @@

switch (event.type) {
case VALUE: this._handlePrimaryValue(event.value, event.current); break;
case END: this._handlePrimaryEnd(event.value, event.current); break;
case VALUE:
this._handlePrimaryValue(event.value, event.current);
break;
case ERROR:
this._handlePrimaryError(event.value, event.current);
break;
case END:
this._handlePrimaryEnd(event.value, event.current);
break;
}

@@ -433,2 +445,5 @@ },

break;
case ERROR:
this._handleSecondaryError(event.value, event.current);
break;
case END:

@@ -520,3 +535,3 @@ this._handleSecondaryEnd(event.value, event.current);

} else if (fnData.type === event.type) {
if (fnData.type === VALUE) {
if (fnData.type === VALUE || fnData.type === ERROR) {
fnData.fn(event.value);

@@ -532,3 +547,3 @@ } else {

} else if (type === event.type) {
if (type === VALUE) {
if (type === VALUE || type === ERROR) {
fn(event.value);

@@ -645,2 +660,3 @@ } else {

onValue: function(fn, _key) { return this.on(VALUE, fn, _key) },
onError: function(fn, _key) { return this.on(ERROR, fn, _key) },
onEnd: function(fn, _key) { return this.on(END, fn, _key) },

@@ -650,2 +666,3 @@ onAny: function(fn, _key) { return this.on(ANY, fn, _key) },

offValue: function(fn, _key) { return this.off(VALUE, fn, _key) },
offError: function(fn, _key) { return this.off(ERROR, fn, _key) },
offEnd: function(fn, _key) { return this.off(END, fn, _key) },

@@ -692,2 +709,3 @@ offAny: function(fn, _key) { return this.off(ANY, fn, _key) }

this._current = NOTHING;
this._currentError = NOTHING;
}

@@ -706,2 +724,3 @@ Kefir.Property = Property;

if (type === VALUE) { this._current = x }
if (type === ERROR) { this._currentError = x }
if (type === END) { this._clear() }

@@ -719,2 +738,5 @@ }

}
if (this._currentError !== NOTHING) {
Subscribers.callOnce(type, fn, Event(ERROR, this._currentError, true));
}
if (!this._alive) {

@@ -739,3 +761,3 @@ Subscribers.callOnce(type, fn, CURRENT_END);

var typeStr = '<' + event.type + (event.current ? ':current' : '') + '>';
if (event.type === VALUE) {
if (event.type === VALUE || event.type === ERROR) {
console.log(name, typeStr, event.value);

@@ -765,2 +787,3 @@ } else {

emit: function(x) { $._send(VALUE, x) },
error: function(x) { $._send(ERROR, x) },
end: function() { $._send(END) }

@@ -928,5 +951,5 @@ }

this._curSources = concat(this._curSources, [obs]);
if (this._active) { this._sub(obs) }
if (this._active) { this._subscribe(obs) }
},
_sub: function(obs) {
_subscribe: function(obs) {
var $ = this;

@@ -936,3 +959,3 @@ obs.onAny(this._$handleSubAny);

},
_unsub: function(obs) {
_unsubscribe: function(obs) {
obs.offAny(this._$handleSubAny);

@@ -942,4 +965,4 @@ obs.offEnd(null, [this, obs]);

_handleSubAny: function(event) {
if (event.type === VALUE) {
this._send(VALUE, event.value, event.current && this._activating);
if (event.type === VALUE || event.type === ERROR) {
this._send(event.type, event.value, event.current && this._activating);
}

@@ -954,3 +977,3 @@ },

_removeCur: function(obs) {
if (this._active) { this._unsub(obs) }
if (this._active) { this._unsubscribe(obs) }
var index = find(this._curSources, obs);

@@ -982,3 +1005,3 @@ this._curSources = remove(this._curSources, index);

this._activating = true;
for (i = 0; i < sources.length; i++) { this._sub(sources[i]) }
for (i = 0; i < sources.length; i++) { this._subscribe(sources[i]) }
this._activating = false;

@@ -989,3 +1012,3 @@ },

, i;
for (i = 0; i < sources.length; i++) { this._unsub(sources[i]) }
for (i = 0; i < sources.length; i++) { this._unsubscribe(sources[i]) }
},

@@ -1111,2 +1134,6 @@

},
error: function(x) {
this._send(ERROR, x);
return this;
},
end: function() {

@@ -1161,3 +1188,7 @@ this._send(END);

this._lastCurrent = event.value;
} else {
}
if (event.type === ERROR) {
this._send(ERROR, event.value, event.current);
}
if (event.type === END) {
if (this._isEmpty()) {

@@ -1238,5 +1269,2 @@ this._send(END, null, event.current);

function bind_Zip_handleAny($, i) {
return function(event) { $._handleAny(i, event) };
}

@@ -1252,3 +1280,3 @@ inherit(Zip, Stream, {

for (i = 0; i < length; i++) {
this._sources[i].onAny(bind_Zip_handleAny(this, i), [this, i]);
this._sources[i].onAny(this._bindHandleAny(i), [this, i]);
}

@@ -1292,2 +1320,7 @@ },

_bindHandleAny: function(i) {
var $ = this;
return function(event) { $._handleAny(i, event) };
},
_handleAny: function(i, event) {

@@ -1297,3 +1330,7 @@ if (event.type === VALUE) {

this._emitIfFull(event.current);
} else {
}
if (event.type === ERROR) {
this._send(ERROR, event.value, event.current);
}
if (event.type === END) {
this._aliveCount--;

@@ -1348,6 +1385,2 @@ if (this._aliveCount === 0) {

function bind_SampledBy_handleAny($, i) {
return function(event) { $._handleAny(i, event) };
}
inherit(SampledBy, Stream, {

@@ -1363,3 +1396,3 @@

for (i = 0; i < length; i++) {
this._sources[i].onAny(bind_SampledBy_handleAny(this, i), [this, i]);
this._sources[i].onAny(this._bindHandleAny(i), [this, i]);
}

@@ -1392,2 +1425,7 @@ this._activating = false;

_bindHandleAny: function(i) {
var $ = this;
return function(event) { $._handleAny(i, event) };
},
_handleAny: function(i, event) {

@@ -1403,3 +1441,7 @@ if (event.type === VALUE) {

}
} else {
}
if (event.type === ERROR) {
this._send(ERROR, event.value, event.current);
}
if (event.type === END) {
if (i >= this._passiveCount) {

@@ -1488,2 +1530,7 @@ this._aliveCount--;

}
},
_handleError: function(x, isCurrent) {
if (!isCurrent) {
this._send(ERROR, x);
}
}

@@ -1504,2 +1551,3 @@ }, {streamMethod: null, propertyMethod: produceStream});

emit: function(x) { $._send(VALUE, x, $._forcedCurrent) },
error: function(x) { $._send(ERROR, x, $._forcedCurrent) },
end: function() { $._send(END, null, $._forcedCurrent) }

@@ -1603,3 +1651,65 @@ }

// .mapErrors(fn)
withOneSource('mapErrors', extend({
_handleError: function(x, isCurrent) {
this._send(ERROR, this._fn(x), isCurrent);
}
}, withFnArgMixin));
// .errorsToValues(fn)
function defaultErrorsToValuesHandler(x) {
return {
convert: true,
value: x
};
}
withOneSource('errorsToValues', extend({
_init: function(args) {
this._fn = args[0] || defaultErrorsToValuesHandler;
},
_free: function() {
this._fn = null;
},
_handleError: function(x, isCurrent) {
var result = this._fn(x);
var type = result.convert ? VALUE : ERROR;
var newX = result.convert ? result.value : x;
this._send(type, newX, isCurrent);
}
}));
// .valuesToErrors(fn)
function defaultValuesToErrorsHandler(x) {
return {
convert: true,
error: x
};
}
withOneSource('valuesToErrors', extend({
_init: function(args) {
this._fn = args[0] || defaultValuesToErrorsHandler;
},
_free: function() {
this._fn = null;
},
_handleValue: function(x, isCurrent) {
var result = this._fn(x);
var type = result.convert ? ERROR : VALUE;
var newX = result.convert ? result.error : x;
this._send(type, newX, isCurrent);
}
}));
// .filter(fn)

@@ -1618,3 +1728,15 @@

// .filterErrors(fn)
withOneSource('filterErrors', extend({
_handleError: function(x, isCurrent) {
if (this._fn(x)) {
this._send(ERROR, x, isCurrent);
}
}
}, withFnArgMixin));
// .takeWhile(fn)

@@ -1816,6 +1938,22 @@

// .skipValue()
withOneSource('skipValues', {
_handleValue: function() {}
});
// .skipError()
withOneSource('skipErrors', {
_handleError: function() {}
});
// .skipEnd()
withOneSource('skipEnd', {
_handleEnd: function(__, isCurrent) {}
_handleEnd: function() {}
});

@@ -1825,3 +1963,13 @@

// .endOnError(fn)
withOneSource('endOnError', extend({
_handleError: function(x, isCurrent) {
this._send(ERROR, x, isCurrent);
this._send(END, null, isCurrent);
}
}));
// .slidingWindow(max[, min])

@@ -2067,2 +2215,3 @@

emit: function(x) { $._send(VALUE, x, isCurrent) },
error: function(x) { $._send(ERROR, x, isCurrent) },
end: function() { $._send(END, null, isCurrent) }

@@ -2108,2 +2257,6 @@ };

},
error: function(x) {
this._send(ERROR, x);
return this;
},
end: function() {

@@ -2155,2 +2308,21 @@ this._send(END);

// Kefir.constantError(x)
function ConstantError(x) {
Property.call(this);
this._send(ERROR, x);
this._send(END);
}
inherit(ConstantError, Property, {
_name: 'constantError'
})
Kefir.constantError = function(x) {
return new ConstantError(x);
}
// .setName

@@ -2315,3 +2487,4 @@

if (sub === undefined) {
throw new Error('target don\'t support any of addEventListener/removeEventListener, addListener/removeListener, on/off method pair');
throw new Error('target don\'t support any of ' +
'addEventListener/removeEventListener, addListener/removeListener, on/off method pair');
}

@@ -2426,7 +2599,2 @@

_handleSecondaryValue: function(x) {
this._lastSecondary = x;
this._removeSecondary();
},
_handleSecondaryEnd: function(__, isCurrent) {

@@ -2480,4 +2648,8 @@ if (this._lastSecondary === NOTHING) {

_init: function() {
this._hasFalseyFromSecondary = false;
},
_handlePrimaryValue: function(x, isCurrent) {
if (this._lastSecondary !== NOTHING && !this._lastSecondary) {
if (this._hasFalseyFromSecondary) {
this._send(VALUE, x, isCurrent);

@@ -2488,10 +2660,7 @@ }

_handleSecondaryValue: function(x, isCurrent) {
this._lastSecondary = x;
if (!this._lastSecondary) {
this._removeSecondary();
}
this._hasFalseyFromSecondary = this._hasFalseyFromSecondary || !x;
},
_handleSecondaryEnd: function(__, isCurrent) {
if (this._lastSecondary === NOTHING || this._lastSecondary) {
if (!this._hasFalseyFromSecondary) {
this._send(END, null, isCurrent);

@@ -2498,0 +2667,0 @@ }

@@ -1,6 +0,6 @@

/*! Kefir.js v0.4.2
/*! Kefir.js v0.5.0
* https://github.com/pozadi/kefir
*/
!function(a){"use strict";function b(){for(var a=0;a<arguments.length;a++)if(!arguments[a])return arguments[a];return arguments[a-1]}function c(){for(var a=0;a<arguments.length;a++)if(arguments[a])return arguments[a];return arguments[a-1]}function d(a){return!a}function e(a,b){var c,d,e,f;if(0===a.length)return b;if(0===b.length)return a;for(f=0,c=new Array(a.length+b.length),d=a.length,e=0;d>e;e++,f++)c[f]=a[e];for(d=b.length,e=0;d>e;e++,f++)c[f]=b[e];return c}function f(a,b){var c,d=a.length;for(c=0;d>c;c++)if(a[c]===b)return c;return-1}function g(a,b){var c,d=a.length;for(c=0;d>c;c++)if(b(a[c]))return c;return-1}function h(a){var b,c=a.length,d=new Array(c);for(b=0;c>b;b++)d[b]=a[b];return d}function i(a,b){var c,d,e,f=a.length;if(b>=0&&f>b){if(1===f)return[];for(c=new Array(f-1),d=0,e=0;f>d;d++)d!==b&&(c[e]=a[d],e++);return c}return a}function j(a,b){return i(a,g(a,b))}function k(a,b){var c,d=a.length,e=new Array(d);for(c=0;d>c;c++)e[c]=b(a[c]);return e}function l(a,b){var c,d=a.length;for(c=0;d>c;c++)b(a[c])}function m(a,b){var c,d=a.length;for(c=0;d>c;c++)a[c]=b}function n(a,b){return-1!==f(a,b)}function o(a,b,c){return a.length>b?Array.prototype.slice.call(a,b):c}function p(a,b,c){var d,e=Math.min(c,a.length+1),f=a.length-e+1,g=new Array(e);for(d=f;e>d;d++)g[d-f]=a[d];return g[e-1]=b,g}function q(a,b){var c,d;if(null==a&&null==b)return!0;if(null==a||null==b)return!1;if(a.length!==b.length)return!1;for(d=0,c=a.length;c>d;d++)if(a[d]!==b[d])return!1;return!0}function r(a,b){switch(b){case 0:return function(){return a()};case 1:return function(b){return a(b[0])};case 2:return function(b){return a(b[0],b[1])};case 3:return function(b){return a(b[0],b[1],b[2])};case 4:return function(b){return a(b[0],b[1],b[2],b[3])};default:return function(b){return a.apply(null,b)}}}function s(a,b,c){var d=c?c.length:0;if(null==b)switch(d){case 0:return a();case 1:return a(c[0]);case 2:return a(c[0],c[1]);case 3:return a(c[0],c[1],c[2]);case 4:return a(c[0],c[1],c[2],c[3]);default:return a.apply(null,c)}else switch(d){case 0:return a.call(b);default:return a.apply(b,c)}}function t(a,b,c){return a&&b in a?a[b]:c}function u(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function v(a){var b=function(){};return b.prototype=a,new b}function w(a){var b,c,d=arguments.length;for(b=1;d>b;b++)for(c in arguments[b])a[c]=arguments[b][c];return a}function x(a,b){var c,d=arguments.length;for(a.prototype=v(b.prototype),a.prototype.constructor=a,c=2;d>c;c++)w(a.prototype,arguments[c]);return a}function y(a){return a}function z(a,b){return a===b}function A(a,b){return[a,b]}function B(a){return"function"==typeof a}function C(a,b){function c(a,b){I.call(this),this._wait=a,this._intervalId=null;var c=this;this._$onTick=function(){c._onTick()},this._init(b)}x(c,I,{_name:a,_init:function(){},_free:function(){},_onTick:function(){},_onActivation:function(){this._intervalId=setInterval(this._$onTick,this._wait)},_onDeactivation:function(){null!==this._intervalId&&(clearInterval(this._intervalId),this._intervalId=null)},_clear:function(){I.prototype._clear.call(this),this._$onTick=null,this._free()}},b),$[a]=function(a){return new c(a,o(arguments,1,[]))}}function D(a,b,c){function d(c){function d(b,d){c.call(this),this._source=b,this._name=b._name+"."+a,this._init(d);var e=this;this._$handleAny=function(a){e._handleAny(a)}}return x(d,c,{_clear:function(){c.prototype._clear.call(this),this._source=null,this._$handleAny=null,this._free()}},b),d}c=w({streamMethod:function(a){return function(){return new a(this,arguments)}},propertyMethod:function(a,b){return function(){return new b(this,arguments)}}},c||{}),b=w({_init:function(){},_free:function(){},_handleValue:function(a,b){this._send(bb,a,b)},_handleEnd:function(a,b){this._send(ab,null,b)},_handleAny:function(a){switch(a.type){case bb:this._handleValue(a.value,a.current);break;case ab:this._handleEnd(a.value,a.current)}},_onActivation:function(){this._source.onAny(this._$handleAny)},_onDeactivation:function(){this._source.offAny(this._$handleAny)}},b||{});var e=d(I),f=d(J);c.streamMethod&&(I.prototype[a]=c.streamMethod(e,f)),c.propertyMethod&&(J.prototype[a]=c.propertyMethod(e,f))}function E(a,b){function c(c){function d(b,d,e){c.call(this),this._primary=b,this._secondary=d,this._name=b._name+"."+a,this._lastSecondary=_;var f=this;this._$handleSecondaryAny=function(a){f._handleSecondaryAny(a)},this._$handlePrimaryAny=function(a){f._handlePrimaryAny(a)},this._init(e)}return x(d,c,{_clear:function(){c.prototype._clear.call(this),this._primary=null,this._secondary=null,this._lastSecondary=null,this._$handleSecondaryAny=null,this._$handlePrimaryAny=null,this._free()}},b),d}b=w({_init:function(){},_free:function(){},_handlePrimaryValue:function(a,b){this._send(bb,a,b)},_handlePrimaryEnd:function(a,b){this._send(ab,null,b)},_handleSecondaryValue:function(a){this._lastSecondary=a},_handleSecondaryEnd:function(){},_handlePrimaryAny:function(a){switch(a.type){case bb:this._handlePrimaryValue(a.value,a.current);break;case ab:this._handlePrimaryEnd(a.value,a.current)}},_handleSecondaryAny:function(a){switch(a.type){case bb:this._handleSecondaryValue(a.value,a.current);break;case ab:this._handleSecondaryEnd(a.value,a.current),this._removeSecondary()}},_removeSecondary:function(){null!==this._secondary&&(this._secondary.offAny(this._$handleSecondaryAny),this._$handleSecondaryAny=null,this._secondary=null)},_onActivation:function(){null!==this._secondary&&this._secondary.onAny(this._$handleSecondaryAny),this._alive&&this._primary.onAny(this._$handlePrimaryAny)},_onDeactivation:function(){null!==this._secondary&&this._secondary.offAny(this._$handleSecondaryAny),this._primary.offAny(this._$handlePrimaryAny)}},b||{});var d=c(I),e=c(J);I.prototype[a]=function(a){return new d(this,a,o(arguments,1,[]))},J.prototype[a]=function(a){return new e(this,a,o(arguments,1,[]))}}function F(){this._items=[]}function G(a,b,c){return{type:a,value:b,current:!!c}}function H(){this._subscribers=new F,this._active=!1,this._alive=!0}function I(){H.call(this)}function J(){H.call(this),this._current=_}function K(a){if(I.call(this),this._queueLim=t(a,"queueLim",0),this._concurLim=t(a,"concurLim",-1),this._drop=t(a,"drop","new"),0===this._concurLim)throw new Error("options.concurLim can't be 0");var b=this;this._$handleSubAny=function(a){b._handleSubAny(a)},this._queue=[],this._curSources=[],this._activating=!1}function L(a){K.call(this),0===a.length?this._send(ab):this._addAll(a),this._initialised=!0}function M(a){K.call(this,{concurLim:1,queueLim:-1}),0===a.length?this._send(ab):this._addAll(a),this._initialised=!0}function N(){K.call(this)}function O(){K.call(this)}function P(a,b,c){K.call(this,c),this._source=a,this._fn=b||y,this._mainEnded=!1,this._lastCurrent=null;var d=this;this._$handleMainSource=function(a){d._handleMainSource(a)}}function Q(a,b){I.call(this),0===a.length?this._send(ab):(this._buffers=k(a,function(a){return eb(a)?h(a):[]}),this._sources=k(a,function(a){return eb(a)?$.never():a}),this._combinator=b?r(b,this._sources.length):y,this._aliveCount=0)}function R(a,b){return function(c){a._handleAny(b,c)}}function S(a,b,c){I.call(this),0===b.length?this._send(ab):(this._passiveCount=a.length,this._sources=e(a,b),this._combinator=c?r(c,this._sources.length):y,this._aliveCount=0,this._currents=new Array(this._sources.length),m(this._currents,_),this._activating=!1,this._emitAfterActivation=!1,this._endAfterActivation=!1)}function T(a,b){return function(c){a._handleAny(b,c)}}function U(a){return function(){return new a(this,arguments)}}function V(a,b){return function(){return new b(this,arguments)}}function W(a){return{step:function(b,c){return a._send(bb,c,a._forcedCurrent),null},result:function(){return a._send(ab,null,a._forcedCurrent),null}}}function X(a){I.call(this),this._fn=a,this._unsubscribe=null}function Y(){I.call(this)}function Z(a){J.call(this),this._send(bb,a),this._send(ab)}var $={},_=["<nothing>"],ab="end",bb="value",cb="any",db=Date.now?function(){return Date.now()}:function(){return(new Date).getTime()},eb=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)},fb=function(a){return"[object Arguments]"===Object.prototype.toString.call(a)};fb(arguments)||(fb=function(a){return!(!a||!u(a,"callee"))}),w(F,{callOne:function(a,b){a.type===cb?a.fn(b):a.type===b.type&&(a.type===bb?a.fn(b.value):a.fn())},callOnce:function(a,b,c){a===cb?b(c):a===c.type&&(a===bb?b(c.value):b())}}),w(F.prototype,{add:function(a,b,c){this._items=e(this._items,[{type:a,fn:b,key:c||null}])},remove:function(a,b,c){var d=eb(c)?function(b){return b.type===a&&q(b.key,c)}:function(c){return c.type===a&&c.fn===b};this._items=j(this._items,d)},callAll:function(a){for(var b=this._items,c=0;c<b.length;c++)F.callOne(b[c],a)},isEmpty:function(){return 0===this._items.length}});var gb=G(ab,void 0,!0);$.Observable=H,w(H.prototype,{_name:"observable",_onActivation:function(){},_onDeactivation:function(){},_setActive:function(a){this._active!==a&&(this._active=a,a?this._onActivation():this._onDeactivation())},_clear:function(){this._setActive(!1),this._alive=!1,this._subscribers=null},_send:function(a,b,c){this._alive&&(this._subscribers.callAll(G(a,b,c)),a===ab&&this._clear())},on:function(a,b,c){return this._alive?(this._subscribers.add(a,b,c),this._setActive(!0)):F.callOnce(a,b,gb),this},off:function(a,b,c){return this._alive&&(this._subscribers.remove(a,b,c),this._subscribers.isEmpty()&&this._setActive(!1)),this},onValue:function(a,b){return this.on(bb,a,b)},onEnd:function(a,b){return this.on(ab,a,b)},onAny:function(a,b){return this.on(cb,a,b)},offValue:function(a,b){return this.off(bb,a,b)},offEnd:function(a,b){return this.off(ab,a,b)},offAny:function(a,b){return this.off(cb,a,b)}}),H.prototype.toString=function(){return"["+this._name+"]"},$.Stream=I,x(I,H,{_name:"stream"}),$.Property=J,x(J,H,{_name:"property",_send:function(a,b,c){this._alive&&(c||this._subscribers.callAll(G(a,b)),a===bb&&(this._current=b),a===ab&&this._clear())},on:function(a,b,c){return this._alive&&(this._subscribers.add(a,b,c),this._setActive(!0)),this._current!==_&&F.callOnce(a,b,G(bb,this._current,!0)),this._alive||F.callOnce(a,b,gb),this}}),H.prototype.log=function(a){return a=a||this.toString(),this.onAny(function(b){var c="<"+b.type+(b.current?":current":"")+">";b.type===bb?console.log(a,c,b.value):console.log(a,c)},["__logKey__",this,a]),this},H.prototype.offLog=function(a){return a=a||this.toString(),this.offAny(null,["__logKey__",this,a]),this},C("withInterval",{_init:function(a){this._fn=a[0];var b=this;this._emitter={emit:function(a){b._send(bb,a)},end:function(){b._send(ab)}}},_free:function(){this._fn=null,this._emitter=null},_onTick:function(){this._fn(this._emitter)}}),C("fromPoll",{_init:function(a){this._fn=a[0]},_free:function(){this._fn=null},_onTick:function(){this._send(bb,this._fn())}}),C("interval",{_init:function(a){this._x=a[0]},_free:function(){this._x=null},_onTick:function(){this._send(bb,this._x)}}),C("sequentially",{_init:function(a){this._xs=h(a[0]),0===this._xs.length&&this._send(ab)},_free:function(){this._xs=null},_onTick:function(){switch(this._xs.length){case 1:this._send(bb,this._xs[0]),this._send(ab);break;default:this._send(bb,this._xs.shift())}}}),C("repeatedly",{_init:function(a){this._xs=h(a[0]),this._i=-1},_onTick:function(){this._xs.length>0&&(this._i=(this._i+1)%this._xs.length,this._send(bb,this._xs[this._i]))}}),C("later",{_init:function(a){this._x=a[0]},_free:function(){this._x=null},_onTick:function(){this._send(bb,this._x),this._send(ab)}}),x(K,I,{_name:"abstractPool",_add:function(a,b){b=b||y,-1===this._concurLim||this._curSources.length<this._concurLim?this._addToCur(b(a)):-1===this._queueLim||this._queue.length<this._queueLim?this._addToQueue(b(a)):"old"===this._drop&&(this._removeOldest(),this._add(b(a)))},_addAll:function(a){var b=this;l(a,function(a){b._add(a)})},_remove:function(a){-1===this._removeCur(a)&&this._removeQueue(a)},_addToQueue:function(a){this._queue=e(this._queue,[a])},_addToCur:function(a){this._curSources=e(this._curSources,[a]),this._active&&this._sub(a)},_sub:function(a){var b=this;a.onAny(this._$handleSubAny),a.onEnd(function(){b._removeCur(a)},[this,a])},_unsub:function(a){a.offAny(this._$handleSubAny),a.offEnd(null,[this,a])},_handleSubAny:function(a){a.type===bb&&this._send(bb,a.value,a.current&&this._activating)},_removeQueue:function(a){var b=f(this._queue,a);return this._queue=i(this._queue,b),b},_removeCur:function(a){this._active&&this._unsub(a);var b=f(this._curSources,a);return this._curSources=i(this._curSources,b),-1!==b&&(0!==this._queue.length?this._pullQueue():0===this._curSources.length&&this._onEmpty()),b},_removeOldest:function(){this._removeCur(this._curSources[0])},_pullQueue:function(){0!==this._queue.length&&(this._queue=h(this._queue),this._addToCur(this._queue.shift()))},_onActivation:function(){var a,b=this._curSources;for(this._activating=!0,a=0;a<b.length;a++)this._sub(b[a]);this._activating=!1},_onDeactivation:function(){var a,b=this._curSources;for(a=0;a<b.length;a++)this._unsub(b[a])},_isEmpty:function(){return 0===this._curSources.length},_onEmpty:function(){},_clear:function(){I.prototype._clear.call(this),this._queue=null,this._curSources=null,this._$handleSubAny=null}});var hb={_onEmpty:function(){this._initialised&&this._send(ab,null,this._activating)}};x(L,K,w({_name:"merge"},hb)),$.merge=function(a){return new L(a)},H.prototype.merge=function(a){return $.merge([this,a])},x(M,K,w({_name:"concat"},hb)),$.concat=function(a){return new M(a)},H.prototype.concat=function(a){return $.concat([this,a])},x(N,K,{_name:"pool",plug:function(a){return this._add(a),this},unplug:function(a){return this._remove(a),this}}),$.pool=function(){return new N},x(O,K,{_name:"bus",plug:function(a){return this._add(a),this},unplug:function(a){return this._remove(a),this},emit:function(a){return this._send(bb,a),this},end:function(){return this._send(ab),this}}),$.bus=function(){return new O},x(P,K,{_onActivation:function(){K.prototype._onActivation.call(this),this._active&&(this._activating=!0,this._source.onAny(this._$handleMainSource),this._activating=!1)},_onDeactivation:function(){K.prototype._onDeactivation.call(this),this._source.offAny(this._$handleMainSource)},_handleMainSource:function(a){a.type===bb?(a.current&&this._lastCurrent===a.value||this._add(a.value,this._fn),this._lastCurrent=a.value):this._isEmpty()?this._send(ab,null,a.current):this._mainEnded=!0},_onEmpty:function(){this._mainEnded&&this._send(ab)},_clear:function(){K.prototype._clear.call(this),this._source=null,this._lastCurrent=null,this._$handleMainSource=null}}),H.prototype.flatMap=function(a){return new P(this,a).setName(this,"flatMap")},H.prototype.flatMapLatest=function(a){return new P(this,a,{concurLim:1,drop:"old"}).setName(this,"flatMapLatest")},H.prototype.flatMapFirst=function(a){return new P(this,a,{concurLim:1}).setName(this,"flatMapFirst")},H.prototype.flatMapConcat=function(a){return new P(this,a,{queueLim:-1,concurLim:1}).setName(this,"flatMapConcat")},H.prototype.flatMapConcurLimit=function(a,b){var c;return 0===b?c=$.never():(0>b&&(b=-1),c=new P(this,a,{queueLim:-1,concurLim:b})),c.setName(this,"flatMapConcurLimit")},x(Q,I,{_name:"zip",_onActivation:function(){var a,b=this._sources.length;for(this._drainArrays(),this._aliveCount=b,a=0;b>a;a++)this._sources[a].onAny(R(this,a),[this,a])},_onDeactivation:function(){for(var a=0;a<this._sources.length;a++)this._sources[a].offAny(null,[this,a])},_emit:function(a){for(var b=new Array(this._buffers.length),c=0;c<this._buffers.length;c++)b[c]=this._buffers[c].shift();this._send(bb,this._combinator(b),a)},_isFull:function(){for(var a=0;a<this._buffers.length;a++)if(0===this._buffers[a].length)return!1;return!0},_emitIfFull:function(a){this._isFull()&&this._emit(a)},_drainArrays:function(){for(;this._isFull();)this._emit(!0)},_handleAny:function(a,b){b.type===bb?(this._buffers[a].push(b.value),this._emitIfFull(b.current)):(this._aliveCount--,0===this._aliveCount&&this._send(ab,null,b.current))},_clear:function(){I.prototype._clear.call(this),this._sources=null,this._buffers=null,this._combinator=null}}),$.zip=function(a,b){return new Q(a,b)},H.prototype.zip=function(a,b){return new Q([this,a],b)},x(S,I,{_name:"sampledBy",_onActivation:function(){var a,b=this._sources.length;for(this._aliveCount=b-this._passiveCount,this._activating=!0,a=0;b>a;a++)this._sources[a].onAny(T(this,a),[this,a]);this._activating=!1,this._emitAfterActivation&&(this._emitAfterActivation=!1,this._emitIfFull(!0)),this._endAfterActivation&&this._send(ab,null,!0)},_onDeactivation:function(){var a,b=this._sources.length;for(a=0;b>a;a++)this._sources[a].offAny(null,[this,a])},_emitIfFull:function(a){if(!n(this._currents,_)){var b=h(this._currents);b=this._combinator(b),this._send(bb,b,a)}},_handleAny:function(a,b){b.type===bb?(this._currents[a]=b.value,a>=this._passiveCount&&(this._activating?this._emitAfterActivation=!0:this._emitIfFull(b.current))):a>=this._passiveCount&&(this._aliveCount--,0===this._aliveCount&&(this._activating?this._endAfterActivation=!0:this._send(ab,null,b.current)))},_clear:function(){I.prototype._clear.call(this),this._sources=null,this._currents=null,this._combinator=null}}),$.sampledBy=function(a,b,c){return new S(a,b,c)},H.prototype.sampledBy=function(a,b){return $.sampledBy([this],[a],b||y)},$.combine=function(a,b){return new S([],a,b).setName("combine")},H.prototype.combine=function(a,b){return $.combine([this,a],b)},D("toProperty",{_init:function(a){a.length>0&&this._send(bb,a[0])}},{propertyMethod:null,streamMethod:V}),D("withDefault",{_init:function(a){this._send(bb,a[0],!0)}},{propertyMethod:V,streamMethod:V}),D("changes",{_handleValue:function(a,b){b||this._send(bb,a)}},{streamMethod:null,propertyMethod:U}),D("withHandler",{_init:function(a){this._handler=a[0],this._forcedCurrent=!1;var b=this;this._emitter={emit:function(a){b._send(bb,a,b._forcedCurrent)},end:function(){b._send(ab,null,b._forcedCurrent)}}},_free:function(){this._handler=null,this._emitter=null},_handleAny:function(a){this._forcedCurrent=a.current,this._handler(this._emitter,a),this._forcedCurrent=!1}}),D("flatten",{_init:function(a){this._fn=a[0]?a[0]:y},_free:function(){this._fn=null},_handleValue:function(a,b){for(var c=this._fn(a),d=0;d<c.length;d++)this._send(bb,c[d],b)}}),D("transduce",{_init:function(a){this._xform=a[0](W(this))},_free:function(){this._xform=null},_handleValue:function(a,b){this._forcedCurrent=b,null!==this._xform.step(null,a)&&this._xform.result(null),this._forcedCurrent=!1},_handleEnd:function(a,b){this._forcedCurrent=b,this._xform.result(null),this._forcedCurrent=!1}});var ib={_init:function(a){this._fn=a[0]||y},_free:function(){this._fn=null}};D("map",w({_handleValue:function(a,b){this._send(bb,this._fn(a),b)}},ib)),D("filter",w({_handleValue:function(a,b){this._fn(a)&&this._send(bb,a,b)}},ib)),D("takeWhile",w({_handleValue:function(a,b){this._fn(a)?this._send(bb,a,b):this._send(ab,null,b)}},ib)),D("take",{_init:function(a){this._n=a[0],this._n<=0&&this._send(ab)},_handleValue:function(a,b){this._n--,this._send(bb,a,b),0===this._n&&this._send(ab,null,b)}}),D("skip",{_init:function(a){this._n=Math.max(0,a[0])},_handleValue:function(a,b){0===this._n?this._send(bb,a,b):this._n--}}),D("skipDuplicates",{_init:function(a){this._fn=a[0]||z,this._prev=_},_free:function(){this._fn=null,this._prev=null},_handleValue:function(a,b){this._prev!==_&&this._fn(this._prev,a)||(this._send(bb,a,b),this._prev=a)}}),D("skipWhile",{_init:function(a){this._fn=a[0]||y,this._skip=!0},_free:function(){this._fn=null},_handleValue:function(a,b){return this._skip?void(this._fn(a)||(this._skip=!1,this._fn=null,this._send(bb,a,b))):void this._send(bb,a,b)}}),D("diff",{_init:function(a){this._fn=a[0]||A,this._prev=a.length>1?a[1]:_},_free:function(){this._prev=null,this._fn=null},_handleValue:function(a,b){this._prev!==_&&this._send(bb,this._fn(this._prev,a),b),this._prev=a}}),D("scan",{_init:function(a){this._fn=a[0],a.length>1&&this._send(bb,a[1],!0)},_free:function(){this._fn=null},_handleValue:function(a,b){this._current!==_&&(a=this._fn(this._current,a)),this._send(bb,a,b)}},{streamMethod:V}),D("reduce",{_init:function(a){this._fn=a[0],this._result=a.length>1?a[1]:_},_free:function(){this._fn=null,this._result=null},_handleValue:function(a){this._result=this._result===_?a:this._fn(this._result,a)},_handleEnd:function(a,b){this._result!==_&&this._send(bb,this._result,b),this._send(ab,null,b)}}),D("mapEnd",{_init:function(a){this._fn=a[0]},_free:function(){this._fn=null},_handleEnd:function(a,b){this._send(bb,this._fn(),b),this._send(ab,null,b)}}),D("skipEnd",{_handleEnd:function(){}}),D("slidingWindow",{_init:function(a){this._max=a[0],this._min=a[1]||0,this._buff=[]},_free:function(){this._buff=null},_handleValue:function(a,b){this._buff=p(this._buff,a,this._max),this._buff.length>=this._min&&this._send(bb,this._buff,b)}}),D("bufferWhile",{_init:function(a){this._fn=a[0]||y,this._flushOnEnd=t(a[1],"flushOnEnd",!0),this._buff=[]},_free:function(){this._buff=null},_flush:function(a){null!==this._buff&&0!==this._buff.length&&(this._send(bb,this._buff,a),this._buff=[])},_handleValue:function(a,b){this._buff.push(a),this._fn(a)||this._flush(b)},_handleEnd:function(a,b){this._flushOnEnd&&this._flush(b),this._send(ab,null,b)}}),D("debounce",{_init:function(a){this._wait=Math.max(0,a[0]),this._immediate=t(a[1],"immediate",!1),this._lastAttempt=0,this._timeoutId=null,this._laterValue=null,this._endLater=!1;var b=this;this._$later=function(){b._later()}},_free:function(){this._laterValue=null,this._$later=null},_handleValue:function(a,b){b?this._send(bb,a,b):(this._lastAttempt=db(),this._immediate&&!this._timeoutId&&this._send(bb,a),this._timeoutId||(this._timeoutId=setTimeout(this._$later,this._wait)),this._immediate||(this._laterValue=a))},_handleEnd:function(a,b){b?this._send(ab,null,b):this._timeoutId&&!this._immediate?this._endLater=!0:this._send(ab)},_later:function(){var a=db()-this._lastAttempt;a<this._wait&&a>=0?this._timeoutId=setTimeout(this._$later,this._wait-a):(this._timeoutId=null,this._immediate||(this._send(bb,this._laterValue),this._laterValue=null),this._endLater&&this._send(ab))}}),D("throttle",{_init:function(a){this._wait=Math.max(0,a[0]),this._leading=t(a[1],"leading",!0),this._trailing=t(a[1],"trailing",!0),this._trailingValue=null,this._timeoutId=null,this._endLater=!1,this._lastCallTime=0;var b=this;this._$trailingCall=function(){b._trailingCall()}},_free:function(){this._trailingValue=null,this._$trailingCall=null},_handleValue:function(a,b){if(b)this._send(bb,a,b);else{var c=db();0!==this._lastCallTime||this._leading||(this._lastCallTime=c);var d=this._wait-(c-this._lastCallTime);0>=d?(this._cancelTraling(),this._lastCallTime=c,this._send(bb,a)):this._trailing&&(this._cancelTraling(),this._trailingValue=a,this._timeoutId=setTimeout(this._$trailingCall,d))}},_handleEnd:function(a,b){b?this._send(ab,null,b):this._timeoutId?this._endLater=!0:this._send(ab)},_cancelTraling:function(){null!==this._timeoutId&&(clearTimeout(this._timeoutId),this._timeoutId=null)},_trailingCall:function(){this._send(bb,this._trailingValue),this._timeoutId=null,this._trailingValue=null,this._lastCallTime=this._leading?db():0,this._endLater&&this._send(ab)}}),D("delay",{_init:function(a){this._wait=Math.max(0,a[0]),this._buff=[];var b=this;this._$shiftBuff=function(){b._send(bb,b._buff.shift())}},_free:function(){this._buff=null,this._$shiftBuff=null},_handleValue:function(a,b){b?this._send(bb,a,b):(this._buff.push(a),setTimeout(this._$shiftBuff,this._wait))},_handleEnd:function(a,b){if(b)this._send(ab,null,b);else{var c=this;setTimeout(function(){c._send(ab)},this._wait)}}}),x(X,I,{_name:"fromBinder",_onActivation:function(){var a=this,b=!0,c={emit:function(c){a._send(bb,c,b)},end:function(){a._send(ab,null,b)}};this._unsubscribe=this._fn(c)||null,b=!1},_onDeactivation:function(){null!==this._unsubscribe&&(this._unsubscribe(),this._unsubscribe=null)},_clear:function(){I.prototype._clear.call(this),this._fn=null}}),$.fromBinder=function(a){return new X(a)},x(Y,I,{_name:"emitter",emit:function(a){return this._send(bb,a),this},end:function(){return this._send(ab),this}}),$.emitter=function(){return new Y},$.Emitter=Y;var jb=new I;jb._send(ab),jb._name="never",$.never=function(){return jb},x(Z,J,{_name:"constant"}),$.constant=function(a){return new Z(a)},H.prototype.setName=function(a,b){return this._name=b?a._name+"."+b:a,this},H.prototype.mapTo=function(a){return this.map(function(){return a}).setName(this,"mapTo")},H.prototype.pluck=function(a){return this.map(function(b){return b[a]}).setName(this,"pluck")},H.prototype.invoke=function(a){var b=o(arguments,1);return this.map(b?function(c){return s(c[a],c,b)}:function(b){return b[a]()}).setName(this,"invoke")},H.prototype.timestamp=function(){return this.map(function(a){return{value:a,time:db()}}).setName(this,"timestamp")},H.prototype.tap=function(a){return this.map(function(b){return a(b),b}).setName(this,"tap")},$.and=function(a){return $.combine(a,b).setName("and")},H.prototype.and=function(a){return this.combine(a,b).setName("and")},$.or=function(a){return $.combine(a,c).setName("or")},H.prototype.or=function(a){return this.combine(a,c).setName("or")},H.prototype.not=function(){return this.map(d).setName(this,"not")},H.prototype.awaiting=function(a){return $.merge([this.mapTo(!0),a.mapTo(!1)]).skipDuplicates().toProperty(!1).setName(this,"awaiting")},$.fromCallback=function(a){var b=!1;return $.fromBinder(function(c){b||(a(function(a){c.emit(a),c.end()}),b=!0)}).setName("fromCallback")},$._fromEvent=function(a,b,c){return $.fromBinder(function(d){var e=c?function(){d.emit(s(c,this,arguments))}:d.emit;return a(e),function(){b(e)}})};var kb=[["addEventListener","removeEventListener"],["addListener","removeListener"],["on","off"]];$.fromEvent=function(a,b,c){for(var d,e,f,g=0;g<kb.length;g++)if(d=kb[g],B(a[d[0]])&&B(a[d[1]])){e=d[0],f=d[1];break}if(void 0===e)throw new Error("target don't support any of addEventListener/removeEventListener, addListener/removeListener, on/off method pair");return $._fromEvent(function(c){a[e](b,c)},function(c){a[f](b,c)},c).setName("fromEvent")};var lb={_init:function(a){this._buff=[],this._flushOnEnd=t(a[0],"flushOnEnd",!0)},_free:function(){this._buff=null},_flush:function(a){null!==this._buff&&0!==this._buff.length&&(this._send(bb,this._buff,a),this._buff=[])},_handlePrimaryEnd:function(a,b){this._flushOnEnd&&this._flush(b),this._send(ab,null,b)}};E("bufferBy",w({_onActivation:function(){this._primary.onAny(this._$handlePrimaryAny),this._alive&&null!==this._secondary&&this._secondary.onAny(this._$handleSecondaryAny)},_handlePrimaryValue:function(a){this._buff.push(a)},_handleSecondaryValue:function(a,b){this._flush(b)},_handleSecondaryEnd:function(a,b){this._flushOnEnd||this._send(ab,null,b)}},lb)),E("bufferWhileBy",w({_handlePrimaryValue:function(a,b){this._buff.push(a),this._lastSecondary===_||this._lastSecondary||this._flush(b)},_handleSecondaryEnd:function(a,b){this._flushOnEnd||this._lastSecondary!==_&&!this._lastSecondary||this._send(ab,null,b)}},lb)),E("filterBy",{_handlePrimaryValue:function(a,b){this._lastSecondary!==_&&this._lastSecondary&&this._send(bb,a,b)},_handleSecondaryEnd:function(a,b){this._lastSecondary!==_&&this._lastSecondary||this._send(ab,null,b)}}),E("skipUntilBy",{_handlePrimaryValue:function(a,b){this._lastSecondary!==_&&this._send(bb,a,b)},_handleSecondaryValue:function(a){this._lastSecondary=a,this._removeSecondary()},_handleSecondaryEnd:function(a,b){this._lastSecondary===_&&this._send(ab,null,b)}}),E("takeUntilBy",{_handleSecondaryValue:function(a,b){this._send(ab,null,b)}}),E("takeWhileBy",{_handlePrimaryValue:function(a,b){this._lastSecondary!==_&&this._send(bb,a,b)},_handleSecondaryValue:function(a,b){this._lastSecondary=a,this._lastSecondary||this._send(ab,null,b)},_handleSecondaryEnd:function(a,b){this._lastSecondary===_&&this._send(ab,null,b)}}),E("skipWhileBy",{_handlePrimaryValue:function(a,b){this._lastSecondary===_||this._lastSecondary||this._send(bb,a,b)},_handleSecondaryValue:function(a){this._lastSecondary=a,this._lastSecondary||this._removeSecondary()},_handleSecondaryEnd:function(a,b){(this._lastSecondary===_||this._lastSecondary)&&this._send(ab,null,b)}}),"function"==typeof define&&define.amd?(define([],function(){return $}),a.Kefir=$):"object"==typeof module&&"object"==typeof exports?(module.exports=$,$.Kefir=$):a.Kefir=$}(this);
!function(a){"use strict";function b(){for(var a=0;a<arguments.length;a++)if(!arguments[a])return arguments[a];return arguments[a-1]}function c(){for(var a=0;a<arguments.length;a++)if(arguments[a])return arguments[a];return arguments[a-1]}function d(a){return!a}function e(a,b){var c,d,e,f;if(0===a.length)return b;if(0===b.length)return a;for(f=0,c=new Array(a.length+b.length),d=a.length,e=0;d>e;e++,f++)c[f]=a[e];for(d=b.length,e=0;d>e;e++,f++)c[f]=b[e];return c}function f(a,b){var c,d=a.length;for(c=0;d>c;c++)if(a[c]===b)return c;return-1}function g(a,b){var c,d=a.length;for(c=0;d>c;c++)if(b(a[c]))return c;return-1}function h(a){var b,c=a.length,d=new Array(c);for(b=0;c>b;b++)d[b]=a[b];return d}function i(a,b){var c,d,e,f=a.length;if(b>=0&&f>b){if(1===f)return[];for(c=new Array(f-1),d=0,e=0;f>d;d++)d!==b&&(c[e]=a[d],e++);return c}return a}function j(a,b){return i(a,g(a,b))}function k(a,b){var c,d=a.length,e=new Array(d);for(c=0;d>c;c++)e[c]=b(a[c]);return e}function l(a,b){var c,d=a.length;for(c=0;d>c;c++)b(a[c])}function m(a,b){var c,d=a.length;for(c=0;d>c;c++)a[c]=b}function n(a,b){return-1!==f(a,b)}function o(a,b,c){return a.length>b?Array.prototype.slice.call(a,b):c}function p(a,b,c){var d,e=Math.min(c,a.length+1),f=a.length-e+1,g=new Array(e);for(d=f;e>d;d++)g[d-f]=a[d];return g[e-1]=b,g}function q(a,b){var c,d;if(null==a&&null==b)return!0;if(null==a||null==b)return!1;if(a.length!==b.length)return!1;for(d=0,c=a.length;c>d;d++)if(a[d]!==b[d])return!1;return!0}function r(a,b){switch(b){case 0:return function(){return a()};case 1:return function(b){return a(b[0])};case 2:return function(b){return a(b[0],b[1])};case 3:return function(b){return a(b[0],b[1],b[2])};case 4:return function(b){return a(b[0],b[1],b[2],b[3])};default:return function(b){return a.apply(null,b)}}}function s(a,b,c){var d=c?c.length:0;if(null==b)switch(d){case 0:return a();case 1:return a(c[0]);case 2:return a(c[0],c[1]);case 3:return a(c[0],c[1],c[2]);case 4:return a(c[0],c[1],c[2],c[3]);default:return a.apply(null,c)}else switch(d){case 0:return a.call(b);default:return a.apply(b,c)}}function t(a,b,c){return a&&b in a?a[b]:c}function u(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function v(a){var b=function(){};return b.prototype=a,new b}function w(a){var b,c,d=arguments.length;for(b=1;d>b;b++)for(c in arguments[b])a[c]=arguments[b][c];return a}function x(a,b){var c,d=arguments.length;for(a.prototype=v(b.prototype),a.prototype.constructor=a,c=2;d>c;c++)w(a.prototype,arguments[c]);return a}function y(a){return a}function z(a,b){return a===b}function A(a,b){return[a,b]}function B(a){return"function"==typeof a}function C(a,b){function c(a,b){I.call(this),this._wait=a,this._intervalId=null;var c=this;this._$onTick=function(){c._onTick()},this._init(b)}x(c,I,{_name:a,_init:function(){},_free:function(){},_onTick:function(){},_onActivation:function(){this._intervalId=setInterval(this._$onTick,this._wait)},_onDeactivation:function(){null!==this._intervalId&&(clearInterval(this._intervalId),this._intervalId=null)},_clear:function(){I.prototype._clear.call(this),this._$onTick=null,this._free()}},b),_[a]=function(a){return new c(a,o(arguments,1,[]))}}function D(a,b,c){function d(c){function d(b,d){c.call(this),this._source=b,this._name=b._name+"."+a,this._init(d);var e=this;this._$handleAny=function(a){e._handleAny(a)}}return x(d,c,{_clear:function(){c.prototype._clear.call(this),this._source=null,this._$handleAny=null,this._free()}},b),d}c=w({streamMethod:function(a){return function(){return new a(this,arguments)}},propertyMethod:function(a,b){return function(){return new b(this,arguments)}}},c||{}),b=w({_init:function(){},_free:function(){},_handleValue:function(a,b){this._send(cb,a,b)},_handleError:function(a,b){this._send(db,a,b)},_handleEnd:function(a,b){this._send(bb,null,b)},_handleAny:function(a){switch(a.type){case cb:this._handleValue(a.value,a.current);break;case db:this._handleError(a.value,a.current);break;case bb:this._handleEnd(a.value,a.current)}},_onActivation:function(){this._source.onAny(this._$handleAny)},_onDeactivation:function(){this._source.offAny(this._$handleAny)}},b||{});var e=d(I),f=d(J);c.streamMethod&&(I.prototype[a]=c.streamMethod(e,f)),c.propertyMethod&&(J.prototype[a]=c.propertyMethod(e,f))}function E(a,b){function c(c){function d(b,d,e){c.call(this),this._primary=b,this._secondary=d,this._name=b._name+"."+a,this._lastSecondary=ab;var f=this;this._$handleSecondaryAny=function(a){f._handleSecondaryAny(a)},this._$handlePrimaryAny=function(a){f._handlePrimaryAny(a)},this._init(e)}return x(d,c,{_clear:function(){c.prototype._clear.call(this),this._primary=null,this._secondary=null,this._lastSecondary=null,this._$handleSecondaryAny=null,this._$handlePrimaryAny=null,this._free()}},b),d}b=w({_init:function(){},_free:function(){},_handlePrimaryValue:function(a,b){this._send(cb,a,b)},_handlePrimaryError:function(a,b){this._send(db,a,b)},_handlePrimaryEnd:function(a,b){this._send(bb,null,b)},_handleSecondaryValue:function(a){this._lastSecondary=a},_handleSecondaryError:function(a,b){this._send(db,a,b)},_handleSecondaryEnd:function(){},_handlePrimaryAny:function(a){switch(a.type){case cb:this._handlePrimaryValue(a.value,a.current);break;case db:this._handlePrimaryError(a.value,a.current);break;case bb:this._handlePrimaryEnd(a.value,a.current)}},_handleSecondaryAny:function(a){switch(a.type){case cb:this._handleSecondaryValue(a.value,a.current);break;case db:this._handleSecondaryError(a.value,a.current);break;case bb:this._handleSecondaryEnd(a.value,a.current),this._removeSecondary()}},_removeSecondary:function(){null!==this._secondary&&(this._secondary.offAny(this._$handleSecondaryAny),this._$handleSecondaryAny=null,this._secondary=null)},_onActivation:function(){null!==this._secondary&&this._secondary.onAny(this._$handleSecondaryAny),this._alive&&this._primary.onAny(this._$handlePrimaryAny)},_onDeactivation:function(){null!==this._secondary&&this._secondary.offAny(this._$handleSecondaryAny),this._primary.offAny(this._$handlePrimaryAny)}},b||{});var d=c(I),e=c(J);I.prototype[a]=function(a){return new d(this,a,o(arguments,1,[]))},J.prototype[a]=function(a){return new e(this,a,o(arguments,1,[]))}}function F(){this._items=[]}function G(a,b,c){return{type:a,value:b,current:!!c}}function H(){this._subscribers=new F,this._active=!1,this._alive=!0}function I(){H.call(this)}function J(){H.call(this),this._current=ab,this._currentError=ab}function K(a){if(I.call(this),this._queueLim=t(a,"queueLim",0),this._concurLim=t(a,"concurLim",-1),this._drop=t(a,"drop","new"),0===this._concurLim)throw new Error("options.concurLim can't be 0");var b=this;this._$handleSubAny=function(a){b._handleSubAny(a)},this._queue=[],this._curSources=[],this._activating=!1}function L(a){K.call(this),0===a.length?this._send(bb):this._addAll(a),this._initialised=!0}function M(a){K.call(this,{concurLim:1,queueLim:-1}),0===a.length?this._send(bb):this._addAll(a),this._initialised=!0}function N(){K.call(this)}function O(){K.call(this)}function P(a,b,c){K.call(this,c),this._source=a,this._fn=b||y,this._mainEnded=!1,this._lastCurrent=null;var d=this;this._$handleMainSource=function(a){d._handleMainSource(a)}}function Q(a,b){I.call(this),0===a.length?this._send(bb):(this._buffers=k(a,function(a){return gb(a)?h(a):[]}),this._sources=k(a,function(a){return gb(a)?_.never():a}),this._combinator=b?r(b,this._sources.length):y,this._aliveCount=0)}function R(a,b,c){I.call(this),0===b.length?this._send(bb):(this._passiveCount=a.length,this._sources=e(a,b),this._combinator=c?r(c,this._sources.length):y,this._aliveCount=0,this._currents=new Array(this._sources.length),m(this._currents,ab),this._activating=!1,this._emitAfterActivation=!1,this._endAfterActivation=!1)}function S(a){return function(){return new a(this,arguments)}}function T(a,b){return function(){return new b(this,arguments)}}function U(a){return{step:function(b,c){return a._send(cb,c,a._forcedCurrent),null},result:function(){return a._send(bb,null,a._forcedCurrent),null}}}function V(a){return{convert:!0,value:a}}function W(a){return{convert:!0,error:a}}function X(a){I.call(this),this._fn=a,this._unsubscribe=null}function Y(){I.call(this)}function Z(a){J.call(this),this._send(cb,a),this._send(bb)}function $(a){J.call(this),this._send(db,a),this._send(bb)}var _={},ab=["<nothing>"],bb="end",cb="value",db="error",eb="any",fb=Date.now?function(){return Date.now()}:function(){return(new Date).getTime()},gb=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)},hb=function(a){return"[object Arguments]"===Object.prototype.toString.call(a)};hb(arguments)||(hb=function(a){return!(!a||!u(a,"callee"))}),w(F,{callOne:function(a,b){a.type===eb?a.fn(b):a.type===b.type&&(a.type===cb||a.type===db?a.fn(b.value):a.fn())},callOnce:function(a,b,c){a===eb?b(c):a===c.type&&(a===cb||a===db?b(c.value):b())}}),w(F.prototype,{add:function(a,b,c){this._items=e(this._items,[{type:a,fn:b,key:c||null}])},remove:function(a,b,c){var d=gb(c)?function(b){return b.type===a&&q(b.key,c)}:function(c){return c.type===a&&c.fn===b};this._items=j(this._items,d)},callAll:function(a){for(var b=this._items,c=0;c<b.length;c++)F.callOne(b[c],a)},isEmpty:function(){return 0===this._items.length}});var ib=G(bb,void 0,!0);_.Observable=H,w(H.prototype,{_name:"observable",_onActivation:function(){},_onDeactivation:function(){},_setActive:function(a){this._active!==a&&(this._active=a,a?this._onActivation():this._onDeactivation())},_clear:function(){this._setActive(!1),this._alive=!1,this._subscribers=null},_send:function(a,b,c){this._alive&&(this._subscribers.callAll(G(a,b,c)),a===bb&&this._clear())},on:function(a,b,c){return this._alive?(this._subscribers.add(a,b,c),this._setActive(!0)):F.callOnce(a,b,ib),this},off:function(a,b,c){return this._alive&&(this._subscribers.remove(a,b,c),this._subscribers.isEmpty()&&this._setActive(!1)),this},onValue:function(a,b){return this.on(cb,a,b)},onError:function(a,b){return this.on(db,a,b)},onEnd:function(a,b){return this.on(bb,a,b)},onAny:function(a,b){return this.on(eb,a,b)},offValue:function(a,b){return this.off(cb,a,b)},offError:function(a,b){return this.off(db,a,b)},offEnd:function(a,b){return this.off(bb,a,b)},offAny:function(a,b){return this.off(eb,a,b)}}),H.prototype.toString=function(){return"["+this._name+"]"},_.Stream=I,x(I,H,{_name:"stream"}),_.Property=J,x(J,H,{_name:"property",_send:function(a,b,c){this._alive&&(c||this._subscribers.callAll(G(a,b)),a===cb&&(this._current=b),a===db&&(this._currentError=b),a===bb&&this._clear())},on:function(a,b,c){return this._alive&&(this._subscribers.add(a,b,c),this._setActive(!0)),this._current!==ab&&F.callOnce(a,b,G(cb,this._current,!0)),this._currentError!==ab&&F.callOnce(a,b,G(db,this._currentError,!0)),this._alive||F.callOnce(a,b,ib),this}}),H.prototype.log=function(a){return a=a||this.toString(),this.onAny(function(b){var c="<"+b.type+(b.current?":current":"")+">";b.type===cb||b.type===db?console.log(a,c,b.value):console.log(a,c)},["__logKey__",this,a]),this},H.prototype.offLog=function(a){return a=a||this.toString(),this.offAny(null,["__logKey__",this,a]),this},C("withInterval",{_init:function(a){this._fn=a[0];var b=this;this._emitter={emit:function(a){b._send(cb,a)},error:function(a){b._send(db,a)},end:function(){b._send(bb)}}},_free:function(){this._fn=null,this._emitter=null},_onTick:function(){this._fn(this._emitter)}}),C("fromPoll",{_init:function(a){this._fn=a[0]},_free:function(){this._fn=null},_onTick:function(){this._send(cb,this._fn())}}),C("interval",{_init:function(a){this._x=a[0]},_free:function(){this._x=null},_onTick:function(){this._send(cb,this._x)}}),C("sequentially",{_init:function(a){this._xs=h(a[0]),0===this._xs.length&&this._send(bb)},_free:function(){this._xs=null},_onTick:function(){switch(this._xs.length){case 1:this._send(cb,this._xs[0]),this._send(bb);break;default:this._send(cb,this._xs.shift())}}}),C("repeatedly",{_init:function(a){this._xs=h(a[0]),this._i=-1},_onTick:function(){this._xs.length>0&&(this._i=(this._i+1)%this._xs.length,this._send(cb,this._xs[this._i]))}}),C("later",{_init:function(a){this._x=a[0]},_free:function(){this._x=null},_onTick:function(){this._send(cb,this._x),this._send(bb)}}),x(K,I,{_name:"abstractPool",_add:function(a,b){b=b||y,-1===this._concurLim||this._curSources.length<this._concurLim?this._addToCur(b(a)):-1===this._queueLim||this._queue.length<this._queueLim?this._addToQueue(b(a)):"old"===this._drop&&(this._removeOldest(),this._add(b(a)))},_addAll:function(a){var b=this;l(a,function(a){b._add(a)})},_remove:function(a){-1===this._removeCur(a)&&this._removeQueue(a)},_addToQueue:function(a){this._queue=e(this._queue,[a])},_addToCur:function(a){this._curSources=e(this._curSources,[a]),this._active&&this._subscribe(a)},_subscribe:function(a){var b=this;a.onAny(this._$handleSubAny),a.onEnd(function(){b._removeCur(a)},[this,a])},_unsubscribe:function(a){a.offAny(this._$handleSubAny),a.offEnd(null,[this,a])},_handleSubAny:function(a){(a.type===cb||a.type===db)&&this._send(a.type,a.value,a.current&&this._activating)},_removeQueue:function(a){var b=f(this._queue,a);return this._queue=i(this._queue,b),b},_removeCur:function(a){this._active&&this._unsubscribe(a);var b=f(this._curSources,a);return this._curSources=i(this._curSources,b),-1!==b&&(0!==this._queue.length?this._pullQueue():0===this._curSources.length&&this._onEmpty()),b},_removeOldest:function(){this._removeCur(this._curSources[0])},_pullQueue:function(){0!==this._queue.length&&(this._queue=h(this._queue),this._addToCur(this._queue.shift()))},_onActivation:function(){var a,b=this._curSources;for(this._activating=!0,a=0;a<b.length;a++)this._subscribe(b[a]);this._activating=!1},_onDeactivation:function(){var a,b=this._curSources;for(a=0;a<b.length;a++)this._unsubscribe(b[a])},_isEmpty:function(){return 0===this._curSources.length},_onEmpty:function(){},_clear:function(){I.prototype._clear.call(this),this._queue=null,this._curSources=null,this._$handleSubAny=null}});var jb={_onEmpty:function(){this._initialised&&this._send(bb,null,this._activating)}};x(L,K,w({_name:"merge"},jb)),_.merge=function(a){return new L(a)},H.prototype.merge=function(a){return _.merge([this,a])},x(M,K,w({_name:"concat"},jb)),_.concat=function(a){return new M(a)},H.prototype.concat=function(a){return _.concat([this,a])},x(N,K,{_name:"pool",plug:function(a){return this._add(a),this},unplug:function(a){return this._remove(a),this}}),_.pool=function(){return new N},x(O,K,{_name:"bus",plug:function(a){return this._add(a),this},unplug:function(a){return this._remove(a),this},emit:function(a){return this._send(cb,a),this},error:function(a){return this._send(db,a),this},end:function(){return this._send(bb),this}}),_.bus=function(){return new O},x(P,K,{_onActivation:function(){K.prototype._onActivation.call(this),this._active&&(this._activating=!0,this._source.onAny(this._$handleMainSource),this._activating=!1)},_onDeactivation:function(){K.prototype._onDeactivation.call(this),this._source.offAny(this._$handleMainSource)},_handleMainSource:function(a){a.type===cb&&(a.current&&this._lastCurrent===a.value||this._add(a.value,this._fn),this._lastCurrent=a.value),a.type===db&&this._send(db,a.value,a.current),a.type===bb&&(this._isEmpty()?this._send(bb,null,a.current):this._mainEnded=!0)},_onEmpty:function(){this._mainEnded&&this._send(bb)},_clear:function(){K.prototype._clear.call(this),this._source=null,this._lastCurrent=null,this._$handleMainSource=null}}),H.prototype.flatMap=function(a){return new P(this,a).setName(this,"flatMap")},H.prototype.flatMapLatest=function(a){return new P(this,a,{concurLim:1,drop:"old"}).setName(this,"flatMapLatest")},H.prototype.flatMapFirst=function(a){return new P(this,a,{concurLim:1}).setName(this,"flatMapFirst")},H.prototype.flatMapConcat=function(a){return new P(this,a,{queueLim:-1,concurLim:1}).setName(this,"flatMapConcat")},H.prototype.flatMapConcurLimit=function(a,b){var c;return 0===b?c=_.never():(0>b&&(b=-1),c=new P(this,a,{queueLim:-1,concurLim:b})),c.setName(this,"flatMapConcurLimit")},x(Q,I,{_name:"zip",_onActivation:function(){var a,b=this._sources.length;for(this._drainArrays(),this._aliveCount=b,a=0;b>a;a++)this._sources[a].onAny(this._bindHandleAny(a),[this,a])},_onDeactivation:function(){for(var a=0;a<this._sources.length;a++)this._sources[a].offAny(null,[this,a])},_emit:function(a){for(var b=new Array(this._buffers.length),c=0;c<this._buffers.length;c++)b[c]=this._buffers[c].shift();this._send(cb,this._combinator(b),a)},_isFull:function(){for(var a=0;a<this._buffers.length;a++)if(0===this._buffers[a].length)return!1;return!0},_emitIfFull:function(a){this._isFull()&&this._emit(a)},_drainArrays:function(){for(;this._isFull();)this._emit(!0)},_bindHandleAny:function(a){var b=this;return function(c){b._handleAny(a,c)}},_handleAny:function(a,b){b.type===cb&&(this._buffers[a].push(b.value),this._emitIfFull(b.current)),b.type===db&&this._send(db,b.value,b.current),b.type===bb&&(this._aliveCount--,0===this._aliveCount&&this._send(bb,null,b.current))},_clear:function(){I.prototype._clear.call(this),this._sources=null,this._buffers=null,this._combinator=null}}),_.zip=function(a,b){return new Q(a,b)},H.prototype.zip=function(a,b){return new Q([this,a],b)},x(R,I,{_name:"sampledBy",_onActivation:function(){var a,b=this._sources.length;for(this._aliveCount=b-this._passiveCount,this._activating=!0,a=0;b>a;a++)this._sources[a].onAny(this._bindHandleAny(a),[this,a]);this._activating=!1,this._emitAfterActivation&&(this._emitAfterActivation=!1,this._emitIfFull(!0)),this._endAfterActivation&&this._send(bb,null,!0)},_onDeactivation:function(){var a,b=this._sources.length;for(a=0;b>a;a++)this._sources[a].offAny(null,[this,a])},_emitIfFull:function(a){if(!n(this._currents,ab)){var b=h(this._currents);b=this._combinator(b),this._send(cb,b,a)}},_bindHandleAny:function(a){var b=this;return function(c){b._handleAny(a,c)}},_handleAny:function(a,b){b.type===cb&&(this._currents[a]=b.value,a>=this._passiveCount&&(this._activating?this._emitAfterActivation=!0:this._emitIfFull(b.current))),b.type===db&&this._send(db,b.value,b.current),b.type===bb&&a>=this._passiveCount&&(this._aliveCount--,0===this._aliveCount&&(this._activating?this._endAfterActivation=!0:this._send(bb,null,b.current)))},_clear:function(){I.prototype._clear.call(this),this._sources=null,this._currents=null,this._combinator=null}}),_.sampledBy=function(a,b,c){return new R(a,b,c)},H.prototype.sampledBy=function(a,b){return _.sampledBy([this],[a],b||y)},_.combine=function(a,b){return new R([],a,b).setName("combine")},H.prototype.combine=function(a,b){return _.combine([this,a],b)},D("toProperty",{_init:function(a){a.length>0&&this._send(cb,a[0])}},{propertyMethod:null,streamMethod:T}),D("withDefault",{_init:function(a){this._send(cb,a[0],!0)}},{propertyMethod:T,streamMethod:T}),D("changes",{_handleValue:function(a,b){b||this._send(cb,a)},_handleError:function(a,b){b||this._send(db,a)}},{streamMethod:null,propertyMethod:S}),D("withHandler",{_init:function(a){this._handler=a[0],this._forcedCurrent=!1;var b=this;this._emitter={emit:function(a){b._send(cb,a,b._forcedCurrent)},error:function(a){b._send(db,a,b._forcedCurrent)},end:function(){b._send(bb,null,b._forcedCurrent)}}},_free:function(){this._handler=null,this._emitter=null},_handleAny:function(a){this._forcedCurrent=a.current,this._handler(this._emitter,a),this._forcedCurrent=!1}}),D("flatten",{_init:function(a){this._fn=a[0]?a[0]:y},_free:function(){this._fn=null},_handleValue:function(a,b){for(var c=this._fn(a),d=0;d<c.length;d++)this._send(cb,c[d],b)}}),D("transduce",{_init:function(a){this._xform=a[0](U(this))},_free:function(){this._xform=null},_handleValue:function(a,b){this._forcedCurrent=b,null!==this._xform.step(null,a)&&this._xform.result(null),this._forcedCurrent=!1},_handleEnd:function(a,b){this._forcedCurrent=b,this._xform.result(null),this._forcedCurrent=!1}});var kb={_init:function(a){this._fn=a[0]||y},_free:function(){this._fn=null}};D("map",w({_handleValue:function(a,b){this._send(cb,this._fn(a),b)}},kb)),D("mapErrors",w({_handleError:function(a,b){this._send(db,this._fn(a),b)}},kb)),D("errorsToValues",w({_init:function(a){this._fn=a[0]||V},_free:function(){this._fn=null},_handleError:function(a,b){var c=this._fn(a),d=c.convert?cb:db,e=c.convert?c.value:a;this._send(d,e,b)}})),D("valuesToErrors",w({_init:function(a){this._fn=a[0]||W},_free:function(){this._fn=null},_handleValue:function(a,b){var c=this._fn(a),d=c.convert?db:cb,e=c.convert?c.error:a;this._send(d,e,b)}})),D("filter",w({_handleValue:function(a,b){this._fn(a)&&this._send(cb,a,b)}},kb)),D("filterErrors",w({_handleError:function(a,b){this._fn(a)&&this._send(db,a,b)}},kb)),D("takeWhile",w({_handleValue:function(a,b){this._fn(a)?this._send(cb,a,b):this._send(bb,null,b)}},kb)),D("take",{_init:function(a){this._n=a[0],this._n<=0&&this._send(bb)},_handleValue:function(a,b){this._n--,this._send(cb,a,b),0===this._n&&this._send(bb,null,b)}}),D("skip",{_init:function(a){this._n=Math.max(0,a[0])},_handleValue:function(a,b){0===this._n?this._send(cb,a,b):this._n--}}),D("skipDuplicates",{_init:function(a){this._fn=a[0]||z,this._prev=ab},_free:function(){this._fn=null,this._prev=null},_handleValue:function(a,b){this._prev!==ab&&this._fn(this._prev,a)||(this._send(cb,a,b),this._prev=a)}}),D("skipWhile",{_init:function(a){this._fn=a[0]||y,this._skip=!0},_free:function(){this._fn=null},_handleValue:function(a,b){return this._skip?void(this._fn(a)||(this._skip=!1,this._fn=null,this._send(cb,a,b))):void this._send(cb,a,b)}}),D("diff",{_init:function(a){this._fn=a[0]||A,this._prev=a.length>1?a[1]:ab},_free:function(){this._prev=null,this._fn=null},_handleValue:function(a,b){this._prev!==ab&&this._send(cb,this._fn(this._prev,a),b),this._prev=a}}),D("scan",{_init:function(a){this._fn=a[0],a.length>1&&this._send(cb,a[1],!0)},_free:function(){this._fn=null},_handleValue:function(a,b){this._current!==ab&&(a=this._fn(this._current,a)),this._send(cb,a,b)}},{streamMethod:T}),D("reduce",{_init:function(a){this._fn=a[0],this._result=a.length>1?a[1]:ab},_free:function(){this._fn=null,this._result=null},_handleValue:function(a){this._result=this._result===ab?a:this._fn(this._result,a)},_handleEnd:function(a,b){this._result!==ab&&this._send(cb,this._result,b),this._send(bb,null,b)}}),D("mapEnd",{_init:function(a){this._fn=a[0]},_free:function(){this._fn=null},_handleEnd:function(a,b){this._send(cb,this._fn(),b),this._send(bb,null,b)}}),D("skipValues",{_handleValue:function(){}}),D("skipErrors",{_handleError:function(){}}),D("skipEnd",{_handleEnd:function(){}}),D("endOnError",w({_handleError:function(a,b){this._send(db,a,b),this._send(bb,null,b)}})),D("slidingWindow",{_init:function(a){this._max=a[0],this._min=a[1]||0,this._buff=[]},_free:function(){this._buff=null},_handleValue:function(a,b){this._buff=p(this._buff,a,this._max),this._buff.length>=this._min&&this._send(cb,this._buff,b)}}),D("bufferWhile",{_init:function(a){this._fn=a[0]||y,this._flushOnEnd=t(a[1],"flushOnEnd",!0),this._buff=[]},_free:function(){this._buff=null},_flush:function(a){null!==this._buff&&0!==this._buff.length&&(this._send(cb,this._buff,a),this._buff=[])},_handleValue:function(a,b){this._buff.push(a),this._fn(a)||this._flush(b)},_handleEnd:function(a,b){this._flushOnEnd&&this._flush(b),this._send(bb,null,b)}}),D("debounce",{_init:function(a){this._wait=Math.max(0,a[0]),this._immediate=t(a[1],"immediate",!1),this._lastAttempt=0,this._timeoutId=null,this._laterValue=null,this._endLater=!1;var b=this;this._$later=function(){b._later()}},_free:function(){this._laterValue=null,this._$later=null},_handleValue:function(a,b){b?this._send(cb,a,b):(this._lastAttempt=fb(),this._immediate&&!this._timeoutId&&this._send(cb,a),this._timeoutId||(this._timeoutId=setTimeout(this._$later,this._wait)),this._immediate||(this._laterValue=a))},_handleEnd:function(a,b){b?this._send(bb,null,b):this._timeoutId&&!this._immediate?this._endLater=!0:this._send(bb)},_later:function(){var a=fb()-this._lastAttempt;a<this._wait&&a>=0?this._timeoutId=setTimeout(this._$later,this._wait-a):(this._timeoutId=null,this._immediate||(this._send(cb,this._laterValue),this._laterValue=null),this._endLater&&this._send(bb))}}),D("throttle",{_init:function(a){this._wait=Math.max(0,a[0]),this._leading=t(a[1],"leading",!0),this._trailing=t(a[1],"trailing",!0),this._trailingValue=null,this._timeoutId=null,this._endLater=!1,this._lastCallTime=0;var b=this;this._$trailingCall=function(){b._trailingCall()}},_free:function(){this._trailingValue=null,this._$trailingCall=null},_handleValue:function(a,b){if(b)this._send(cb,a,b);else{var c=fb();0!==this._lastCallTime||this._leading||(this._lastCallTime=c);var d=this._wait-(c-this._lastCallTime);0>=d?(this._cancelTraling(),this._lastCallTime=c,this._send(cb,a)):this._trailing&&(this._cancelTraling(),this._trailingValue=a,this._timeoutId=setTimeout(this._$trailingCall,d))}},_handleEnd:function(a,b){b?this._send(bb,null,b):this._timeoutId?this._endLater=!0:this._send(bb)},_cancelTraling:function(){null!==this._timeoutId&&(clearTimeout(this._timeoutId),this._timeoutId=null)},_trailingCall:function(){this._send(cb,this._trailingValue),this._timeoutId=null,this._trailingValue=null,this._lastCallTime=this._leading?fb():0,this._endLater&&this._send(bb)}}),D("delay",{_init:function(a){this._wait=Math.max(0,a[0]),this._buff=[];var b=this;this._$shiftBuff=function(){b._send(cb,b._buff.shift())}},_free:function(){this._buff=null,this._$shiftBuff=null},_handleValue:function(a,b){b?this._send(cb,a,b):(this._buff.push(a),setTimeout(this._$shiftBuff,this._wait))},_handleEnd:function(a,b){if(b)this._send(bb,null,b);else{var c=this;setTimeout(function(){c._send(bb)},this._wait)}}}),x(X,I,{_name:"fromBinder",_onActivation:function(){var a=this,b=!0,c={emit:function(c){a._send(cb,c,b)},error:function(c){a._send(db,c,b)},end:function(){a._send(bb,null,b)}};this._unsubscribe=this._fn(c)||null,b=!1},_onDeactivation:function(){null!==this._unsubscribe&&(this._unsubscribe(),this._unsubscribe=null)},_clear:function(){I.prototype._clear.call(this),this._fn=null}}),_.fromBinder=function(a){return new X(a)},x(Y,I,{_name:"emitter",emit:function(a){return this._send(cb,a),this},error:function(a){return this._send(db,a),this},end:function(){return this._send(bb),this}}),_.emitter=function(){return new Y},_.Emitter=Y;var lb=new I;lb._send(bb),lb._name="never",_.never=function(){return lb},x(Z,J,{_name:"constant"}),_.constant=function(a){return new Z(a)},x($,J,{_name:"constantError"}),_.constantError=function(a){return new $(a)},H.prototype.setName=function(a,b){return this._name=b?a._name+"."+b:a,this},H.prototype.mapTo=function(a){return this.map(function(){return a}).setName(this,"mapTo")},H.prototype.pluck=function(a){return this.map(function(b){return b[a]}).setName(this,"pluck")},H.prototype.invoke=function(a){var b=o(arguments,1);return this.map(b?function(c){return s(c[a],c,b)}:function(b){return b[a]()}).setName(this,"invoke")},H.prototype.timestamp=function(){return this.map(function(a){return{value:a,time:fb()}}).setName(this,"timestamp")},H.prototype.tap=function(a){return this.map(function(b){return a(b),b}).setName(this,"tap")},_.and=function(a){return _.combine(a,b).setName("and")},H.prototype.and=function(a){return this.combine(a,b).setName("and")},_.or=function(a){return _.combine(a,c).setName("or")},H.prototype.or=function(a){return this.combine(a,c).setName("or")},H.prototype.not=function(){return this.map(d).setName(this,"not")},H.prototype.awaiting=function(a){return _.merge([this.mapTo(!0),a.mapTo(!1)]).skipDuplicates().toProperty(!1).setName(this,"awaiting")},_.fromCallback=function(a){var b=!1;return _.fromBinder(function(c){b||(a(function(a){c.emit(a),c.end()}),b=!0)}).setName("fromCallback")},_._fromEvent=function(a,b,c){return _.fromBinder(function(d){var e=c?function(){d.emit(s(c,this,arguments))}:d.emit;return a(e),function(){b(e)}})};var mb=[["addEventListener","removeEventListener"],["addListener","removeListener"],["on","off"]];_.fromEvent=function(a,b,c){for(var d,e,f,g=0;g<mb.length;g++)if(d=mb[g],B(a[d[0]])&&B(a[d[1]])){e=d[0],f=d[1];break}if(void 0===e)throw new Error("target don't support any of addEventListener/removeEventListener, addListener/removeListener, on/off method pair");return _._fromEvent(function(c){a[e](b,c)},function(c){a[f](b,c)},c).setName("fromEvent")};var nb={_init:function(a){this._buff=[],this._flushOnEnd=t(a[0],"flushOnEnd",!0)},_free:function(){this._buff=null},_flush:function(a){null!==this._buff&&0!==this._buff.length&&(this._send(cb,this._buff,a),this._buff=[])},_handlePrimaryEnd:function(a,b){this._flushOnEnd&&this._flush(b),this._send(bb,null,b)}};E("bufferBy",w({_onActivation:function(){this._primary.onAny(this._$handlePrimaryAny),this._alive&&null!==this._secondary&&this._secondary.onAny(this._$handleSecondaryAny)},_handlePrimaryValue:function(a){this._buff.push(a)},_handleSecondaryValue:function(a,b){this._flush(b)},_handleSecondaryEnd:function(a,b){this._flushOnEnd||this._send(bb,null,b)}},nb)),E("bufferWhileBy",w({_handlePrimaryValue:function(a,b){this._buff.push(a),this._lastSecondary===ab||this._lastSecondary||this._flush(b)},_handleSecondaryEnd:function(a,b){this._flushOnEnd||this._lastSecondary!==ab&&!this._lastSecondary||this._send(bb,null,b)}},nb)),E("filterBy",{_handlePrimaryValue:function(a,b){this._lastSecondary!==ab&&this._lastSecondary&&this._send(cb,a,b)},_handleSecondaryEnd:function(a,b){this._lastSecondary!==ab&&this._lastSecondary||this._send(bb,null,b)}}),E("skipUntilBy",{_handlePrimaryValue:function(a,b){this._lastSecondary!==ab&&this._send(cb,a,b)},_handleSecondaryEnd:function(a,b){this._lastSecondary===ab&&this._send(bb,null,b)}}),E("takeUntilBy",{_handleSecondaryValue:function(a,b){this._send(bb,null,b)}}),E("takeWhileBy",{_handlePrimaryValue:function(a,b){this._lastSecondary!==ab&&this._send(cb,a,b)},_handleSecondaryValue:function(a,b){this._lastSecondary=a,this._lastSecondary||this._send(bb,null,b)},_handleSecondaryEnd:function(a,b){this._lastSecondary===ab&&this._send(bb,null,b)}}),E("skipWhileBy",{_init:function(){this._hasFalseyFromSecondary=!1},_handlePrimaryValue:function(a,b){this._hasFalseyFromSecondary&&this._send(cb,a,b)},_handleSecondaryValue:function(a){this._hasFalseyFromSecondary=this._hasFalseyFromSecondary||!a},_handleSecondaryEnd:function(a,b){this._hasFalseyFromSecondary||this._send(bb,null,b)}}),"function"==typeof define&&define.amd?(define([],function(){return _}),a.Kefir=_):"object"==typeof module&&"object"==typeof exports?(module.exports=_,_.Kefir=_):a.Kefir=_}(this);
//# sourceMappingURL=kefir.min.js.map
{
"name": "kefir",
"version": "0.4.2",
"version": "0.5.0",
"description": "Reactive Programming library for JavaScript inspired by Bacon.js and RxJS with focus on high performance and low memory usage",
"main": "dist/kefir.js",
"scripts": {
"test": "NODE_PATH=./dist grunt test"
"test": "NODE_PATH=./dist grunt"
},

@@ -9,0 +9,0 @@ "keywords": [

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc