From 78a733fdc3c8a8e232745107a3378e8ed4066d80 Mon Sep 17 00:00:00 2001 From: The Ghost of FOSS' Future <163201376+sneedgroup-holder@users.noreply.github.com> Date: Thu, 9 Jan 2025 00:47:30 +0000 Subject: [PATCH] Update qjs.c --- qjs.c | 52 +++++++++++----------------------------------------- 1 file changed, 11 insertions(+), 41 deletions(-) diff --git a/qjs.c b/qjs.c index e532539..2a3f3ef 100644 --- a/qjs.c +++ b/qjs.c @@ -634,8 +634,14 @@ start: "globalThis.std = std;\n" "globalThis.os = os;\n"; eval_buf(ctx, str, strlen(str), "", JS_EVAL_TYPE_MODULE); + } - //POLYFILLS FOR QJS FILES BEGIN + for(i = 0; i < include_count; i++) { + if (eval_file(ctx, include_list[i], 0)) + goto fail; + } + + //POLYFILLS FOR QJS FILES BEGIN const char *pf = "globalThis.global = globalThis;\n" "global.console.error = console.log\n" "global.console.warn = console.log\n" @@ -662,13 +668,10 @@ start: "} else {\n" " console.error('std is not defined.');\n" "}\n"; - - eval_buf(ctx, pf, strlen(pf), "", JS_EVAL_TYPE_MODULE); - } - - for(i = 0; i < include_count; i++) { - if (eval_file(ctx, include_list[i], 0)) - goto fail; + eval_buf(ctx, pf, strlen(pf), "", JS_EVAL_TYPE_MODULE); + + if (interactive) { + js_std_eval_binary(ctx, qjsc_repl, qjsc_repl_size, 0); } if (standalone) { @@ -711,39 +714,6 @@ start: goto fail; } - //POLYFILLS FOR QJS FILES BEGIN - const char *pf = "globalThis.global = globalThis;\n" - "global.console.error = console.log\n" - "global.console.warn = console.log\n" - "globalThis.breakFunction = () => { throw new Error('Function Break'); };\n" - "\n" - "if (typeof os !== 'undefined') {\n" - " globalThis.sleep = os.sleep;\n" - " async function setTimeout2(func, ms) {globalThis.clearTimeout = false; await sleep(ms); if (!clearTimeout) { func(); } }\n" - " globalThis.setTimeout = setTimeout2\n" - "} else {\n" - " console.error('os is not defined.');\n" - "}\n" - "\n" - "if (typeof std !== 'undefined') {\n" - " globalThis.urlGet = std.urlGet;\n" - " globalThis.loadFile = std.loadFile;\n" - " globalThis.doneRequire = std.loadFile;\n" - " globalThis.printf = console.log;\n" - " globalThis.evalFile = std.loadScript;\n" - " globalThis.require = (moduleSpecifier) => import(moduleSpecifier).then(mod => mod.default || mod);\n" - " globalThis.stdRequire = globalThis.require;\n" - " globalThis.safeGlobals = {} \n" - " globalThis.getURL = std.urlGet;\n" - "} else {\n" - " console.error('std is not defined.');\n" - "}\n"; - eval_buf(ctx, pf, strlen(pf), "", JS_EVAL_TYPE_MODULE); - - if (interactive) { - js_std_eval_binary(ctx, qjsc_repl, qjsc_repl_size, 0); - } - if (standalone || compile_file) { if (JS_IsException(ret)) { r = 1;