mirror of https://github.com/Baidicoot/rpncalc-v4
31 lines
871 B
JavaScript
31 lines
871 B
JavaScript
import {execRPN} from './shiny.mjs';
|
|
import {parseExprs} from './parse.mjs';
|
|
import {tokenize} from './token.mjs';
|
|
import {scope} from './builtin.mjs';
|
|
import './dom.mjs';
|
|
|
|
const tags = document.getElementsByTagName("script");
|
|
let scripts = []
|
|
for (let i = 0; i < tags.length; i++) {
|
|
scripts.push(tags.item(i));
|
|
}
|
|
|
|
scripts = scripts.filter(script => script.type === "text/rpncalc");
|
|
|
|
const dispatch = (src) => {
|
|
setTimeout(() => {
|
|
let http = new XMLHttpRequest();
|
|
http.onreadystatechange = async(e) => {
|
|
if (http.readyState == 4 && http.status == 200) {
|
|
execRPN(scope, parseExprs(tokenize(http.responseText)).parsed);
|
|
}
|
|
};
|
|
http.open("get", src);
|
|
http.responseType = "text";
|
|
http.send();
|
|
}, 0);
|
|
}
|
|
|
|
for (let i = 0; i < scripts.length; i++) {
|
|
dispatch(scripts[i].src);
|
|
} |