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