earlgrey
Version:
Programming language compiling to JavaScript, featuring macros, dynamic typing annotations and pattern matching.
4 lines (2 loc) • 9.93 kB
JavaScript
require('earlgrey-runtime/5');var $targ$0=void 0;var $targ$1=void 0;var $targ$2=void 0;var $targ$3=void 0;var pr_terminus$0=void 0;var pr$0=void 0;var __lt____gt__$0=void 0;var repr$0=void 0;var escape_html$0=void 0;var quotify$0=void 0;var HTML$0=void 0;pr_terminus$0=function pr_terminus(node$0){var r$0=void 0;var pre$0=void 0;var post$0=void 0;r$0=HTML$0(node$0,"span");pre$0=String.fromCharCode(27)+"[?0;7y+h <div class=\"ug\">";post$0="</div>"+String.fromCharCode(7);return console.log(pre$0+r$0+post$0);};pr$0=function pr(ph$0$0,r$1){var x$0=void 0;var n$0=void 0;var t0$0=void 0;t0$0=ph$0$0;if(getChecker(ENode)(t0$0)){n$0=t0$0;return pr_terminus$0(n$0);}else{x$0=ph$0$0;return pr_terminus$0((r$1||repr$0)(x$0));}};__lt____gt__$0=function __lt____gt__$0(temp$0$0,x$1){return pr$0(x$1);};repr$0=function repr(){var m$1=void 0;var acc$0=void 0;var temp$1=void 0;var m$2=void 0;var acc$1=void 0;var temp$2=void 0;var other$0=void 0;var entries$0=void 0;var $$26702$0=void 0;var t0$2=void 0;var x$2=void 0;var ph$2$0=void 0;var recur$0=void 0;var t0$1=void 0;var t1$0=void 0;var t2$0=void 0;var m$0$0=void 0;m$0$0=arguments;t0$1=m$0$0.length;if(t0$1>=1&&t0$1<=2&&(t1$0=m$0$0[0],x$2=t1$0,ph$2$0=t1$0,t2$0=1>=t0$1?repr$0:m$0$0[1],typeof t2$0==="function")){recur$0=t2$0;if(ph$2$0===true){return ENode([".special",".true"],{},"true");}else{if(ph$2$0===false){return ENode([".special",".false"],{},"false");}else{if(ph$2$0===null){return ENode([".special",".nil"],{},"null");}else{if(ph$2$0===void 0){return ENode([".special",".nil"],{},"undefined");}else{if(typeof ph$2$0==="number"){return ENode([".num"],{},String(x$2));}else{if(typeof ph$2$0==="string"){return ENode([".str"],{},x$2);}else{t0$2=ph$2$0;if(Array.isArray(t0$2)){entries$0=t0$2;return ENode([".sequence"],{},(acc$0=[],temp$1=null,m$1=null,function(){var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{$0:for(var _iterator=entries$0[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){m$1=_step.value;var x$3=void 0;x$3=m$1;temp$1=recur$0(x$3,repr$0);acc$0.push(temp$1);}}catch(err){_didIteratorError=true;_iteratorError=err;}finally{try{if(!_iteratorNormalCompletion&&_iterator.return){_iterator.return();}}finally{if(_didIteratorError){throw _iteratorError;}}}}(),acc$0));}else{if(x$2["::repr"]){return x$2["::repr"](recur$0);}else{if(Object.getPrototypeOf(x$2)===Object.prototype){return ENode(["table",".object"],{},(acc$1=[],temp$2=null,m$2=null,function(){var _iteratorNormalCompletion2=true;var _didIteratorError2=false;var _iteratorError2=undefined;try{$1:for(var _iterator2=items(x$2)[Symbol.iterator](),_step2;!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=true){m$2=_step2.value;var k$0=void 0;var v$0=void 0;var t0$3=void 0;var t1$1=void 0;t0$3=m$2;if(Array.isArray(t0$3)&&(t1$1=t0$3.length,t1$1===2)){k$0=t0$3[0];v$0=t0$3[1];temp$2=ENode(["tr"],{},[ENode(["th"],{},recur$0(k$0,repr$0)),ENode(["td"],{},recur$0(v$0,repr$0))]);acc$1.push(temp$2);}else{___match_error(m$2);}}}catch(err){_didIteratorError2=true;_iteratorError2=err;}finally{try{if(!_iteratorNormalCompletion2&&_iterator2.return){_iterator2.return();}}finally{if(_didIteratorError2){throw _iteratorError2;}}}}(),acc$1));}else{other$0=ph$2$0;return ENode([".unknown"],{},other$0.toString());}}}}}}}}}}else{return ___match_error(m$0$0,"{x and match, Function? recur = repr}");}};escape_html$0=function escape_html(temp$3$0){var t0$4=void 0;var repl$0=void 0;var s$0=void 0;t0$4=[true,String(temp$3$0)];if(t0$4[0]){s$0=t0$4[1];}else{___match_error(temp$3$0);}repl$0={"&":"&","<":"<",">":">"};return s$0.replace(RegExp("[&<>]","g"),function(x$4){return send(repl$0,x$4);});};quotify$0=function quotify(temp$4$0){var t0$5=void 0;var s$1=void 0;t0$5=[true,String(temp$4$0)];if(t0$5[0]){s$1=t0$5[1];}else{___match_error(temp$4$0);}return s$1.replace(RegExp("[\\\"\\\\]","g"),function(x$5){return"\\"+x$5;});};HTML$0=function HTML(ph$3$0,default_tag$0){var m$3=void 0;var acc$2=void 0;var temp$5=void 0;var chs$0=void 0;var m$5=void 0;var m$6=void 0;var m$7=void 0;var acc$3=void 0;var temp$6=void 0;var m$9=void 0;var acc$4=void 0;var temp$7=void 0;var m$10=void 0;var acc$5=void 0;var temp$8=void 0;var other$2=void 0;var m$8$0=void 0;var x$6=void 0;var other$3=void 0;var m$4$0=void 0;var tag$0=void 0;var classes$0=void 0;var id$0=void 0;var kv$0=void 0;var sub$0=void 0;var accum$0=void 0;var children2$0=void 0;var other$4=void 0;var tags$0=void 0;var props$0=void 0;var children$1=void 0;var children$0=void 0;var s$2=void 0;var $$26885$0=void 0;var t0$6=void 0;t0$6=ph$3$0;if(typeof t0$6==="string"){s$2=t0$6;return escape_html$0(s$2);}else{if(Array.isArray(t0$6)){children$0=t0$6;acc$2=[];temp$5=null;m$3=null;var _iteratorNormalCompletion3=true;var _didIteratorError3=false;var _iteratorError3=undefined;try{$2:for(var _iterator3=children$0[Symbol.iterator](),_step3;!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=true){m$3=_step3.value;var child$0=void 0;child$0=m$3;temp$5=HTML$0(child$0,default_tag$0);acc$2.push(temp$5);}}catch(err){_didIteratorError3=true;_iteratorError3=err;}finally{try{if(!_iteratorNormalCompletion3&&_iterator3.return){_iterator3.return();}}finally{if(_didIteratorError3){throw _iteratorError3;}}}chs$0=acc$2;return chs$0.join("");}else{if(getChecker(ENode)(t0$6)&&___hasprop(t0$6,"tags")&&(tags$0=t0$6.tags,___hasprop(t0$6,"props")&&(props$0=t0$6.props,___hasprop(t0$6,"children")))){children$1=t0$6.children;tag$0=default_tag$0||"span";classes$0=[];id$0=null;kv$0=[];sub$0=[];m$5=null;var _iteratorNormalCompletion4=true;var _didIteratorError4=false;var _iteratorError4=undefined;try{$3:for(var _iterator4=tags$0[Symbol.iterator](),_step4;!(_iteratorNormalCompletion4=(_step4=_iterator4.next()).done);_iteratorNormalCompletion4=true){m$5=_step4.value;var other$1=void 0;var cls$0=void 0;var t0$7=void 0;var t1$2=void 0;var t2$1=void 0;t0$7=getProjector(RegExp("^\\.(.*)",""))(m$5);if(t0$7[0]&&(t1$2=t0$7[1],t2$1=t1$2.length,t2$1===2)){t1$2[0];cls$0=t1$2[1];classes$0.push(cls$0);}else{other$1=m$5;tag$0=other$1;tag$0;}}}catch(err){_didIteratorError4=true;_iteratorError4=err;}finally{try{if(!_iteratorNormalCompletion4&&_iterator4.return){_iterator4.return();}}finally{if(_didIteratorError4){throw _iteratorError4;}}}m$6=null;var _iteratorNormalCompletion5=true;var _didIteratorError5=false;var _iteratorError5=undefined;try{$4:for(var _iterator5=items(props$0)[Symbol.iterator](),_step5;!(_iteratorNormalCompletion5=(_step5=_iterator5.next()).done);_iteratorNormalCompletion5=true){m$6=_step5.value;var k$1=void 0;var v$1=void 0;var t0$8=void 0;var t1$3=void 0;t0$8=m$6;if(Array.isArray(t0$8)&&(t1$3=t0$8.length,t1$3===2)){k$1=t0$8[0];v$1=t0$8[1];kv$0.push([k$1,v$1]);}else{___match_error(m$6);}}}catch(err){_didIteratorError5=true;_iteratorError5=err;}finally{try{if(!_iteratorNormalCompletion5&&_iterator5.return){_iterator5.return();}}finally{if(_didIteratorError5){throw _iteratorError5;}}}if(tag$0==="raw"){accum$0=[];}else{accum$0=["<",tag$0];}if(id$0){accum$0=accum$0.concat(" id=\"",id$0,"\"");accum$0;}if(classes$0.length){accum$0=accum$0.concat(" class=\"",quotify$0(classes$0.join(" ")),"\"");accum$0;}if(kv$0){acc$3=[];temp$6=null;m$7=null;var _iteratorNormalCompletion6=true;var _didIteratorError6=false;var _iteratorError6=undefined;try{$5:for(var _iterator6=kv$0[Symbol.iterator](),_step6;!(_iteratorNormalCompletion6=(_step6=_iterator6.next()).done);_iteratorNormalCompletion6=true){m$7=_step6.value;var k$2=void 0;var v$2=void 0;var t0$9=void 0;var t1$4=void 0;t0$9=m$7;if(Array.isArray(t0$9)&&(t1$4=t0$9.length,t1$4===2)){k$2=t0$9[0];v$2=t0$9[1];accum$0=accum$0.concat(v$2!==null?[" ",k$2,"=\"",quotify$0(v$2),"\""]:[" ",k$2]);temp$6=accum$0;acc$3.push(temp$6);}else{___match_error(m$7);}}}catch(err){_didIteratorError6=true;_iteratorError6=err;}finally{try{if(!_iteratorNormalCompletion6&&_iterator6.return){_iterator6.return();}}finally{if(_didIteratorError6){throw _iteratorError6;}}}acc$3;}m$8$0=tag$0;if(m$8$0==="raw"){acc$4=[];temp$7=null;m$9=null;var _iteratorNormalCompletion7=true;var _didIteratorError7=false;var _iteratorError7=undefined;try{$6:for(var _iterator7=children$1[Symbol.iterator](),_step7;!(_iteratorNormalCompletion7=(_step7=_iterator7.next()).done);_iteratorNormalCompletion7=true){m$9=_step7.value;var c$0=void 0;var s$3=void 0;var t0$10=void 0;t0$10=m$9;if(typeof t0$10==="string"){s$3=t0$10;temp$7=s$3;acc$4.push(temp$7);}else{c$0=m$9;temp$7=HTML$0(c$0,default_tag$0);acc$4.push(temp$7);}}}catch(err){_didIteratorError7=true;_iteratorError7=err;}finally{try{if(!_iteratorNormalCompletion7&&_iterator7.return){_iterator7.return();}}finally{if(_didIteratorError7){throw _iteratorError7;}}}children2$0=acc$4;}else{other$2=m$8$0;acc$5=[];temp$8=null;m$10=null;var _iteratorNormalCompletion8=true;var _didIteratorError8=false;var _iteratorError8=undefined;try{$7:for(var _iterator8=children$1[Symbol.iterator](),_step8;!(_iteratorNormalCompletion8=(_step8=_iterator8.next()).done);_iteratorNormalCompletion8=true){m$10=_step8.value;var c$1=void 0;c$1=m$10;temp$8=HTML$0(c$1,default_tag$0);acc$5.push(temp$8);}}catch(err){_didIteratorError8=true;_iteratorError8=err;}finally{try{if(!_iteratorNormalCompletion8&&_iterator8.return){_iterator8.return();}}finally{if(_didIteratorError8){throw _iteratorError8;}}}children2$0=acc$5;}m$4$0=tag$0;if(m$4$0==="raw"){return accum$0.concat(children2$0).join("");}else{other$3=m$4$0;x$6=[">"].concat(children2$0).concat(["</",tag$0,">"]);return accum$0.concat(x$6).join("");}}else{other$4=ph$3$0;return HTML$0([true,String(other$4)][1],default_tag$0);}}}};$targ$0=pr_terminus$0;exports["pr_terminus"]=$targ$0;$targ$1=pr$0;exports["pr"]=$targ$1;$targ$2=__lt____gt__$0;exports["<>"]=$targ$2;$targ$3=repr$0;exports["repr"]=$targ$3;void 0;
//# sourceMappingURL=pp.js.map
;