forked from riot/riot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathriot.min.js
5 lines (5 loc) · 1.41 KB
/
riot.min.js
1
2
3
4
5
/*
Riot.js 0.9.5 | moot.it/riotjs | @license MIT
(c) 2013 Tero Piirainen, Moot Inc and other contributors.
*/
(function(e){"use strict";var t=e?exports:window,n=e?t:t.$=t.$||{};if(n.riot)return;n.riot="0.9.5";n.observable=function(e){var t={},n=[].slice;e.on=function(n,r){if(typeof r=="function"){n=n.split(/\s+/);for(var o=0,i=n.length,u;o<i;o++){u=n[o];(t[u]=t[u]||[]).push(r);if(i>1)r.typed=true}}return e};e.off=function(n){n=n.split(/\s+/);for(var r=0;r<n.length;r++){t[n[r]]=[]}return e};e.one=function(t,n){if(n)n.one=true;return e.on(t,n)};e.trigger=function(r){var o=n.call(arguments,1),i=t[r]||[];for(var u=0,a;u<i.length;++u){a=i[u];if(a.one&&a.done)continue;a.apply(e,a.typed?[r].concat(o):o);a.done=true}return e};return e};if(e)return;var r,o=n.observable({}),i=t.addEventListener,u=document;function a(e){e=e.type?location.hash:e;if(e!=r)o.trigger("pop",e);r=e}if(i){i("popstate",a,false);u.addEventListener("DOMContentLoaded",a,false)}else{u.attachEvent("onreadystatechange",function(){if(u.readyState=="complete")a()})}n.route=function(e){if(typeof e=="function")return o.on("pop",e);if(history.pushState)history.pushState("","",e);a(e)}})(typeof exports=="object");(function(){var e={};$.render=function(t,n){return!t?"":(e[t]=e[t]||new Function("_","return '"+t.replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/'/g,"\\'").replace(/\{\s*(\w+)\s*\}/g,"' + (_.$1 === undefined || _.$1 === null ? '' : _.$1) + '")+"'"))(n)}})();