add more polyfill hax
Some checks are pending
ci / Linux (Ubuntu) (push) Waiting to run
ci / linux-asan (push) Waiting to run
ci / linux-msan (push) Waiting to run
ci / linux-ubsan (push) Waiting to run
ci / macOS (push) Waiting to run
ci / macos-asan (push) Waiting to run
ci / macos-ubsan (push) Waiting to run
ci / freebsd (push) Waiting to run
ci / qemu-alpine (arm32v6) (push) Waiting to run
ci / qemu-alpine (arm32v7) (push) Waiting to run
ci / qemu-alpine (arm64v8) (push) Waiting to run
ci / qemu-alpine (i386) (push) Waiting to run
ci / qemu-alpine (s390x) (push) Waiting to run

This commit is contained in:
The Ghost of FOSS' Past 2024-10-24 15:43:37 -05:00
parent 15ffddb20a
commit 4fb5334ebc

15
qjs.c
View file

@ -497,6 +497,8 @@ int main(int argc, char **argv)
} }
//POLYFILLS BEGIN //POLYFILLS BEGIN
////Require and Global
const char *reqPF = "async function require(x) {\n" const char *reqPF = "async function require(x) {\n"
" const y = await import(x);" // use dynamic import. " const y = await import(x);" // use dynamic import.
" return y;\n" " return y;\n"
@ -505,6 +507,19 @@ int main(int argc, char **argv)
"globalThis.global = globalThis;\n"; "globalThis.global = globalThis;\n";
eval_buf(ctx, reqPF, strlen(reqPF), "<input>", JS_EVAL_TYPE_MODULE); eval_buf(ctx, reqPF, strlen(reqPF), "<input>", JS_EVAL_TYPE_MODULE);
const char *timeoutPF = "global.setTimeout = os.setTimeout\n"
"global.sleep = os.sleep";
eval_buf(ctx, timeoutPF, strlen(timeoutPF), "<input>", JS_EVAL_TYPE_MODULE);
const char *stdGlobals = "global.urlGet = std.urlGet\n"
"global.loadFile = std.loadFile\n"
"global.printf = std.printf\n"
"global.evalFile = std.loadScript\n"
"global.getURL = std.urlGet";
eval_buf(ctx, stdGlobals, strlen(stdGlobals), "<input>", JS_EVAL_TYPE_MODULE);
for(i = 0; i < include_count; i++) { for(i = 0; i < include_count; i++) {
if (eval_file(ctx, include_list[i], module)) if (eval_file(ctx, include_list[i], module))
goto fail; goto fail;