diff --git a/dist/xstream.min.js b/dist/xstream.min.js index 88ea38c..ec929bd 100644 --- a/dist/xstream.min.js +++ b/dist/xstream.min.js @@ -1 +1,36 @@ -(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.xstream=f()}})(function(){var define,module,exports;return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o=this.max)u._n(t)};Drop.prototype._e=function(err){var u=this.out;if(u===NO)return;u._e(err)};Drop.prototype._c=function(){var u=this.out;if(u===NO)return;u._c()};return Drop}();var EndWhenListener=function(){function EndWhenListener(out,op){this.out=out;this.op=op}EndWhenListener.prototype._n=function(){this.op.end()};EndWhenListener.prototype._e=function(err){this.out._e(err)};EndWhenListener.prototype._c=function(){this.op.end()};return EndWhenListener}();var EndWhen=function(){function EndWhen(o,ins){this.type="endWhen";this.ins=ins;this.out=NO;this.o=o;this.oil=NO_IL}EndWhen.prototype._start=function(out){this.out=out;this.o._add(this.oil=new EndWhenListener(out,this));this.ins._add(this)};EndWhen.prototype._stop=function(){this.ins._remove(this);this.o._remove(this.oil);this.out=NO;this.oil=NO_IL};EndWhen.prototype.end=function(){var u=this.out;if(u===NO)return;u._c()};EndWhen.prototype._n=function(t){var u=this.out;if(u===NO)return;u._n(t)};EndWhen.prototype._e=function(err){var u=this.out;if(u===NO)return;u._e(err)};EndWhen.prototype._c=function(){this.end()};return EndWhen}();var Filter=function(){function Filter(passes,ins){this.type="filter";this.ins=ins;this.out=NO;this.f=passes}Filter.prototype._start=function(out){this.out=out;this.ins._add(this)};Filter.prototype._stop=function(){this.ins._remove(this);this.out=NO};Filter.prototype._n=function(t){var u=this.out;if(u===NO)return;var r=_try(this,t,u);if(r===NO||!r)return;u._n(t)};Filter.prototype._e=function(err){var u=this.out;if(u===NO)return;u._e(err)};Filter.prototype._c=function(){var u=this.out;if(u===NO)return;u._c()};return Filter}();var FlattenListener=function(){function FlattenListener(out,op){this.out=out;this.op=op}FlattenListener.prototype._n=function(t){this.out._n(t)};FlattenListener.prototype._e=function(err){this.out._e(err)};FlattenListener.prototype._c=function(){this.op.inner=NO;this.op.less()};return FlattenListener}();var Flatten=function(){function Flatten(ins){this.type="flatten";this.ins=ins;this.out=NO;this.open=true;this.inner=NO;this.il=NO_IL}Flatten.prototype._start=function(out){this.out=out;this.open=true;this.inner=NO;this.il=NO_IL;this.ins._add(this)};Flatten.prototype._stop=function(){this.ins._remove(this);if(this.inner!==NO)this.inner._remove(this.il);this.out=NO;this.open=true;this.inner=NO;this.il=NO_IL};Flatten.prototype.less=function(){var u=this.out;if(u===NO)return;if(!this.open&&this.inner===NO)u._c()};Flatten.prototype._n=function(s){var u=this.out;if(u===NO)return;var _a=this,inner=_a.inner,il=_a.il;if(inner!==NO&&il!==NO_IL)inner._remove(il);(this.inner=s)._add(this.il=new FlattenListener(u,this))};Flatten.prototype._e=function(err){var u=this.out;if(u===NO)return;u._e(err)};Flatten.prototype._c=function(){this.open=false;this.less()};return Flatten}();var Fold=function(){function Fold(f,seed,ins){var _this=this;this.type="fold";this.ins=ins;this.out=NO;this.f=function(t){return f(_this.acc,t)};this.acc=this.seed=seed}Fold.prototype._start=function(out){this.out=out;this.acc=this.seed;out._n(this.acc);this.ins._add(this)};Fold.prototype._stop=function(){this.ins._remove(this);this.out=NO;this.acc=this.seed};Fold.prototype._n=function(t){var u=this.out;if(u===NO)return;var r=_try(this,t,u);if(r===NO)return;u._n(this.acc=r)};Fold.prototype._e=function(err){var u=this.out;if(u===NO)return;u._e(err)};Fold.prototype._c=function(){var u=this.out;if(u===NO)return;u._c()};return Fold}();var Last=function(){function Last(ins){this.type="last";this.ins=ins;this.out=NO;this.has=false;this.val=NO}Last.prototype._start=function(out){this.out=out;this.has=false;this.ins._add(this)};Last.prototype._stop=function(){this.ins._remove(this);this.out=NO;this.val=NO};Last.prototype._n=function(t){this.has=true;this.val=t};Last.prototype._e=function(err){var u=this.out;if(u===NO)return;u._e(err)};Last.prototype._c=function(){var u=this.out;if(u===NO)return;if(this.has){u._n(this.val);u._c()}else u._e(new Error("last() failed because input stream completed"))};return Last}();var MapFlattenListener=function(){function MapFlattenListener(out,op){this.out=out;this.op=op}MapFlattenListener.prototype._n=function(r){this.out._n(r)};MapFlattenListener.prototype._e=function(err){this.out._e(err)};MapFlattenListener.prototype._c=function(){this.op.inner=NO;this.op.less()};return MapFlattenListener}();var MapFlatten=function(){function MapFlatten(mapOp){this.type=mapOp.type+"+flatten";this.ins=mapOp.ins;this.out=NO;this.mapOp=mapOp;this.inner=NO;this.il=NO_IL;this.open=true}MapFlatten.prototype._start=function(out){this.out=out;this.inner=NO;this.il=NO_IL;this.open=true;this.mapOp.ins._add(this)};MapFlatten.prototype._stop=function(){this.mapOp.ins._remove(this);if(this.inner!==NO)this.inner._remove(this.il);this.out=NO;this.inner=NO;this.il=NO_IL};MapFlatten.prototype.less=function(){if(!this.open&&this.inner===NO){var u=this.out;if(u===NO)return;u._c()}};MapFlatten.prototype._n=function(v){var u=this.out;if(u===NO)return;var _a=this,inner=_a.inner,il=_a.il;var s=_try(this.mapOp,v,u);if(s===NO)return;if(inner!==NO&&il!==NO_IL)inner._remove(il);(this.inner=s)._add(this.il=new MapFlattenListener(u,this))};MapFlatten.prototype._e=function(err){var u=this.out;if(u===NO)return;u._e(err)};MapFlatten.prototype._c=function(){this.open=false;this.less()};return MapFlatten}();var MapOp=function(){function MapOp(project,ins){this.type="map";this.ins=ins;this.out=NO;this.f=project}MapOp.prototype._start=function(out){this.out=out;this.ins._add(this)};MapOp.prototype._stop=function(){this.ins._remove(this);this.out=NO};MapOp.prototype._n=function(t){var u=this.out;if(u===NO)return;var r=_try(this,t,u);if(r===NO)return;u._n(r)};MapOp.prototype._e=function(err){var u=this.out;if(u===NO)return;u._e(err)};MapOp.prototype._c=function(){var u=this.out;if(u===NO)return;u._c()};return MapOp}();var FilterMapFusion=function(_super){__extends(FilterMapFusion,_super);function FilterMapFusion(passes,project,ins){var _this=_super.call(this,project,ins)||this;_this.type="filter+map";_this.passes=passes;return _this}FilterMapFusion.prototype._n=function(t){if(!this.passes(t))return;var u=this.out;if(u===NO)return;var r=_try(this,t,u);if(r===NO)return;u._n(r)};return FilterMapFusion}(MapOp);var Remember=function(){function Remember(ins){this.type="remember";this.ins=ins;this.out=NO}Remember.prototype._start=function(out){this.out=out;this.ins._add(out)};Remember.prototype._stop=function(){this.ins._remove(this.out);this.out=NO};return Remember}();var ReplaceError=function(){function ReplaceError(replacer,ins){this.type="replaceError";this.ins=ins;this.out=NO;this.f=replacer}ReplaceError.prototype._start=function(out){this.out=out;this.ins._add(this)};ReplaceError.prototype._stop=function(){this.ins._remove(this);this.out=NO};ReplaceError.prototype._n=function(t){var u=this.out;if(u===NO)return;u._n(t)};ReplaceError.prototype._e=function(err){var u=this.out;if(u===NO)return;try{this.ins._remove(this);(this.ins=this.f(err))._add(this)}catch(e){u._e(e)}};ReplaceError.prototype._c=function(){var u=this.out;if(u===NO)return;u._c()};return ReplaceError}();var StartWith=function(){function StartWith(ins,val){this.type="startWith";this.ins=ins;this.out=NO;this.val=val}StartWith.prototype._start=function(out){this.out=out;this.out._n(this.val);this.ins._add(out)};StartWith.prototype._stop=function(){this.ins._remove(this.out);this.out=NO};return StartWith}();var Take=function(){function Take(max,ins){this.type="take";this.ins=ins;this.out=NO;this.max=max;this.taken=0}Take.prototype._start=function(out){this.out=out;this.taken=0;if(this.max<=0)out._c();else this.ins._add(this)};Take.prototype._stop=function(){this.ins._remove(this);this.out=NO};Take.prototype._n=function(t){var u=this.out;if(u===NO)return;var m=++this.taken;if(m1)return;if(this._stopID!==NO){clearTimeout(this._stopID);this._stopID=NO}else{var p=this._prod;if(p!==NO)p._start(this)}};Stream.prototype._remove=function(il){var _this=this;var ta=this._target;if(ta!==NO)return ta._remove(il);var a=this._ils;var i=a.indexOf(il);if(i>-1){a.splice(i,1);if(this._prod!==NO&&a.length<=0){this._err=NO;this._stopID=setTimeout(function(){return _this._stopNow()})}else if(a.length===1){this._pruneCycles()}}};Stream.prototype._pruneCycles=function(){if(this._hasNoSinks(this,[]))this._remove(this._ils[0])};Stream.prototype._hasNoSinks=function(x,trace){if(trace.indexOf(x)!==-1)return true;else if(x.out===this)return true;else if(x.out&&x.out!==NO)return this._hasNoSinks(x.out,trace.concat(x));else if(x._ils){for(var i=0,N=x._ils.length;i1){if(this._has)il._n(this._v);return}if(this._stopID!==NO){if(this._has)il._n(this._v);clearTimeout(this._stopID);this._stopID=NO}else if(this._has)il._n(this._v);else{var p=this._prod;if(p!==NO)p._start(this)}};MemoryStream.prototype._stopNow=function(){this._has=false;_super.prototype._stopNow.call(this)};MemoryStream.prototype._x=function(){this._has=false;_super.prototype._x.call(this)};MemoryStream.prototype.map=function(project){return this._map(project)};MemoryStream.prototype.mapTo=function(projectedValue){return _super.prototype.mapTo.call(this,projectedValue)};MemoryStream.prototype.take=function(amount){return _super.prototype.take.call(this,amount)};MemoryStream.prototype.endWhen=function(other){return _super.prototype.endWhen.call(this,other)};MemoryStream.prototype.replaceError=function(replace){return _super.prototype.replaceError.call(this,replace)};MemoryStream.prototype.remember=function(){return this};MemoryStream.prototype.debug=function(labelOrSpy){return _super.prototype.debug.call(this,labelOrSpy)};return MemoryStream}(Stream);exports.MemoryStream=MemoryStream;Object.defineProperty(exports,"__esModule",{value:true});exports.default=Stream},{"symbol-observable":2}],2:[function(require,module,exports){module.exports=require("./lib/index")},{"./lib/index":3}],3:[function(require,module,exports){(function(global){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _ponyfill=require("./ponyfill");var _ponyfill2=_interopRequireDefault(_ponyfill);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var root;if(typeof self!=="undefined"){root=self}else if(typeof window!=="undefined"){root=window}else if(typeof global!=="undefined"){root=global}else if(typeof module!=="undefined"){root=module}else{root=Function("return this")()}var result=(0,_ponyfill2["default"])(root);exports["default"]=result}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"./ponyfill":4}],4:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=symbolObservablePonyfill;function symbolObservablePonyfill(root){var result;var _Symbol=root.Symbol;if(typeof _Symbol==="function"){if(_Symbol.observable){result=_Symbol.observable}else{result=_Symbol("observable");_Symbol.observable=result}}else{result="@@observable"}return result}},{}]},{},[1])(1)}); \ No newline at end of file +(function(x){"object"===typeof exports&&"undefined"!==typeof module?module.exports=x():"function"===typeof define&&define.amd?define([],x):("undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:this).xstream=x()})(function(){return function k(h,f,d){function r(l,n){if(!f[l]){if(!h[l]){var m="function"==typeof require&&require;if(!n&&m)return m(l,!0);if(u)return u(l,!0);n=Error("Cannot find module '"+l+"'");throw n.code="MODULE_NOT_FOUND",n;}n=f[l]={exports:{}}; +h[l][0].call(n.exports,function(c){var d=h[l][1][c];return r(d?d:c)},n,n.exports,k,h,f,d)}return f[l].exports}for(var u="function"==typeof require&&require,m=0;m=--this.ac){var a=this.out;a!==c&&a._c()}};return b}(),F=function(){function b(a,b,c){this.i=a;this.out=b;this.p=c;c.ils.push(this)} +b.prototype._n=function(a){var b=this.p,e=this.out;e!==c&&b.up(a,this.i)&&e._n(b.vals)};b.prototype._e=function(a){var b=this.out;b!==c&&b._e(a)};b.prototype._c=function(){var a=this.p;a.out!==c&&0===--a.Nc&&a.out._c()};return b}(),H=function(){function b(a){this.type="combine";this.insArr=a;this.out=c;this.ils=[];this.Nc=this.Nn=0;this.vals=[]}b.prototype.up=function(a,b){var g=this.vals[b],g=this.Nn?g===c?--this.Nn:this.Nn:0;this.vals[b]=a;return 0===g};b.prototype._start=function(a){this.out=a; +var b=this.insArr,e=this.Nc=this.Nn=b.length,v=this.vals=Array(e);if(0===e)a._n([]),a._c();else for(var d=0;d=this.max&&b._n(a)};b.prototype._e=function(a){var b=this.out;b!== +c&&b._e(a)};b.prototype._c=function(){var a=this.out;a!==c&&a._c()};return b}(),N=function(){function b(a,b){this.out=a;this.op=b}b.prototype._n=function(){this.op.end()};b.prototype._e=function(a){this.out._e(a)};b.prototype._c=function(){this.op.end()};return b}(),O=function(){function b(a,b){this.type="endWhen";this.ins=b;this.out=c;this.o=a;this.oil=p}b.prototype._start=function(a){this.out=a;this.o._add(this.oil=new N(a,this));this.ins._add(this)};b.prototype._stop=function(){this.ins._remove(this); +this.o._remove(this.oil);this.out=c;this.oil=p};b.prototype.end=function(){var a=this.out;a!==c&&a._c()};b.prototype._n=function(a){var b=this.out;b!==c&&b._n(a)};b.prototype._e=function(a){var b=this.out;b!==c&&b._e(a)};b.prototype._c=function(){this.end()};return b}(),w=function(){function b(a,b){this.type="filter";this.ins=b;this.out=c;this.f=a}b.prototype._start=function(a){this.out=a;this.ins._add(this)};b.prototype._stop=function(){this.ins._remove(this);this.out=c};b.prototype._n=function(a){var b= +this.out;if(b!==c){var e=m(this,a,b);e!==c&&e&&b._n(a)}};b.prototype._e=function(a){var b=this.out;b!==c&&b._e(a)};b.prototype._c=function(){var a=this.out;a!==c&&a._c()};return b}(),P=function(){function b(a,b){this.out=a;this.op=b}b.prototype._n=function(a){this.out._n(a)};b.prototype._e=function(a){this.out._e(a)};b.prototype._c=function(){this.op.inner=c;this.op.less()};return b}(),Q=function(){function b(a){this.type="flatten";this.ins=a;this.out=c;this.open=!0;this.inner=c;this.il=p}b.prototype._start= +function(a){this.out=a;this.open=!0;this.inner=c;this.il=p;this.ins._add(this)};b.prototype._stop=function(){this.ins._remove(this);this.inner!==c&&this.inner._remove(this.il);this.out=c;this.open=!0;this.inner=c;this.il=p};b.prototype.less=function(){var a=this.out;a!==c&&(this.open||this.inner!==c||a._c())};b.prototype._n=function(a){var b=this.out;if(b!==c){var e=this.inner,d=this.il;e!==c&&d!==p&&e._remove(d);(this.inner=a)._add(this.il=new P(b,this))}};b.prototype._e=function(a){var b=this.out; +b!==c&&b._e(a)};b.prototype._c=function(){this.open=!1;this.less()};return b}(),R=function(){function b(a,b,e){var g=this;this.type="fold";this.ins=e;this.out=c;this.f=function(b){return a(g.acc,b)};this.acc=this.seed=b}b.prototype._start=function(a){this.out=a;this.acc=this.seed;a._n(this.acc);this.ins._add(this)};b.prototype._stop=function(){this.ins._remove(this);this.out=c;this.acc=this.seed};b.prototype._n=function(a){var b=this.out;b!==c&&(a=m(this,a,b),a!==c&&b._n(this.acc=a))};b.prototype._e= +function(a){var b=this.out;b!==c&&b._e(a)};b.prototype._c=function(){var a=this.out;a!==c&&a._c()};return b}(),S=function(){function b(a){this.type="last";this.ins=a;this.out=c;this.has=!1;this.val=c}b.prototype._start=function(a){this.out=a;this.has=!1;this.ins._add(this)};b.prototype._stop=function(){this.ins._remove(this);this.val=this.out=c};b.prototype._n=function(a){this.has=!0;this.val=a};b.prototype._e=function(a){var b=this.out;b!==c&&b._e(a)};b.prototype._c=function(){var a=this.out;a!== +c&&(this.has?(a._n(this.val),a._c()):a._e(Error("last() failed because input stream completed")))};return b}(),T=function(){function b(a,b){this.out=a;this.op=b}b.prototype._n=function(a){this.out._n(a)};b.prototype._e=function(a){this.out._e(a)};b.prototype._c=function(){this.op.inner=c;this.op.less()};return b}(),U=function(){function b(a){this.type=a.type+"+flatten";this.ins=a.ins;this.out=c;this.mapOp=a;this.inner=c;this.il=p;this.open=!0}b.prototype._start=function(a){this.out=a;this.inner=c; +this.il=p;this.open=!0;this.mapOp.ins._add(this)};b.prototype._stop=function(){this.mapOp.ins._remove(this);this.inner!==c&&this.inner._remove(this.il);this.inner=this.out=c;this.il=p};b.prototype.less=function(){if(!this.open&&this.inner===c){var a=this.out;a!==c&&a._c()}};b.prototype._n=function(a){var b=this.out;if(b!==c){var e=this.inner,d=this.il;a=m(this.mapOp,a,b);a!==c&&(e!==c&&d!==p&&e._remove(d),(this.inner=a)._add(this.il=new T(b,this)))}};b.prototype._e=function(a){var b=this.out;b!== +c&&b._e(a)};b.prototype._c=function(){this.open=!1;this.less()};return b}(),y=function(){function b(a,b){this.type="map";this.ins=b;this.out=c;this.f=a}b.prototype._start=function(a){this.out=a;this.ins._add(this)};b.prototype._stop=function(){this.ins._remove(this);this.out=c};b.prototype._n=function(a){var b=this.out;b!==c&&(a=m(this,a,b),a!==c&&b._n(a))};b.prototype._e=function(a){var b=this.out;b!==c&&b._e(a)};b.prototype._c=function(){var a=this.out;a!==c&&a._c()};return b}(),A=function(b){function a(a, +c,d){c=b.call(this,c,d)||this;c.type="filter+map";c.passes=a;return c}n(a,b);a.prototype._n=function(a){if(this.passes(a)){var b=this.out;b!==c&&(a=m(this,a,b),a!==c&&b._n(a))}};return a}(y),V=function(){function b(a){this.type="remember";this.ins=a;this.out=c}b.prototype._start=function(a){this.out=a;this.ins._add(a)};b.prototype._stop=function(){this.ins._remove(this.out);this.out=c};return b}(),W=function(){function b(a,b){this.type="replaceError";this.ins=b;this.out=c;this.f=a}b.prototype._start= +function(a){this.out=a;this.ins._add(this)};b.prototype._stop=function(){this.ins._remove(this);this.out=c};b.prototype._n=function(a){var b=this.out;b!==c&&b._n(a)};b.prototype._e=function(a){var b=this.out;if(b!==c)try{this.ins._remove(this),(this.ins=this.f(a))._add(this)}catch(e){b._e(e)}};b.prototype._c=function(){var a=this.out;a!==c&&a._c()};return b}(),X=function(){function b(a,b){this.type="startWith";this.ins=a;this.out=c;this.val=b}b.prototype._start=function(a){this.out=a;this.out._n(this.val); +this.ins._add(a)};b.prototype._stop=function(){this.ins._remove(this.out);this.out=c};return b}(),Y=function(){function b(a,b){this.type="take";this.ins=b;this.out=c;this.max=a;this.taken=0}b.prototype._start=function(a){this.out=a;this.taken=0;0>=this.max?a._c():this.ins._add(this)};b.prototype._stop=function(){this.ins._remove(this);this.out=c};b.prototype._n=function(a){var b=this.out;if(b!==c){var e=++this.taken;e=e.length?(this._err=c,this._stopID=setTimeout(function(){return b._stopNow()})):1===e.length&&this._pruneCycles())};b.prototype._pruneCycles=function(){this._hasNoSinks(this,[])&&this._remove(this._ils[0])};b.prototype._hasNoSinks= +function(a,b){if(-1!==b.indexOf(a)||a.out===this)return!0;if(a.out&&a.out!==c)return this._hasNoSinks(a.out,b.concat(a));if(a._ils){for(var g=0,d=a._ils.length;g dist/xstream.js", - "postdist": "uglifyjs dist/xstream.js -o dist/xstream.min.js", + "postdist": "node tools/minify.js", "start": "npm install && npm prune", "check-release": "node tools/check-release.js", "prepublish": "npm run compile", @@ -56,6 +56,7 @@ "conventional-changelog-cli": "1.2.x", "cz-conventional-changelog": "1.2.x", "es6-promise": "4.0.5", + "google-closure-compiler-js": "^20161201.0.0", "markdown-doctest": "0.9.1", "markdox": "0.1.10", "mkdirp": "0.5.1", @@ -68,7 +69,6 @@ "tslint": "4.0.2", "typescript": "2.1.5", "typings": "2.0.0", - "uglify-js": "2.7.5", "validate-commit-msg": "2.4.x" }, "publishConfig": { diff --git a/tools/minify.js b/tools/minify.js new file mode 100644 index 0000000..4b842b4 --- /dev/null +++ b/tools/minify.js @@ -0,0 +1,14 @@ +var compiler = require('google-closure-compiler-js').compile; +var fs = require('fs'); +var source = fs.readFileSync('dist/xstream.js', 'utf8'); + +var compilerFlags = { + jsCode: [{src: source}], + languageIn: 'ES5', + createSourceMap: true, + // compilationLevel: 'ADVANCED', +}; + +var output = compiler(compilerFlags); +fs.writeFileSync('dist/xstream.min.js', output.compiledCode, 'utf8'); +fs.writeFileSync('dist/xstream.min.js.map', output.sourceMap, 'utf8'); \ No newline at end of file