Comparing version 0.0.3 to 0.0.4
{ | ||
"name": "baconjs", | ||
"version": "0.0.3", | ||
"version": "0.0.4", | ||
"main": "./lib/Bacon.js" | ||
} |
246
lib/Bacon.js
@@ -0,6 +1,7 @@ | ||
// Generated by CoffeeScript 1.3.3 | ||
(function() { | ||
var Bacon, Bus, Dispatcher, End, Error, Event, EventStream, Initial, Next, None, Observable, Property, PropertyDispatcher, Some, assert, assertArray, assertEvent, assertFunction, assertString, cloneArray, cloneObject, end, former, initial, isEvent, isFieldKey, isFunction, latter, makeFunction, methodCall, next, nop, partiallyApplied, remove, sendWrapped, toCombinator, toEvent, toFieldExtractor, toFieldKey, toOption, toSimpleExtractor, _, _ref, | ||
__slice = Array.prototype.slice, | ||
__hasProp = Object.prototype.hasOwnProperty, | ||
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor; child.__super__ = parent.prototype; return child; }, | ||
__slice = [].slice, | ||
__hasProp = {}.hasOwnProperty, | ||
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, | ||
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; | ||
@@ -17,3 +18,5 @@ | ||
reply = sink(next(event)); | ||
if (reply === Bacon.noMore) return unbind(); | ||
if (reply === Bacon.noMore) { | ||
return unbind(); | ||
} | ||
}; | ||
@@ -87,3 +90,5 @@ unbind = function() { | ||
reply = sink(value); | ||
if (reply === Bacon.noMore || value.isEnd()) return unbind(); | ||
if (reply === Bacon.noMore || value.isEnd()) { | ||
return unbind(); | ||
} | ||
}; | ||
@@ -104,3 +109,5 @@ unbind = function() { | ||
reply = sink(next(event)); | ||
if (reply === Bacon.noMore) return unbind(); | ||
if (reply === Bacon.noMore) { | ||
return unbind(); | ||
} | ||
}; | ||
@@ -124,3 +131,5 @@ if (target.addEventListener) { | ||
var poll; | ||
if (value == null) value = {}; | ||
if (value == null) { | ||
value = {}; | ||
} | ||
poll = function() { | ||
@@ -161,8 +170,8 @@ return next(value); | ||
Bacon.combineAll = function(streams, f) { | ||
var next, stream, _i, _len, _ref2; | ||
var next, stream, _i, _len, _ref1; | ||
assertArray(streams); | ||
stream = _.head(streams); | ||
_ref2 = _.tail(streams); | ||
for (_i = 0, _len = _ref2.length; _i < _len; _i++) { | ||
next = _ref2[_i]; | ||
_ref1 = _.tail(streams); | ||
for (_i = 0, _len = _ref1.length; _i < _len; _i++) { | ||
next = _ref1[_i]; | ||
stream = f(stream, next); | ||
@@ -180,16 +189,22 @@ } | ||
Bacon.combineAsArray = function() { | ||
var more, next, stream, streams, _i, _len, _ref2; | ||
var more, next, stream, streams, _i, _len, _ref1; | ||
streams = arguments[0], more = 2 <= arguments.length ? __slice.call(arguments, 1) : []; | ||
if (!(streams instanceof Array)) streams = [streams].concat(more); | ||
stream = (_.head(streams)).toProperty().map(function(x) { | ||
return [x]; | ||
}); | ||
_ref2 = _.tail(streams); | ||
for (_i = 0, _len = _ref2.length; _i < _len; _i++) { | ||
next = _ref2[_i]; | ||
stream = stream.combine(next, function(xs, x) { | ||
return xs.concat([x]); | ||
if (!(streams instanceof Array)) { | ||
streams = [streams].concat(more); | ||
} | ||
if (streams.length) { | ||
stream = (_.head(streams)).toProperty().map(function(x) { | ||
return [x]; | ||
}); | ||
_ref1 = _.tail(streams); | ||
for (_i = 0, _len = _ref1.length; _i < _len; _i++) { | ||
next = _ref1[_i]; | ||
stream = stream.combine(next, function(xs, x) { | ||
return xs.concat([x]); | ||
}); | ||
} | ||
return stream; | ||
} else { | ||
return Bacon.constant([]); | ||
} | ||
return stream; | ||
}; | ||
@@ -271,3 +286,5 @@ | ||
src.subscribe(function(event) { | ||
if (event.hasValue()) return latest = event.value; | ||
if (event.hasValue()) { | ||
return latest = event.value; | ||
} | ||
}); | ||
@@ -368,3 +385,3 @@ return function() { | ||
function Initial() { | ||
Initial.__super__.constructor.apply(this, arguments); | ||
return Initial.__super__.constructor.apply(this, arguments); | ||
} | ||
@@ -393,3 +410,3 @@ | ||
function End() { | ||
End.__super__.constructor.apply(this, arguments); | ||
return End.__super__.constructor.apply(this, arguments); | ||
} | ||
@@ -449,3 +466,5 @@ | ||
this["switch"] = __bind(this["switch"], this); | ||
this.takeUntil = __bind(this.takeUntil, this); this.assign = this.onValue; | ||
this.takeUntil = __bind(this.takeUntil, this); | ||
this.assign = this.onValue; | ||
} | ||
@@ -458,3 +477,5 @@ | ||
return this.subscribe(function(event) { | ||
if (event.hasValue()) return f(event.value); | ||
if (event.hasValue()) { | ||
return f(event.value); | ||
} | ||
}); | ||
@@ -474,3 +495,5 @@ }; | ||
return this.subscribe(function(event) { | ||
if (event.isError()) return f(event.error); | ||
if (event.isError()) { | ||
return f(event.error); | ||
} | ||
}); | ||
@@ -484,3 +507,5 @@ }; | ||
return this.subscribe(function(event) { | ||
if (event.isEnd()) return f(); | ||
if (event.isEnd()) { | ||
return f(); | ||
} | ||
}); | ||
@@ -576,3 +601,5 @@ }; | ||
return this.withHandler(function(event) { | ||
if (event.hasValue()) f(event.value); | ||
if (event.hasValue()) { | ||
f(event.value); | ||
} | ||
return this.push(event); | ||
@@ -605,3 +632,5 @@ }); | ||
reply = sink(event); | ||
if (reply === Bacon.noMore) return unsubBoth(); | ||
if (reply === Bacon.noMore) { | ||
return unsubBoth(); | ||
} | ||
} | ||
@@ -624,3 +653,5 @@ }); | ||
unsubSrc = src.subscribe(srcSink); | ||
if (!unsubscribed) unsubStopper = stopper.subscribe(stopperSink); | ||
if (!unsubscribed) { | ||
unsubStopper = stopper.subscribe(stopperSink); | ||
} | ||
return unsubBoth; | ||
@@ -674,3 +705,5 @@ }); | ||
reply = this.push(output); | ||
if (reply === Bacon.noMore) return reply; | ||
if (reply === Bacon.noMore) { | ||
return reply; | ||
} | ||
} | ||
@@ -699,3 +732,5 @@ return reply; | ||
checkEnd = function() { | ||
if (rootEnd && (children.length === 0)) return sink(end()); | ||
if (rootEnd && (children.length === 0)) { | ||
return sink(end()); | ||
} | ||
}; | ||
@@ -714,3 +749,5 @@ spawner = function(event) { | ||
removeChild = function() { | ||
if (unsubChild != null) remove(unsubChild, children); | ||
if (unsubChild != null) { | ||
remove(unsubChild, children); | ||
} | ||
return checkEnd(); | ||
@@ -726,3 +763,5 @@ }; | ||
reply = sink(event); | ||
if (reply === Bacon.noMore) unbind(); | ||
if (reply === Bacon.noMore) { | ||
unbind(); | ||
} | ||
return reply; | ||
@@ -732,3 +771,5 @@ } | ||
unsubChild = child.subscribe(handler); | ||
if (!childEnded) return children.push(unsubChild); | ||
if (!childEnded) { | ||
return children.push(unsubChild); | ||
} | ||
} | ||
@@ -760,3 +801,3 @@ }; | ||
}); | ||
return; | ||
return void 0; | ||
}; | ||
@@ -859,3 +900,5 @@ | ||
values.push(event.value); | ||
if (values.length === count) return flush(); | ||
if (values.length === count) { | ||
return flush(); | ||
} | ||
} | ||
@@ -890,3 +933,5 @@ }); | ||
reply = sink(event); | ||
if (reply === Bacon.noMore) unsubBoth(); | ||
if (reply === Bacon.noMore) { | ||
unsubBoth(); | ||
} | ||
return reply; | ||
@@ -896,3 +941,5 @@ } | ||
unsubLeft = left.subscribe(smartSink); | ||
if (!unsubscribed) unsubRight = right.subscribe(smartSink); | ||
if (!unsubscribed) { | ||
unsubRight = right.subscribe(smartSink); | ||
} | ||
return unsubBoth; | ||
@@ -903,3 +950,5 @@ }); | ||
EventStream.prototype.toProperty = function(initValue) { | ||
if (arguments.length === 0) initValue = None; | ||
if (arguments.length === 0) { | ||
initValue = None; | ||
} | ||
return this.scan(initValue, latter); | ||
@@ -928,3 +977,7 @@ }; | ||
}).getOrElse(Bacon.more); | ||
if (reply !== Bacon.noMore) return d.subscribe(sink); | ||
if (reply !== Bacon.noMore) { | ||
return d.subscribe(sink); | ||
} else { | ||
return nop; | ||
} | ||
}; | ||
@@ -1003,5 +1056,9 @@ return new Property(subscribe); | ||
this.toEventStream = __bind(this.toEventStream, this); | ||
this.toProperty = __bind(this.toProperty, this); | ||
this.changes = __bind(this.changes, this); | ||
this.sample = __bind(this.sample, this); | ||
Property.__super__.constructor.call(this); | ||
@@ -1028,3 +1085,5 @@ combine = function(other, leftSink, rightSink) { | ||
reply = sink(end()); | ||
if (reply === Bacon.noMore) unsubBoth(); | ||
if (reply === Bacon.noMore) { | ||
unsubBoth(); | ||
} | ||
return reply; | ||
@@ -1043,3 +1102,5 @@ } | ||
reply = sink(event); | ||
if (reply === Bacon.noMore) unsubBoth(); | ||
if (reply === Bacon.noMore) { | ||
unsubBoth(); | ||
} | ||
return reply; | ||
@@ -1054,3 +1115,5 @@ } else { | ||
reply = thisSink(sink, event, myVal.value, otherVal.value); | ||
if (reply === Bacon.noMore) unsubBoth(); | ||
if (reply === Bacon.noMore) { | ||
unsubBoth(); | ||
} | ||
return reply; | ||
@@ -1075,3 +1138,5 @@ } | ||
unsubMe = _this.subscribe(mySink); | ||
if (!unsubscribed) unsubOther = other.subscribe(otherSink); | ||
if (!unsubscribed) { | ||
unsubOther = other.subscribe(otherSink); | ||
} | ||
return unsubBoth; | ||
@@ -1090,3 +1155,5 @@ }); | ||
var pushPropertyValue; | ||
if (combinator == null) combinator = former; | ||
if (combinator == null) { | ||
combinator = former; | ||
} | ||
combinator = toCombinator(combinator); | ||
@@ -1108,3 +1175,5 @@ pushPropertyValue = function(sink, event, propertyVal, streamVal) { | ||
return _this.subscribe(function(event) { | ||
if (!event.isInitial()) return sink(event); | ||
if (!event.isInitial()) { | ||
return sink(event); | ||
} | ||
}); | ||
@@ -1130,3 +1199,5 @@ }); | ||
return _this.subscribe(function(event) { | ||
if (event.isInitial()) event = next(event.value); | ||
if (event.isInitial()) { | ||
event = next(event.value); | ||
} | ||
return sink(event); | ||
@@ -1172,3 +1243,3 @@ }); | ||
this.push = function(event) { | ||
var done, reply, sink, waiters, _i, _len, _ref2; | ||
var done, reply, sink, waiters, _i, _len, _ref1; | ||
waiters = void 0; | ||
@@ -1195,7 +1266,9 @@ done = function() { | ||
assertEvent(event); | ||
_ref2 = cloneArray(sinks); | ||
for (_i = 0, _len = _ref2.length; _i < _len; _i++) { | ||
sink = _ref2[_i]; | ||
_ref1 = cloneArray(sinks); | ||
for (_i = 0, _len = _ref1.length; _i < _len; _i++) { | ||
sink = _ref1[_i]; | ||
reply = sink(event); | ||
if (reply === Bacon.noMore || event.isEnd()) removeSink(sink); | ||
if (reply === Bacon.noMore || event.isEnd()) { | ||
removeSink(sink); | ||
} | ||
} | ||
@@ -1232,3 +1305,5 @@ done(); | ||
removeSink(sink); | ||
if (!_this.hasSubscribers()) return unsubscribeFromSource(); | ||
if (!_this.hasSubscribers()) { | ||
return unsubscribeFromSource(); | ||
} | ||
}; | ||
@@ -1247,3 +1322,3 @@ }; | ||
function PropertyDispatcher(subscribe, handleEvent) { | ||
var current, push, | ||
var current, ended, push, | ||
_this = this; | ||
@@ -1254,9 +1329,18 @@ PropertyDispatcher.__super__.constructor.call(this, subscribe, handleEvent); | ||
subscribe = this.subscribe; | ||
ended = false; | ||
this.push = function(event) { | ||
if (event.hasValue()) current = new Some(event.value); | ||
if (event.isEnd()) { | ||
ended = true; | ||
} | ||
if (event.hasValue()) { | ||
current = new Some(event.value); | ||
} | ||
return push.apply(_this, [event]); | ||
}; | ||
this.subscribe = function(sink) { | ||
var reply; | ||
reply = current.filter(_this.hasSubscribers).map(function(val) { | ||
var reply, shouldBounceInitialValue; | ||
shouldBounceInitialValue = function() { | ||
return _this.hasSubscribers() || ended; | ||
}; | ||
reply = current.filter(shouldBounceInitialValue).map(function(val) { | ||
return sink(initial(val)); | ||
@@ -1306,8 +1390,8 @@ }); | ||
subscribeAll = function(newSink) { | ||
var input, _i, _len, _ref2; | ||
var input, _i, _len, _ref1; | ||
sink = newSink; | ||
unsubFuncs = []; | ||
_ref2 = cloneArray(inputs); | ||
for (_i = 0, _len = _ref2.length; _i < _len; _i++) { | ||
input = _ref2[_i]; | ||
_ref1 = cloneArray(inputs); | ||
for (_i = 0, _len = _ref1.length; _i < _len; _i++) { | ||
input = _ref1[_i]; | ||
unsubFuncs.push(input.subscribe(guardedSink(input))); | ||
@@ -1323,3 +1407,5 @@ } | ||
this.plug = function(inputStream) { | ||
if (ended) return; | ||
if (ended) { | ||
return; | ||
} | ||
inputs.push(inputStream); | ||
@@ -1331,6 +1417,10 @@ if ((sink != null)) { | ||
this.push = function(value) { | ||
if (sink != null) return sink(next(value)); | ||
if (sink != null) { | ||
return sink(next(value)); | ||
} | ||
}; | ||
this.error = function(error) { | ||
if (sink != null) return sink(new Error(error)); | ||
if (sink != null) { | ||
return sink(new Error(error)); | ||
} | ||
}; | ||
@@ -1340,3 +1430,5 @@ this.end = function() { | ||
unsubAll(); | ||
if (sink != null) return sink(end()); | ||
if (sink != null) { | ||
return sink(end()); | ||
} | ||
}; | ||
@@ -1457,7 +1549,11 @@ } | ||
i = xs.indexOf(x); | ||
if (i >= 0) return xs.splice(i, 1); | ||
if (i >= 0) { | ||
return xs.splice(i, 1); | ||
} | ||
}; | ||
assert = function(message, condition) { | ||
if (!condition) throw message; | ||
if (!condition) { | ||
throw message; | ||
} | ||
}; | ||
@@ -1488,3 +1584,5 @@ | ||
assertString(method); | ||
if (args === void 0) args = []; | ||
if (args === void 0) { | ||
args = []; | ||
} | ||
return function(value) { | ||
@@ -1526,3 +1624,3 @@ return obj[method].apply(obj, args.concat([value])); | ||
return function(value) { | ||
var f, _i, _len; | ||
var _i, _len; | ||
for (_i = 0, _len = partFuncs.length; _i < _len; _i++) { | ||
@@ -1604,3 +1702,5 @@ f = partFuncs[_i]; | ||
x = xs[_i]; | ||
if (f(x)) filtered.push(x); | ||
if (f(x)) { | ||
filtered.push(x); | ||
} | ||
} | ||
@@ -1607,0 +1707,0 @@ return filtered; |
@@ -1,1 +0,2 @@ | ||
((function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M=Array.prototype.slice,N=Object.prototype.hasOwnProperty,O=function(a,b){function d(){this.constructor=a}for(var c in b)N.call(b,c)&&(a[c]=b[c]);return d.prototype=b.prototype,a.prototype=new d,a.__super__=b.prototype,a},P=function(a,b){return function(){return a.apply(b,arguments)}};(L=this.jQuery||this.Zepto)!=null&&(L.fn.asEventStream=function(b,c){var d;return d=this,new g(function(e){var f,g;return f=function(b){var c;c=e(z(b));if(c===a.noMore)return g()},g=function(){return d.off(b,c,f)},d.on(b,c,f),g})}),a=this.Bacon={},a.fromPromise=function(b){return new a.EventStream(function(a){var c,f;return f=function(b){return a(new i(b)),a(new d)},c=function(b){return a(new e(b)),a(new d)},b.then(f,c),A})},a.noMore="veggies",a.more="moar bacon!",a.later=function(b,c){return a.sequentially(b,[c])},a.sequentially=function(b,c){var d,e;return d=-1,e=function(){return d++,d<c.length?F(c[d]):q()},a.fromPoll(b,e)},a.repeatedly=function(b,c){var d,e;return d=-1,e=function(){return d++,F(c[d%c.length])},a.fromPoll(b,e)},a.fromPoll=function(b,c){return new g(function(d){var e,f,g;return f=void 0,e=function(){var b,e;e=c(),b=d(e);if(b===a.noMore||e.isEnd())return g()},g=function(){return clearInterval(f)},f=setInterval(e,b),g})},a.fromEventTarget=function(b,c){return new g(function(d){var e,f;return e=function(b){var c;c=d(z(b));if(c===a.noMore)return f()},b.addEventListener?(f=function(){return b.removeEventListener(c,e,!1)},b.addEventListener(c,e,!1)):(f=function(){return b.removeListener(c,e)},b.addListener(c,e)),f})},a.interval=function(b,c){var d;return c==null&&(c={}),d=function(){return z(c)},a.fromPoll(b,d)},a.constant=function(a){return new l(D([a],s))},a.never=function(){return a.fromArray([])},a.once=function(b){return a.fromArray([b])},a.fromArray=function(a){return new g(D(a,z))},D=function(a,b){return function(c){var d,e,f;for(e=0,f=a.length;e<f;e++)d=a[e],c(b(d));return c(q()),A}},a.combineAll=function(a,b){var c,d,e,f,g;d=K.head(a),g=K.tail(a);for(e=0,f=g.length;e<f;e++)c=g[e],d=b(d,c);return d},a.mergeAll=function(b){return a.combineAll(b,function(a,b){return a.merge(b)})},a.combineAsArray=function(){var a,b,c,d,e,f,g;d=arguments[0],a=2<=arguments.length?M.call(arguments,1):[],d instanceof Array||(d=[d].concat(a)),c=K.head(d).toProperty().map(function(a){return[a]}),g=K.tail(d);for(e=0,f=g.length;e<f;e++)b=g[e],c=c.combine(b,function(a,b){return a.concat([b])});return c},a.combineWith=function(b,c){return a.combineAll(b,function(a,b){return a.toProperty().combine(b,c)})},a.combineTemplate=function(b){var c,d,e,f,g,h,i,j;return h=[],j=[],g=function(a){return a[a.length-1]},i=function(a,b,c){return g(a)[b]=c},c=function(a,b){return function(c,d){return i(c,a,d[b])}},f=function(a,b){return function(c,d){return i(c,a,b)}},e=function(a){var b,d,g,l,m;m=[];for(b in a)l=a[b],l instanceof k?(j.push(l),m.push(h.push(c(b,j.length-1)))):typeof l=="object"?(g=function(a){return function(b,c){var d;return d={},i(b,a,d),b.push(d)}},d=function(a,b){return a.pop()},h.push(g(b)),e(l),m.push(h.push(d))):m.push(h.push(f(b,l)));return m},e(b),d=function(a){var b,c,d,e,f;d={},b=[d];for(e=0,f=h.length;e<f;e++)c=h[e],c(b,a);return d},a.combineAsArray(j).map(d)},a.latestValue=function(a){var b,c=this;return b=void 0,a.subscribe(function(a){if(a.hasValue())return b=a.value}),function(){return b}},f=function(){function a(){}return a.prototype.isEvent=function(){return!0},a.prototype.isEnd=function(){return!1},a.prototype.isInitial=function(){return!1},a.prototype.isNext=function(){return!1},a.prototype.isError=function(){return!1},a.prototype.hasValue=function(){return!1},a.prototype.filter=function(a){return!0},a.prototype.getOriginalEvent=function(){return this.sourceEvent!=null?this.sourceEvent.getOriginalEvent():this},a.prototype.onDone=function(a){return a()},a}(),i=function(a){function b(a,b){this.value=a}return O(b,a),b.prototype.isNext=function(){return!0},b.prototype.hasValue=function(){return!0},b.prototype.fmap=function(a){return this.apply(a(this.value))},b.prototype.apply=function(a){return z(a,this.getOriginalEvent())},b.prototype.filter=function(a){return a(this.value)},b.prototype.describe=function(){return this.value},b}(f),h=function(a){function b(){b.__super__.constructor.apply(this,arguments)}return O(b,a),b.prototype.isInitial=function(){return!0},b.prototype.isNext=function(){return!1},b.prototype.apply=function(a){return s(a,this.getOriginalEvent())},b}(i),d=function(a){function b(){b.__super__.constructor.apply(this,arguments)}return O(b,a),b.prototype.isEnd=function(){return!0},b.prototype.fmap=function(){return this},b.prototype.apply=function(){return this},b.prototype.describe=function(){return"<end>"},b}(f),e=function(a){function b(a){this.error=a}return O(b,a),b.prototype.isError=function(){return!0},b.prototype.fmap=function(){return this},b.prototype.apply=function(){return this},b.prototype.describe=function(){return"<error> "+this.error},b}(f),k=function(){function b(){this["switch"]=P(this["switch"],this),this.takeUntil=P(this.takeUntil,this),this.assign=this.onValue}return b.prototype.onValue=function(){var a,b;return b=arguments[0],a=2<=arguments.length?M.call(arguments,1):[],b=x(b,a),this.subscribe(function(a){if(a.hasValue())return b(a.value)})},b.prototype.onValues=function(a){return this.onValue(function(b){return a.apply(null,b)})},b.prototype.onError=function(){var a,b;return b=arguments[0],a=2<=arguments.length?M.call(arguments,1):[],b=x(b,a),this.subscribe(function(a){if(a.isError())return b(a.error)})},b.prototype.onEnd=function(){var a,b;return b=arguments[0],a=2<=arguments.length?M.call(arguments,1):[],b=x(b,a),this.subscribe(function(a){if(a.isEnd())return b()})},b.prototype.errors=function(){return this.filter(function(){return!1})},b.prototype.filter=function(){var b,c;return c=arguments[0],b=2<=arguments.length?M.call(arguments,1):[],c=x(c,b),this.withHandler(function(b){return b.filter(c)?this.push(b):a.more})},b.prototype.takeWhile=function(){var b,c;return c=arguments[0],b=2<=arguments.length?M.call(arguments,1):[],c=x(c,b),this.withHandler(function(b){return b.filter(c)?this.push(b):(this.push(q()),a.noMore)})},b.prototype.endOnError=function(){return this.withHandler(function(a){return a.isError()?(this.push(a),this.push(q())):this.push(a)})},b.prototype.take=function(b){return this.withHandler(function(c){return c.hasValue()?b===1?(this.push(c),this.push(q()),a.noMore):(b--,this.push(c)):this.push(c)})},b.prototype.map=function(){var a,b;return b=arguments[0],a=2<=arguments.length?M.call(arguments,1):[],b=x(b,a),this.withHandler(function(a){return this.push(a.fmap(b))})},b.prototype.mapError=function(){var a,b;return b=arguments[0],a=2<=arguments.length?M.call(arguments,1):[],b=x(b,a),this.withHandler(function(a){return a.isError()?this.push(z(b(a.error))):this.push(a)})},b.prototype["do"]=function(){var a,b;return b=arguments[0],a=2<=arguments.length?M.call(arguments,1):[],b=x(b,a),this.withHandler(function(a){return a.hasValue()&&b(a.value),this.push(a)})},b.prototype.takeUntil=function(b){var c;return c=this,this.withSubscribe(function(d){var e,f,g,h,i,j;return j=!1,h=A,i=A,g=function(){return h(),i(),j=!0},e=function(b){return b.isEnd()?(i(),d(b),a.noMore):(b.getOriginalEvent().onDone(function(){var c;if(!j){c=d(b);if(c===a.noMore)return g()}}),a.more)},f=function(b){return b.isError()?a.more:b.isEnd()?a.noMore:(h(),d(q()),a.noMore)},h=c.subscribe(e),j||(i=b.subscribe(f)),g})},b.prototype.skip=function(b){return this.withHandler(function(c){return c.hasValue()?b>0?(b--,a.more):this.push(c):this.push(c)})},b.prototype.distinctUntilChanged=function(){return this.skipDuplicates()},b.prototype.skipDuplicates=function(){return this.withStateMachine(void 0,function(a,b){return b.hasValue()?a!==b.value?[b.value,[b]]:[a,[]]:[a,[b]]})},b.prototype.withStateMachine=function(b,c){var d;return d=b,this.withHandler(function(b){var e,f,g,h,i,j,k;e=c(d,b),f=e[0],h=e[1],d=f,i=a.more;for(j=0,k=h.length;j<k;j++){g=h[j],i=this.push(g);if(i===a.noMore)return i}return i})},b.prototype.flatMap=function(b){var c;return c=this,new g(function(d){var e,f,g,h,i,j;return f=[],g=!1,j=function(){},i=function(){var a,b,c;j();for(b=0,c=f.length;b<c;b++)a=f[b],a();return f=[]},e=function(){if(g&&f.length===0)return d(q())},h=function(c){var h,j,k,l,m;if(c.isEnd())return g=!0,e();if(c.isError())return d(c);h=b(c.value),m=void 0,j=!1,l=function(){return m!=null&&C(m,f),e()},k=function(b){var c;return b.isEnd()?(l(),j=!0,a.noMore):(c=d(b),c===a.noMore&&i(),c)},m=h.subscribe(k);if(!j)return f.push(m)},j=c.subscribe(h),i})},b.prototype["switch"]=function(a){var b,c=this;return b=this.toEventStream(),b.flatMap(function(c){return a(c).takeUntil(b)})},b.prototype.not=function(){return this.map(function(a){return!a})},b.prototype.log=function(){this.subscribe(function(a){return console.log(a.describe())});return},b}(),g=function(b){function d(a){var b;d.__super__.constructor.call(this),b=new c(a),this.subscribe=b.subscribe,this.hasSubscribers=b.hasSubscribers}return O(d,b),d.prototype.map=function(){var a,b;return b=arguments[0],a=2<=arguments.length?M.call(arguments,1):[],b instanceof l?b.sampledBy(this,r):d.__super__.map.apply(this,[b].concat(M.call(a)))},d.prototype.filter=function(){var a,b;return b=arguments[0],a=2<=arguments.length?M.call(arguments,1):[],b instanceof l?b.sampledBy(this,function(a,b){return[a,b]}).filter(function(a){var b,c;return b=a[0],c=a[1],b}).map(function(a){var b,c;return b=a[0],c=a[1],c}):d.__super__.filter.apply(this,[b].concat(M.call(a)))},d.prototype.delay=function(b){return this.flatMap(function(c){return a.later(b,c)})},d.prototype.throttle=function(b){return this["switch"](function(c){return a.later(b,c)})},d.prototype.bufferWithTime=function(b){var c,d,e,f;return f=[],e=function(a){return f.push(a),f.length===1},d=function(){var a;return a=f,f=[],a},c=function(){return a.later(b).map(d)},this.filter(e).flatMap(c)},d.prototype.bufferWithCount=function(a){var b;return b=[],this.withHandler(function(c){var d,e=this;d=function(){return e.push(z(b,c)),b=[]};if(c.isError())return this.push(c);if(c.isEnd())return d(),this.push(c);b.push(c.value);if(b.length===a)return d()})},d.prototype.merge=function(b){var c;return c=this,new d(function(d){var e,f,g,h,i,j;return h=A,i=A,j=!1,g=function(){return h(),i(),j=!0},e=0,f=function(b){var c;return b.isEnd()?(e++,e===2?d(q()):a.more):(c=d(b),c===a.noMore&&g(),c)},h=c.subscribe(f),j||(i=b.subscribe(f)),g})},d.prototype.toProperty=function(a){return arguments.length===0&&(a=j),this.scan(a,w)},d.prototype.toEventStream=function(){return this},d.prototype.scan=function(b,d){var e,f,g,h;return e=I(b),d=E(d),g=function(a){return a.hasValue()&&(e=new n(d(e.getOrElse(void 0),a.value))),this.push(a.apply(e.getOrElse(void 0)))},f=new c(this.subscribe,g),h=function(b){var c;c=e.map(function(a){return b(s(a))}).getOrElse(a.more);if(c!==a.noMore)return f.subscribe(b)},new l(h)},d.prototype.concat=function(a){var b;return b=this,new d(function(c){var d;return d=b.subscribe(function(b){return b.isEnd()?d=a.subscribe(c):c(b)}),function(){return d()}})},d.prototype.startWith=function(b){return a.once(b).concat(this)},d.prototype.decorateWith=function(a,b){return b.sampledBy(this,function(b,c){var d;return d=p(c),d[a]=b,d})},d.prototype.mapEnd=function(){var b,c;return c=arguments[0],b=2<=arguments.length?M.call(arguments,1):[],c=x(c,b),this.withHandler(function(b){return b.isEnd()?(this.push(z(c(b))),this.push(q()),a.noMore):this.push(b)})},d.prototype.withHandler=function(a){var b;return b=new c(this.subscribe,a),new d(b.subscribe)},d.prototype.withSubscribe=function(a){return new d(a)},d}(k),l=function(b){function c(b){var d,e=this;this.subscribe=b,this.toEventStream=P(this.toEventStream,this),this.toProperty=P(this.toProperty,this),this.changes=P(this.changes,this),this.sample=P(this.sample,this),c.__super__.constructor.call(this),d=function(b,d,f){var g,h;return g=j,h=j,new c(function(c){var i,j,k,l,m,o,p,r,s,t,u;return u=!1,s=A,t=A,r=function(){return s(),t(),u=!0},l=!1,o=!1,i=function(){var b;if(l&&o)return b=c(q()),b===a.noMore&&r(),b},k=!1,j=function(b,d,e){return function(f){var j;return f.isEnd()?(b(),i(),a.noMore):f.isError()?(j=c(f),j===a.noMore&&r(),j):(d(new n(f.value)),g.isDefined&&h.isDefined?k&&f.isInitial()?a.more:(k=!0,j=e(c,f,g.value,h.value),j===a.noMore&&r(),j):a.more)}},m=j(function(){return l=!0},function(a){return g=a},d),p=j(function(){return o=!0},function(a){return h=a},f),s=e.subscribe(m),u||(t=b.subscribe(p)),r})},this.combine=function(a,b){var c,e;return c=E(b),e=function(a,b,d,e){return a(b.apply(c(d,e)))},d(a,e,e)},this.sampledBy=function(a,b){var c;return b==null&&(b=r),b=E(b),c=function(a,c,d,e){return a(c.apply(b(d,e)))},d(a,A,c).changes().takeUntil(a.filter(!1).mapEnd())}}return O(c,b),c.prototype.sample=function(b){return this.sampledBy(a.interval(b,{}))},c.prototype.changes=function(){var a=this;return new g(function(b){return a.subscribe(function(a){if(!a.isInitial())return b(a)})})},c.prototype.withHandler=function(a){return new c((new m(this.subscribe,a)).subscribe)},c.prototype.withSubscribe=function(a){return new c((new m(a)).subscribe)},c.prototype.toProperty=function(){return this},c.prototype.toEventStream=function(){var a=this;return new g(function(b){return a.subscribe(function(a){return a.isInitial()&&(a=z(a.value)),b(a)})})},c.prototype.and=function(a){return this.combine(a,function(a,b){return a&&b})},c.prototype.or=function(a){return this.combine(a,function(a,b){return a||b})},c}(k),c=function(){function b(b,c){var d,e,g,h=this;b==null&&(b=function(){return A}),e=[],this.hasSubscribers=function(){return e.length>0},g=A,d=function(a){return C(a,e)},this.push=function(b){var c,g,i,j,k,l,m;j=void 0,c=function(){var a,c,d,e;if(j!=null){c=j,j=void 0;for(d=0,e=c.length;d<e;d++)a=c[d],a()}return b.onDone=f.prototype.onDone},b.onDone=function(a){return j!=null&&!K.contains(j,a)?j.push(a):j=[a]},m=o(e);for(k=0,l=m.length;k<l;k++)i=m[k],g=i(b),(g===a.noMore||b.isEnd())&&d(i);return c(),h.hasSubscribers()?a.more:a.noMore},c==null&&(c=function(a){return this.push(a)}),this.handleEvent=function(a){return a.isEnd()&&(b=function(){return A}),c.apply(h,[a])},this.subscribe=function(a){return e.push(a),e.length===1&&(g=b(h.handleEvent)),function(){d(a);if(!h.hasSubscribers())return g()}}}return b}(),m=function(b){function c(b,d){var e,f,g=this;c.__super__.constructor.call(this,b,d),e=j,f=this.push,b=this.subscribe,this.push=function(a){return a.hasValue()&&(e=new n(a.value)),f.apply(g,[a])},this.subscribe=function(c){var d;return d=e.filter(g.hasSubscribers).map(function(a){return c(s(a))}),d.getOrElse(a.more)===a.noMore?A:b.apply(g,[c])}}return O(c,b),c}(c),b=function(b){function d(){var b,f,g,h,i,j,k,l,m,n=this;i=void 0,m=[],h=[],f=!1,g=function(b){return function(c){return c.isEnd()?(C(b,h),a.noMore):i(c)}},l=function(){var a,b,c;for(b=0,c=m.length;b<c;b++)a=m[b],a();return m=[]},j=function(a){var b,c,d,e;i=a,m=[],e=o(h);for(c=0,d=e.length;c<d;c++)b=e[c],m.push(b.subscribe(g(b)));return l},b=new c(j),k=function(a){return b.subscribe(a)},d.__super__.constructor.call(this,k),this.plug=function(a){if(f)return;h.push(a);if(i!=null)return m.push(a.subscribe(g(a)))},this.push=function(a){if(i!=null)return i(z(a))},this.error=function(a){if(i!=null)return i(new e(a))},this.end=function(){f=!0,l();if(i!=null)return i(q())}}return O(d,b),d}(g),n=function(){function a(a){this.value=a}return a.prototype.getOrElse=function(){return this.value},a.prototype.filter=function(b){return b(this.value)?new a(this.value):j},a.prototype.map=function(b){return new a(b(this.value))},a.prototype.isDefined=!0,a}(),j={getOrElse:function(a){return a},filter:function(){return j},map:function(){return j},isDefined:!1},a.EventStream=g,a.Property=l,a.Observable=k,a.Bus=b,a.Initial=h,a.Next=i,a.End=d,a.Error=e,A=function(){},w=function(a,b){return b},r=function(a,b){return a},s=function(a){return new h(a)},z=function(a){return new i(a)},q=function(){return new d},t=function(a){return a!=null&&a.isEvent!=null&&a.isEvent()},F=function(a){return t(a)?a:z(a)},o=function(a){return a.slice(0)},p=function(a){var b,c,d;b={};for(c in a)d=a[c],b[c]=d;return b},C=function(a,b){var c;c=b.indexOf(a);if(c>=0)return b.splice(c,1)},v=function(a){return typeof a=="function"},y=function(a,b,c){return c===void 0&&(c=[]),function(d){return a[b].apply(a,c.concat([d]))}},B=function(a,b){return function(c){return a.apply(null,b.concat([c]))}},x=function(a,b){return v(a)?b.length?B(a,b):a:u(a)?G(a,b):typeof a=="object"&&b.length?y(a,K.head(b),K.tail(b)):K.always(a)},u=function(a){return typeof a=="string"&&a.length>1&&a[0]==="."},G=function(a,b){var c,d;return d=a.slice(1).split("."),c=K.map(J(b),d),function(a){var b,d,e;for(d=0,e=c.length;d<e;d++)b=c[d],a=b(a);return a}},J=function(a){return function(b){return function(c){var d;return d=c[b],v(d)?d.apply(null,a):d}}},H=function(a){return a.slice(1)},E=function(a){var b;if(v(a))return a;if(u(a))return b=H(a),function(a,c){return a[b](c)}},I=function(a){return a instanceof n||a===j?a:new n(a)},typeof define!="undefined"&&define!==null&&define.amd!=null&&typeof define=="function"&&define(function(){return a}),K={head:function(a){return a[0]},always:function(a){return function(){return a}},empty:function(a){return a.length===0},tail:function(a){return a.slice(1,a.length)},filter:function(a,b){var c,d,e,f;c=[];for(e=0,f=b.length;e<f;e++)d=b[e],a(d)&&c.push(d);return c},map:function(a,b){var c,d,e,f;f=[];for(d=0,e=b.length;d<e;d++)c=b[d],f.push(a(c));return f},contains:function(a,b){return a.indexOf(b)>=0}},a._=K})).call(this); | ||
// Generated by CoffeeScript 1.3.3 | ||
((function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M=[].slice,N={}.hasOwnProperty,O=function(a,b){function d(){this.constructor=a}for(var c in b)N.call(b,c)&&(a[c]=b[c]);return d.prototype=b.prototype,a.prototype=new d,a.__super__=b.prototype,a},P=function(a,b){return function(){return a.apply(b,arguments)}};(L=this.jQuery||this.Zepto)!=null&&(L.fn.asEventStream=function(b,c){var d;return d=this,new g(function(e){var f,g;return f=function(b){var c;c=e(z(b));if(c===a.noMore)return g()},g=function(){return d.off(b,c,f)},d.on(b,c,f),g})}),a=this.Bacon={},a.fromPromise=function(b){return new a.EventStream(function(a){var c,f;return f=function(b){return a(new i(b)),a(new d)},c=function(b){return a(new e(b)),a(new d)},b.then(f,c),A})},a.noMore="veggies",a.more="moar bacon!",a.later=function(b,c){return a.sequentially(b,[c])},a.sequentially=function(b,c){var d,e;return d=-1,e=function(){return d++,d<c.length?F(c[d]):q()},a.fromPoll(b,e)},a.repeatedly=function(b,c){var d,e;return d=-1,e=function(){return d++,F(c[d%c.length])},a.fromPoll(b,e)},a.fromPoll=function(b,c){return new g(function(d){var e,f,g;return f=void 0,e=function(){var b,e;e=c(),b=d(e);if(b===a.noMore||e.isEnd())return g()},g=function(){return clearInterval(f)},f=setInterval(e,b),g})},a.fromEventTarget=function(b,c){return new g(function(d){var e,f;return e=function(b){var c;c=d(z(b));if(c===a.noMore)return f()},b.addEventListener?(f=function(){return b.removeEventListener(c,e,!1)},b.addEventListener(c,e,!1)):(f=function(){return b.removeListener(c,e)},b.addListener(c,e)),f})},a.interval=function(b,c){var d;return c==null&&(c={}),d=function(){return z(c)},a.fromPoll(b,d)},a.constant=function(a){return new l(D([a],s))},a.never=function(){return a.fromArray([])},a.once=function(b){return a.fromArray([b])},a.fromArray=function(a){return new g(D(a,z))},D=function(a,b){return function(c){var d,e,f;for(e=0,f=a.length;e<f;e++)d=a[e],c(b(d));return c(q()),A}},a.combineAll=function(a,b){var c,d,e,f,g;d=K.head(a),g=K.tail(a);for(e=0,f=g.length;e<f;e++)c=g[e],d=b(d,c);return d},a.mergeAll=function(b){return a.combineAll(b,function(a,b){return a.merge(b)})},a.combineAsArray=function(){var b,c,d,e,f,g,h;e=arguments[0],b=2<=arguments.length?M.call(arguments,1):[],e instanceof Array||(e=[e].concat(b));if(e.length){d=K.head(e).toProperty().map(function(a){return[a]}),h=K.tail(e);for(f=0,g=h.length;f<g;f++)c=h[f],d=d.combine(c,function(a,b){return a.concat([b])});return d}return a.constant([])},a.combineWith=function(b,c){return a.combineAll(b,function(a,b){return a.toProperty().combine(b,c)})},a.combineTemplate=function(b){var c,d,e,f,g,h,i,j;return h=[],j=[],g=function(a){return a[a.length-1]},i=function(a,b,c){return g(a)[b]=c},c=function(a,b){return function(c,d){return i(c,a,d[b])}},f=function(a,b){return function(c,d){return i(c,a,b)}},e=function(a){var b,d,g,l,m;m=[];for(b in a)l=a[b],l instanceof k?(j.push(l),m.push(h.push(c(b,j.length-1)))):typeof l=="object"?(g=function(a){return function(b,c){var d;return d={},i(b,a,d),b.push(d)}},d=function(a,b){return a.pop()},h.push(g(b)),e(l),m.push(h.push(d))):m.push(h.push(f(b,l)));return m},e(b),d=function(a){var b,c,d,e,f;d={},b=[d];for(e=0,f=h.length;e<f;e++)c=h[e],c(b,a);return d},a.combineAsArray(j).map(d)},a.latestValue=function(a){var b,c=this;return b=void 0,a.subscribe(function(a){if(a.hasValue())return b=a.value}),function(){return b}},f=function(){function a(){}return a.prototype.isEvent=function(){return!0},a.prototype.isEnd=function(){return!1},a.prototype.isInitial=function(){return!1},a.prototype.isNext=function(){return!1},a.prototype.isError=function(){return!1},a.prototype.hasValue=function(){return!1},a.prototype.filter=function(a){return!0},a.prototype.getOriginalEvent=function(){return this.sourceEvent!=null?this.sourceEvent.getOriginalEvent():this},a.prototype.onDone=function(a){return a()},a}(),i=function(a){function b(a,b){this.value=a}return O(b,a),b.prototype.isNext=function(){return!0},b.prototype.hasValue=function(){return!0},b.prototype.fmap=function(a){return this.apply(a(this.value))},b.prototype.apply=function(a){return z(a,this.getOriginalEvent())},b.prototype.filter=function(a){return a(this.value)},b.prototype.describe=function(){return this.value},b}(f),h=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}return O(b,a),b.prototype.isInitial=function(){return!0},b.prototype.isNext=function(){return!1},b.prototype.apply=function(a){return s(a,this.getOriginalEvent())},b}(i),d=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}return O(b,a),b.prototype.isEnd=function(){return!0},b.prototype.fmap=function(){return this},b.prototype.apply=function(){return this},b.prototype.describe=function(){return"<end>"},b}(f),e=function(a){function b(a){this.error=a}return O(b,a),b.prototype.isError=function(){return!0},b.prototype.fmap=function(){return this},b.prototype.apply=function(){return this},b.prototype.describe=function(){return"<error> "+this.error},b}(f),k=function(){function b(){this["switch"]=P(this["switch"],this),this.takeUntil=P(this.takeUntil,this),this.assign=this.onValue}return b.prototype.onValue=function(){var a,b;return b=arguments[0],a=2<=arguments.length?M.call(arguments,1):[],b=x(b,a),this.subscribe(function(a){if(a.hasValue())return b(a.value)})},b.prototype.onValues=function(a){return this.onValue(function(b){return a.apply(null,b)})},b.prototype.onError=function(){var a,b;return b=arguments[0],a=2<=arguments.length?M.call(arguments,1):[],b=x(b,a),this.subscribe(function(a){if(a.isError())return b(a.error)})},b.prototype.onEnd=function(){var a,b;return b=arguments[0],a=2<=arguments.length?M.call(arguments,1):[],b=x(b,a),this.subscribe(function(a){if(a.isEnd())return b()})},b.prototype.errors=function(){return this.filter(function(){return!1})},b.prototype.filter=function(){var b,c;return c=arguments[0],b=2<=arguments.length?M.call(arguments,1):[],c=x(c,b),this.withHandler(function(b){return b.filter(c)?this.push(b):a.more})},b.prototype.takeWhile=function(){var b,c;return c=arguments[0],b=2<=arguments.length?M.call(arguments,1):[],c=x(c,b),this.withHandler(function(b){return b.filter(c)?this.push(b):(this.push(q()),a.noMore)})},b.prototype.endOnError=function(){return this.withHandler(function(a){return a.isError()?(this.push(a),this.push(q())):this.push(a)})},b.prototype.take=function(b){return this.withHandler(function(c){return c.hasValue()?b===1?(this.push(c),this.push(q()),a.noMore):(b--,this.push(c)):this.push(c)})},b.prototype.map=function(){var a,b;return b=arguments[0],a=2<=arguments.length?M.call(arguments,1):[],b=x(b,a),this.withHandler(function(a){return this.push(a.fmap(b))})},b.prototype.mapError=function(){var a,b;return b=arguments[0],a=2<=arguments.length?M.call(arguments,1):[],b=x(b,a),this.withHandler(function(a){return a.isError()?this.push(z(b(a.error))):this.push(a)})},b.prototype["do"]=function(){var a,b;return b=arguments[0],a=2<=arguments.length?M.call(arguments,1):[],b=x(b,a),this.withHandler(function(a){return a.hasValue()&&b(a.value),this.push(a)})},b.prototype.takeUntil=function(b){var c;return c=this,this.withSubscribe(function(d){var e,f,g,h,i,j;return j=!1,h=A,i=A,g=function(){return h(),i(),j=!0},e=function(b){return b.isEnd()?(i(),d(b),a.noMore):(b.getOriginalEvent().onDone(function(){var c;if(!j){c=d(b);if(c===a.noMore)return g()}}),a.more)},f=function(b){return b.isError()?a.more:b.isEnd()?a.noMore:(h(),d(q()),a.noMore)},h=c.subscribe(e),j||(i=b.subscribe(f)),g})},b.prototype.skip=function(b){return this.withHandler(function(c){return c.hasValue()?b>0?(b--,a.more):this.push(c):this.push(c)})},b.prototype.distinctUntilChanged=function(){return this.skipDuplicates()},b.prototype.skipDuplicates=function(){return this.withStateMachine(void 0,function(a,b){return b.hasValue()?a!==b.value?[b.value,[b]]:[a,[]]:[a,[b]]})},b.prototype.withStateMachine=function(b,c){var d;return d=b,this.withHandler(function(b){var e,f,g,h,i,j,k;e=c(d,b),f=e[0],h=e[1],d=f,i=a.more;for(j=0,k=h.length;j<k;j++){g=h[j],i=this.push(g);if(i===a.noMore)return i}return i})},b.prototype.flatMap=function(b){var c;return c=this,new g(function(d){var e,f,g,h,i,j;return f=[],g=!1,j=function(){},i=function(){var a,b,c;j();for(b=0,c=f.length;b<c;b++)a=f[b],a();return f=[]},e=function(){if(g&&f.length===0)return d(q())},h=function(c){var h,j,k,l,m;if(c.isEnd())return g=!0,e();if(c.isError())return d(c);h=b(c.value),m=void 0,j=!1,l=function(){return m!=null&&C(m,f),e()},k=function(b){var c;return b.isEnd()?(l(),j=!0,a.noMore):(c=d(b),c===a.noMore&&i(),c)},m=h.subscribe(k);if(!j)return f.push(m)},j=c.subscribe(h),i})},b.prototype["switch"]=function(a){var b,c=this;return b=this.toEventStream(),b.flatMap(function(c){return a(c).takeUntil(b)})},b.prototype.not=function(){return this.map(function(a){return!a})},b.prototype.log=function(){return this.subscribe(function(a){return console.log(a.describe())}),void 0},b}(),g=function(b){function d(a){var b;d.__super__.constructor.call(this),b=new c(a),this.subscribe=b.subscribe,this.hasSubscribers=b.hasSubscribers}return O(d,b),d.prototype.map=function(){var a,b;return b=arguments[0],a=2<=arguments.length?M.call(arguments,1):[],b instanceof l?b.sampledBy(this,r):d.__super__.map.apply(this,[b].concat(M.call(a)))},d.prototype.filter=function(){var a,b;return b=arguments[0],a=2<=arguments.length?M.call(arguments,1):[],b instanceof l?b.sampledBy(this,function(a,b){return[a,b]}).filter(function(a){var b,c;return b=a[0],c=a[1],b}).map(function(a){var b,c;return b=a[0],c=a[1],c}):d.__super__.filter.apply(this,[b].concat(M.call(a)))},d.prototype.delay=function(b){return this.flatMap(function(c){return a.later(b,c)})},d.prototype.throttle=function(b){return this["switch"](function(c){return a.later(b,c)})},d.prototype.bufferWithTime=function(b){var c,d,e,f;return f=[],e=function(a){return f.push(a),f.length===1},d=function(){var a;return a=f,f=[],a},c=function(){return a.later(b).map(d)},this.filter(e).flatMap(c)},d.prototype.bufferWithCount=function(a){var b;return b=[],this.withHandler(function(c){var d,e=this;d=function(){return e.push(z(b,c)),b=[]};if(c.isError())return this.push(c);if(c.isEnd())return d(),this.push(c);b.push(c.value);if(b.length===a)return d()})},d.prototype.merge=function(b){var c;return c=this,new d(function(d){var e,f,g,h,i,j;return h=A,i=A,j=!1,g=function(){return h(),i(),j=!0},e=0,f=function(b){var c;return b.isEnd()?(e++,e===2?d(q()):a.more):(c=d(b),c===a.noMore&&g(),c)},h=c.subscribe(f),j||(i=b.subscribe(f)),g})},d.prototype.toProperty=function(a){return arguments.length===0&&(a=j),this.scan(a,w)},d.prototype.toEventStream=function(){return this},d.prototype.scan=function(b,d){var e,f,g,h;return e=I(b),d=E(d),g=function(a){return a.hasValue()&&(e=new n(d(e.getOrElse(void 0),a.value))),this.push(a.apply(e.getOrElse(void 0)))},f=new c(this.subscribe,g),h=function(b){var c;return c=e.map(function(a){return b(s(a))}).getOrElse(a.more),c!==a.noMore?f.subscribe(b):A},new l(h)},d.prototype.concat=function(a){var b;return b=this,new d(function(c){var d;return d=b.subscribe(function(b){return b.isEnd()?d=a.subscribe(c):c(b)}),function(){return d()}})},d.prototype.startWith=function(b){return a.once(b).concat(this)},d.prototype.decorateWith=function(a,b){return b.sampledBy(this,function(b,c){var d;return d=p(c),d[a]=b,d})},d.prototype.mapEnd=function(){var b,c;return c=arguments[0],b=2<=arguments.length?M.call(arguments,1):[],c=x(c,b),this.withHandler(function(b){return b.isEnd()?(this.push(z(c(b))),this.push(q()),a.noMore):this.push(b)})},d.prototype.withHandler=function(a){var b;return b=new c(this.subscribe,a),new d(b.subscribe)},d.prototype.withSubscribe=function(a){return new d(a)},d}(k),l=function(b){function c(b){var d,e=this;this.subscribe=b,this.toEventStream=P(this.toEventStream,this),this.toProperty=P(this.toProperty,this),this.changes=P(this.changes,this),this.sample=P(this.sample,this),c.__super__.constructor.call(this),d=function(b,d,f){var g,h;return g=j,h=j,new c(function(c){var i,j,k,l,m,o,p,r,s,t,u;return u=!1,s=A,t=A,r=function(){return s(),t(),u=!0},l=!1,o=!1,i=function(){var b;if(l&&o)return b=c(q()),b===a.noMore&&r(),b},k=!1,j=function(b,d,e){return function(f){var j;return f.isEnd()?(b(),i(),a.noMore):f.isError()?(j=c(f),j===a.noMore&&r(),j):(d(new n(f.value)),g.isDefined&&h.isDefined?k&&f.isInitial()?a.more:(k=!0,j=e(c,f,g.value,h.value),j===a.noMore&&r(),j):a.more)}},m=j(function(){return l=!0},function(a){return g=a},d),p=j(function(){return o=!0},function(a){return h=a},f),s=e.subscribe(m),u||(t=b.subscribe(p)),r})},this.combine=function(a,b){var c,e;return c=E(b),e=function(a,b,d,e){return a(b.apply(c(d,e)))},d(a,e,e)},this.sampledBy=function(a,b){var c;return b==null&&(b=r),b=E(b),c=function(a,c,d,e){return a(c.apply(b(d,e)))},d(a,A,c).changes().takeUntil(a.filter(!1).mapEnd())}}return O(c,b),c.prototype.sample=function(b){return this.sampledBy(a.interval(b,{}))},c.prototype.changes=function(){var a=this;return new g(function(b){return a.subscribe(function(a){if(!a.isInitial())return b(a)})})},c.prototype.withHandler=function(a){return new c((new m(this.subscribe,a)).subscribe)},c.prototype.withSubscribe=function(a){return new c((new m(a)).subscribe)},c.prototype.toProperty=function(){return this},c.prototype.toEventStream=function(){var a=this;return new g(function(b){return a.subscribe(function(a){return a.isInitial()&&(a=z(a.value)),b(a)})})},c.prototype.and=function(a){return this.combine(a,function(a,b){return a&&b})},c.prototype.or=function(a){return this.combine(a,function(a,b){return a||b})},c}(k),c=function(){function b(b,c){var d,e,g,h=this;b==null&&(b=function(){return A}),e=[],this.hasSubscribers=function(){return e.length>0},g=A,d=function(a){return C(a,e)},this.push=function(b){var c,g,i,j,k,l,m;j=void 0,c=function(){var a,c,d,e;if(j!=null){c=j,j=void 0;for(d=0,e=c.length;d<e;d++)a=c[d],a()}return b.onDone=f.prototype.onDone},b.onDone=function(a){return j!=null&&!K.contains(j,a)?j.push(a):j=[a]},m=o(e);for(k=0,l=m.length;k<l;k++)i=m[k],g=i(b),(g===a.noMore||b.isEnd())&&d(i);return c(),h.hasSubscribers()?a.more:a.noMore},c==null&&(c=function(a){return this.push(a)}),this.handleEvent=function(a){return a.isEnd()&&(b=function(){return A}),c.apply(h,[a])},this.subscribe=function(a){return e.push(a),e.length===1&&(g=b(h.handleEvent)),function(){d(a);if(!h.hasSubscribers())return g()}}}return b}(),m=function(b){function c(b,d){var e,f,g,h=this;c.__super__.constructor.call(this,b,d),e=j,g=this.push,b=this.subscribe,f=!1,this.push=function(a){return a.isEnd()&&(f=!0),a.hasValue()&&(e=new n(a.value)),g.apply(h,[a])},this.subscribe=function(c){var d,g;return g=function(){return h.hasSubscribers()||f},d=e.filter(g).map(function(a){return c(s(a))}),d.getOrElse(a.more)===a.noMore?A:b.apply(h,[c])}}return O(c,b),c}(c),b=function(b){function d(){var b,f,g,h,i,j,k,l,m,n=this;i=void 0,m=[],h=[],f=!1,g=function(b){return function(c){return c.isEnd()?(C(b,h),a.noMore):i(c)}},l=function(){var a,b,c;for(b=0,c=m.length;b<c;b++)a=m[b],a();return m=[]},j=function(a){var b,c,d,e;i=a,m=[],e=o(h);for(c=0,d=e.length;c<d;c++)b=e[c],m.push(b.subscribe(g(b)));return l},b=new c(j),k=function(a){return b.subscribe(a)},d.__super__.constructor.call(this,k),this.plug=function(a){if(f)return;h.push(a);if(i!=null)return m.push(a.subscribe(g(a)))},this.push=function(a){if(i!=null)return i(z(a))},this.error=function(a){if(i!=null)return i(new e(a))},this.end=function(){f=!0,l();if(i!=null)return i(q())}}return O(d,b),d}(g),n=function(){function a(a){this.value=a}return a.prototype.getOrElse=function(){return this.value},a.prototype.filter=function(b){return b(this.value)?new a(this.value):j},a.prototype.map=function(b){return new a(b(this.value))},a.prototype.isDefined=!0,a}(),j={getOrElse:function(a){return a},filter:function(){return j},map:function(){return j},isDefined:!1},a.EventStream=g,a.Property=l,a.Observable=k,a.Bus=b,a.Initial=h,a.Next=i,a.End=d,a.Error=e,A=function(){},w=function(a,b){return b},r=function(a,b){return a},s=function(a){return new h(a)},z=function(a){return new i(a)},q=function(){return new d},t=function(a){return a!=null&&a.isEvent!=null&&a.isEvent()},F=function(a){return t(a)?a:z(a)},o=function(a){return a.slice(0)},p=function(a){var b,c,d;b={};for(c in a)d=a[c],b[c]=d;return b},C=function(a,b){var c;c=b.indexOf(a);if(c>=0)return b.splice(c,1)},v=function(a){return typeof a=="function"},y=function(a,b,c){return c===void 0&&(c=[]),function(d){return a[b].apply(a,c.concat([d]))}},B=function(a,b){return function(c){return a.apply(null,b.concat([c]))}},x=function(a,b){return v(a)?b.length?B(a,b):a:u(a)?G(a,b):typeof a=="object"&&b.length?y(a,K.head(b),K.tail(b)):K.always(a)},u=function(a){return typeof a=="string"&&a.length>1&&a[0]==="."},G=function(a,b){var c,d;return d=a.slice(1).split("."),c=K.map(J(b),d),function(b){var d,e;for(d=0,e=c.length;d<e;d++)a=c[d],b=a(b);return b}},J=function(a){return function(b){return function(c){var d;return d=c[b],v(d)?d.apply(null,a):d}}},H=function(a){return a.slice(1)},E=function(a){var b;if(v(a))return a;if(u(a))return b=H(a),function(a,c){return a[b](c)}},I=function(a){return a instanceof n||a===j?a:new n(a)},typeof define!="undefined"&&define!==null&&define.amd!=null&&typeof define=="function"&&define(function(){return a}),K={head:function(a){return a[0]},always:function(a){return function(){return a}},empty:function(a){return a.length===0},tail:function(a){return a.slice(1,a.length)},filter:function(a,b){var c,d,e,f;c=[];for(e=0,f=b.length;e<f;e++)d=b[e],a(d)&&c.push(d);return c},map:function(a,b){var c,d,e,f;f=[];for(d=0,e=b.length;d<e;d++)c=b[d],f.push(a(c));return f},contains:function(a,b){return a.indexOf(b)>=0}},a._=K})).call(this); |
{ | ||
"name" : "baconjs", | ||
"version" : "0.0.3", | ||
"version" : "0.0.4", | ||
"author" : "Juha Paananen", | ||
@@ -5,0 +5,0 @@ "licenses" : ["MIT"], |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
410129
9229