From 9ff3e46ab34dbed7b98d302461b162d2f4bbed74 Mon Sep 17 00:00:00 2001 From: Gandalf-the-Bot Date: Mon, 26 Dec 2016 17:22:19 +0000 Subject: [PATCH] Bundled output for commit 78b9a082acf42bf5575333ec5dd3e717214ebf3e [skip ci] --- mithril.js | 23 ++++++++------ mithril.min.js | 82 +++++++++++++++++++++++++------------------------- 2 files changed, 55 insertions(+), 50 deletions(-) diff --git a/mithril.js b/mithril.js index 104a4dac..b5d5203c 100644 --- a/mithril.js +++ b/mithril.js @@ -428,7 +428,9 @@ var coreRenderer = function($window) { function createComponent(vnode, hooks, ns) { // For object literals since `Vnode()` always sets the `state` field. if (!vnode.state) vnode.state = {} - assign(vnode.state, vnode.tag) + var constructor = function() {} + constructor.prototype = vnode.tag + vnode.state = new constructor var view = vnode.tag.view if (view.reentrantLock != null) return $emptyFragment view.reentrantLock = true @@ -705,12 +707,18 @@ var coreRenderer = function($window) { function removeNode(vnode, context) { var expected = 1, called = 0 if (vnode.attrs && vnode.attrs.onbeforeremove) { - expected++ - vnode.attrs.onbeforeremove.call(vnode.state, vnode, once(continuation)) + var result = vnode.attrs.onbeforeremove.call(vnode.state, vnode) + if (result != null && typeof result.then === "function") { + expected++ + result.then(continuation, continuation) + } } if (typeof vnode.tag !== "string" && vnode.tag.onbeforeremove) { - expected++ - vnode.tag.onbeforeremove.call(vnode.state, vnode, once(continuation)) + var result = vnode.tag.onbeforeremove.call(vnode.state, vnode) + if (result != null && typeof result.then === "function") { + expected++ + result.then(continuation, continuation) + } } continuation() function continuation() { @@ -879,9 +887,6 @@ var coreRenderer = function($window) { } return false } - function assign(target, source) { - Object.keys(source).forEach(function(k){target[k] = source[k]}) - } function render(dom, vnodes) { if (!dom) throw new Error("Ensure the DOM element being passed to m.route/m.mount/m.render is not undefined.") var hooks = [] @@ -1098,7 +1103,7 @@ var _20 = function($window, redrawService0) { if (render1 != null) redrawService0.render(root, render1(Vnode(component, attrs3.key, attrs3))) } var bail = function() { - routeService.setPath(defaultRoute, null, { replace: true }) + routeService.setPath(defaultRoute, null, {replace: true}) } routeService.defineRoutes(routes, function(payload, params, path) { var update = lastUpdate = function(routeResolver, comp) { diff --git a/mithril.min.js b/mithril.min.js index dc602474..a9424e7a 100644 --- a/mithril.min.js +++ b/mithril.min.js @@ -1,41 +1,41 @@ -new function(){function u(a,c,h,d,g,m){return{tag:a,key:c,attrs:h,children:d,text:g,dom:m,domSize:void 0,state:{},events:void 0,instance:void 0,skip:!1}}function z(a){if(null==a||"string"!==typeof a&&null==a.view)throw Error("The selector must be either a string or a component.");if("string"===typeof a&&void 0===J[a]){for(var c,h,d=[],g={};c=P.exec(a);){var m=c[1],l=c[2];""===m&&""!==l?h=l:"#"===m?g.id=l:"."===m?d.push(l):"["===c[3][0]&&((m=c[6])&&(m=m.replace(/\\(["'])/g,"$1").replace(/\\\\/g,"\\")), -"class"===c[4]?d.push(m):g[c[4]]=m||!0)}0a.indexOf("?")?"?":"&";a+=d+b}return a}function l(a){try{return""!==a?JSON.parse(a):null}catch(C){throw Error(a);}}function n(a){return a.responseText}function p(a, -c){if("function"===typeof a)if(c instanceof Array)for(var b=0;bk.status||304===k.status)c(p(b.type,a));else{var g=Error(k.responseText),h;for(h in a)g[h]=a[h];d(g)}}catch(E){d(E)}};h&&null!=b.data?k.send(b.data):k.send()});return!0===b.background?w:t(w)},jsonp:function(b,l){var n=h();b=d(b,l);var t=new c(function(c, -d){var h=b.callbackName||"_mithril_"+Math.round(1E16*Math.random())+"_"+k++,l=a.document.createElement("script");a[h]=function(d){l.parentNode.removeChild(l);c(p(b.type,d));delete a[h]};l.onerror=function(){l.parentNode.removeChild(l);d(Error("JSONP request failed"));delete a[h]};null==b.data&&(b.data={});b.url=g(b.url,b.data);b.data[b.callbackKey||"callback"]=h;l.src=m(b.url,b.data);a.document.documentElement.appendChild(l)});return!0===b.background?t:n(t)},setCompletionCallback:function(a){t=a}}}(window, -G),O=function(a){function c(e,f,a,b,c,d,g){for(;a=k&&w>=B;){var v=f[k],q=a[B];if(v!==q||r)if(null==v)k++;else if(null==q)B++;else if(v.key===q.key)k++,B++,m(e,v,q,b,n(f,k,d),r,g),r&&v.tag===q.tag&&p(e,l(v),d);else if(v=f[x],v!==q||r)if(null==v)x--;else if(null==q)B++;else if(v.key===q.key)m(e,v,q,b,n(f,x+1,d),r,g),(r||B=k&&w>=B;){v=f[x];q=a[w]; -if(v!==q||r)if(null==v)x--;else{if(null!=q)if(v.key===q.key)m(e,v,q,b,n(f,x+1,d),r,g),r&&v.tag===q.tag&&p(e,l(v),d),null!=v.dom&&(d=v.dom),x--;else{if(!C){C=f;var v=x,y={},F;for(F=0;Fa.indexOf("?")?"?":"&";a+=d+b}return a}function k(a){try{return""!==a?JSON.parse(a):null}catch(C){throw Error(a);}}function r(a){return a.responseText}function q(a, +c){if("function"===typeof a)if(c instanceof Array)for(var b=0;bm.status||304===m.status)c(q(b.type,a));else{var f=Error(m.responseText),g;for(g in a)f[g]=a[g];d(f)}}catch(e){d(e)}};g&&null!=b.data?m.send(b.data):m.send()});return!0===b.background?y:u(y)},jsonp:function(b,k){var r=g();b=d(b,k);var u=new c(function(c, +d){var g=b.callbackName||"_mithril_"+Math.round(1E16*Math.random())+"_"+m++,k=a.document.createElement("script");a[g]=function(d){k.parentNode.removeChild(k);c(q(b.type,d));delete a[g]};k.onerror=function(){k.parentNode.removeChild(k);d(Error("JSONP request failed"));delete a[g]};null==b.data&&(b.data={});b.url=f(b.url,b.data);b.data[b.callbackKey||"callback"]=g;k.src=l(b.url,b.data);a.document.documentElement.appendChild(k)});return!0===b.background?u:r(u)},setCompletionCallback:function(a){u=a}}}(window, +F),O=function(a){function c(e,h,a,b,c,d,f){for(;a=t&&y>=u;){var x=a[t],n=p[u];if(x!==n||h)if(null==x)t++;else if(null==n)u++;else if(x.key===n.key)t++,u++,k(e,x,n,d,q(a,t,f),h,l),h&&x.tag===n.tag&&m(e,r(x),f);else if(x=a[v],x!==n||h)if(null==x)v--;else if(null==n)u++;else if(x.key===n.key)k(e,x,n,d,q(a,v+1,f),h,l),(h||u=t&&y>=u;){x=a[v];n=p[y];if(x!==n||h)if(null==x)v--;else{if(null!=n)if(x.key===n.key)k(e,x,n,d,q(a,v+1,f),h,l),h&&x.tag===n.tag&&m(e,r(x),f),null!=x.dom&&(f=x.dom),v--;else{if(!C){C=a;var x=v,E={},w;for(w=0;w