UNPKG

lispyscript

Version:

A JavaScript with Lispy Syntax and Macros

49 lines (48 loc) 1.89 kB
// Generated by LispyScript v0.3.3 define(function(require,exports,module) { var ls = require("../lib/ls"); exports.eval = function(code,url) { return eval(ls._compile(code,url)); }; exports.run = function(code,url) { return Function(ls._compile(code,url))(); }; exports.load = function(url,callback) { var request = (window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP")); request.open("GET",url,true); (request.overrideMimeType ? request.overrideMimeType("text/plain") : undefined); request.onreadystatechange = function() { return ((request.readyState === 4) ? (((request.status === 0) || (request.status === 200)) ? callback(exports.run(request.responseText,url)) : callback("Could not load")) : undefined); }; return request.send(null); }; var runScripts = function() { var scripts = Array.prototype.filter.call(document.getElementsByTagName("script"),function(script) { return (script.type === "application/lispyscript"); }); var next = function() { return (scripts.length ? (function() { var script = scripts.shift(); return (script.src ? exports.load(script.src,next) : next(exports.run(script.innerHTML))); })() : undefined); }; return next(); }; return (((document.readyState === "complete") || (document.readyState === "interactive")) ? runScripts() : (window.addEventListener ? addEventListener("DOMContentLoaded",runScripts,false) : attachEvent("onload",runScripts))); });