8 lines
No EOL
21 KiB
JavaScript
8 lines
No EOL
21 KiB
JavaScript
/*
|
|
Mithril v0.2.1
|
|
http://mithril.js.org
|
|
(c) 2014-2015 Leo Horie
|
|
License: MIT
|
|
*/
|
|
void function(a,b){"use strict";var c=b("undefined"!=typeof window?window:{});"object"==typeof module&&null!=module&&module.exports?module.exports=c:"function"==typeof define&&define.amd?define(function(){return c}):a.m=c}(this,function(a,b){"use strict";function c(a){return"function"==typeof a}function d(a){return"[object Object]"===Ma.call(a)}function e(a){return"[object String]"===Ma.call(a)}function f(){}function g(a,b){for(var c=0;c<a.length&&!b(a[c],c++););}function h(a,b){for(var c in a)if(Na.call(a,c)&&b(a[c],c))break}function i(a){Ha=a.document,Ia=a.location,Ka=a.cancelAnimationFrame||a.clearTimeout,Ja=a.requestAnimationFrame||a.setTimeout}function j(a){return null!=a&&d(a)&&!("tag"in a||"view"in a||"subtree"in a)}function k(a,b){for(var c,d=[];null!=(c=Pa.exec(a));)if(""===c[1]&&c[2])b.tag=c[2];else if("#"===c[1])b.attrs.id=c[2];else if("."===c[1])d.push(c[2]);else if("["===c[3][0]){var e=Qa.exec(c[3]);b.attrs[e[1]]=e[3]||(e[2]?"":!0)}return d}function l(a,b){var c=a?b.slice(1):b;return 1===c.length&&Oa(c[0])?c[0]:c}function m(a,b,c,d){h(b,function(e,f){f===c&&null!=b[f]&&""!==b[f]?(d.push(b[f]),a.attrs[f]=""):a.attrs[f]=b[f]}),d.length&&(a.attrs[c]=d.join(" "))}function n(a,b){for(var c=[],f=1;f<arguments.length;f++)c[f-1]=arguments[f];if(d(a))return ga(a,c);var g=j(b),h=g?b:{},i="class"in h?"class":"className",n={tag:"div",attrs:{}};if(!e(a))throw new Error("selector in m(selector, attrs, children) should be a string");var o=k(a,n);return n.children=l(g,c),m(n,h,i,o),n}function o(a,b){g(a,function(a,c){return a=a&&a.attrs,a&&null!=a.key&&b(a,c)})}function p(a){try{if(null!=a&&null!=a.toString())return a}catch(b){}return""}function q(a,b,c,d){try{s(a,b,c),b.nodeValue=d}catch(e){}}function r(a){for(var b=0;b<a.length;b++)Oa(a[b])&&(a=a.concat.apply([],a),b--);return a}function s(a,b,c){a.insertBefore(b,a.childNodes[c]||null)}function t(a,b,c,d){o(a,function(a,d){a=a.key,b[a]?b[a]={action:Ua,index:d,from:b[a].index,element:c.nodes[b[a].index]||Ha.createElement("div")}:b[a]={action:Ta,index:d}});var e=[];h(b,function(a){e.push(a)});var f=e.sort(V),i=new Array(c.length);return i.nodes=c.nodes.slice(),g(f,function(b){var e=b.index;switch(b.action){case Sa:Z(c[e].nodes,c[e]),i.splice(e,1);break;case Ta:var f=Ha.createElement("div");f.key=a[e].attrs.key,s(d,f,e),i.splice(e,0,{attrs:{key:a[e].attrs.key},nodes:[f]}),i.nodes[e]=f;break;case Ua:var g=b.element,h=d.childNodes[e];h!==g&&null!==g&&d.insertBefore(g,h||null),i[e]=c[b.from],i.nodes[e]=g}}),i}function u(a,b,c,d){var e=a.length!==b.length;return e||o(a,function(a,c){var d=b[c];return e=d&&d.attrs&&d.attrs.key!==a.key}),e?t(a,c,b,d):b}function v(a,b,c){g(a,function(a,d){null!=b[d]&&c.push.apply(c,b[d].nodes)}),g(b.nodes,function(a,d){null!=a.parentNode&&c.indexOf(a)<0&&Z([a],[b[d]])}),a.length<b.length&&(b.length=a.length),b.nodes=c}function w(a){var b=0;o(a,function(){return g(a,function(a){a=a&&a.attrs,a&&null==a.key&&(a.key="__mithril__"+b++)}),!0})}function x(a,b){a.sort(),b.sort();var c=a.length;if(c!==b.length)return!1;for(var d=0;c>d;d++)if(a[d]!==b[d])return!1;return!0}function y(a,b,c){return a.tag!==b.tag?!0:x(c,Object.keys(b.attrs))?a.attrs.id!==b.attrs.id?!0:a.attrs.key!==b.attrs.key?!0:"all"===n.redraw.strategy()?!(b.configContext&&b.configContext.retain===!0):"diff"===n.redraw.strategy()?b.configContext&&b.configContext.retain===!1:void 0:!0}function z(a,b,d){y(a,b,d)&&(b.nodes.length&&Z(b.nodes),b.configContext&&c(b.configContext.onunload)&&b.configContext.onunload(),b.controllers&&g(b.controllers,function(a){a.unload&&a.onunload({preventDefault:f})}))}function A(a,b){return a.attrs.xmlns?a.attrs.xmlns:"svg"===a.tag?"http://www.w3.org/2000/svg":"math"===a.tag?"http://www.w3.org/1998/Math/MathML":b}function B(a,b,c){c.length&&(a.views=b,a.controllers=c,g(c,function(a){if(a.onunload&&a.onunload.$old&&(a.onunload=a.onunload.$old),Va&&a.onunload){var b=a.onunload;a.onunload=f,a.onunload.$old=b}}))}function C(a,b,d,e,f){var g=b.attrs.config;if(c(g)){var h=f.configContext=f.configContext||{};a.push(function(){return g.call(b,d,!e,h,f)})}}function D(a,c,d,e,f,g,h,i){var j=a.nodes[0];return e&&Y(j,c.tag,c.attrs,a.attrs,f),a.children=U(j,c.tag,b,b,c.children,a.children,!1,0,c.attrs.contenteditable?j:d,f,h),a.nodes.intact=!0,i.length&&(a.views=g,a.controllers=i),j}function E(a,b,c){var d;a.$trusted?d=_(b,c,a):(d=[Ha.createTextNode(a)],Ra.test(b.nodeName)||s(b,d[0],c));var e;return e="string"==typeof a||"number"==typeof a||"boolean"==typeof a?new a.constructor(a):a,e.nodes=d,e}function F(a,b,c,d,e,f){var g=b.nodes;return d&&d===Ha.activeElement||(a.$trusted?(Z(g,b),g=_(c,e,a)):"textarea"===f?c.value=a:d?d.innerHTML=a:((1===g[0].nodeType||g.length>1||g[0].nodeValue.trim&&!g[0].nodeValue.trim())&&(Z(b.nodes,b),g=[Ha.createTextNode(a)]),q(c,g[0],e,a))),b=new a.constructor(a),b.nodes=g,b}function G(a,b,c,d,e,f,g){return 0===a.nodes.length?E(b,d,c):a.valueOf()!==b.valueOf()||e?F(b,a,d,f,c,g):(a.nodes.intact=!0,a)}function H(a){if(!a.$trusted)return Oa(a)?a.length:1;var b=a.match(/<[^\/]|\>\s*[^<]/g);return null!=b?b.length:void 0}function I(a,c,d,e,f,g,h,i,j){a=r(a);var k=[],l=c.length===a.length,m=0,n={},p=!1;o(c,function(a,b){p=!0,n[c[b].attrs.key]={action:Sa,index:b}}),w(a),p&&(c=u(a,c,n,d));for(var q=0,s=0,t=a.length;t>s;s++){var x=U(d,f,c,e,a[s],c[q],g,e+m||m,h,i,j);x!==b&&(l=l&&x.nodes.intact,m+=H(x),c[q++]=x)}return l||v(a,c,k),c}function J(a,b,c,d,e){if(null!=b){if(Ma.call(b)===Ma.call(a))return b;if(e&&e.nodes){var f=c-d,g=f+(Oa(a)?a:b.nodes).length;Z(e.nodes.slice(f,g),e.slice(f,g))}else b.nodes&&Z(b.nodes,b)}return b=new a.constructor,b.tag&&(b={}),b.nodes=[],b}function K(a,c){return c===b?a.attrs.is?Ha.createElement(a.tag,a.attrs.is):Ha.createElement(a.tag):a.attrs.is?Ha.createElementNS(c,a.tag,a.attrs.is):Ha.createElementNS(c,a.tag)}function L(a,b,c,d){return d?Y(b,a.tag,a.attrs,{},c):a.attrs}function M(a,c,d,e,f,g){return null!=a.children&&0!==a.children.length?U(c,a.tag,b,b,a.children,d.children,!0,0,a.attrs.contenteditable?c:e,f,g):a.children}function N(a,b,c,d,e,f,g){var h={tag:a.tag,attrs:b,children:c,nodes:[d]};return B(h,f,g),h.children&&!h.children.nodes&&(h.children.nodes=[]),"select"===a.tag&&"value"in a.attrs&&Y(d,a.tag,{value:a.attrs.value},{},e),h}function O(a,b,c,d){var e="diff"===n.redraw.strategy()&&a?a.indexOf(b):-1;return e>-1?c[e]:"function"==typeof d?new d:{}}function P(a,b,c,d){a.push(c);var e=b.push(d)-1;Xa[e]={controller:d,handler:function(e){b.splice(b.indexOf(d),1),a.splice(a.indexOf(c),1);var f=d&&d.onunload;"[object Function]"===Ma.call(f)&&d.onunload(e)}}}function Q(a,b,c,d,e,f){var g=O(c.views,b,d,a.controller),h=+(a&&a.attrs&&a.attrs.key);return a=0===Va||Ya||d&&d.indexOf(g)>-1?a.view(g):{tag:"placeholder"},"retain"===a.subtree?c:(h===h&&((a.attrs=a.attrs||{}).key=h),P(f,e,b,g),a)}function R(a,b,c,d){for(var e=b&&b.controllers;null!=a.view;)a=Q(a,a.view.$original||a.view,b,e,d,c);return a}function S(a,b,c,d,e,f,g,h,i,j,k,l){var m;if(a){m=K(b,c);var n=L(b,m,c,d),o=M(b,m,e,f,c,g);e=N(b,n,o,m,c,h,i)}else m=D(e,b,f,d,c,h,g,i);return(a||k&&null!=m)&&s(j,m,l),C(g,b,m,a,e),e}function T(a,b,c,d,f,g,h,i){var j=[],k=[];if(a=R(a,b,j,k),!a.tag&&k.length)throw new Error("Component template must return a virtual element, not an array, string, etc.");a.attrs=a.attrs||{},b.attrs=b.attrs||{};var l=Object.keys(a.attrs),m=l.length>+("key"in a.attrs);return z(a,b,l),e(a.tag)?S(0===b.nodes.length,a,A(a,h),m,b,c,i,j,k,d,g,f):void 0}function U(a,b,e,f,g,h,i,j,k,l,m){return g=p(g),"retain"===g.subtree?h:(h=J(g,h,j,f,e),Oa(g)?I(g,h,a,j,b,i,k,l,m):null!=g&&d(g)?T(g,h,k,a,j,i,l,m):c(g)?h:G(h,g,j,a,i,k,b))}function V(a,b){return a.action-b.action||a.index-b.index}function W(a){return"list"!==a&&"style"!==a&&"form"!==a&&"type"!==a&&"width"!==a&&"height"!==a}function X(a,b,e,f,g,i){if("config"!==a&&"key"!==a)if(c(b)&&"on"===a.slice(0,2))f[a]=aa(b,f);else if("style"===a&&null!=b&&d(b)){h(b,function(a,b){(null==e||e[b]!==a)&&(f.style[b]=a)});for(var j in e)Na.call(e,j)&&(Na.call(b,j)||(f.style[j]=""))}else null!=g?"href"===a?f.setAttributeNS("http://www.w3.org/1999/xlink","href",b):f.setAttribute("className"===a?"class":a,b):a in f&&W(a)?("input"!==i||f[a]!==b)&&(f[a]=b):f.setAttribute(a,b)}function Y(a,b,c,d,e){return h(c,function(c,f){var g=d[f];if(f in d&&g===c)"value"===f&&"input"===b&&a.value!=c&&(a.value=c);else{d[f]=c;try{X(f,c,g,a,e,b)}catch(h){if(h.message.indexOf("Invalid argument")<0)throw h}}}),d}function Z(a,b){for(var c=a.length-1;c>=0;c--)if(a[c]&&a[c].parentNode){try{a[c].parentNode.removeChild(a[c])}catch(d){}b=[].concat(b),b[c]&&$(b[c])}a.length&&(a.length=0)}function $(a){a.configContext&&c(a.configContext.onunload)&&(a.configContext.onunload(),a.configContext.onunload=null),a.controllers&&g(a.controllers,function(a){c(a.onunload)&&a.onunload({preventDefault:f})}),a.children&&(Oa(a.children)?g(a.children,$):a.children.tag&&$(a.children))}function _(a,b,c){var d=a.childNodes[b];if(d){var e=1!==d.nodeType,f=Ha.createElement("span");e?(a.insertBefore(f,d||null),f.insertAdjacentHTML("beforebegin",c),a.removeChild(f)):d.insertAdjacentHTML("beforebegin",c)}else Za(a,c);for(var g=[];a.childNodes[b]!==d;)g.push(a.childNodes[b]),b++;return g}function aa(a,b){return function(c){c=c||event,n.redraw.strategy("diff"),n.startComputation();try{return a.call(b,c)}finally{la()}}}function ba(a){var b=_a.indexOf(a);return 0>b?_a.push(a)-1:b}function ca(a){function b(){return arguments.length&&(a=arguments[0]),a}return b.toJSON=function(){return a},b}function da(a){return null!=a&&(d(a)||c(a))&&c(a.then)}function ea(a,b){return a.then?a.then(b):b()}function fa(a){var b=n.prop();return a.then(b),b.then=function(c,d){return a.then(function(){return c(b())},d)},b["catch"]=function(c){return a.then(function(){return b()},c)},b["finally"]=function(b){return a.then(function(a){return ea(b(),function(){return a})},function(a){return ea(b(),function(){throw a})})},b}function ga(a,b){function c(){return e.apply(this,b)||this}function d(c){for(var d=[c].concat(b),e=1;e<arguments.length;e++)d.push(arguments[e]);return g.apply(a,d)}var e=a.controller||f,g=a.view||f;e!==f&&(c.prototype=e.prototype),d.$original=g;var h={controller:c,view:d};return b[0]&&null!=b[0].key&&(h.attrs={key:b[0].key}),h}function ha(a,b,c,d){var e=null===a;if(!d){n.redraw.strategy("all"),n.startComputation(),cb[c]=b,a=bb=a||{controller:f};var g=new(a.controller||f);return a===bb&&(eb[c]=g,db[c]=a),la(),e&&ia(b,c),eb[c]}e&&ia(b,c)}function ia(a,b){cb.splice(b,1),eb.splice(b,1),db.splice(b,1),wa(a),_a.splice(ba(a),1)}function ja(){ib>0&&Ka(ib),ib=Ja(ka,hb)}function ka(){fb&&(fb(),fb=null),g(cb,function(a,b){var c=db[b];if(eb[b]){var d=[eb[b]];n.render(a,c.view?c.view(eb[b],d):"")}}),gb&&(gb(),gb=null),ib=null,jb=new Date,n.redraw.strategy("diff")}function la(){"none"===n.redraw.strategy()?(Va--,n.redraw.strategy("diff")):n.endComputation()}function ma(b){a[b]=function(){var a=Ia[n.route.mode];"pathname"===n.route.mode&&(a+=Ia.search),nb!==qa(a)&&pb(a)},fb=ta,a[b]()}function na(){return("pathname"===n.route.mode?"":Ia.pathname)+ob[n.route.mode]}function oa(b){if(a.history.pushState){fb=ta;var c=b?"replaceState":"pushState";gb=function(){a.history[c](null,Ha.title,ob[n.route.mode]+nb)},pb(ob[n.route.mode]+nb)}else Ia[n.route.mode]=nb,pb(ob[n.route.mode]+nb)}function pa(a,b,c){arguments.length<3&&"object"!=typeof b&&(c=b,b=null);var d=nb;nb=a;var e,f,g=b||{},i=nb.indexOf("?");if(i>=0){var j=va(nb.slice(i+1));h(g,function(a,b){j[b]=g[b]}),e=ua(j),f=nb.slice(0,i)}else e=ua(b),f=nb;if(e){var k=-1===f.indexOf("?")?"?":"&";nb=f+k+e}return oa(c||d===a)}function qa(a){return a.slice(ob[n.route.mode].length)}function ra(a,b,c){var d=c.indexOf("?");d>=0?(mb=va(c.substr(d+1,c.length)),c=c.substr(0,d)):mb={};var e=Object.keys(b),f=e.indexOf(c);if(f>=0)return n.mount(a,b[e[f]]),!0;for(var h in b)if(Na.call(b,h)){if(h===c)return n.mount(a,b[h]),!0;var i=new RegExp("^"+h.replace(/:[^\/]+?\.{3}/g,"(.*?)").replace(/:[^\/]+/g,"([^\\/]+)")+"/?$");if(i.test(c))return c.replace(i,function(){var c=h.match(/:[^\/]+/g)||[],d=[].slice.call(arguments,1,-2);g(c,function(a,b){a=a.replace(/:|\./g,""),mb[a]=decodeURIComponent(d[b])}),n.mount(a,b[h])}),!0}}function sa(a){if(a=a||event,!a.ctrlKey&&!a.metaKey&&2!==a.which){a.preventDefault?a.preventDefault():a.returnValue=!1;var b,c=a.currentTarget||a.srcElement;for(b="pathname"===n.route.mode&&c.search?va(c.search.slice(1)):{};c&&"A"!==c.nodeName.toUpperCase();)c=c.parentNode;n.route(c[n.route.mode].slice(ob[n.route.mode].length),b)}}function ta(){"hash"!==n.route.mode&&Ia.hash?Ia.hash=Ia.hash:a.scrollTo(0,0)}function ua(a,c){var e={},f=[];return h(a,function(a,h){var i=c?c+"["+h+"]":h;if(null===a)f.push(encodeURIComponent(i));else if(d(a))f.push(ua(a,i));else if(Oa(a)){var j=[];e[i]=e[i]||{},g(a,function(a){e[i][a]||(e[i][a]=!0,j.push(encodeURIComponent(i)+"="+encodeURIComponent(a)))}),f.push(j.join("&"))}else a!==b&&f.push(encodeURIComponent(i)+"="+encodeURIComponent(a))}),f.join("&")}function va(a){if(""===a||null==a)return{};"?"===a.charAt(0)&&(a=a.slice(1));var b=a.split("&"),c={};return g(b,function(a){var b=a.split("="),d=decodeURIComponent(b[0]),e=2===b.length?decodeURIComponent(b[1]):null;null!=c[d]?(Oa(c[d])||(c[d]=[c[d]]),c[d].push(e)):c[d]=e}),c}function wa(a){var c=ba(a);Z(a.childNodes,ab[c]),ab[c]=b}function xa(a,d){function e(a,b,c){return da(a)?a.then(function(a){e(a,b,c)},function(a){e(a,c,c)}):b(r=a)}function h(a){a.resolve(r)}function i(a){a.reject(r)}function j(a){t.push(a)}function k(a){return u!==i&&a(r),a}function l(a){u=a,g(t,a),m=q=null}function m(a,b){e(a,function(){l(b===tb?h:i)},function(){l(i)})}function o(a,b){var c=0;try{return a.then(function(a){c++||q(rb,a,b)},function(a){c++||q(sb,a,b)})}catch(d){return n.deferred.onerror(d),q(sb,d,b)}}function p(b,e,f){try{e===rb&&c(a)?b=a(b):e===sb&&c(d)&&(b=d(b),e=rb)}catch(g){return n.deferred.onerror(g),m(g,ub)}return b===f?m(TypeError(),ub):m(b,e===rb?tb:ub)}function q(a,b,c){var d;try{d=da(b)}catch(e){return n.deferred.onerror(e),q(sb,e,c)}return a===sb&&n.deferred.onerror(b),d?o(b,c):p(b,a,c)}var r,s=this,t=[],u=j;s.resolve=function(a){return u===j&&q(rb,a,s),this},s.reject=function(a){return u===j&&q(sb,a,s),this},s.promise=function(a){return arguments.length&&e(a,f,f),u!==i?r:b},s.promise.then=function(a,b){var c=new xa(a,b);return u(c),k(c.promise)},s.promise["catch"]=function(a){return s.promise.then(null,a)},s.promise["finally"]=function(a){function b(){var b=(new xa).resolve(a()).promise;return u!==i&&b(r),b}return s.promise.then(function(){return b().then(function(){return r})},function(){b().then(function(){throw r})})}}function ya(a){return a instanceof EvalError||a instanceof RangeError||a instanceof ReferenceError||a instanceof SyntaxError||a instanceof TypeError||a instanceof URIError}function za(a){return a}function Aa(){return"mithril_callback_"+(new Date).getTime()+"_"+Math.round(1e16*Math.random()).toString(36)}function Ba(c){var d=Aa(),e=Ha.createElement("script");a[d]=function(f){e.parentNode.removeChild(e),c.onload({type:"load",target:{responseText:f}}),a[d]=b},e.onerror=function(){return e.parentNode.removeChild(e),c.onerror({type:"error",target:{status:500,responseText:'{"error": "Error making jsonp request"}'}}),a[d]=b,!1},e.onload=function(){return!1},e.src=c.url+(c.url.indexOf("?")>0?"&":"?")+(c.callbackKey?c.callbackKey:"callback")+"="+d+"&"+ua(c.data||{}),Ha.body.appendChild(e)}function Ca(b){var d=new a.XMLHttpRequest;if(d.open(b.method,b.url,!0,b.user,b.password),d.onreadystatechange=function(){4===d.readyState&&(d.status>=200&&d.status<300?b.onload({type:"load",target:d}):b.onerror({type:"error",target:d}))},b.serialize===JSON.stringify&&b.data&&"GET"!==b.method&&d.setRequestHeader("Content-Type","application/json; charset=utf-8"),b.deserialize===JSON.parse&&d.setRequestHeader("Accept","application/json, text/*"),c(b.config)){var f=b.config(d,b);null!=f&&(d=f)}var g;if(g="GET"!==b.method&&b.data?b.data:"",g&&!e(g)&&g.constructor!==a.FormData)throw new Error("Request data should be either be a string or FormData. Check the `serialize` option in `m.request`");return d.send(g),d}function Da(a){return a.dataType&&"jsonp"===a.dataType.toLowerCase()?Ba(a):Ca(a)}function Ea(a,b,c){if("GET"===a.method&&"jsonp"!==a.dataType){var d=a.url.indexOf("?")<0?"?":"&",e=ua(b);a.url+=e?d+e:""}else a.data=c(b);return a}function Fa(a,b){var c=a.match(/:[a-z]\w+/gi);return c&&b&&g(c,function(c){var d=c.slice(1);a=a.replace(c,b[d]),delete b[d]}),a}function Ga(a){return a.responseText}var Ha,Ia,Ja,Ka,La="v0.2.1",Ma={}.toString,Na={}.hasOwnProperty,Oa=Array.isArray||function(a){return"[object Array]"===Ma.call(a)},Pa=/(?:(^|#|\.)([^#\.\[\]]+))|(\[.+?\])/g,Qa=/\[(.+?)(?:=("|'|)(.*?)\2)?\]/,Ra=/^(AREA|BASE|BR|COL|COMMAND|EMBED|HR|IMG|INPUT|KEYGEN|LINK|META|PARAM|SOURCE|TRACK|WBR)$/;i(a),n.deps=function(b){return i(a=b||a),a},n.version=function(){return La};var Sa=1,Ta=2,Ua=3,Va=0;n.startComputation=function(){Va++},n.endComputation=function(){Va>1?Va--:(Va=0,n.redraw())};var Wa,Xa=[],Ya=!1,Za=function(){try{return Ha.createRange().createContextualFragment("x"),function(a,b){a.appendChild(Ha.createRange().createContextualFragment(b))}}catch(a){return function(a,b){a.insertAdjacentHTML("beforeend",b)}}}(),$a={appendChild:function(a){Wa===b&&(Wa=Ha.createElement("html")),Ha.documentElement&&Ha.documentElement!==a?Ha.replaceChild(a,Ha.documentElement):Ha.appendChild(a),this.childNodes=Ha.childNodes},insertBefore:function(a){this.appendChild(a)},childNodes:[]},_a=[],ab={};n.render=function(a,c,d){if(!a)throw new Error("Ensure the DOM element being passed to m.route/m.mount/m.render is not undefined.");var e,f=[],h=ba(a),i=a===Ha;e=i||a===Ha.documentElement?$a:a,i&&"html"!==c.tag&&(c={tag:"html",attrs:{},children:c}),ab[h]===b&&Z(e.childNodes),d===!0&&wa(a),ab[h]=U(e,null,b,b,c,ab[h],!1,0,null,b,f),g(f,function(a){a()})},n.trust=function(a){return a=new String(a),a.$trusted=!0,a},n.prop=function(a){return da(a)?fa(a):ca(a)};var bb,cb=[],db=[],eb=[],fb=null,gb=null,hb=16;n.component=function(a){for(var b=[],c=1;c<arguments.length;c++)b.push(arguments[c]);return ga(a,b)},n.mount=n.module=function(a,b){if(!a)throw new Error("Please ensure the DOM element exists before rendering a template into it.");var d=cb.indexOf(a);0>d&&(d=cb.length);var e=!1,f={preventDefault:function(){e=!0,fb=gb=null}};return g(Xa,function(a){null!=a.controller&&(a.handler.call(a.controller,f),a.controller.onunload=null)}),e?g(Xa,function(a){a.controller.onunload=a.handler}):Xa=[],eb[d]&&c(eb[d].onunload)&&eb[d].onunload(f),ha(b,a,d,e)};var ib=0,jb=0,kb=Ja===a.requestAnimationFrame?ja:function(){+new Date-jb>hb&&ja()},lb=!1;n.redraw=function(a){if(!lb){lb=!0,a&&(Ya=!0);try{ib&&!a?kb():(ka(),ib=Ja(function(){ib=0},hb))}finally{lb=Ya=!1}}},n.redraw.strategy=n.prop(),n.withAttr=function(a,b,c){return function(d){d=d||event;var e,f=d.currentTarget||this,g=c||this;e=a in f?f[a]:f.getAttribute(a),b.call(g,e)}};var mb,nb,ob={pathname:"",hash:"#",search:"?"},pb=f,qb=!1;n.route=function(a,b,c,d){if(0===arguments.length)return nb;if(3===arguments.length&&e(b))pb=function(d){var e=nb=qa(d);if(!ra(a,c,e)){if(qb)throw new Error("Ensure the default route matches one of the routes defined in m.route");qb=!0,n.route(b,!0),qb=!1}},ma("hash"===n.route.mode?"onhashchange":"onpopstate");else if(a.addEventListener||a.attachEvent)a.href=na()+d.attrs.href,a.addEventListener?(a.removeEventListener("click",sa),a.addEventListener("click",sa)):(a.detachEvent("onclick",sa),a.attachEvent("onclick",sa));else if(e(a))return pa.apply(this,arguments)},n.route.param=function(a){if(!mb)throw new Error("You must call m.route(element, defaultRoute, routes) before calling m.route.param()");return a?mb[a]:mb},n.route.mode="search",n.route.buildQueryString=ua,n.route.parseQueryString=va;var rb=1,sb=2,tb=3,ub=4;return n.deferred=function(){return new xa},n.deferred.prototype=xa.prototype,n.deferred.prototype.constructor=n.deferred,n.deferred.onerror=function(a){if(ya(a))throw Va=0,a},n.sync=function(a){function b(a,b){return function(g){return e[a]=g,b||(f="reject"),0===--d&&(c.promise(e),c[f](e)),g}}var c=new xa,d=a.length,e=new Array(d),f="resolve";return a.length>0?g(a,function(a,c){a.then(b(c,!0),b(c,!1))}):c.resolve([]),c.promise},n.request=function(a){a.background!==!0&&n.startComputation();var b=new xa,c=za,d=za,e=Ga;return a.dataType&&"jsonp"===a.dataType.toLowerCase()||(c=a.serialize||JSON.stringify,d=a.deserialize||JSON.parse,e=a.extract||function(a){return 0===a.responseText.length&&d===JSON.parse?null:a.responseText}),a.serialize=c,a.deserialize=d,a.method=(a.method||"GET").toUpperCase(),a.url=Fa(a.url,a.data),a=Ea(a,a.data,c),a.onload=a.onerror=function(c){c=c||event;var f,h="load"===c.type;f=h?a.unwrapSuccess:a.unwrapError;try{var i=(f||za)(d(e(c.target,a)),c.target);h?(Oa(i)&&a.type?g(i,function(b,c){i[c]=new a.type(b)}):a.type&&(i=new a.type(i)),b.resolve(i)):b.reject(i)}catch(j){b.reject(j)}finally{a.background!==!0&&n.endComputation()}},Da(a),b.promise(a.initialValue),b.promise},n});
|
|
//# sourceMappingURL=mithril.min.js.map
|