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 1.1.0 to 1.2.0

bacon-vs-kefir-api.md

6

changelog.md

@@ -0,5 +1,9 @@

## next
- `Kefir.sampledBy` is deprecated in favor of 3 arity `Kefir.combine`
## 1.1.0
- The `Bus` and `Pool` classes are exposed as `Kefir.Bus` and `Kefir.Pool`
- A bug in `.merge` and `.zip` fixed which may cause them to not unsubscribe from their sources in very rare cases
- A bug in `.merge` and `.zip` (which may cause them to not unsubscribe from their sources in very rare cases) fixed
- New method `.emitEvent` in Emitter, Emitter Object, and Bus

@@ -6,0 +10,0 @@ - New method `Kefir.repeat`

166

dist/kefir.js

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

/*! Kefir.js v1.1.0
/*! Kefir.js v1.2.0
* https://github.com/pozadi/kefir

@@ -49,2 +49,12 @@ */

function circleShift(arr, distance) {
var length = arr.length
, result = new Array(length)
, i;
for (i = 0; i < length; i++) {
result[(i + distance) % length] = arr[i];
}
return result;
}
function find(arr, value) {

@@ -251,2 +261,6 @@ var length = arr.length

function id2(_, x) {
return x;
}
function strictEqual(a, b) {

@@ -264,2 +278,6 @@ return a === b;

var log = ((typeof console !== undefined) && isFn(console.log)) ?
function(m) {console.log(m)} :
noop;
function isFn(fn) {

@@ -521,35 +539,21 @@ return typeof fn === 'function';

// Subscribers
// Dispatcher
function Subscribers() {
this._items = [];
}
extend(Subscribers, {
callOne: function(fnData, event) {
if (fnData.type === ANY) {
fnData.fn(event);
} else if (fnData.type === event.type) {
if (fnData.type === VALUE || fnData.type === ERROR) {
fnData.fn(event.value);
} else {
fnData.fn();
}
function callSubscriber(sType, sFn, event) {
if (sType === ANY) {
sFn(event);
} else if (sType === event.type) {
if (sType === VALUE || sType === ERROR) {
sFn(event.value);
} else {
sFn();
}
},
callOnce: function(type, fn, event) {
if (type === ANY) {
fn(event);
} else if (type === event.type) {
if (type === VALUE || type === ERROR) {
fn(event.value);
} else {
fn();
}
}
}
});
}
function Dispatcher() {
this._items = [];
}
extend(Subscribers.prototype, {
extend(Dispatcher.prototype, {
add: function(type, fn, _key) {

@@ -561,2 +565,3 @@ this._items = concat(this._items, [{

}]);
return this._items.length;
},

@@ -568,11 +573,9 @@ remove: function(type, fn, _key) {

this._items = removeByPred(this._items, pred);
return this._items.length;
},
callAll: function(event) {
dispatch: function(event) {
var items = this._items;
for (var i = 0; i < items.length; i++) {
Subscribers.callOne(items[i], event);
callSubscriber(items[i].type, items[i].fn, event);
}
},
isEmpty: function() {
return this._items.length === 0;
}

@@ -585,2 +588,5 @@ });

// Events

@@ -601,3 +607,3 @@

function Observable() {
this._subscribers = new Subscribers();
this._dispatcher = new Dispatcher();
this._active = false;

@@ -629,3 +635,3 @@ this._alive = true;

this._alive = false;
this._subscribers = null;
this._dispatcher = null;
},

@@ -635,3 +641,3 @@

if (this._alive) {
this._subscribers.callAll(Event(type, x, isCurrent));
this._dispatcher.dispatch(Event(type, x, isCurrent));
if (type === END) { this._clear() }

@@ -643,6 +649,6 @@ }

if (this._alive) {
this._subscribers.add(type, fn, _key);
this._dispatcher.add(type, fn, _key);
this._setActive(true);
} else {
Subscribers.callOnce(type, fn, CURRENT_END);
callSubscriber(type, fn, CURRENT_END);
}

@@ -654,4 +660,4 @@ return this;

if (this._alive) {
this._subscribers.remove(type, fn, _key);
if (this._subscribers.isEmpty()) {
var count = this._dispatcher.remove(type, fn, _key);
if (count === 0) {
this._setActive(false);

@@ -722,3 +728,3 @@ }

if (!isCurrent) {
this._subscribers.callAll(Event(type, x));
this._dispatcher.dispatch(Event(type, x));
}

@@ -733,13 +739,13 @@ if (type === VALUE) { this._current = x }

if (this._alive) {
this._subscribers.add(type, fn, _key);
this._dispatcher.add(type, fn, _key);
this._setActive(true);
}
if (this._current !== NOTHING) {
Subscribers.callOnce(type, fn, Event(VALUE, this._current, true));
callSubscriber(type, fn, Event(VALUE, this._current, true));
}
if (this._currentError !== NOTHING) {
Subscribers.callOnce(type, fn, Event(ERROR, this._currentError, true));
callSubscriber(type, fn, Event(ERROR, this._currentError, true));
}
if (!this._alive) {
Subscribers.callOnce(type, fn, CURRENT_END);
callSubscriber(type, fn, CURRENT_END);
}

@@ -1364,5 +1370,5 @@ return this;

// .sampledBy()
// .combine()
function SampledBy(passive, active, combinator) {
function Combine(active, passive, combinator) {
Stream.call(this);

@@ -1372,4 +1378,4 @@ if (active.length === 0) {

} else {
this._passiveCount = passive.length;
this._sources = concat(passive, active);
this._activeCount = active.length;
this._sources = concat(active, passive);
this._combinator = combinator ? spread(combinator, this._sources.length) : id;

@@ -1386,5 +1392,5 @@ this._aliveCount = 0;

inherit(SampledBy, Stream, {
inherit(Combine, Stream, {
_name: 'sampledBy',
_name: 'combine',

@@ -1394,3 +1400,3 @@ _onActivation: function() {

i;
this._aliveCount = length - this._passiveCount;
this._aliveCount = this._activeCount;
this._activating = true;

@@ -1434,3 +1440,3 @@ for (i = 0; i < length; i++) {

this._currents[i] = event.value;
if (i >= this._passiveCount) {
if (i < this._activeCount) {
if (this._activating) {

@@ -1447,3 +1453,3 @@ this._emitAfterActivation = true;

if (event.type === END) {
if (i >= this._passiveCount) {
if (i < this._activeCount) {
this._aliveCount--;

@@ -1470,8 +1476,12 @@ if (this._aliveCount === 0) {

Kefir.sampledBy = function(passive, active, combinator) {
return new SampledBy(passive, active, combinator);
Kefir.combine = function(active, passive, combinator) {
if (isFn(passive)) {
combinator = passive;
passive = null;
}
return new Combine(active, passive || [], combinator);
}
Observable.prototype.sampledBy = function(other, combinator) {
return Kefir.sampledBy([this], [other], combinator || id);
Observable.prototype.combine = function(other, combinator) {
return Kefir.combine([this, other], combinator);
}

@@ -1482,10 +1492,38 @@

// .combine()
Kefir.combine = function(sources, combinator) {
return new SampledBy([], sources, combinator).setName('combine');
// .sampledBy()
Kefir.DISABLE_SAMPLEDBY_WARNING = false;
Kefir.sampledBy = function(passive, active, combinator) {
if (!Kefir.DISABLE_SAMPLEDBY_WARNING) {
log('Kefir.sampledBy() is deprecated, and to be removed in v3.0.0.\n' +
'Use Kefir.combine(active, passive, combinator) instead, ' +
'but note than active/passive order is different.\n' +
'To disable this warning set Kefir.DISABLE_SAMPLEDBY_WARNING to true.');
}
// we need to flip `passive` and `active` in combinator function
var _combinator = combinator;
if (passive.length > 0) {
var passiveLength = passive.length;
_combinator = function() {
var args = circleShift(arguments, passiveLength);
return combinator ? apply(combinator, null, args) : args;
}
}
return new Combine(active, passive, _combinator).setName('sampledBy');
}
Observable.prototype.combine = function(other, combinator) {
return Kefir.combine([this, other], combinator);
Observable.prototype.sampledBy = function(other, combinator) {
var _combinator;
if (combinator) {
_combinator = function(active, passive) {
return combinator(passive, active);
}
}
return new Combine([other], [this], _combinator || id2).setName(this, 'sampledBy');
}

@@ -1492,0 +1530,0 @@

@@ -1,7 +0,7 @@

/*! Kefir.js v1.1.0
/*! Kefir.js v1.2.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),ab[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(db,a,b)},_handleError:function(a,b){this._send(eb,a,b)},_handleEnd:function(a,b){this._send(cb,null,b)},_handleAny:function(a){switch(a.type){case db:this._handleValue(a.value,a.current);break;case eb:this._handleError(a.value,a.current);break;case cb: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=bb;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(db,a,b)},_handlePrimaryError:function(a,b){this._send(eb,a,b)},_handlePrimaryEnd:function(a,b){this._send(cb,null,b)},_handleSecondaryValue:function(a){this._lastSecondary=a},_handleSecondaryError:function(a,b){this._send(eb,a,b)},_handleSecondaryEnd:function(){},_handlePrimaryAny:function(a){switch(a.type){case db:this._handlePrimaryValue(a.value,a.current);break;case eb:this._handlePrimaryError(a.value,a.current);break;case cb:this._handlePrimaryEnd(a.value,a.current)}},_handleSecondaryAny:function(a){switch(a.type){case db:this._handleSecondaryValue(a.value,a.current);break;case eb:this._handleSecondaryError(a.value,a.current);break;case cb: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=bb,this._currentError=bb}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(cb):this._addAll(a),this._initialised=!0}function M(a){K.call(this,{concurLim:1,queueLim:-1}),0===a.length?this._send(cb):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(cb):(this._buffers=k(a,function(a){return hb(a)?h(a):[]}),this._sources=k(a,function(a){return hb(a)?ab.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(cb):(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,bb),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(db,c,a._forcedCurrent),null},result:function(){return a._send(cb,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(db,a),this._send(cb)}function $(a){J.call(this),this._send(eb,a),this._send(cb)}function _(a){I.call(this),this._generator=a,this._source=null,this._inLoop=!1,this._activating=!1,this._iteration=0;var b=this;this._$handleAny=function(a){b._handleAny(a)}}var ab={},bb=["<nothing>"],cb="end",db="value",eb="error",fb="any",gb=Date.now?function(){return Date.now()}:function(){return(new Date).getTime()},hb=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)},ib=function(a){return"[object Arguments]"===Object.prototype.toString.call(a)};ib(arguments)||(ib=function(a){return!(!a||!u(a,"callee"))}),w(F,{callOne:function(a,b){a.type===fb?a.fn(b):a.type===b.type&&(a.type===db||a.type===eb?a.fn(b.value):a.fn())},callOnce:function(a,b,c){a===fb?b(c):a===c.type&&(a===db||a===eb?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=hb(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 jb=G(cb,void 0,!0);ab.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===cb&&this._clear())},_on:function(a,b,c){return this._alive?(this._subscribers.add(a,b,c),this._setActive(!0)):F.callOnce(a,b,jb),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(db,a,b)},onError:function(a,b){return this._on(eb,a,b)},onEnd:function(a,b){return this._on(cb,a,b)},onAny:function(a,b){return this._on(fb,a,b)},offValue:function(a,b){return this._off(db,a,b)},offError:function(a,b){return this._off(eb,a,b)},offEnd:function(a,b){return this._off(cb,a,b)},offAny:function(a,b){return this._off(fb,a,b)}}),H.prototype.toString=function(){return"["+this._name+"]"},ab.Stream=I,x(I,H,{_name:"stream"}),ab.Property=J,x(J,H,{_name:"property",_send:function(a,b,c){this._alive&&(c||this._subscribers.callAll(G(a,b)),a===db&&(this._current=b),a===eb&&(this._currentError=b),a===cb&&this._clear())},_on:function(a,b,c){return this._alive&&(this._subscribers.add(a,b,c),this._setActive(!0)),this._current!==bb&&F.callOnce(a,b,G(db,this._current,!0)),this._currentError!==bb&&F.callOnce(a,b,G(eb,this._currentError,!0)),this._alive||F.callOnce(a,b,jb),this}}),H.prototype.log=function(a){return a=a||this.toString(),this.onAny(function(b){var c="<"+b.type+(b.current?":current":"")+">";b.type===db||b.type===eb?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(db,a)},error:function(a){b._send(eb,a)},end:function(){b._send(cb)},emitEvent:function(a){b._send(a.type,a.value)}}},_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(db,this._fn())}}),C("interval",{_init:function(a){this._x=a[0]},_free:function(){this._x=null},_onTick:function(){this._send(db,this._x)}}),C("sequentially",{_init:function(a){this._xs=h(a[0]),0===this._xs.length&&this._send(cb)},_free:function(){this._xs=null},_onTick:function(){switch(this._xs.length){case 1:this._send(db,this._xs[0]),this._send(cb);break;default:this._send(db,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(db,this._xs[this._i]))}}),C("later",{_init:function(a){this._x=a[0]},_free:function(){this._x=null},_onTick:function(){this._send(db,this._x),this._send(cb)}}),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===db||a.type===eb)&&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._active&&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 kb={_onEmpty:function(){this._initialised&&this._send(cb,null,this._activating)}};x(L,K,w({_name:"merge"},kb)),ab.merge=function(a){return new L(a)},H.prototype.merge=function(a){return ab.merge([this,a])},x(M,K,w({_name:"concat"},kb)),ab.concat=function(a){return new M(a)},H.prototype.concat=function(a){return ab.concat([this,a])},ab.Pool=N,x(N,K,{_name:"pool",plug:function(a){return this._add(a),this},unplug:function(a){return this._remove(a),this}}),ab.pool=function(){return new N},ab.Bus=O,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(db,a),this},error:function(a){return this._send(eb,a),this},end:function(){return this._send(cb),this},emitEvent:function(a){this._send(a.type,a.value)}}),ab.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===db&&(a.current&&this._lastCurrent===a.value||this._add(a.value,this._fn),this._lastCurrent=a.value),a.type===eb&&this._send(eb,a.value,a.current),a.type===cb&&(this._isEmpty()?this._send(cb,null,a.current):this._mainEnded=!0)},_onEmpty:function(){this._mainEnded&&this._send(cb)},_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=ab.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._active&&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(db,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===db&&(this._buffers[a].push(b.value),this._emitIfFull(b.current)),b.type===eb&&this._send(eb,b.value,b.current),b.type===cb&&(this._aliveCount--,0===this._aliveCount&&this._send(cb,null,b.current))},_clear:function(){I.prototype._clear.call(this),this._sources=null,this._buffers=null,this._combinator=null}}),ab.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(cb,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,bb)){var b=h(this._currents);b=this._combinator(b),this._send(db,b,a)}},_bindHandleAny:function(a){var b=this;return function(c){b._handleAny(a,c)}},_handleAny:function(a,b){b.type===db&&(this._currents[a]=b.value,a>=this._passiveCount&&(this._activating?this._emitAfterActivation=!0:this._emitIfFull(b.current))),b.type===eb&&this._send(eb,b.value,b.current),b.type===cb&&a>=this._passiveCount&&(this._aliveCount--,0===this._aliveCount&&(this._activating?this._endAfterActivation=!0:this._send(cb,null,b.current)))},_clear:function(){I.prototype._clear.call(this),this._sources=null,this._currents=null,this._combinator=null}}),ab.sampledBy=function(a,b,c){return new R(a,b,c)},H.prototype.sampledBy=function(a,b){return ab.sampledBy([this],[a],b||y)},ab.combine=function(a,b){return new R([],a,b).setName("combine")},H.prototype.combine=function(a,b){return ab.combine([this,a],b)},D("toProperty",{_init:function(a){a.length>0&&this._send(db,a[0])}},{propertyMethod:T,streamMethod:T}),D("changes",{_handleValue:function(a,b){b||this._send(db,a)},_handleError:function(a,b){b||this._send(eb,a)}},{streamMethod:function(){return function(){return this}},propertyMethod:S}),D("withHandler",{_init:function(a){this._handler=a[0],this._forcedCurrent=!1;var b=this;this._emitter={emit:function(a){b._send(db,a,b._forcedCurrent)},error:function(a){b._send(eb,a,b._forcedCurrent)},end:function(){b._send(cb,null,b._forcedCurrent)},emitEvent:function(a){b._send(a.type,a.value,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(db,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 lb={_init:function(a){this._fn=a[0]||y},_free:function(){this._fn=null}};D("map",w({_handleValue:function(a,b){this._send(db,this._fn(a),b)}},lb)),D("mapErrors",w({_handleError:function(a,b){this._send(eb,this._fn(a),b)}},lb)),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?db:eb,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?eb:db,e=c.convert?c.error:a;this._send(d,e,b)}})),D("filter",w({_handleValue:function(a,b){this._fn(a)&&this._send(db,a,b)}},lb)),D("filterErrors",w({_handleError:function(a,b){this._fn(a)&&this._send(eb,a,b)}},lb)),D("takeWhile",w({_handleValue:function(a,b){this._fn(a)?this._send(db,a,b):this._send(cb,null,b)}},lb)),D("take",{_init:function(a){this._n=a[0],this._n<=0&&this._send(cb)},_handleValue:function(a,b){this._n--,this._send(db,a,b),0===this._n&&this._send(cb,null,b)}}),D("skip",{_init:function(a){this._n=Math.max(0,a[0])},_handleValue:function(a,b){0===this._n?this._send(db,a,b):this._n--}}),D("skipDuplicates",{_init:function(a){this._fn=a[0]||z,this._prev=bb},_free:function(){this._fn=null,this._prev=null},_handleValue:function(a,b){this._prev!==bb&&this._fn(this._prev,a)||(this._prev=a,this._send(db,a,b))}}),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(db,a,b))):void this._send(db,a,b)}}),D("diff",{_init:function(a){this._fn=a[0]||A,this._prev=a.length>1?a[1]:bb},_free:function(){this._prev=null,this._fn=null},_handleValue:function(a,b){this._prev!==bb&&this._send(db,this._fn(this._prev,a),b),this._prev=a}}),D("scan",{_init:function(a){this._fn=a[0],a.length>1&&this._send(db,a[1],!0)},_free:function(){this._fn=null},_handleValue:function(a,b){this._current!==bb&&(a=this._fn(this._current,a)),this._send(db,a,b)}},{streamMethod:T}),D("reduce",{_init:function(a){this._fn=a[0],this._result=a.length>1?a[1]:bb},_free:function(){this._fn=null,this._result=null},_handleValue:function(a){this._result=this._result===bb?a:this._fn(this._result,a)},_handleEnd:function(a,b){this._result!==bb&&this._send(db,this._result,b),this._send(cb,null,b)}}),D("mapEnd",{_init:function(a){this._fn=a[0]},_free:function(){this._fn=null},_handleEnd:function(a,b){this._send(db,this._fn(),b),this._send(cb,null,b)}}),D("skipValues",{_handleValue:function(){}}),D("skipErrors",{_handleError:function(){}}),D("skipEnd",{_handleEnd:function(){}}),D("endOnError",w({_handleError:function(a,b){this._send(eb,a,b),this._send(cb,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(db,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(db,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(cb,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(db,a,b):(this._lastAttempt=gb(),this._immediate&&!this._timeoutId&&this._send(db,a),this._timeoutId||(this._timeoutId=setTimeout(this._$later,this._wait)),this._immediate||(this._laterValue=a))},_handleEnd:function(a,b){b?this._send(cb,null,b):this._timeoutId&&!this._immediate?this._endLater=!0:this._send(cb)},_later:function(){var a=gb()-this._lastAttempt;a<this._wait&&a>=0?this._timeoutId=setTimeout(this._$later,this._wait-a):(this._timeoutId=null,this._immediate||(this._send(db,this._laterValue),this._laterValue=null),this._endLater&&this._send(cb))}}),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(db,a,b);else{var c=gb();0!==this._lastCallTime||this._leading||(this._lastCallTime=c);var d=this._wait-(c-this._lastCallTime);0>=d?(this._cancelTraling(),this._lastCallTime=c,this._send(db,a)):this._trailing&&(this._cancelTraling(),this._trailingValue=a,this._timeoutId=setTimeout(this._$trailingCall,d))}},_handleEnd:function(a,b){b?this._send(cb,null,b):this._timeoutId?this._endLater=!0:this._send(cb)},_cancelTraling:function(){null!==this._timeoutId&&(clearTimeout(this._timeoutId),this._timeoutId=null)},_trailingCall:function(){this._send(db,this._trailingValue),this._timeoutId=null,this._trailingValue=null,this._lastCallTime=this._leading?gb():0,this._endLater&&this._send(cb)}}),D("delay",{_init:function(a){this._wait=Math.max(0,a[0]),this._buff=[];var b=this;this._$shiftBuff=function(){b._send(db,b._buff.shift())}},_free:function(){this._buff=null,this._$shiftBuff=null},_handleValue:function(a,b){b?this._send(db,a,b):(this._buff.push(a),setTimeout(this._$shiftBuff,this._wait))},_handleEnd:function(a,b){if(b)this._send(cb,null,b);else{var c=this;setTimeout(function(){c._send(cb)},this._wait)}}}),x(X,I,{_name:"fromBinder",_onActivation:function(){var a=this,b=!0,c={emit:function(c){a._send(db,c,b)},error:function(c){a._send(eb,c,b)},end:function(){a._send(cb,null,b)},emitEvent:function(c){a._send(c.type,c.value,b)}};this._unsubscribe=this._fn(c)||null,this._active||null===this._unsubscribe||(this._unsubscribe(),this._unsubscribe=null),b=!1},_onDeactivation:function(){null!==this._unsubscribe&&(this._unsubscribe(),this._unsubscribe=null)},_clear:function(){I.prototype._clear.call(this),this._fn=null}}),ab.fromBinder=function(a){return new X(a)},x(Y,I,{_name:"emitter",emit:function(a){return this._send(db,a),this},error:function(a){return this._send(eb,a),this},end:function(){return this._send(cb),this},emitEvent:function(a){this._send(a.type,a.value)}}),ab.emitter=function(){return new Y},ab.Emitter=Y;var mb=new I;mb._send(cb),mb._name="never",ab.never=function(){return mb},x(Z,J,{_name:"constant"}),ab.constant=function(a){return new Z(a)},x($,J,{_name:"constantError"}),ab.constantError=function(a){return new $(a)},x(_,I,{_name:"repeat",_handleAny:function(a){a.type===cb?(this._source=null,this._startLoop()):this._send(a.type,a.value,this._activating)},_startLoop:function(){if(!this._inLoop){for(this._inLoop=!0;null===this._source&&this._alive&&this._active;)this._source=this._generator(this._iteration++),this._source?this._source.onAny(this._$handleAny):this._send(cb);this._inLoop=!1}},_onActivation:function(){this._activating=!0,this._source?this._source.onAny(this._$handleAny):this._startLoop(),this._activating=!1},_onDeactivation:function(){this._source&&this._source.offAny(this._$handleAny)},_clear:function(){I.prototype._clear.call(this),this._generator=null,this._source=null,this._$handleAny=null}}),ab.repeat=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:gb()}}).setName(this,"timestamp")},H.prototype.tap=function(a){return this.map(function(b){return a(b),b}).setName(this,"tap")},ab.and=function(a){return ab.combine(a,b).setName("and")},H.prototype.and=function(a){return this.combine(a,b).setName("and")},ab.or=function(a){return ab.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 ab.merge([this.mapTo(!0),a.mapTo(!1)]).skipDuplicates().toProperty(!1).setName(this,"awaiting")},ab.fromCallback=function(a){var b=!1;return ab.fromBinder(function(c){b||(a(function(a){c.emit(a),c.end()}),b=!0)}).setName("fromCallback")},ab.fromNodeCallback=function(a){var b=!1;return ab.fromBinder(function(c){b||(a(function(a,b){a?c.error(a):c.emit(b),c.end()}),b=!0)}).setName("fromNodeCallback")},ab.fromPromise=function(a){var b=!1;return ab.fromBinder(function(c){if(!b){var d=function(a){c.emit(a),c.end()},e=function(a){c.error(a),c.end()},f=a.then(d,e);f&&B(f.done)&&f.done(),b=!0}}).toProperty().setName("fromPromise")},ab.fromSubUnsub=function(a,b,c){return ab.fromBinder(function(d){var e=c?function(){d.emit(s(c,this,arguments))}:d.emit;return a(e),function(){b(e)}})};var nb=[["addEventListener","removeEventListener"],["addListener","removeListener"],["on","off"]];ab.fromEvent=function(a,b,c){for(var d,e,f,g=0;g<nb.length;g++)if(d=nb[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 ab.fromSubUnsub(function(c){a[e](b,c)},function(c){a[f](b,c)},c).setName("fromEvent")};var ob={_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(db,this._buff,a),this._buff=[])},_handlePrimaryEnd:function(a,b){this._flushOnEnd&&this._flush(b),this._send(cb,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(cb,null,b)}},ob)),E("bufferWhileBy",w({_handlePrimaryValue:function(a,b){this._buff.push(a),this._lastSecondary===bb||this._lastSecondary||this._flush(b)},_handleSecondaryEnd:function(a,b){this._flushOnEnd||this._lastSecondary!==bb&&!this._lastSecondary||this._send(cb,null,b)}},ob)),E("filterBy",{_handlePrimaryValue:function(a,b){this._lastSecondary!==bb&&this._lastSecondary&&this._send(db,a,b)},_handleSecondaryEnd:function(a,b){this._lastSecondary!==bb&&this._lastSecondary||this._send(cb,null,b)}}),E("skipUntilBy",{_handlePrimaryValue:function(a,b){this._lastSecondary!==bb&&this._send(db,a,b)},_handleSecondaryEnd:function(a,b){this._lastSecondary===bb&&this._send(cb,null,b)}}),E("takeUntilBy",{_handleSecondaryValue:function(a,b){this._send(cb,null,b)}}),E("takeWhileBy",{_handlePrimaryValue:function(a,b){this._lastSecondary!==bb&&this._send(db,a,b)},_handleSecondaryValue:function(a,b){this._lastSecondary=a,this._lastSecondary||this._send(cb,null,b)},_handleSecondaryEnd:function(a,b){this._lastSecondary===bb&&this._send(cb,null,b)}}),E("skipWhileBy",{_init:function(){this._hasFalseyFromSecondary=!1},_handlePrimaryValue:function(a,b){this._hasFalseyFromSecondary&&this._send(db,a,b)},_handleSecondaryValue:function(a){this._hasFalseyFromSecondary=this._hasFalseyFromSecondary||!a
},_handleSecondaryEnd:function(a,b){this._hasFalseyFromSecondary||this._send(cb,null,b)}}),"function"==typeof define&&define.amd?(define([],function(){return ab}),a.Kefir=ab):"object"==typeof module&&"object"==typeof exports?(module.exports=ab,ab.Kefir=ab):a.Kefir=ab}(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,e=new Array(d);for(c=0;d>c;c++)e[(c+b)%d]=a[c];return e}function g(a,b){var c,d=a.length;for(c=0;d>c;c++)if(a[c]===b)return c;return-1}function h(a,b){var c,d=a.length;for(c=0;d>c;c++)if(b(a[c]))return c;return-1}function i(a){var b,c=a.length,d=new Array(c);for(b=0;c>b;b++)d[b]=a[b];return d}function j(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 k(a,b){return j(a,h(a,b))}function l(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 m(a,b){var c,d=a.length;for(c=0;d>c;c++)b(a[c])}function n(a,b){var c,d=a.length;for(c=0;d>c;c++)a[c]=b}function o(a,b){return-1!==g(a,b)}function p(a,b,c){return a.length>b?Array.prototype.slice.call(a,b):c}function q(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 r(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 s(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 t(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 u(a,b,c){return a&&b in a?a[b]:c}function v(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function w(a){var b=function(){};return b.prototype=a,new b}function x(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 y(a,b){var c,d=arguments.length;for(a.prototype=w(b.prototype),a.prototype.constructor=a,c=2;d>c;c++)x(a.prototype,arguments[c]);return a}function z(){}function A(a){return a}function B(a,b){return b}function C(a,b){return a===b}function D(a,b){return[a,b]}function E(a){return"function"==typeof a}function F(a,b){function c(a,b){M.call(this),this._wait=a,this._intervalId=null;var c=this;this._$onTick=function(){c._onTick()},this._init(b)}y(c,M,{_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(){M.prototype._clear.call(this),this._$onTick=null,this._free()}},b),eb[a]=function(a){return new c(a,p(arguments,1,[]))}}function G(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 y(d,c,{_clear:function(){c.prototype._clear.call(this),this._source=null,this._$handleAny=null,this._free()}},b),d}c=x({streamMethod:function(a){return function(){return new a(this,arguments)}},propertyMethod:function(a,b){return function(){return new b(this,arguments)}}},c||{}),b=x({_init:function(){},_free:function(){},_handleValue:function(a,b){this._send(hb,a,b)},_handleError:function(a,b){this._send(ib,a,b)},_handleEnd:function(a,b){this._send(gb,null,b)},_handleAny:function(a){switch(a.type){case hb:this._handleValue(a.value,a.current);break;case ib:this._handleError(a.value,a.current);break;case gb:this._handleEnd(a.value,a.current)}},_onActivation:function(){this._source.onAny(this._$handleAny)},_onDeactivation:function(){this._source.offAny(this._$handleAny)}},b||{});var e=d(M),f=d(N);c.streamMethod&&(M.prototype[a]=c.streamMethod(e,f)),c.propertyMethod&&(N.prototype[a]=c.propertyMethod(e,f))}function H(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=fb;var f=this;this._$handleSecondaryAny=function(a){f._handleSecondaryAny(a)},this._$handlePrimaryAny=function(a){f._handlePrimaryAny(a)},this._init(e)}return y(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=x({_init:function(){},_free:function(){},_handlePrimaryValue:function(a,b){this._send(hb,a,b)},_handlePrimaryError:function(a,b){this._send(ib,a,b)},_handlePrimaryEnd:function(a,b){this._send(gb,null,b)},_handleSecondaryValue:function(a){this._lastSecondary=a},_handleSecondaryError:function(a,b){this._send(ib,a,b)},_handleSecondaryEnd:function(){},_handlePrimaryAny:function(a){switch(a.type){case hb:this._handlePrimaryValue(a.value,a.current);break;case ib:this._handlePrimaryError(a.value,a.current);break;case gb:this._handlePrimaryEnd(a.value,a.current)}},_handleSecondaryAny:function(a){switch(a.type){case hb:this._handleSecondaryValue(a.value,a.current);break;case ib:this._handleSecondaryError(a.value,a.current);break;case gb: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(M),e=c(N);M.prototype[a]=function(a){return new d(this,a,p(arguments,1,[]))},N.prototype[a]=function(a){return new e(this,a,p(arguments,1,[]))}}function I(a,b,c){a===jb?b(c):a===c.type&&(a===hb||a===ib?b(c.value):b())}function J(){this._items=[]}function K(a,b,c){return{type:a,value:b,current:!!c}}function L(){this._dispatcher=new J,this._active=!1,this._alive=!0}function M(){L.call(this)}function N(){L.call(this),this._current=fb,this._currentError=fb}function O(a){if(M.call(this),this._queueLim=u(a,"queueLim",0),this._concurLim=u(a,"concurLim",-1),this._drop=u(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 P(a){O.call(this),0===a.length?this._send(gb):this._addAll(a),this._initialised=!0}function Q(a){O.call(this,{concurLim:1,queueLim:-1}),0===a.length?this._send(gb):this._addAll(a),this._initialised=!0}function R(){O.call(this)}function S(){O.call(this)}function T(a,b,c){O.call(this,c),this._source=a,this._fn=b||A,this._mainEnded=!1,this._lastCurrent=null;var d=this;this._$handleMainSource=function(a){d._handleMainSource(a)}}function U(a,b){M.call(this),0===a.length?this._send(gb):(this._buffers=l(a,function(a){return mb(a)?i(a):[]}),this._sources=l(a,function(a){return mb(a)?eb.never():a}),this._combinator=b?s(b,this._sources.length):A,this._aliveCount=0)}function V(a,b,c){M.call(this),0===a.length?this._send(gb):(this._activeCount=a.length,this._sources=e(a,b),this._combinator=c?s(c,this._sources.length):A,this._aliveCount=0,this._currents=new Array(this._sources.length),n(this._currents,fb),this._activating=!1,this._emitAfterActivation=!1,this._endAfterActivation=!1)}function W(a){return function(){return new a(this,arguments)}}function X(a,b){return function(){return new b(this,arguments)}}function Y(a){return{step:function(b,c){return a._send(hb,c,a._forcedCurrent),null},result:function(){return a._send(gb,null,a._forcedCurrent),null}}}function Z(a){return{convert:!0,value:a}}function $(a){return{convert:!0,error:a}}function _(a){M.call(this),this._fn=a,this._unsubscribe=null}function ab(){M.call(this)}function bb(a){N.call(this),this._send(hb,a),this._send(gb)}function cb(a){N.call(this),this._send(ib,a),this._send(gb)}function db(a){M.call(this),this._generator=a,this._source=null,this._inLoop=!1,this._activating=!1,this._iteration=0;var b=this;this._$handleAny=function(a){b._handleAny(a)}}var eb={},fb=["<nothing>"],gb="end",hb="value",ib="error",jb="any",kb=Date.now?function(){return Date.now()}:function(){return(new Date).getTime()},lb=void 0!==typeof console&&E(console.log)?function(a){console.log(a)}:z,mb=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)},nb=function(a){return"[object Arguments]"===Object.prototype.toString.call(a)};nb(arguments)||(nb=function(a){return!(!a||!v(a,"callee"))}),x(J.prototype,{add:function(a,b,c){return this._items=e(this._items,[{type:a,fn:b,key:c||null}]),this._items.length},remove:function(a,b,c){var d=mb(c)?function(b){return b.type===a&&r(b.key,c)}:function(c){return c.type===a&&c.fn===b};return this._items=k(this._items,d),this._items.length},dispatch:function(a){for(var b=this._items,c=0;c<b.length;c++)I(b[c].type,b[c].fn,a)}});var ob=K(gb,void 0,!0);eb.Observable=L,x(L.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._dispatcher=null},_send:function(a,b,c){this._alive&&(this._dispatcher.dispatch(K(a,b,c)),a===gb&&this._clear())},_on:function(a,b,c){return this._alive?(this._dispatcher.add(a,b,c),this._setActive(!0)):I(a,b,ob),this},_off:function(a,b,c){if(this._alive){var d=this._dispatcher.remove(a,b,c);0===d&&this._setActive(!1)}return this},onValue:function(a,b){return this._on(hb,a,b)},onError:function(a,b){return this._on(ib,a,b)},onEnd:function(a,b){return this._on(gb,a,b)},onAny:function(a,b){return this._on(jb,a,b)},offValue:function(a,b){return this._off(hb,a,b)},offError:function(a,b){return this._off(ib,a,b)},offEnd:function(a,b){return this._off(gb,a,b)},offAny:function(a,b){return this._off(jb,a,b)}}),L.prototype.toString=function(){return"["+this._name+"]"},eb.Stream=M,y(M,L,{_name:"stream"}),eb.Property=N,y(N,L,{_name:"property",_send:function(a,b,c){this._alive&&(c||this._dispatcher.dispatch(K(a,b)),a===hb&&(this._current=b),a===ib&&(this._currentError=b),a===gb&&this._clear())},_on:function(a,b,c){return this._alive&&(this._dispatcher.add(a,b,c),this._setActive(!0)),this._current!==fb&&I(a,b,K(hb,this._current,!0)),this._currentError!==fb&&I(a,b,K(ib,this._currentError,!0)),this._alive||I(a,b,ob),this}}),L.prototype.log=function(a){return a=a||this.toString(),this.onAny(function(b){var c="<"+b.type+(b.current?":current":"")+">";b.type===hb||b.type===ib?console.log(a,c,b.value):console.log(a,c)},["__logKey__",this,a]),this},L.prototype.offLog=function(a){return a=a||this.toString(),this.offAny(null,["__logKey__",this,a]),this},F("withInterval",{_init:function(a){this._fn=a[0];var b=this;this._emitter={emit:function(a){b._send(hb,a)},error:function(a){b._send(ib,a)},end:function(){b._send(gb)},emitEvent:function(a){b._send(a.type,a.value)}}},_free:function(){this._fn=null,this._emitter=null},_onTick:function(){this._fn(this._emitter)}}),F("fromPoll",{_init:function(a){this._fn=a[0]},_free:function(){this._fn=null},_onTick:function(){this._send(hb,this._fn())}}),F("interval",{_init:function(a){this._x=a[0]},_free:function(){this._x=null},_onTick:function(){this._send(hb,this._x)}}),F("sequentially",{_init:function(a){this._xs=i(a[0]),0===this._xs.length&&this._send(gb)},_free:function(){this._xs=null},_onTick:function(){switch(this._xs.length){case 1:this._send(hb,this._xs[0]),this._send(gb);break;default:this._send(hb,this._xs.shift())}}}),F("repeatedly",{_init:function(a){this._xs=i(a[0]),this._i=-1},_onTick:function(){this._xs.length>0&&(this._i=(this._i+1)%this._xs.length,this._send(hb,this._xs[this._i]))}}),F("later",{_init:function(a){this._x=a[0]},_free:function(){this._x=null},_onTick:function(){this._send(hb,this._x),this._send(gb)}}),y(O,M,{_name:"abstractPool",_add:function(a,b){b=b||A,-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;m(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===hb||a.type===ib)&&this._send(a.type,a.value,a.current&&this._activating)},_removeQueue:function(a){var b=g(this._queue,a);return this._queue=j(this._queue,b),b},_removeCur:function(a){this._active&&this._unsubscribe(a);var b=g(this._curSources,a);return this._curSources=j(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=i(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._active&&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(){M.prototype._clear.call(this),this._queue=null,this._curSources=null,this._$handleSubAny=null}});var pb={_onEmpty:function(){this._initialised&&this._send(gb,null,this._activating)}};y(P,O,x({_name:"merge"},pb)),eb.merge=function(a){return new P(a)},L.prototype.merge=function(a){return eb.merge([this,a])},y(Q,O,x({_name:"concat"},pb)),eb.concat=function(a){return new Q(a)},L.prototype.concat=function(a){return eb.concat([this,a])},eb.Pool=R,y(R,O,{_name:"pool",plug:function(a){return this._add(a),this},unplug:function(a){return this._remove(a),this}}),eb.pool=function(){return new R},eb.Bus=S,y(S,O,{_name:"bus",plug:function(a){return this._add(a),this},unplug:function(a){return this._remove(a),this},emit:function(a){return this._send(hb,a),this},error:function(a){return this._send(ib,a),this},end:function(){return this._send(gb),this},emitEvent:function(a){this._send(a.type,a.value)}}),eb.bus=function(){return new S},y(T,O,{_onActivation:function(){O.prototype._onActivation.call(this),this._active&&(this._activating=!0,this._source.onAny(this._$handleMainSource),this._activating=!1)},_onDeactivation:function(){O.prototype._onDeactivation.call(this),this._source.offAny(this._$handleMainSource)},_handleMainSource:function(a){a.type===hb&&(a.current&&this._lastCurrent===a.value||this._add(a.value,this._fn),this._lastCurrent=a.value),a.type===ib&&this._send(ib,a.value,a.current),a.type===gb&&(this._isEmpty()?this._send(gb,null,a.current):this._mainEnded=!0)},_onEmpty:function(){this._mainEnded&&this._send(gb)},_clear:function(){O.prototype._clear.call(this),this._source=null,this._lastCurrent=null,this._$handleMainSource=null}}),L.prototype.flatMap=function(a){return new T(this,a).setName(this,"flatMap")},L.prototype.flatMapLatest=function(a){return new T(this,a,{concurLim:1,drop:"old"}).setName(this,"flatMapLatest")},L.prototype.flatMapFirst=function(a){return new T(this,a,{concurLim:1}).setName(this,"flatMapFirst")},L.prototype.flatMapConcat=function(a){return new T(this,a,{queueLim:-1,concurLim:1}).setName(this,"flatMapConcat")},L.prototype.flatMapConcurLimit=function(a,b){var c;return 0===b?c=eb.never():(0>b&&(b=-1),c=new T(this,a,{queueLim:-1,concurLim:b})),c.setName(this,"flatMapConcurLimit")},y(U,M,{_name:"zip",_onActivation:function(){var a,b=this._sources.length;for(this._drainArrays(),this._aliveCount=b,a=0;b>a;a++)this._active&&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(hb,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===hb&&(this._buffers[a].push(b.value),this._emitIfFull(b.current)),b.type===ib&&this._send(ib,b.value,b.current),b.type===gb&&(this._aliveCount--,0===this._aliveCount&&this._send(gb,null,b.current))},_clear:function(){M.prototype._clear.call(this),this._sources=null,this._buffers=null,this._combinator=null}}),eb.zip=function(a,b){return new U(a,b)},L.prototype.zip=function(a,b){return new U([this,a],b)},y(V,M,{_name:"combine",_onActivation:function(){var a,b=this._sources.length;for(this._aliveCount=this._activeCount,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(gb,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(!o(this._currents,fb)){var b=i(this._currents);b=this._combinator(b),this._send(hb,b,a)}},_bindHandleAny:function(a){var b=this;return function(c){b._handleAny(a,c)}},_handleAny:function(a,b){b.type===hb&&(this._currents[a]=b.value,a<this._activeCount&&(this._activating?this._emitAfterActivation=!0:this._emitIfFull(b.current))),b.type===ib&&this._send(ib,b.value,b.current),b.type===gb&&a<this._activeCount&&(this._aliveCount--,0===this._aliveCount&&(this._activating?this._endAfterActivation=!0:this._send(gb,null,b.current)))},_clear:function(){M.prototype._clear.call(this),this._sources=null,this._currents=null,this._combinator=null}}),eb.combine=function(a,b,c){return E(b)&&(c=b,b=null),new V(a,b||[],c)},L.prototype.combine=function(a,b){return eb.combine([this,a],b)},eb.DISABLE_SAMPLEDBY_WARNING=!1,eb.sampledBy=function(a,b,c){eb.DISABLE_SAMPLEDBY_WARNING||lb("Kefir.sampledBy() is deprecated, and to be removed in v3.0.0.\nUse Kefir.combine(active, passive, combinator) instead, but note than active/passive order is different.\nTo disable this warning set Kefir.DISABLE_SAMPLEDBY_WARNING to true.");var d=c;if(a.length>0){var e=a.length;d=function(){var a=f(arguments,e);return c?t(c,null,a):a}}return new V(b,a,d).setName("sampledBy")},L.prototype.sampledBy=function(a,b){var c;return b&&(c=function(a,c){return b(c,a)}),new V([a],[this],c||B).setName(this,"sampledBy")},G("toProperty",{_init:function(a){a.length>0&&this._send(hb,a[0])}},{propertyMethod:X,streamMethod:X}),G("changes",{_handleValue:function(a,b){b||this._send(hb,a)},_handleError:function(a,b){b||this._send(ib,a)}},{streamMethod:function(){return function(){return this}},propertyMethod:W}),G("withHandler",{_init:function(a){this._handler=a[0],this._forcedCurrent=!1;var b=this;this._emitter={emit:function(a){b._send(hb,a,b._forcedCurrent)},error:function(a){b._send(ib,a,b._forcedCurrent)},end:function(){b._send(gb,null,b._forcedCurrent)},emitEvent:function(a){b._send(a.type,a.value,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}}),G("flatten",{_init:function(a){this._fn=a[0]?a[0]:A},_free:function(){this._fn=null},_handleValue:function(a,b){for(var c=this._fn(a),d=0;d<c.length;d++)this._send(hb,c[d],b)}}),G("transduce",{_init:function(a){this._xform=a[0](Y(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 qb={_init:function(a){this._fn=a[0]||A},_free:function(){this._fn=null}};G("map",x({_handleValue:function(a,b){this._send(hb,this._fn(a),b)}},qb)),G("mapErrors",x({_handleError:function(a,b){this._send(ib,this._fn(a),b)}},qb)),G("errorsToValues",x({_init:function(a){this._fn=a[0]||Z},_free:function(){this._fn=null},_handleError:function(a,b){var c=this._fn(a),d=c.convert?hb:ib,e=c.convert?c.value:a;this._send(d,e,b)}})),G("valuesToErrors",x({_init:function(a){this._fn=a[0]||$},_free:function(){this._fn=null},_handleValue:function(a,b){var c=this._fn(a),d=c.convert?ib:hb,e=c.convert?c.error:a;this._send(d,e,b)}})),G("filter",x({_handleValue:function(a,b){this._fn(a)&&this._send(hb,a,b)}},qb)),G("filterErrors",x({_handleError:function(a,b){this._fn(a)&&this._send(ib,a,b)}},qb)),G("takeWhile",x({_handleValue:function(a,b){this._fn(a)?this._send(hb,a,b):this._send(gb,null,b)}},qb)),G("take",{_init:function(a){this._n=a[0],this._n<=0&&this._send(gb)},_handleValue:function(a,b){this._n--,this._send(hb,a,b),0===this._n&&this._send(gb,null,b)}}),G("skip",{_init:function(a){this._n=Math.max(0,a[0])},_handleValue:function(a,b){0===this._n?this._send(hb,a,b):this._n--}}),G("skipDuplicates",{_init:function(a){this._fn=a[0]||C,this._prev=fb},_free:function(){this._fn=null,this._prev=null},_handleValue:function(a,b){this._prev!==fb&&this._fn(this._prev,a)||(this._prev=a,this._send(hb,a,b))}}),G("skipWhile",{_init:function(a){this._fn=a[0]||A,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(hb,a,b))):void this._send(hb,a,b)}}),G("diff",{_init:function(a){this._fn=a[0]||D,this._prev=a.length>1?a[1]:fb},_free:function(){this._prev=null,this._fn=null},_handleValue:function(a,b){this._prev!==fb&&this._send(hb,this._fn(this._prev,a),b),this._prev=a}}),G("scan",{_init:function(a){this._fn=a[0],a.length>1&&this._send(hb,a[1],!0)},_free:function(){this._fn=null},_handleValue:function(a,b){this._current!==fb&&(a=this._fn(this._current,a)),this._send(hb,a,b)}},{streamMethod:X}),G("reduce",{_init:function(a){this._fn=a[0],this._result=a.length>1?a[1]:fb},_free:function(){this._fn=null,this._result=null},_handleValue:function(a){this._result=this._result===fb?a:this._fn(this._result,a)},_handleEnd:function(a,b){this._result!==fb&&this._send(hb,this._result,b),this._send(gb,null,b)}}),G("mapEnd",{_init:function(a){this._fn=a[0]},_free:function(){this._fn=null},_handleEnd:function(a,b){this._send(hb,this._fn(),b),this._send(gb,null,b)}}),G("skipValues",{_handleValue:function(){}}),G("skipErrors",{_handleError:function(){}}),G("skipEnd",{_handleEnd:function(){}}),G("endOnError",x({_handleError:function(a,b){this._send(ib,a,b),this._send(gb,null,b)}})),G("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=q(this._buff,a,this._max),this._buff.length>=this._min&&this._send(hb,this._buff,b)}}),G("bufferWhile",{_init:function(a){this._fn=a[0]||A,this._flushOnEnd=u(a[1],"flushOnEnd",!0),this._buff=[]},_free:function(){this._buff=null},_flush:function(a){null!==this._buff&&0!==this._buff.length&&(this._send(hb,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(gb,null,b)}}),G("debounce",{_init:function(a){this._wait=Math.max(0,a[0]),this._immediate=u(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(hb,a,b):(this._lastAttempt=kb(),this._immediate&&!this._timeoutId&&this._send(hb,a),this._timeoutId||(this._timeoutId=setTimeout(this._$later,this._wait)),this._immediate||(this._laterValue=a))},_handleEnd:function(a,b){b?this._send(gb,null,b):this._timeoutId&&!this._immediate?this._endLater=!0:this._send(gb)},_later:function(){var a=kb()-this._lastAttempt;a<this._wait&&a>=0?this._timeoutId=setTimeout(this._$later,this._wait-a):(this._timeoutId=null,this._immediate||(this._send(hb,this._laterValue),this._laterValue=null),this._endLater&&this._send(gb))}}),G("throttle",{_init:function(a){this._wait=Math.max(0,a[0]),this._leading=u(a[1],"leading",!0),this._trailing=u(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(hb,a,b);else{var c=kb();0!==this._lastCallTime||this._leading||(this._lastCallTime=c);var d=this._wait-(c-this._lastCallTime);0>=d?(this._cancelTraling(),this._lastCallTime=c,this._send(hb,a)):this._trailing&&(this._cancelTraling(),this._trailingValue=a,this._timeoutId=setTimeout(this._$trailingCall,d))}},_handleEnd:function(a,b){b?this._send(gb,null,b):this._timeoutId?this._endLater=!0:this._send(gb)},_cancelTraling:function(){null!==this._timeoutId&&(clearTimeout(this._timeoutId),this._timeoutId=null)},_trailingCall:function(){this._send(hb,this._trailingValue),this._timeoutId=null,this._trailingValue=null,this._lastCallTime=this._leading?kb():0,this._endLater&&this._send(gb)}}),G("delay",{_init:function(a){this._wait=Math.max(0,a[0]),this._buff=[];var b=this;this._$shiftBuff=function(){b._send(hb,b._buff.shift())}},_free:function(){this._buff=null,this._$shiftBuff=null},_handleValue:function(a,b){b?this._send(hb,a,b):(this._buff.push(a),setTimeout(this._$shiftBuff,this._wait))},_handleEnd:function(a,b){if(b)this._send(gb,null,b);else{var c=this;setTimeout(function(){c._send(gb)},this._wait)}}}),y(_,M,{_name:"fromBinder",_onActivation:function(){var a=this,b=!0,c={emit:function(c){a._send(hb,c,b)},error:function(c){a._send(ib,c,b)},end:function(){a._send(gb,null,b)},emitEvent:function(c){a._send(c.type,c.value,b)}};this._unsubscribe=this._fn(c)||null,this._active||null===this._unsubscribe||(this._unsubscribe(),this._unsubscribe=null),b=!1},_onDeactivation:function(){null!==this._unsubscribe&&(this._unsubscribe(),this._unsubscribe=null)},_clear:function(){M.prototype._clear.call(this),this._fn=null}}),eb.fromBinder=function(a){return new _(a)},y(ab,M,{_name:"emitter",emit:function(a){return this._send(hb,a),this},error:function(a){return this._send(ib,a),this},end:function(){return this._send(gb),this},emitEvent:function(a){this._send(a.type,a.value)}}),eb.emitter=function(){return new ab},eb.Emitter=ab;var rb=new M;rb._send(gb),rb._name="never",eb.never=function(){return rb},y(bb,N,{_name:"constant"}),eb.constant=function(a){return new bb(a)},y(cb,N,{_name:"constantError"}),eb.constantError=function(a){return new cb(a)},y(db,M,{_name:"repeat",_handleAny:function(a){a.type===gb?(this._source=null,this._startLoop()):this._send(a.type,a.value,this._activating)},_startLoop:function(){if(!this._inLoop){for(this._inLoop=!0;null===this._source&&this._alive&&this._active;)this._source=this._generator(this._iteration++),this._source?this._source.onAny(this._$handleAny):this._send(gb);this._inLoop=!1}},_onActivation:function(){this._activating=!0,this._source?this._source.onAny(this._$handleAny):this._startLoop(),this._activating=!1},_onDeactivation:function(){this._source&&this._source.offAny(this._$handleAny)},_clear:function(){M.prototype._clear.call(this),this._generator=null,this._source=null,this._$handleAny=null}}),eb.repeat=function(a){return new db(a)},L.prototype.setName=function(a,b){return this._name=b?a._name+"."+b:a,this},L.prototype.mapTo=function(a){return this.map(function(){return a}).setName(this,"mapTo")},L.prototype.pluck=function(a){return this.map(function(b){return b[a]}).setName(this,"pluck")},L.prototype.invoke=function(a){var b=p(arguments,1);return this.map(b?function(c){return t(c[a],c,b)}:function(b){return b[a]()}).setName(this,"invoke")},L.prototype.timestamp=function(){return this.map(function(a){return{value:a,time:kb()}}).setName(this,"timestamp")},L.prototype.tap=function(a){return this.map(function(b){return a(b),b}).setName(this,"tap")},eb.and=function(a){return eb.combine(a,b).setName("and")},L.prototype.and=function(a){return this.combine(a,b).setName("and")},eb.or=function(a){return eb.combine(a,c).setName("or")},L.prototype.or=function(a){return this.combine(a,c).setName("or")},L.prototype.not=function(){return this.map(d).setName(this,"not")},L.prototype.awaiting=function(a){return eb.merge([this.mapTo(!0),a.mapTo(!1)]).skipDuplicates().toProperty(!1).setName(this,"awaiting")},eb.fromCallback=function(a){var b=!1;return eb.fromBinder(function(c){b||(a(function(a){c.emit(a),c.end()}),b=!0)}).setName("fromCallback")},eb.fromNodeCallback=function(a){var b=!1;return eb.fromBinder(function(c){b||(a(function(a,b){a?c.error(a):c.emit(b),c.end()}),b=!0)}).setName("fromNodeCallback")},eb.fromPromise=function(a){var b=!1;return eb.fromBinder(function(c){if(!b){var d=function(a){c.emit(a),c.end()},e=function(a){c.error(a),c.end()},f=a.then(d,e);f&&E(f.done)&&f.done(),b=!0}}).toProperty().setName("fromPromise")},eb.fromSubUnsub=function(a,b,c){return eb.fromBinder(function(d){var e=c?function(){d.emit(t(c,this,arguments))}:d.emit;return a(e),function(){b(e)}})};var sb=[["addEventListener","removeEventListener"],["addListener","removeListener"],["on","off"]];eb.fromEvent=function(a,b,c){for(var d,e,f,g=0;g<sb.length;g++)if(d=sb[g],E(a[d[0]])&&E(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 eb.fromSubUnsub(function(c){a[e](b,c)},function(c){a[f](b,c)},c).setName("fromEvent")};var tb={_init:function(a){this._buff=[],this._flushOnEnd=u(a[0],"flushOnEnd",!0)},_free:function(){this._buff=null},_flush:function(a){null!==this._buff&&0!==this._buff.length&&(this._send(hb,this._buff,a),this._buff=[])},_handlePrimaryEnd:function(a,b){this._flushOnEnd&&this._flush(b),this._send(gb,null,b)}};H("bufferBy",x({_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(gb,null,b)}},tb)),H("bufferWhileBy",x({_handlePrimaryValue:function(a,b){this._buff.push(a),this._lastSecondary===fb||this._lastSecondary||this._flush(b)},_handleSecondaryEnd:function(a,b){this._flushOnEnd||this._lastSecondary!==fb&&!this._lastSecondary||this._send(gb,null,b)}},tb)),H("filterBy",{_handlePrimaryValue:function(a,b){this._lastSecondary!==fb&&this._lastSecondary&&this._send(hb,a,b)},_handleSecondaryEnd:function(a,b){this._lastSecondary!==fb&&this._lastSecondary||this._send(gb,null,b)}}),H("skipUntilBy",{_handlePrimaryValue:function(a,b){this._lastSecondary!==fb&&this._send(hb,a,b)},_handleSecondaryEnd:function(a,b){this._lastSecondary===fb&&this._send(gb,null,b)}}),H("takeUntilBy",{_handleSecondaryValue:function(a,b){this._send(gb,null,b)
}}),H("takeWhileBy",{_handlePrimaryValue:function(a,b){this._lastSecondary!==fb&&this._send(hb,a,b)},_handleSecondaryValue:function(a,b){this._lastSecondary=a,this._lastSecondary||this._send(gb,null,b)},_handleSecondaryEnd:function(a,b){this._lastSecondary===fb&&this._send(gb,null,b)}}),H("skipWhileBy",{_init:function(){this._hasFalseyFromSecondary=!1},_handlePrimaryValue:function(a,b){this._hasFalseyFromSecondary&&this._send(hb,a,b)},_handleSecondaryValue:function(a){this._hasFalseyFromSecondary=this._hasFalseyFromSecondary||!a},_handleSecondaryEnd:function(a,b){this._hasFalseyFromSecondary||this._send(gb,null,b)}}),"function"==typeof define&&define.amd?(define([],function(){return eb}),a.Kefir=eb):"object"==typeof module&&"object"==typeof exports?(module.exports=eb,eb.Kefir=eb):a.Kefir=eb}(this);
//# sourceMappingURL=kefir.min.js.map
{
"name": "kefir",
"version": "1.1.0",
"version": "1.2.0",
"description": "Reactive Programming library for JavaScript inspired by Bacon.js and RxJS with focus on high performance and low memory usage",

@@ -32,15 +32,15 @@ "main": "dist/kefir.js",

"devDependencies": {
"baconjs": "0.7.48",
"baconjs": "0.7.52",
"benchmark": "1.0.0",
"coffee-script": "1.9.0",
"coffee-script": "1.9.1",
"coffeeify": "1.0.0",
"grunt": "0.4.5",
"grunt-bower-task": "0.4.0",
"grunt-browserify": "3.3.0",
"grunt-browserify": "3.5.0",
"grunt-cli": "0.1.13",
"grunt-contrib-clean": "0.6.0",
"grunt-contrib-concat": "0.5.0",
"grunt-contrib-concat": "0.5.1",
"grunt-contrib-jade": "0.14.1",
"grunt-contrib-jshint": "0.11.0",
"grunt-contrib-uglify": "0.7.0",
"grunt-contrib-uglify": "0.8.0",
"grunt-contrib-watch": "0.6.1",

@@ -51,6 +51,7 @@ "grunt-jasmine-node": "git+https://git@github.com/pozadi/grunt-jasmine-node.git",

"load-grunt-tasks": "3.1.0",
"rx": "2.3.25",
"rx": "2.4.1",
"semver": "2.3.0",
"shelljs": "0.3.0",
"sinon": "1.12.2",
"time-grunt": "1.1.0",
"transducers-js": "0.4.135",

@@ -57,0 +58,0 @@ "transducers.js": "0.2.3"

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