diff --git a/mithril.js b/mithril.js index 30816228..d9488025 100644 --- a/mithril.js +++ b/mithril.js @@ -1,7 +1,7 @@ new function() { var log = console.error.bind(console) -var Stream = function(log) { +var StreamFactory = function(log) { var guid = 0, noop = function() {}, HALT = {} function createStream() { function stream() { @@ -184,7 +184,8 @@ var Stream = function(log) { }, streams) } return {stream: createStream, merge: merge, combine: combine, reject: reject, HALT: HALT} -}(log) +} +var Stream = StreamFactory(log) function Vnode(tag, key, attrs, children, text, dom) { return {tag: tag, key: key, attrs: attrs, children: children, text: text, dom: dom, domSize: undefined, state: {}, events: undefined, instance: undefined} } @@ -789,13 +790,13 @@ var buildQueryString = function(object) { } } var requestService = function($window, log) { - var Stream1 = Stream(log) + var Stream = StreamFactory(log) var callbackCount = 0 var oncompletion function setCompletionCallback(callback) {oncompletion = callback} function xhr(args) { - var stream = Stream1.stream() + var stream = Stream.stream() if (args.initialValue !== undefined) stream(args.initialValue) var useBody = typeof args.useBody === "boolean" ? args.useBody : args.method !== "GET" && args.method !== "TRACE" @@ -846,7 +847,7 @@ var requestService = function($window, log) { return stream } function jsonp(args) { - var stream = Stream1.stream() + var stream = Stream.stream() if (args.initialValue !== undefined) stream(args.initialValue) var callbackName = args.callbackName || "_mithril_" + Math.round(Math.random() * 1e16) + "_" + callbackCount++ diff --git a/mithril.min.js b/mithril.min.js index 5cfbcd5c..a0c38e49 100644 --- a/mithril.min.js +++ b/mithril.min.js @@ -1,20 +1,20 @@ -new function(){function w(b,e,p,f,k,h){return{tag:b,key:e,attrs:p,children:f,text:k,dom:h,domSize:void 0,state:{},events:void 0,instance:void 0}}var u=console.error.bind(console),B=function(b){function e(){function a(){0=l&&A>=k;){var y=a[l],q=d[k];if(y===q)l++,k++;else if(null!=y&&null!=q&&y.key===q.key)l++,k++,h(c,y,q,b,t(a,l,g),m,f),m&&y.tag===q.tag&&r(c,n(y),g);else if(y=a[z],y===q)z--,k++;else if(null!=y&&null!=q&&y.key===q.key)h(c,y,q,b,t(a,z+1,g),m,f),k=l&&A>=k;){y=a[z];q=d[A];if(y===q)z--;else if(null!=y&&null!=q&& -y.key===q.key)h(c,y,q,b,t(a,z+1,g),m,f),m&&y.tag===q.tag&&r(c,n(y),g),null!=y.dom&&(g=y.dom),z--;else{if(!w){w=a;var y=z,v={},u;for(u=0;ub.indexOf("?")?"?":"&";b+=m+f}return b}function k(b){try{return""!==b?JSON.parse(b):null}catch(e){throw Error(b);}}function h(b){return b.responseText}function n(b,e){if("function"===typeof b)if(e instanceof Array)for(var f= -0;fm.status)e(n(g.type,b));else{var f=Error(m.responseText),r;for(r in b)f[r]=b[r];e.error(f)}}catch(k){e.error(k)}"function"===typeof x&&x()}};r?m.send(g.data):m.send();return e},jsonp:function(e){var l=t.stream();void 0!==e.initialValue&&l(e.initialValue);var k=e.callbackName||"_mithril_"+Math.round(1E16*Math.random())+"_"+r++,m=b.document.createElement("script");b[k]=function(f){m.parentNode.removeChild(m);l(n(e.type, f));"function"===typeof x&&x();delete b[k]};m.onerror=function(){m.parentNode.removeChild(m);l.error(Error("JSONP request failed"));"function"===typeof x&&x();delete b[k]};null==e.data&&(e.data={});e.url=p(e.url,e.data);e.data[e.callbackKey||"callback"]=k;m.src=f(e.url,e.data);b.document.documentElement.appendChild(m);return l},setCompletionCallback:function(b){x=b}}}(window,u),G=function(){var b=[];return{subscribe:b.push.bind(b),unsubscribe:function(e){e=b.indexOf(e);-1