Bundled output for commit aef4ab16e9 [skip ci]
This commit is contained in:
parent
aef4ab16e9
commit
a72c117ed3
2 changed files with 47 additions and 46 deletions
|
|
@ -93,7 +93,7 @@ var _7 = function(log) {
|
|||
function initStream(stream) {
|
||||
stream.constructor = createStream
|
||||
stream._state = {id: guid++, value: undefined, error: undefined, state: 0, derive: undefined, recover: undefined, deps: {}, parents: [], errorStream: undefined, endStream: undefined}
|
||||
stream.map = map, stream.ap = ap, stream.of = createStream
|
||||
stream["fantasy-land/map"] = map, stream["fantasy-land/ap"] = ap, stream["fantasy-land/of"] = createStream
|
||||
stream.valueOf = valueOf, stream.toJSON = toJSON, stream.toString = valueOf
|
||||
stream.run = run, stream.catch = doCatch
|
||||
Object.defineProperties(stream, {
|
||||
|
|
@ -112,7 +112,7 @@ var _7 = function(log) {
|
|||
end: {get: function() {
|
||||
if (!stream._state.endStream) {
|
||||
var endStream = createStream()
|
||||
endStream.map(function(value) {
|
||||
endStream["fantasy-land/map"](function(value) {
|
||||
if (value === true) unregisterStream(stream), unregisterStream(endStream)
|
||||
return value
|
||||
})
|
||||
|
|
@ -205,7 +205,7 @@ var _7 = function(log) {
|
|||
updateState(stream, absorbable._state.value, absorbable._state.error)
|
||||
for (var id in stream._state.deps) updateDependency(stream._state.deps[id], false)
|
||||
}
|
||||
absorbable.map(update).catch(function(e) {
|
||||
absorbable["fantasy-land/map"](update).catch(function(e) {
|
||||
update()
|
||||
throw {__error: e}
|
||||
})
|
||||
|
|
@ -245,7 +245,7 @@ var _7 = function(log) {
|
|||
stream._state.deps = {}
|
||||
}
|
||||
function map(fn) {return combine(function(stream) {return fn(stream())}, [this])}
|
||||
function ap(stream) {return combine(function(s1, s2) {return s1()(s2())}, [this, stream])}
|
||||
function ap(stream) {return combine(function(s1, s2) {return s1()(s2())}, [stream, this])}
|
||||
function valueOf() {return this._state.value}
|
||||
function toJSON() {return this._state.value != null && typeof this._state.value.toJSON === "function" ? this._state.value.toJSON() : this._state.value}
|
||||
function valid(stream) {return stream._state }
|
||||
|
|
@ -263,6 +263,7 @@ var _7 = function(log) {
|
|||
return streams.map(function(s) {return s()})
|
||||
}, streams)
|
||||
}
|
||||
createStream["fantasy-land/of"] = createStream
|
||||
createStream.merge = merge
|
||||
createStream.combine = combine
|
||||
createStream.reject = reject
|
||||
|
|
|
|||
84
mithril.min.js
vendored
84
mithril.min.js
vendored
|
|
@ -1,42 +1,42 @@
|
|||
new function(){function v(b,e,l,f,h,k){return{tag:b,key:e,attrs:l,children:f,text:h,dom:k,domSize:void 0,state:{},events:void 0,instance:void 0,skip:!1}}function w(b){if(null==b||"string"!==typeof b&&null==b.view)throw Error("The selector must be either a string or a component.");if("string"===typeof b&&void 0===F[b]){for(var e,l,f=[],h={};e=O.exec(b);){var k=e[1],q=e[2];""===k&&""!==q?l=q:"#"===k?h.id=q:"."===k?f.push(q):"["===e[3][0]&&((k=e[6])&&(k=k.replace(/\\(["'])/g,"$1").replace(/\\\\/g,"\\")),
|
||||
h[e[4]]=k||!0)}0<f.length&&(h.className=f.join(" "));F[b]=function(b,g){var e=!1,x,k,f=b.className||b["class"],y;for(y in h)b[y]=h[y];void 0!==f&&(void 0!==b["class"]&&(b["class"]=void 0,b.className=f),void 0!==h.className&&(b.className=h.className+" "+f));for(y in b)if("key"!==y){e=!0;break}g instanceof Array&&1==g.length&&null!=g[0]&&"#"===g[0].tag?k=g[0].children:x=g;return v(l||"div",b.key,e?b:void 0,x,k,void 0)}}var m;null!=arguments[1]&&("object"!==typeof arguments[1]||void 0!==arguments[1].tag||
|
||||
arguments[1]instanceof Array)?f=1:(m=arguments[1],f=2);if(arguments.length===f+1)e=arguments[f]instanceof Array?arguments[f]:[arguments[f]];else for(e=[];f<arguments.length;f++)e.push(arguments[f]);return"string"===typeof b?F[b](m||{},v.normalizeChildren(e)):v(b,m&&m.key,m||{},v.normalizeChildren(e),void 0,void 0)}v.normalize=function(b){return b instanceof Array?v("[",void 0,void 0,v.normalizeChildren(b),void 0,void 0):null!=b&&"object"!==typeof b?v("#",void 0,void 0,b,void 0,void 0):b};v.normalizeChildren=
|
||||
function(b){for(var e=0;e<b.length;e++)b[e]=v.normalize(b[e]);return b};var O=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g,F={};w.trust=function(b){return v("<",void 0,void 0,b,void 0,void 0)};w.fragment=function(b,e){return v("[",b.key,b,v.normalizeChildren(e),void 0,void 0)};var M=function(b){function e(){function a(){0<arguments.length&&arguments[0]!==r&&f(a,arguments[0],void 0);return a._state.value}l(a);0<arguments.length&&arguments[0]!==r&&f(a,arguments[0],
|
||||
void 0);return a}function l(a){a.constructor=e;a._state={id:P++,value:void 0,error:void 0,state:0,derive:void 0,recover:void 0,deps:{},parents:[],errorStream:void 0,endStream:void 0};a.map=v;a.ap=w;a.of=e;a.valueOf=n;a.toJSON=G;a.toString=n;a.run=u;a["catch"]=x;Object.defineProperties(a,{error:{get:function(){if(!a._state.errorStream){var c=function(){0<arguments.length&&arguments[0]!==r&&f(a,void 0,arguments[0]);return a._state.error};l(c);y(c,[a],K,K);a._state.errorStream=c}return a._state.errorStream}},
|
||||
end:{get:function(){if(!a._state.endStream){var c=e();c.map(function(d){!0===d&&(C(a),C(c));return d});a._state.endStream=c}return a._state.endStream}}})}function f(a,c,d){h(a,c,d);for(var g in a._state.deps)q(a._state.deps[g],!1);a._state.changed=!1;for(var b in a._state.deps)a._state.deps[b]._state.changed=!1}function h(a,c,d){d=p(c,d);if(void 0!==d&&"function"===typeof a._state.recover){if(!m(a,k,!0))return}else k(a,c,d);a._state.changed=!0;2!==a._state.state&&(a._state.state=1)}function k(a,c,
|
||||
d){a._state.value=c;a._state.error=d}function q(d,g){var b=d._state.parents;0<b.length&&b.filter(c).length===b.length&&(g||0<b.filter(a).length)&&(b=b.filter(L),0<b.length?h(d,void 0,b[0]._state.error):m(d,h,!1))}function m(a,c,d){try{var b=d?a._state.recover():a._state.derive();if(b===r)return!1;c(a,b,void 0)}catch(e){c(a,void 0,null!=e.__error?e.__error:e),null==e.__error&&g(a,e)}return!0}function p(a,c){null!=a&&a.constructor===e&&(c=void 0!==a._state.error?a._state.error:p(a._state.value,a._state.error));
|
||||
return c}function g(a,c){0===Object.keys(a._state.deps).length&&setTimeout(function(){0===Object.keys(a._state.deps).length&&b(c)},0)}function u(a){var c=e(),d=this;return y(c,[d],function(){return A(c,a(d()))},void 0)}function x(a){var c=e(),d=this;return y(c,[d],function(){return d._state.value},function(){return A(c,a(d._state.error))})}function t(c,d){if(d.length>d.filter(D).length)throw Error("Ensure that each item passed to m.prop.combine/m.prop.merge is a stream");return y(e(),d,function(){var b=
|
||||
d.filter(L);if(0<b.length)throw{__error:b[0]._state.error};return c.apply(this,d.concat([d.filter(a)]))},void 0)}function A(a,c){if(null!=c&&c.constructor===e){var d=c,b=function(){h(a,d._state.value,d._state.error);for(var c in a._state.deps)q(a._state.deps[c],!1)};d.map(b)["catch"](function(a){b();throw{__error:a};});if(0===d._state.state)return r;if(d._state.error)throw{__error:d._state.error};c=d._state.value}return c}function y(a,c,b,g){var e=a._state;e.derive=b;e.recover=g;e.parents=c.filter(d);
|
||||
B(a,e.parents);q(a,!0);return a}function B(a,c){for(var d=0;d<c.length;d++)c[d]._state.deps[a._state.id]=a,B(a,c[d]._state.parents)}function C(a){for(var c=0;c<a._state.parents.length;c++)delete a._state.parents[c]._state.deps[a._state.id];for(var d in a._state.deps){var c=a._state.deps[d],b=c._state.parents.indexOf(a);-1<b&&c._state.parents.splice(b,1)}a._state.state=2;a._state.deps={}}function v(a){return t(function(c){return a(c())},[this])}function w(a){return t(function(a,c){return a()(c())},
|
||||
[this,a])}function n(){return this._state.value}function G(){return null!=this._state.value&&"function"===typeof this._state.value.toJSON?this._state.value.toJSON():this._state.value}function D(a){return a._state}function c(a){return 1===a._state.state}function a(a){return a._state.changed}function d(a){return 2!==a._state.state}function L(a){return a._state.error}var P=0,K=function(){},r={};e.merge=function(a){return t(function(){return a.map(function(a){return a()})},a)};e.combine=t;e.reject=function(a){var c=
|
||||
e();c.error(a);return c};e.HALT=r;return e}(console.log.bind(console)),E=function(b){function e(b,f){if(f instanceof Array)for(var q=0;q<f.length;q++)e(b+"["+q+"]",f[q]);else if("[object Object]"===Object.prototype.toString.call(f))for(q in f)e(b+"["+q+"]",f[q]);else l.push(encodeURIComponent(b)+(null!=f&&""!==f?"="+encodeURIComponent(f):""))}if("[object Object]"!==Object.prototype.toString.call(b))return"";var l=[],f;for(f in b)e(f,b[f]);return l.join("&")},H=function(b,e){function l(b,e){if(null==
|
||||
e)return b;for(var f=b.match(/:[^\/]+/gi)||[],k=0;k<f.length;k++){var l=f[k].slice(1);null!=e[l]&&(b=b.replace(f[k],e[l]),delete e[l])}return b}function f(b,e){var f=E(e);if(""!==f){var k=0>b.indexOf("?")?"?":"&";b+=k+f}return b}function h(b){try{return""!==b?JSON.parse(b):null}catch(e){throw Error(b);}}function k(b){return b.responseText}function q(b,e){if("function"===typeof b)if(e instanceof Array)for(var f=0;f<e.length;f++)e[f]=new b(e[f]);else return new b(e);return e}var m=0,p;return{request:function(g){var u=
|
||||
e();void 0!==g.initialValue&&u(g.initialValue);var x="boolean"===typeof g.useBody?g.useBody:"GET"!==g.method&&"TRACE"!==g.method;"function"!==typeof g.serialize&&(g.serialize="undefined"!==typeof FormData&&g.data instanceof FormData?function(b){return b}:JSON.stringify);"function"!==typeof g.deserialize&&(g.deserialize=h);"function"!==typeof g.extract&&(g.extract=k);g.url=l(g.url,g.data);x?g.data=g.serialize(g.data):g.url=f(g.url,g.data);var t=new b.XMLHttpRequest;t.open(g.method,g.url,"boolean"===
|
||||
typeof g.async?g.async:!0,"string"===typeof g.user?g.user:void 0,"string"===typeof g.password?g.password:void 0);g.serialize===JSON.stringify&&x&&t.setRequestHeader("Content-Type","application/json; charset=utf-8");g.deserialize===h&&t.setRequestHeader("Accept","application/json, text/*");"function"===typeof g.config&&(t=g.config(t,g)||t);t.onreadystatechange=function(){if(4===t.readyState){try{var b=g.extract!==k?g.extract(t,g):g.deserialize(g.extract(t,g));if(200<=t.status&&300>t.status||304===
|
||||
t.status)u(q(g.type,b));else{var e=Error(t.responseText),f;for(f in b)e[f]=b[f];u.error(e)}}catch(x){u.error(x)}"function"===typeof p&&p()}};x?t.send(g.data):t.send();return u},jsonp:function(g){var k=e();void 0!==g.initialValue&&k(g.initialValue);var x=g.callbackName||"_mithril_"+Math.round(1E16*Math.random())+"_"+m++,h=b.document.createElement("script");b[x]=function(e){h.parentNode.removeChild(h);k(q(g.type,e));"function"===typeof p&&p();delete b[x]};h.onerror=function(){h.parentNode.removeChild(h);
|
||||
k.error(Error("JSONP request failed"));"function"===typeof p&&p();delete b[x]};null==g.data&&(g.data={});g.url=l(g.url,g.data);g.data[g.callbackKey||"callback"]=x;h.src=f(g.url,g.data);b.document.documentElement.appendChild(h);return k},setCompletionCallback:function(b){p=b}}}(window,M),I=function(){var b=[];return{subscribe:b.push.bind(b),unsubscribe:function(e){e=b.indexOf(e);-1<e&&b.splice(e,1)},publish:function(){for(var e=0;e<b.length;e++)b[e].apply(this,arguments)}}}();H.setCompletionCallback(I.publish);
|
||||
var N=function(b){function e(c,a,d,b,e,g,f){for(;d<b;d++){var k=a[d];null!=k&&p(c,l(k,e,f),g)}}function l(c,a,d){var b=c.tag;null!=c.attrs&&C(c.attrs,c,a);if("string"===typeof b)switch(b){case "#":return c.dom=n.createTextNode(c.children);case "<":return f(c);case "[":var g=n.createDocumentFragment();null!=c.children&&(b=c.children,e(g,b,0,b.length,a,null,d));c.dom=g.firstChild;c.domSize=g.childNodes.length;return g;default:var k=c.tag;switch(c.tag){case "svg":d="http://www.w3.org/2000/svg";break;
|
||||
case "math":d="http://www.w3.org/1998/Math/MathML"}var r=(b=c.attrs)&&b.is,k=d?r?n.createElementNS(d,k,{is:r}):n.createElementNS(d,k):r?n.createElement(k,{is:r}):n.createElement(k);c.dom=k;if(null!=b)for(g in r=d,b)A(c,g,null,b[g],r);null!=c.text&&(""!==c.text?k.textContent=c.text:c.children=[v("#",void 0,void 0,c.text,void 0,void 0)]);null!=c.children&&(g=c.children,e(k,g,0,g.length,a,null,d),a=c.attrs,"select"===c.tag&&null!=a&&("value"in a&&A(c,"value",null,a.value,void 0),"selectedIndex"in a&&
|
||||
A(c,"selectedIndex",null,a.selectedIndex,void 0)));return k}else{c.state||(c.state={});Q(c.state,c.tag);C(c.tag,c,a);c.instance=v.normalize(c.tag.view.call(c.state,c));if(null!=c.instance){if(c.instance===c)throw Error("A view cannot return the vnode it received as arguments");a=l(c.instance,a,d);c.dom=c.instance.dom;c.domSize=null!=c.dom?c.instance.domSize:0;c=a}else c.domSize=0,c=G;return c}}function f(c){var a={caption:"table",thead:"table",tbody:"table",tfoot:"table",tr:"tbody",th:"tr",td:"tr",
|
||||
colgroup:"table",col:"colgroup"}[(c.children.match(/^\s*?<(\w+)/im)||[])[1]]||"div",a=n.createElement(a);a.innerHTML=c.children;c.dom=a.firstChild;c.domSize=a.childNodes.length;c=n.createDocumentFragment();for(var d;d=a.firstChild;)c.appendChild(d);return c}function h(c,a,d,b,f,x){if(a!==d&&(null!=a||null!=d))if(null==a)e(c,d,0,d.length,b,f,void 0);else if(null==d)g(c,a,0,a.length,d);else{var r;a:{if(null!=a.pool&&Math.abs(a.pool.length-d.length)<=Math.abs(a.length-d.length)&&(r=d[0]&&d[0].children&&
|
||||
d[0].children.length||0,Math.abs((a.pool[0]&&a.pool[0].children&&a.pool[0].children.length||0)-r)<=Math.abs((a[0]&&a[0].children&&a[0].children.length||0)-r))){r=!0;break a}r=!1}r&&(a=a.concat(a.pool));if(a.length===d.length&&null!=d[0]&&null==d[0].key)for(var h=0;h<a.length;h++)a[h]===d[h]||null==a[h]&&null==d[h]||(null==a[h]?p(c,l(d[h],b,x),m(a,h+1,f)):null==d[h]?g(c,a,h,h+1,d):k(c,a[h],d[h],b,m(a,h+1,f),r,x),r&&a[h].tag===d[h].tag&&p(c,q(a[h]),m(a,h+1,f)));else{for(var u=h=0,y=a.length-1,t=d.length-
|
||||
1,A;y>=h&&t>=u;){var z=a[h],n=d[u];if(z!==n||r)if(null!=z&&null!=n&&z.key===n.key)h++,u++,k(c,z,n,b,m(a,h,f),r,x),r&&z.tag===n.tag&&p(c,q(z),f);else if(z=a[y],z!==n||r)if(null!=z&&null!=n&&z.key===n.key)k(c,z,n,b,m(a,y+1,f),r,x),(r||u<t)&&p(c,q(z),m(a,h,f)),y--,u++;else break;else y--,u++;else h++,u++}for(;y>=h&&t>=u;){z=a[y];n=d[t];if(z!==n||r)if(null!=z&&null!=n&&z.key===n.key)k(c,z,n,b,m(a,y+1,f),r,x),r&&z.tag===n.tag&&p(c,q(z),f),null!=z.dom&&(f=z.dom),y--;else{if(!A){A=a;var z=y,v={},w;for(w=
|
||||
0;w<z;w++){var B=A[w];null!=B&&(B=B.key,null!=B&&(v[B]=w))}A=v}null!=n&&(z=A[n.key],null!=z?(v=a[z],k(c,v,n,b,m(a,y+1,f),r,x),p(c,q(v),f),a[z].skip=!0,null!=v.dom&&(f=v.dom)):(n=l(n,b,void 0),p(c,n,f),f=n))}else y--;t--;if(t<u)break}e(c,d,u,t+1,b,f,x);g(c,a,h,y+1,d)}}}function k(c,a,d,b,e,g,r){var u=a.tag;if(u===d.tag){d.state=a.state;d.events=a.events;var n;var t;null!=d.attrs&&"function"===typeof d.attrs.onbeforeupdate&&(n=d.attrs.onbeforeupdate.call(d.state,d,a));"string"!==typeof d.tag&&"function"===
|
||||
typeof d.tag.onbeforeupdate&&(t=d.tag.onbeforeupdate.call(d.state,d,a));void 0===n&&void 0===t||n||t?n=!1:(d.dom=a.dom,d.domSize=a.domSize,d.instance=a.instance,n=!0);if(!n)if(null!=d.attrs&&w(d.attrs,d,b,g),"string"===typeof u)switch(u){case "#":a.children.toString()!==d.children.toString()&&(a.dom.nodeValue=d.children);d.dom=a.dom;break;case "<":a.children!==d.children?(q(a),p(c,f(d),e)):(d.dom=a.dom,d.domSize=a.domSize);break;case "[":h(c,a.children,d.children,b,e,r);a=0;b=d.children;d.dom=null;
|
||||
if(null!=b){for(var m=0;m<b.length;m++)c=b[m],null!=c&&null!=c.dom&&(null==d.dom&&(d.dom=c.dom),a+=c.domSize||1);1!==a&&(d.domSize=a)}break;default:c=r;e=d.dom=a.dom;switch(d.tag){case "svg":c="http://www.w3.org/2000/svg";break;case "math":c="http://www.w3.org/1998/Math/MathML"}"textarea"===d.tag&&(null==d.attrs&&(d.attrs={}),null!=d.text&&(d.attrs.value=d.text));g=a.attrs;r=d.attrs;u=c;if(null!=r)for(m in r)A(d,m,g&&g[m],r[m],u);if(null!=g)for(m in g)null!=r&&m in r||("className"===m&&(m="class"),
|
||||
"o"!==m[0]||"n"!==m[1]||y(m)?"key"!==m&&d.dom.removeAttribute(m):B(d,m,void 0));null!=a.text&&null!=d.text&&""!==d.text?a.text.toString()!==d.text.toString()&&(a.dom.firstChild.nodeValue=d.text):(null!=a.text&&(a.children=[v("#",void 0,void 0,a.text,void 0,a.dom.firstChild)]),null!=d.text&&(d.children=[v("#",void 0,void 0,d.text,void 0,void 0)]),h(e,a.children,d.children,b,null,c))}else d.instance=v.normalize(d.tag.view.call(d.state,d)),w(d.tag,d,b,g),null!=d.instance?(null==a.instance?p(c,l(d.instance,
|
||||
b,r),e):k(c,a.instance,d.instance,b,e,g,r),d.dom=d.instance.dom,d.domSize=d.instance.domSize):null!=a.instance?(x(c,a.instance,null),d.dom=void 0,d.domSize=0):(d.dom=a.dom,d.domSize=a.domSize)}else x(c,a,null),p(c,l(d,b,void 0),e)}function q(c){var a=c.domSize;if(null!=a||null==c.dom){var d=n.createDocumentFragment();if(0<a){for(c=c.dom;--a;)d.appendChild(c.nextSibling);d.insertBefore(c,d.firstChild)}return d}return c.dom}function m(c,a,d){for(;a<c.length;a++)if(null!=c[a]&&null!=c[a].dom)return c[a].dom;
|
||||
return d}function p(c,a,d){d&&d.parentNode?c.insertBefore(a,d):c.appendChild(a)}function g(c,a,d,b,e){for(;d<b;d++){var g=a[d];null!=g&&(g.skip?g.skip=!1:x(c,g,e))}}function u(c){var a=!1;return function(){a||(a=!0,c())}}function x(c,a,d){function b(){if(++g===e&&(t(a),a.dom)){var f=a.domSize||1;if(1<f)for(var h=a.dom;--f;)c.removeChild(h.nextSibling);null!=a.dom.parentNode&&c.removeChild(a.dom);if(f=null!=d&&null==a.domSize)f=a.attrs,f=!(null!=f&&(f.oncreate||f.onupdate||f.onbeforeremove||f.onremove));
|
||||
f&&"string"===typeof a.tag&&(d.pool?d.pool.push(a):d.pool=[a])}}var e=1,g=0;a.attrs&&a.attrs.onbeforeremove&&(e++,a.attrs.onbeforeremove.call(a.state,a,u(b)));"string"!==typeof a.tag&&a.tag.onbeforeremove&&(e++,a.tag.onbeforeremove.call(a.state,a,u(b)));b()}function t(c){c.attrs&&c.attrs.onremove&&c.attrs.onremove.call(c.state,c);"string"!==typeof c.tag&&c.tag.onremove&&c.tag.onremove.call(c.state,c);if(null!=c.instance)t(c.instance);else if(c=c.children,c instanceof Array)for(var a=0;a<c.length;a++){var d=
|
||||
c[a];null!=d&&t(d)}}function A(c,a,d,b,e){var f=c.dom;if("key"!==a&&(d!==b||"value"===a||"checked"===a||"selectedIndex"===a||"selected"===a&&c.dom===n.activeElement||"object"===typeof b)&&"undefined"!==typeof b&&!y(a)){var g=a.indexOf(":");if(-1<g&&"xlink"===a.substr(0,g))f.setAttributeNS("http://www.w3.org/1999/xlink",a.slice(g+1),b);else if("o"===a[0]&&"n"===a[1]&&"function"===typeof b)B(c,a,b);else if("style"===a)if(c=d,c===b&&(f.style.cssText="",c=null),null==b)f.style.cssText="";else if("string"===
|
||||
typeof b)f.style.cssText=b;else{"string"===typeof c&&(f.style.cssText="");for(var h in b)f.style[h]=b[h];if(null!=c&&"string"!==typeof c)for(h in c)h in b||(f.style[h]="")}else if(a in f&&"href"!==a&&"list"!==a&&"form"!==a&&"width"!==a&&"height"!==a&&void 0===e){if("input"!==c.tag||"value"!==a||c.dom.value!==b||c.dom!==n.activeElement)f[a]=b}else"boolean"===typeof b?b?f.setAttribute(a,""):f.removeAttribute(a):f.setAttribute("className"===a?"class":a,b)}}function y(c){return"oninit"===c||"oncreate"===
|
||||
c||"onupdate"===c||"onremove"===c||"onbeforeremove"===c||"onbeforeupdate"===c}function B(c,a,b){var e=c.dom,f=function(a){var c=b.call(e,a);"function"===typeof D&&D.call(e,a);return c};if(a in e)e[a]=f;else{var g=a.slice(2);void 0===c.events&&(c.events={});null!=c.events[a]&&e.removeEventListener(g,c.events[a],!1);"function"===typeof b&&(c.events[a]=f,e.addEventListener(g,c.events[a],!1))}}function C(c,a,b){"function"===typeof c.oninit&&c.oninit.call(a.state,a);"function"===typeof c.oncreate&&b.push(c.oncreate.bind(a.state,
|
||||
a))}function w(c,a,b,e){e?C(c,a,b):"function"===typeof c.onupdate&&b.push(c.onupdate.bind(a.state,a))}function Q(c,a){Object.keys(a).forEach(function(b){c[b]=a[b]})}var n=b.document,G=n.createDocumentFragment(),D;return{render:function(c,a){if(!c)throw Error("Ensure the DOM element being passed to m.route/m.mount/m.render is not undefined.");var b=[],e=n.activeElement;null==c.vnodes&&(c.textContent="");a instanceof Array||(a=[a]);h(c,c.vnodes,v.normalizeChildren(a),b,null,void 0);c.vnodes=a;for(var f=
|
||||
0;f<b.length;f++)b[f]();n.activeElement!==e&&e.focus()},setEventCallback:function(c){return D=c}}}(window),R=function(b){var e=0,l=null,f="function"===typeof requestAnimationFrame?requestAnimationFrame:setTimeout;return function(h){var k=Date.now();!0===h||0===e||16<=k-e?(e=k,b()):null===l&&(l=f(function(){l=null;b();e=Date.now()},16-(k-e)))}},S=function(b,e,l,f){f=R(f);null!=e&&e.setEventCallback(function(b){!1!==b.redraw&&l.publish()});null!=l&&(b.redraw&&l.unsubscribe(b.redraw),l.subscribe(f));
|
||||
return b.redraw=f};w.mount=function(b,e){return function(l,f){null===f?(b.render(l,[]),e.unsubscribe(l.redraw),delete l.redraw):S(l,b,e,function(){b.render(l,v(f,void 0,void 0,void 0,void 0,void 0))})()}}(N,I);var J=function(b){if(""===b||null==b)return{};"?"===b.charAt(0)&&(b=b.slice(1));b=b.split("&");for(var e={},l={},f=0;f<b.length;f++){var h=b[f].split("="),k=decodeURIComponent(h[0]),h=2===h.length?decodeURIComponent(h[1]):"";"true"===h?h=!0:"false"===h&&(h=!1);var q=k.split(/\]\[?|\[/),m=e;
|
||||
-1<k.indexOf("[")&&q.pop();for(var p=0;p<q.length;p++){var k=q[p],g=q[p+1],g=""==g||!isNaN(parseInt(g,10)),u=p===q.length-1;""===k&&(k=q.slice(0,p).join(),null==l[k]&&(l[k]=0),k=l[k]++);null==m[k]&&(m[k]=u?h:g?[]:{});m=m[k]}}return e},T=function(b){function e(e){var f=b.location[e].replace(/(?:%[a-f89][a-f0-9])+/gim,decodeURIComponent);"pathname"===e&&"/"!==f[0]&&(f="/"+f);return f}function l(b){return function(){null==g&&(g=m(function(){g=null;b()}))}}function f(b,e,f){var g=b.indexOf("?"),h=b.indexOf("#"),
|
||||
k=-1<g?g:-1<h?h:b.length;if(-1<g){var g=J(b.slice(g+1,-1<h?h:b.length)),l;for(l in g)e[l]=g[l]}if(-1<h)for(l in e=J(b.slice(h+1)),e)f[l]=e[l];return b.slice(0,k)}function h(){switch(p.charAt(0)){case "#":return e("hash").slice(p.length);case "?":return e("search").slice(p.length)+e("hash");default:return e("pathname").slice(p.length)+e("search")+e("hash")}}function k(e,g,h){var k={},l={};e=f(e,k,l);if(null!=g){for(var m in g)k[m]=g[m];e=e.replace(/:([^\/]+)/g,function(b,e){delete k[e];return g[e]})}(m=
|
||||
E(k))&&(e+="?"+m);(l=E(l))&&(e+="#"+l);q?(h&&h.replace?b.history.replaceState(null,null,p+e):b.history.pushState(null,null,p+e),b.onpopstate()):b.location.href=p+e}var q="function"===typeof b.history.pushState,m="function"===typeof setImmediate?setImmediate:setTimeout,p="#!",g;return{setPrefix:function(b){p=b},getPath:h,setPath:k,defineRoutes:function(e,g,k){function m(){var b=h(),l={},p=f(b,l,l),q;for(q in e){var v=new RegExp("^"+q.replace(/:[^\/]+?\.{3}/g,"(.*?)").replace(/:[^\/]+/g,"([^\\/]+)")+
|
||||
"/?$");if(v.test(p)){p.replace(v,function(){for(var f=q.match(/:[^\/]+/g)||[],h=[].slice.call(arguments,1,-2),k=0;k<f.length;k++)l[f[k].replace(/:|\./g,"")]=decodeURIComponent(h[k]);g(e[q],l,b,q)});return}}k(b,l)}q?b.onpopstate=l(m):"#"===p.charAt(0)&&(b.onhashchange=m);m();return m},link:function(b){b.dom.setAttribute("href",p+b.attrs.href);b.dom.onclick=function(b){b.ctrlKey||b.metaKey||b.shiftKey||2===b.which||(b.preventDefault(),b.redraw=!1,b=this.getAttribute("href"),0===b.indexOf(p)&&(b=b.slice(p.length)),
|
||||
k(b,void 0,void 0))}}}};w.route=function(b,e){function l(b){return b}var f=T(b),h,k,q,m,p,g={view:function(){return[q(v(k,null,m,void 0,void 0,void 0))]}},u=function(b,t,u){k="div";q=l;m=null;e(b,g);f.defineRoutes(u,function(e,f,g){var t="function"!==typeof e.view,u=l,n=h=function(l){n===h&&(h=null,k=null!=l?l:t?"div":e,q=u,m=f,p=g,b.redraw(!0))},v=function(){n()};t&&("function"===typeof e.render&&(u=e.render.bind(e)),"function"===typeof e.onmatch&&(v=e.onmatch));v.call(e,n,f,g)},function(){f.setPath(t,
|
||||
null,{replace:!0})})};u.link=f.link;u.prefix=f.setPrefix;u.set=f.setPath;u.get=function(){return p};return u}(window,w.mount);w.withAttr=function(b,e,l){return function(f){return e.call(l||this,b in f.currentTarget?f.currentTarget[b]:f.currentTarget.getAttribute(b))}};w.prop=M;w.render=N.render;w.redraw=I.publish;w.request=H.request;w.jsonp=H.jsonp;w.parseQueryString=J;w.buildQueryString=E;w.version="1.0.0";"undefined"!==typeof module?module.exports=w:window.m=w};
|
||||
new function(){function x(b,f,m,g,k,h){return{tag:b,key:f,attrs:m,children:g,text:k,dom:h,domSize:void 0,state:{},events:void 0,instance:void 0,skip:!1}}function A(b){if(null==b||"string"!==typeof b&&null==b.view)throw Error("The selector must be either a string or a component.");if("string"===typeof b&&void 0===J[b]){for(var f,m,g=[],k={};f=Q.exec(b);){var h=f[1],v=f[2];""===h&&""!==v?m=v:"#"===h?k.id=v:"."===h?g.push(v):"["===f[3][0]&&((h=f[6])&&(h=h.replace(/\\(["'])/g,"$1").replace(/\\\\/g,"\\")),
|
||||
k[f[4]]=h||!0)}0<g.length&&(k.className=g.join(" "));J[b]=function(b,e){var f=!1,y,h,g=b.className||b["class"],n;for(n in k)b[n]=k[n];void 0!==g&&(void 0!==b["class"]&&(b["class"]=void 0,b.className=g),void 0!==k.className&&(b.className=k.className+" "+g));for(n in b)if("key"!==n){f=!0;break}e instanceof Array&&1==e.length&&null!=e[0]&&"#"===e[0].tag?h=e[0].children:y=e;return x(m||"div",b.key,f?b:void 0,y,h,void 0)}}var w;null!=arguments[1]&&("object"!==typeof arguments[1]||void 0!==arguments[1].tag||
|
||||
arguments[1]instanceof Array)?g=1:(w=arguments[1],g=2);if(arguments.length===g+1)f=arguments[g]instanceof Array?arguments[g]:[arguments[g]];else for(f=[];g<arguments.length;g++)f.push(arguments[g]);return"string"===typeof b?J[b](w||{},x.normalizeChildren(f)):x(b,w&&w.key,w||{},x.normalizeChildren(f),void 0,void 0)}x.normalize=function(b){return b instanceof Array?x("[",void 0,void 0,x.normalizeChildren(b),void 0,void 0):null!=b&&"object"!==typeof b?x("#",void 0,void 0,b,void 0,void 0):b};x.normalizeChildren=
|
||||
function(b){for(var f=0;f<b.length;f++)b[f]=x.normalize(b[f]);return b};var Q=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g,J={};A.trust=function(b){return x("<",void 0,void 0,b,void 0,void 0)};A.fragment=function(b,f){return x("[",b.key,b,x.normalizeChildren(f),void 0,void 0)};var O=function(b){function f(){function a(){0<arguments.length&&arguments[0]!==q&&g(a,arguments[0],void 0);return a._state.value}m(a);0<arguments.length&&arguments[0]!==q&&g(a,arguments[0],
|
||||
void 0);return a}function m(a){a.constructor=f;a._state={id:E++,value:void 0,error:void 0,state:0,derive:void 0,recover:void 0,deps:{},parents:[],errorStream:void 0,endStream:void 0};a["fantasy-land/map"]=x;a["fantasy-land/ap"]=A;a["fantasy-land/of"]=f;a.valueOf=z;a.toJSON=K;a.toString=z;a.run=l;a["catch"]=y;Object.defineProperties(a,{error:{get:function(){if(!a._state.errorStream){var c=function(){0<arguments.length&&arguments[0]!==q&&g(a,void 0,arguments[0]);return a._state.error};m(c);u(c,[a],
|
||||
r,r);a._state.errorStream=c}return a._state.errorStream}},end:{get:function(){if(!a._state.endStream){var c=f();c["fantasy-land/map"](function(d){!0===d&&(D(a),D(c));return d});a._state.endStream=c}return a._state.endStream}}})}function g(a,c,d){k(a,c,d);for(var p in a._state.deps)v(a._state.deps[p],!1);a._state.changed=!1;for(var e in a._state.deps)a._state.deps[e]._state.changed=!1}function k(a,c,d){d=n(c,d);if(void 0!==d&&"function"===typeof a._state.recover){if(!w(a,h,!0))return}else h(a,c,d);
|
||||
a._state.changed=!0;2!==a._state.state&&(a._state.state=1)}function h(a,c,d){a._state.value=c;a._state.error=d}function v(d,e){var p=d._state.parents;0<p.length&&p.filter(c).length===p.length&&(e||0<p.filter(a).length)&&(p=p.filter(B),0<p.length?k(d,void 0,p[0]._state.error):w(d,k,!1))}function w(a,c,d){try{var p=d?a._state.recover():a._state.derive();if(p===q)return!1;c(a,p,void 0)}catch(F){c(a,void 0,null!=F.__error?F.__error:F),null==F.__error&&e(a,F)}return!0}function n(a,c){null!=a&&a.constructor===
|
||||
f&&(c=void 0!==a._state.error?a._state.error:n(a._state.value,a._state.error));return c}function e(a,c){0===Object.keys(a._state.deps).length&&setTimeout(function(){0===Object.keys(a._state.deps).length&&b(c)},0)}function l(a){var c=f(),d=this;return u(c,[d],function(){return C(c,a(d()))},void 0)}function y(a){var c=f(),d=this;return u(c,[d],function(){return d._state.value},function(){return C(c,a(d._state.error))})}function t(c,d){if(d.length>d.filter(G).length)throw Error("Ensure that each item passed to m.prop.combine/m.prop.merge is a stream");
|
||||
return u(f(),d,function(){var e=d.filter(B);if(0<e.length)throw{__error:e[0]._state.error};return c.apply(this,d.concat([d.filter(a)]))},void 0)}function C(a,c){if(null!=c&&c.constructor===f){var d=c,e=function(){k(a,d._state.value,d._state.error);for(var c in a._state.deps)v(a._state.deps[c],!1)};d["fantasy-land/map"](e)["catch"](function(a){e();throw{__error:a};});if(0===d._state.state)return q;if(d._state.error)throw{__error:d._state.error};c=d._state.value}return c}function u(a,c,e,b){var p=a._state;
|
||||
p.derive=e;p.recover=b;p.parents=c.filter(d);H(a,p.parents);v(a,!0);return a}function H(a,c){for(var d=0;d<c.length;d++)c[d]._state.deps[a._state.id]=a,H(a,c[d]._state.parents)}function D(a){for(var c=0;c<a._state.parents.length;c++)delete a._state.parents[c]._state.deps[a._state.id];for(var d in a._state.deps){var c=a._state.deps[d],e=c._state.parents.indexOf(a);-1<e&&c._state.parents.splice(e,1)}a._state.state=2;a._state.deps={}}function x(a){return t(function(c){return a(c())},[this])}function A(a){return t(function(a,
|
||||
c){return a()(c())},[a,this])}function z(){return this._state.value}function K(){return null!=this._state.value&&"function"===typeof this._state.value.toJSON?this._state.value.toJSON():this._state.value}function G(a){return a._state}function c(a){return 1===a._state.state}function a(a){return a._state.changed}function d(a){return 2!==a._state.state}function B(a){return a._state.error}var E=0,r=function(){},q={};f["fantasy-land/of"]=f;f.merge=function(a){return t(function(){return a.map(function(a){return a()})},
|
||||
a)};f.combine=t;f.reject=function(a){var c=f();c.error(a);return c};f.HALT=q;return f}(console.log.bind(console)),I=function(b){function f(b,g){if(g instanceof Array)for(var h=0;h<g.length;h++)f(b+"["+h+"]",g[h]);else if("[object Object]"===Object.prototype.toString.call(g))for(h in g)f(b+"["+h+"]",g[h]);else m.push(encodeURIComponent(b)+(null!=g&&""!==g?"="+encodeURIComponent(g):""))}if("[object Object]"!==Object.prototype.toString.call(b))return"";var m=[],g;for(g in b)f(g,b[g]);return m.join("&")},
|
||||
L=function(b,f){function m(e,b){if(null==b)return e;for(var f=e.match(/:[^\/]+/gi)||[],g=0;g<f.length;g++){var l=f[g].slice(1);null!=b[l]&&(e=e.replace(f[g],b[l]),delete b[l])}return e}function g(e,b){var f=I(b);if(""!==f){var g=0>e.indexOf("?")?"?":"&";e+=g+f}return e}function k(e){try{return""!==e?JSON.parse(e):null}catch(l){throw Error(e);}}function h(e){return e.responseText}function v(e,b){if("function"===typeof e)if(b instanceof Array)for(var f=0;f<b.length;f++)b[f]=new e(b[f]);else return new e(b);
|
||||
return b}var w=0,n;return{request:function(e){var l=f();void 0!==e.initialValue&&l(e.initialValue);var y="boolean"===typeof e.useBody?e.useBody:"GET"!==e.method&&"TRACE"!==e.method;"function"!==typeof e.serialize&&(e.serialize="undefined"!==typeof FormData&&e.data instanceof FormData?function(b){return b}:JSON.stringify);"function"!==typeof e.deserialize&&(e.deserialize=k);"function"!==typeof e.extract&&(e.extract=h);e.url=m(e.url,e.data);y?e.data=e.serialize(e.data):e.url=g(e.url,e.data);var t=new b.XMLHttpRequest;
|
||||
t.open(e.method,e.url,"boolean"===typeof e.async?e.async:!0,"string"===typeof e.user?e.user:void 0,"string"===typeof e.password?e.password:void 0);e.serialize===JSON.stringify&&y&&t.setRequestHeader("Content-Type","application/json; charset=utf-8");e.deserialize===k&&t.setRequestHeader("Accept","application/json, text/*");"function"===typeof e.config&&(t=e.config(t,e)||t);t.onreadystatechange=function(){if(4===t.readyState){try{var b=e.extract!==h?e.extract(t,e):e.deserialize(e.extract(t,e));if(200<=
|
||||
t.status&&300>t.status||304===t.status)l(v(e.type,b));else{var f=Error(t.responseText),g;for(g in b)f[g]=b[g];l.error(f)}}catch(D){l.error(D)}"function"===typeof n&&n()}};y?t.send(e.data):t.send();return l},jsonp:function(e){var l=f();void 0!==e.initialValue&&l(e.initialValue);var h=e.callbackName||"_mithril_"+Math.round(1E16*Math.random())+"_"+w++,k=b.document.createElement("script");b[h]=function(f){k.parentNode.removeChild(k);l(v(e.type,f));"function"===typeof n&&n();delete b[h]};k.onerror=function(){k.parentNode.removeChild(k);
|
||||
l.error(Error("JSONP request failed"));"function"===typeof n&&n();delete b[h]};null==e.data&&(e.data={});e.url=m(e.url,e.data);e.data[e.callbackKey||"callback"]=h;k.src=g(e.url,e.data);b.document.documentElement.appendChild(k);return l},setCompletionCallback:function(b){n=b}}}(window,O),M=function(){var b=[];return{subscribe:b.push.bind(b),unsubscribe:function(f){f=b.indexOf(f);-1<f&&b.splice(f,1)},publish:function(){for(var f=0;f<b.length;f++)b[f].apply(this,arguments)}}}();L.setCompletionCallback(M.publish);
|
||||
var P=function(b){function f(c,a,d,b,e,f,g){for(;d<b;d++){var B=a[d];null!=B&&n(c,m(B,e,g),f)}}function m(c,a,d){var b=c.tag;null!=c.attrs&&D(c.attrs,c,a);if("string"===typeof b)switch(b){case "#":return c.dom=z.createTextNode(c.children);case "<":return g(c);case "[":var e=z.createDocumentFragment();null!=c.children&&(b=c.children,f(e,b,0,b.length,a,null,d));c.dom=e.firstChild;c.domSize=e.childNodes.length;return e;default:var h=c.tag;switch(c.tag){case "svg":d="http://www.w3.org/2000/svg";break;
|
||||
case "math":d="http://www.w3.org/1998/Math/MathML"}var q=(b=c.attrs)&&b.is,h=d?q?z.createElementNS(d,h,{is:q}):z.createElementNS(d,h):q?z.createElement(h,{is:q}):z.createElement(h);c.dom=h;if(null!=b)for(e in q=d,b)C(c,e,null,b[e],q);null!=c.text&&(""!==c.text?h.textContent=c.text:c.children=[x("#",void 0,void 0,c.text,void 0,void 0)]);null!=c.children&&(e=c.children,f(h,e,0,e.length,a,null,d),a=c.attrs,"select"===c.tag&&null!=a&&("value"in a&&C(c,"value",null,a.value,void 0),"selectedIndex"in a&&
|
||||
C(c,"selectedIndex",null,a.selectedIndex,void 0)));return h}else{c.state||(c.state={});R(c.state,c.tag);D(c.tag,c,a);c.instance=x.normalize(c.tag.view.call(c.state,c));if(null!=c.instance){if(c.instance===c)throw Error("A view cannot return the vnode it received as arguments");a=m(c.instance,a,d);c.dom=c.instance.dom;c.domSize=null!=c.dom?c.instance.domSize:0;c=a}else c.domSize=0,c=K;return c}}function g(c){var a={caption:"table",thead:"table",tbody:"table",tfoot:"table",tr:"tbody",th:"tr",td:"tr",
|
||||
colgroup:"table",col:"colgroup"}[(c.children.match(/^\s*?<(\w+)/im)||[])[1]]||"div",a=z.createElement(a);a.innerHTML=c.children;c.dom=a.firstChild;c.domSize=a.childNodes.length;c=z.createDocumentFragment();for(var d;d=a.firstChild;)c.appendChild(d);return c}function k(c,a,d,b,g,l){if(a!==d&&(null!=a||null!=d))if(null==a)f(c,d,0,d.length,b,g,void 0);else if(null==d)e(c,a,0,a.length,d);else{var q;a:{if(null!=a.pool&&Math.abs(a.pool.length-d.length)<=Math.abs(a.length-d.length)&&(q=d[0]&&d[0].children&&
|
||||
d[0].children.length||0,Math.abs((a.pool[0]&&a.pool[0].children&&a.pool[0].children.length||0)-q)<=Math.abs((a[0]&&a[0].children&&a[0].children.length||0)-q))){q=!0;break a}q=!1}q&&(a=a.concat(a.pool));if(a.length===d.length&&null!=d[0]&&null==d[0].key)for(var p=0;p<a.length;p++)a[p]===d[p]||null==a[p]&&null==d[p]||(null==a[p]?n(c,m(d[p],b,l),w(a,p+1,g)):null==d[p]?e(c,a,p,p+1,d):h(c,a[p],d[p],b,w(a,p+1,g),q,l),q&&a[p].tag===d[p].tag&&n(c,v(a[p]),w(a,p+1,g)));else{for(var B=p=0,k=a.length-1,y=d.length-
|
||||
1,t;k>=p&&y>=B;){var r=a[p],u=d[B];if(r!==u||q)if(null!=r&&null!=u&&r.key===u.key)p++,B++,h(c,r,u,b,w(a,p,g),q,l),q&&r.tag===u.tag&&n(c,v(r),g);else if(r=a[k],r!==u||q)if(null!=r&&null!=u&&r.key===u.key)h(c,r,u,b,w(a,k+1,g),q,l),(q||B<y)&&n(c,v(r),w(a,p,g)),k--,B++;else break;else k--,B++;else p++,B++}for(;k>=p&&y>=B;){r=a[k];u=d[y];if(r!==u||q)if(null!=r&&null!=u&&r.key===u.key)h(c,r,u,b,w(a,k+1,g),q,l),q&&r.tag===u.tag&&n(c,v(r),g),null!=r.dom&&(g=r.dom),k--;else{if(!t){t=a;var r=k,C={},E;for(E=
|
||||
0;E<r;E++){var z=t[E];null!=z&&(z=z.key,null!=z&&(C[z]=E))}t=C}null!=u&&(r=t[u.key],null!=r?(C=a[r],h(c,C,u,b,w(a,k+1,g),q,l),n(c,v(C),g),a[r].skip=!0,null!=C.dom&&(g=C.dom)):(u=m(u,b,void 0),n(c,u,g),g=u))}else k--;y--;if(y<B)break}f(c,d,B,y+1,b,g,l);e(c,a,p,k+1,d)}}}function h(c,a,d,b,e,f,l){var p=a.tag;if(p===d.tag){d.state=a.state;d.events=a.events;var r;var B;null!=d.attrs&&"function"===typeof d.attrs.onbeforeupdate&&(r=d.attrs.onbeforeupdate.call(d.state,d,a));"string"!==typeof d.tag&&"function"===
|
||||
typeof d.tag.onbeforeupdate&&(B=d.tag.onbeforeupdate.call(d.state,d,a));void 0===r&&void 0===B||r||B?r=!1:(d.dom=a.dom,d.domSize=a.domSize,d.instance=a.instance,r=!0);if(!r)if(null!=d.attrs&&A(d.attrs,d,b,f),"string"===typeof p)switch(p){case "#":a.children.toString()!==d.children.toString()&&(a.dom.nodeValue=d.children);d.dom=a.dom;break;case "<":a.children!==d.children?(v(a),n(c,g(d),e)):(d.dom=a.dom,d.domSize=a.domSize);break;case "[":k(c,a.children,d.children,b,e,l);a=0;b=d.children;d.dom=null;
|
||||
if(null!=b){for(var q=0;q<b.length;q++)c=b[q],null!=c&&null!=c.dom&&(null==d.dom&&(d.dom=c.dom),a+=c.domSize||1);1!==a&&(d.domSize=a)}break;default:c=l;e=d.dom=a.dom;switch(d.tag){case "svg":c="http://www.w3.org/2000/svg";break;case "math":c="http://www.w3.org/1998/Math/MathML"}"textarea"===d.tag&&(null==d.attrs&&(d.attrs={}),null!=d.text&&(d.attrs.value=d.text));f=a.attrs;l=d.attrs;p=c;if(null!=l)for(q in l)C(d,q,f&&f[q],l[q],p);if(null!=f)for(q in f)null!=l&&q in l||("className"===q&&(q="class"),
|
||||
"o"!==q[0]||"n"!==q[1]||u(q)?"key"!==q&&d.dom.removeAttribute(q):H(d,q,void 0));null!=a.text&&null!=d.text&&""!==d.text?a.text.toString()!==d.text.toString()&&(a.dom.firstChild.nodeValue=d.text):(null!=a.text&&(a.children=[x("#",void 0,void 0,a.text,void 0,a.dom.firstChild)]),null!=d.text&&(d.children=[x("#",void 0,void 0,d.text,void 0,void 0)]),k(e,a.children,d.children,b,null,c))}else d.instance=x.normalize(d.tag.view.call(d.state,d)),A(d.tag,d,b,f),null!=d.instance?(null==a.instance?n(c,m(d.instance,
|
||||
b,l),e):h(c,a.instance,d.instance,b,e,f,l),d.dom=d.instance.dom,d.domSize=d.instance.domSize):null!=a.instance?(y(c,a.instance,null),d.dom=void 0,d.domSize=0):(d.dom=a.dom,d.domSize=a.domSize)}else y(c,a,null),n(c,m(d,b,void 0),e)}function v(c){var a=c.domSize;if(null!=a||null==c.dom){var d=z.createDocumentFragment();if(0<a){for(c=c.dom;--a;)d.appendChild(c.nextSibling);d.insertBefore(c,d.firstChild)}return d}return c.dom}function w(c,a,d){for(;a<c.length;a++)if(null!=c[a]&&null!=c[a].dom)return c[a].dom;
|
||||
return d}function n(c,a,d){d&&d.parentNode?c.insertBefore(a,d):c.appendChild(a)}function e(c,a,d,b,e){for(;d<b;d++){var f=a[d];null!=f&&(f.skip?f.skip=!1:y(c,f,e))}}function l(c){var a=!1;return function(){a||(a=!0,c())}}function y(c,a,d){function b(){if(++f===e&&(t(a),a.dom)){var b=a.domSize||1;if(1<b)for(var g=a.dom;--b;)c.removeChild(g.nextSibling);null!=a.dom.parentNode&&c.removeChild(a.dom);if(b=null!=d&&null==a.domSize)b=a.attrs,b=!(null!=b&&(b.oncreate||b.onupdate||b.onbeforeremove||b.onremove));
|
||||
b&&"string"===typeof a.tag&&(d.pool?d.pool.push(a):d.pool=[a])}}var e=1,f=0;a.attrs&&a.attrs.onbeforeremove&&(e++,a.attrs.onbeforeremove.call(a.state,a,l(b)));"string"!==typeof a.tag&&a.tag.onbeforeremove&&(e++,a.tag.onbeforeremove.call(a.state,a,l(b)));b()}function t(c){c.attrs&&c.attrs.onremove&&c.attrs.onremove.call(c.state,c);"string"!==typeof c.tag&&c.tag.onremove&&c.tag.onremove.call(c.state,c);if(null!=c.instance)t(c.instance);else if(c=c.children,c instanceof Array)for(var a=0;a<c.length;a++){var d=
|
||||
c[a];null!=d&&t(d)}}function C(c,a,d,b,e){var f=c.dom;if("key"!==a&&(d!==b||"value"===a||"checked"===a||"selectedIndex"===a||"selected"===a&&c.dom===z.activeElement||"object"===typeof b)&&"undefined"!==typeof b&&!u(a)){var g=a.indexOf(":");if(-1<g&&"xlink"===a.substr(0,g))f.setAttributeNS("http://www.w3.org/1999/xlink",a.slice(g+1),b);else if("o"===a[0]&&"n"===a[1]&&"function"===typeof b)H(c,a,b);else if("style"===a)if(c=d,c===b&&(f.style.cssText="",c=null),null==b)f.style.cssText="";else if("string"===
|
||||
typeof b)f.style.cssText=b;else{"string"===typeof c&&(f.style.cssText="");for(var l in b)f.style[l]=b[l];if(null!=c&&"string"!==typeof c)for(l in c)l in b||(f.style[l]="")}else if(a in f&&"href"!==a&&"list"!==a&&"form"!==a&&"width"!==a&&"height"!==a&&void 0===e){if("input"!==c.tag||"value"!==a||c.dom.value!==b||c.dom!==z.activeElement)f[a]=b}else"boolean"===typeof b?b?f.setAttribute(a,""):f.removeAttribute(a):f.setAttribute("className"===a?"class":a,b)}}function u(c){return"oninit"===c||"oncreate"===
|
||||
c||"onupdate"===c||"onremove"===c||"onbeforeremove"===c||"onbeforeupdate"===c}function H(c,a,d){var b=c.dom,e=function(a){var c=d.call(b,a);"function"===typeof G&&G.call(b,a);return c};if(a in b)b[a]=e;else{var f=a.slice(2);void 0===c.events&&(c.events={});null!=c.events[a]&&b.removeEventListener(f,c.events[a],!1);"function"===typeof d&&(c.events[a]=e,b.addEventListener(f,c.events[a],!1))}}function D(c,a,b){"function"===typeof c.oninit&&c.oninit.call(a.state,a);"function"===typeof c.oncreate&&b.push(c.oncreate.bind(a.state,
|
||||
a))}function A(c,a,b,e){e?D(c,a,b):"function"===typeof c.onupdate&&b.push(c.onupdate.bind(a.state,a))}function R(c,a){Object.keys(a).forEach(function(b){c[b]=a[b]})}var z=b.document,K=z.createDocumentFragment(),G;return{render:function(c,a){if(!c)throw Error("Ensure the DOM element being passed to m.route/m.mount/m.render is not undefined.");var b=[],e=z.activeElement;null==c.vnodes&&(c.textContent="");a instanceof Array||(a=[a]);k(c,c.vnodes,x.normalizeChildren(a),b,null,void 0);c.vnodes=a;for(var f=
|
||||
0;f<b.length;f++)b[f]();z.activeElement!==e&&e.focus()},setEventCallback:function(c){return G=c}}}(window),S=function(b){var f=0,m=null,g="function"===typeof requestAnimationFrame?requestAnimationFrame:setTimeout;return function(k){var h=Date.now();!0===k||0===f||16<=h-f?(f=h,b()):null===m&&(m=g(function(){m=null;b();f=Date.now()},16-(h-f)))}},T=function(b,f,m,g){g=S(g);null!=f&&f.setEventCallback(function(b){!1!==b.redraw&&m.publish()});null!=m&&(b.redraw&&m.unsubscribe(b.redraw),m.subscribe(g));
|
||||
return b.redraw=g};A.mount=function(b,f){return function(m,g){null===g?(b.render(m,[]),f.unsubscribe(m.redraw),delete m.redraw):T(m,b,f,function(){b.render(m,x(g,void 0,void 0,void 0,void 0,void 0))})()}}(P,M);var N=function(b){if(""===b||null==b)return{};"?"===b.charAt(0)&&(b=b.slice(1));b=b.split("&");for(var f={},m={},g=0;g<b.length;g++){var k=b[g].split("="),h=decodeURIComponent(k[0]),k=2===k.length?decodeURIComponent(k[1]):"";"true"===k?k=!0:"false"===k&&(k=!1);var v=h.split(/\]\[?|\[/),w=f;
|
||||
-1<h.indexOf("[")&&v.pop();for(var n=0;n<v.length;n++){var h=v[n],e=v[n+1],e=""==e||!isNaN(parseInt(e,10)),l=n===v.length-1;""===h&&(h=v.slice(0,n).join(),null==m[h]&&(m[h]=0),h=m[h]++);null==w[h]&&(w[h]=l?k:e?[]:{});w=w[h]}}return f},U=function(b){function f(e){var f=b.location[e].replace(/(?:%[a-f89][a-f0-9])+/gim,decodeURIComponent);"pathname"===e&&"/"!==f[0]&&(f="/"+f);return f}function m(b){return function(){null==e&&(e=w(function(){e=null;b()}))}}function g(b,e,f){var g=b.indexOf("?"),h=b.indexOf("#"),
|
||||
l=-1<g?g:-1<h?h:b.length;if(-1<g){var g=N(b.slice(g+1,-1<h?h:b.length)),k;for(k in g)e[k]=g[k]}if(-1<h)for(k in e=N(b.slice(h+1)),e)f[k]=e[k];return b.slice(0,l)}function k(){switch(n.charAt(0)){case "#":return f("hash").slice(n.length);case "?":return f("search").slice(n.length)+f("hash");default:return f("pathname").slice(n.length)+f("search")+f("hash")}}function h(e,f,h){var k={},l={};e=g(e,k,l);if(null!=f){for(var m in f)k[m]=f[m];e=e.replace(/:([^\/]+)/g,function(b,e){delete k[e];return f[e]})}(m=
|
||||
I(k))&&(e+="?"+m);(l=I(l))&&(e+="#"+l);v?(h&&h.replace?b.history.replaceState(null,null,n+e):b.history.pushState(null,null,n+e),b.onpopstate()):b.location.href=n+e}var v="function"===typeof b.history.pushState,w="function"===typeof setImmediate?setImmediate:setTimeout,n="#!",e;return{setPrefix:function(b){n=b},getPath:k,setPath:h,defineRoutes:function(e,f,h){function l(){var b=k(),l={},m=g(b,l,l),n;for(n in e){var y=new RegExp("^"+n.replace(/:[^\/]+?\.{3}/g,"(.*?)").replace(/:[^\/]+/g,"([^\\/]+)")+
|
||||
"/?$");if(y.test(m)){m.replace(y,function(){for(var g=n.match(/:[^\/]+/g)||[],h=[].slice.call(arguments,1,-2),k=0;k<g.length;k++)l[g[k].replace(/:|\./g,"")]=decodeURIComponent(h[k]);f(e[n],l,b,n)});return}}h(b,l)}v?b.onpopstate=m(l):"#"===n.charAt(0)&&(b.onhashchange=l);l();return l},link:function(b){b.dom.setAttribute("href",n+b.attrs.href);b.dom.onclick=function(b){b.ctrlKey||b.metaKey||b.shiftKey||2===b.which||(b.preventDefault(),b.redraw=!1,b=this.getAttribute("href"),0===b.indexOf(n)&&(b=b.slice(n.length)),
|
||||
h(b,void 0,void 0))}}}};A.route=function(b,f){function m(b){return b}var g=U(b),k,h,v,w,n,e={view:function(){return[v(x(h,null,w,void 0,void 0,void 0))]}},l=function(b,l,x){h="div";v=m;w=null;f(b,e);g.defineRoutes(x,function(e,f,g){var l="function"!==typeof e.view,t=m,u=k=function(m){u===k&&(k=null,h=null!=m?m:l?"div":e,v=t,w=f,n=g,b.redraw(!0))},x=function(){u()};l&&("function"===typeof e.render&&(t=e.render.bind(e)),"function"===typeof e.onmatch&&(x=e.onmatch));x.call(e,u,f,g)},function(){g.setPath(l,
|
||||
null,{replace:!0})})};l.link=g.link;l.prefix=g.setPrefix;l.set=g.setPath;l.get=function(){return n};return l}(window,A.mount);A.withAttr=function(b,f,m){return function(g){return f.call(m||this,b in g.currentTarget?g.currentTarget[b]:g.currentTarget.getAttribute(b))}};A.prop=O;A.render=P.render;A.redraw=M.publish;A.request=L.request;A.jsonp=L.jsonp;A.parseQueryString=N;A.buildQueryString=I;A.version="1.0.0";"undefined"!==typeof module?module.exports=A:window.m=A};
|
||||
Loading…
Add table
Add a link
Reference in a new issue