@suchipi/quickjs 0.8.1 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -6
- package/build/aarch64-apple-darwin/bin/file-to-bytecode.js +3 -3
- package/build/aarch64-apple-darwin/bin/qjs +0 -0
- package/build/aarch64-apple-darwin/bin/qjsbootstrap +0 -0
- package/build/aarch64-apple-darwin/bin/qjsbootstrap-bytecode +0 -0
- package/build/aarch64-apple-darwin/bin/qjsc +0 -0
- package/build/aarch64-apple-darwin/bin/quickjs-run +0 -0
- package/build/aarch64-apple-darwin/extras/is-stdin-a-tty +0 -0
- package/build/aarch64-apple-darwin/extras/run-test262 +0 -0
- package/build/aarch64-apple-darwin/extras/sample-program/sum +0 -0
- package/build/aarch64-apple-darwin/extras/stack-limit-test +0 -0
- package/build/aarch64-apple-darwin/include/quickjs-bytecode.h +8 -0
- package/build/aarch64-apple-darwin/include/quickjs-context.h +8 -0
- package/build/aarch64-apple-darwin/include/quickjs-encoding.h +8 -0
- package/build/aarch64-apple-darwin/include/quickjs-engine.h +8 -0
- package/build/aarch64-apple-darwin/include/quickjs-full-init.h +19 -0
- package/build/aarch64-apple-darwin/include/quickjs-inspect.h +9 -0
- package/build/aarch64-apple-darwin/include/quickjs-intervals.h +9 -0
- package/build/aarch64-apple-darwin/include/quickjs-libc.h +65 -0
- package/build/aarch64-apple-darwin/include/quickjs-modulesys.h +68 -0
- package/build/aarch64-apple-darwin/include/quickjs-pointer.h +9 -0
- package/build/aarch64-apple-darwin/include/quickjs-print.h +9 -0
- package/build/aarch64-apple-darwin/include/quickjs-utils.h +49 -0
- package/build/aarch64-apple-darwin/include/quickjs.h +1195 -0
- package/build/aarch64-apple-darwin/lib/quickjs-core.a +0 -0
- package/build/aarch64-apple-darwin/lib/quickjs-full.a +0 -0
- package/build/aarch64-unknown-linux-gnu/bin/file-to-bytecode.js +3 -3
- package/build/aarch64-unknown-linux-gnu/bin/qjs +0 -0
- package/build/aarch64-unknown-linux-gnu/bin/qjsbootstrap +0 -0
- package/build/aarch64-unknown-linux-gnu/bin/qjsbootstrap-bytecode +0 -0
- package/build/aarch64-unknown-linux-gnu/bin/qjsc +0 -0
- package/build/aarch64-unknown-linux-gnu/bin/quickjs-run +0 -0
- package/build/aarch64-unknown-linux-gnu/extras/is-stdin-a-tty +0 -0
- package/build/aarch64-unknown-linux-gnu/extras/run-test262 +0 -0
- package/build/aarch64-unknown-linux-gnu/extras/sample-program/sum +0 -0
- package/build/aarch64-unknown-linux-gnu/extras/stack-limit-test +0 -0
- package/build/aarch64-unknown-linux-gnu/include/quickjs-bytecode.h +8 -0
- package/build/aarch64-unknown-linux-gnu/include/quickjs-context.h +8 -0
- package/build/aarch64-unknown-linux-gnu/include/quickjs-encoding.h +8 -0
- package/build/aarch64-unknown-linux-gnu/include/quickjs-engine.h +8 -0
- package/build/aarch64-unknown-linux-gnu/include/quickjs-full-init.h +19 -0
- package/build/aarch64-unknown-linux-gnu/include/quickjs-inspect.h +9 -0
- package/build/aarch64-unknown-linux-gnu/include/quickjs-intervals.h +9 -0
- package/build/aarch64-unknown-linux-gnu/include/quickjs-libc.h +65 -0
- package/build/aarch64-unknown-linux-gnu/include/quickjs-modulesys.h +68 -0
- package/build/aarch64-unknown-linux-gnu/include/quickjs-pointer.h +9 -0
- package/build/aarch64-unknown-linux-gnu/include/quickjs-print.h +9 -0
- package/build/aarch64-unknown-linux-gnu/include/quickjs-utils.h +49 -0
- package/build/aarch64-unknown-linux-gnu/include/quickjs.h +1195 -0
- package/build/aarch64-unknown-linux-gnu/lib/quickjs-core.a +0 -0
- package/build/aarch64-unknown-linux-gnu/lib/quickjs-full.a +0 -0
- package/build/aarch64-unknown-linux-musl/bin/file-to-bytecode.js +3 -3
- package/build/aarch64-unknown-linux-musl/bin/qjs +0 -0
- package/build/aarch64-unknown-linux-musl/bin/qjsbootstrap +0 -0
- package/build/aarch64-unknown-linux-musl/bin/qjsbootstrap-bytecode +0 -0
- package/build/aarch64-unknown-linux-musl/bin/qjsc +0 -0
- package/build/aarch64-unknown-linux-musl/bin/quickjs-run +0 -0
- package/build/aarch64-unknown-linux-musl/extras/is-stdin-a-tty +0 -0
- package/build/aarch64-unknown-linux-musl/extras/run-test262 +0 -0
- package/build/aarch64-unknown-linux-musl/extras/sample-program/sum +0 -0
- package/build/aarch64-unknown-linux-musl/extras/stack-limit-test +0 -0
- package/build/aarch64-unknown-linux-musl/include/quickjs-bytecode.h +8 -0
- package/build/aarch64-unknown-linux-musl/include/quickjs-context.h +8 -0
- package/build/aarch64-unknown-linux-musl/include/quickjs-encoding.h +8 -0
- package/build/aarch64-unknown-linux-musl/include/quickjs-engine.h +8 -0
- package/build/aarch64-unknown-linux-musl/include/quickjs-full-init.h +19 -0
- package/build/aarch64-unknown-linux-musl/include/quickjs-inspect.h +9 -0
- package/build/aarch64-unknown-linux-musl/include/quickjs-intervals.h +9 -0
- package/build/aarch64-unknown-linux-musl/include/quickjs-libc.h +65 -0
- package/build/aarch64-unknown-linux-musl/include/quickjs-modulesys.h +68 -0
- package/build/aarch64-unknown-linux-musl/include/quickjs-pointer.h +9 -0
- package/build/aarch64-unknown-linux-musl/include/quickjs-print.h +9 -0
- package/build/aarch64-unknown-linux-musl/include/quickjs-utils.h +49 -0
- package/build/aarch64-unknown-linux-musl/include/quickjs.h +1195 -0
- package/build/aarch64-unknown-linux-musl/lib/quickjs-core.a +0 -0
- package/build/aarch64-unknown-linux-musl/lib/quickjs-full.a +0 -0
- package/build/aarch64-unknown-linux-static/bin/file-to-bytecode.js +3 -3
- package/build/aarch64-unknown-linux-static/bin/qjs +0 -0
- package/build/aarch64-unknown-linux-static/bin/qjsbootstrap +0 -0
- package/build/aarch64-unknown-linux-static/bin/qjsbootstrap-bytecode +0 -0
- package/build/aarch64-unknown-linux-static/bin/qjsc +0 -0
- package/build/aarch64-unknown-linux-static/bin/quickjs-run +0 -0
- package/build/aarch64-unknown-linux-static/extras/is-stdin-a-tty +0 -0
- package/build/aarch64-unknown-linux-static/extras/run-test262 +0 -0
- package/build/aarch64-unknown-linux-static/extras/sample-program/sum +0 -0
- package/build/aarch64-unknown-linux-static/extras/stack-limit-test +0 -0
- package/build/aarch64-unknown-linux-static/include/quickjs-bytecode.h +8 -0
- package/build/aarch64-unknown-linux-static/include/quickjs-context.h +8 -0
- package/build/aarch64-unknown-linux-static/include/quickjs-encoding.h +8 -0
- package/build/aarch64-unknown-linux-static/include/quickjs-engine.h +8 -0
- package/build/aarch64-unknown-linux-static/include/quickjs-full-init.h +19 -0
- package/build/aarch64-unknown-linux-static/include/quickjs-inspect.h +9 -0
- package/build/aarch64-unknown-linux-static/include/quickjs-intervals.h +9 -0
- package/build/aarch64-unknown-linux-static/include/quickjs-libc.h +65 -0
- package/build/aarch64-unknown-linux-static/include/quickjs-modulesys.h +68 -0
- package/build/aarch64-unknown-linux-static/include/quickjs-pointer.h +9 -0
- package/build/aarch64-unknown-linux-static/include/quickjs-print.h +9 -0
- package/build/aarch64-unknown-linux-static/include/quickjs-utils.h +49 -0
- package/build/aarch64-unknown-linux-static/include/quickjs.h +1195 -0
- package/build/aarch64-unknown-linux-static/lib/quickjs-core.a +0 -0
- package/build/aarch64-unknown-linux-static/lib/quickjs-full.a +0 -0
- package/build/dts/{quickjs-libcontext.d.ts → quickjs-context.d.ts} +0 -3
- package/build/dts/quickjs-intervals.d.ts +4 -0
- package/build/dts/quickjs-libc.d.ts +21 -76
- package/build/dts/quickjs-modulesys.d.ts +9 -0
- package/build/dts/{quickjs-libpointer.d.ts → quickjs-pointer.d.ts} +1 -1
- package/build/dts/quickjs-print.d.ts +26 -0
- package/build/x86_64-apple-darwin/bin/file-to-bytecode.js +3 -3
- package/build/x86_64-apple-darwin/bin/qjs +0 -0
- package/build/x86_64-apple-darwin/bin/qjsbootstrap +0 -0
- package/build/x86_64-apple-darwin/bin/qjsbootstrap-bytecode +0 -0
- package/build/x86_64-apple-darwin/bin/qjsc +0 -0
- package/build/x86_64-apple-darwin/bin/quickjs-run +0 -0
- package/build/x86_64-apple-darwin/extras/is-stdin-a-tty +0 -0
- package/build/x86_64-apple-darwin/extras/run-test262 +0 -0
- package/build/x86_64-apple-darwin/extras/sample-program/sum +0 -0
- package/build/x86_64-apple-darwin/extras/stack-limit-test +0 -0
- package/build/x86_64-apple-darwin/include/quickjs-bytecode.h +8 -0
- package/build/x86_64-apple-darwin/include/quickjs-context.h +8 -0
- package/build/x86_64-apple-darwin/include/quickjs-encoding.h +8 -0
- package/build/x86_64-apple-darwin/include/quickjs-engine.h +8 -0
- package/build/x86_64-apple-darwin/include/quickjs-full-init.h +19 -0
- package/build/x86_64-apple-darwin/include/quickjs-inspect.h +9 -0
- package/build/x86_64-apple-darwin/include/quickjs-intervals.h +9 -0
- package/build/x86_64-apple-darwin/include/quickjs-libc.h +65 -0
- package/build/x86_64-apple-darwin/include/quickjs-modulesys.h +68 -0
- package/build/x86_64-apple-darwin/include/quickjs-pointer.h +9 -0
- package/build/x86_64-apple-darwin/include/quickjs-print.h +9 -0
- package/build/x86_64-apple-darwin/include/quickjs-utils.h +49 -0
- package/build/x86_64-apple-darwin/include/quickjs.h +1195 -0
- package/build/x86_64-apple-darwin/lib/quickjs-core.a +0 -0
- package/build/x86_64-apple-darwin/lib/quickjs-full.a +0 -0
- package/build/x86_64-pc-windows-static/bin/file-to-bytecode.js +3 -3
- package/build/x86_64-pc-windows-static/bin/qjs.exe +0 -0
- package/build/x86_64-pc-windows-static/bin/qjsbootstrap-bytecode.exe +0 -0
- package/build/x86_64-pc-windows-static/bin/qjsbootstrap.exe +0 -0
- package/build/x86_64-pc-windows-static/bin/qjsc.exe +0 -0
- package/build/x86_64-pc-windows-static/bin/quickjs-run.exe +0 -0
- package/build/x86_64-pc-windows-static/extras/is-stdin-a-tty.exe +0 -0
- package/build/x86_64-pc-windows-static/extras/run-test262.exe +0 -0
- package/build/x86_64-pc-windows-static/extras/sample-program/sum.exe +0 -0
- package/build/x86_64-pc-windows-static/extras/stack-limit-test.exe +0 -0
- package/build/x86_64-pc-windows-static/include/quickjs-bytecode.h +8 -0
- package/build/x86_64-pc-windows-static/include/quickjs-context.h +8 -0
- package/build/x86_64-pc-windows-static/include/quickjs-encoding.h +8 -0
- package/build/x86_64-pc-windows-static/include/quickjs-engine.h +8 -0
- package/build/x86_64-pc-windows-static/include/quickjs-full-init.h +19 -0
- package/build/x86_64-pc-windows-static/include/quickjs-inspect.h +9 -0
- package/build/x86_64-pc-windows-static/include/quickjs-intervals.h +9 -0
- package/build/x86_64-pc-windows-static/include/quickjs-libc.h +65 -0
- package/build/x86_64-pc-windows-static/include/quickjs-modulesys.h +68 -0
- package/build/x86_64-pc-windows-static/include/quickjs-pointer.h +9 -0
- package/build/x86_64-pc-windows-static/include/quickjs-print.h +9 -0
- package/build/x86_64-pc-windows-static/include/quickjs-utils.h +49 -0
- package/build/x86_64-pc-windows-static/include/quickjs.h +1195 -0
- package/build/x86_64-pc-windows-static/lib/quickjs-core.a +0 -0
- package/build/x86_64-pc-windows-static/lib/quickjs-full.a +0 -0
- package/build/x86_64-unknown-linux-gnu/bin/file-to-bytecode.js +3 -3
- package/build/x86_64-unknown-linux-gnu/bin/qjs +0 -0
- package/build/x86_64-unknown-linux-gnu/bin/qjsbootstrap +0 -0
- package/build/x86_64-unknown-linux-gnu/bin/qjsbootstrap-bytecode +0 -0
- package/build/x86_64-unknown-linux-gnu/bin/qjsc +0 -0
- package/build/x86_64-unknown-linux-gnu/bin/quickjs-run +0 -0
- package/build/x86_64-unknown-linux-gnu/extras/is-stdin-a-tty +0 -0
- package/build/x86_64-unknown-linux-gnu/extras/run-test262 +0 -0
- package/build/x86_64-unknown-linux-gnu/extras/sample-program/sum +0 -0
- package/build/x86_64-unknown-linux-gnu/extras/stack-limit-test +0 -0
- package/build/x86_64-unknown-linux-gnu/include/quickjs-bytecode.h +8 -0
- package/build/x86_64-unknown-linux-gnu/include/quickjs-context.h +8 -0
- package/build/x86_64-unknown-linux-gnu/include/quickjs-encoding.h +8 -0
- package/build/x86_64-unknown-linux-gnu/include/quickjs-engine.h +8 -0
- package/build/x86_64-unknown-linux-gnu/include/quickjs-full-init.h +19 -0
- package/build/x86_64-unknown-linux-gnu/include/quickjs-inspect.h +9 -0
- package/build/x86_64-unknown-linux-gnu/include/quickjs-intervals.h +9 -0
- package/build/x86_64-unknown-linux-gnu/include/quickjs-libc.h +65 -0
- package/build/x86_64-unknown-linux-gnu/include/quickjs-modulesys.h +68 -0
- package/build/x86_64-unknown-linux-gnu/include/quickjs-pointer.h +9 -0
- package/build/x86_64-unknown-linux-gnu/include/quickjs-print.h +9 -0
- package/build/x86_64-unknown-linux-gnu/include/quickjs-utils.h +49 -0
- package/build/x86_64-unknown-linux-gnu/include/quickjs.h +1195 -0
- package/build/x86_64-unknown-linux-gnu/lib/quickjs-core.a +0 -0
- package/build/x86_64-unknown-linux-gnu/lib/quickjs-full.a +0 -0
- package/build/x86_64-unknown-linux-musl/bin/file-to-bytecode.js +3 -3
- package/build/x86_64-unknown-linux-musl/bin/qjs +0 -0
- package/build/x86_64-unknown-linux-musl/bin/qjsbootstrap +0 -0
- package/build/x86_64-unknown-linux-musl/bin/qjsbootstrap-bytecode +0 -0
- package/build/x86_64-unknown-linux-musl/bin/qjsc +0 -0
- package/build/x86_64-unknown-linux-musl/bin/quickjs-run +0 -0
- package/build/x86_64-unknown-linux-musl/extras/is-stdin-a-tty +0 -0
- package/build/x86_64-unknown-linux-musl/extras/run-test262 +0 -0
- package/build/x86_64-unknown-linux-musl/extras/sample-program/sum +0 -0
- package/build/x86_64-unknown-linux-musl/extras/stack-limit-test +0 -0
- package/build/x86_64-unknown-linux-musl/include/quickjs-bytecode.h +8 -0
- package/build/x86_64-unknown-linux-musl/include/quickjs-context.h +8 -0
- package/build/x86_64-unknown-linux-musl/include/quickjs-encoding.h +8 -0
- package/build/x86_64-unknown-linux-musl/include/quickjs-engine.h +8 -0
- package/build/x86_64-unknown-linux-musl/include/quickjs-full-init.h +19 -0
- package/build/x86_64-unknown-linux-musl/include/quickjs-inspect.h +9 -0
- package/build/x86_64-unknown-linux-musl/include/quickjs-intervals.h +9 -0
- package/build/x86_64-unknown-linux-musl/include/quickjs-libc.h +65 -0
- package/build/x86_64-unknown-linux-musl/include/quickjs-modulesys.h +68 -0
- package/build/x86_64-unknown-linux-musl/include/quickjs-pointer.h +9 -0
- package/build/x86_64-unknown-linux-musl/include/quickjs-print.h +9 -0
- package/build/x86_64-unknown-linux-musl/include/quickjs-utils.h +49 -0
- package/build/x86_64-unknown-linux-musl/include/quickjs.h +1195 -0
- package/build/x86_64-unknown-linux-musl/lib/quickjs-core.a +0 -0
- package/build/x86_64-unknown-linux-musl/lib/quickjs-full.a +0 -0
- package/build/x86_64-unknown-linux-static/bin/file-to-bytecode.js +3 -3
- package/build/x86_64-unknown-linux-static/bin/qjs +0 -0
- package/build/x86_64-unknown-linux-static/bin/qjsbootstrap +0 -0
- package/build/x86_64-unknown-linux-static/bin/qjsbootstrap-bytecode +0 -0
- package/build/x86_64-unknown-linux-static/bin/qjsc +0 -0
- package/build/x86_64-unknown-linux-static/bin/quickjs-run +0 -0
- package/build/x86_64-unknown-linux-static/extras/is-stdin-a-tty +0 -0
- package/build/x86_64-unknown-linux-static/extras/run-test262 +0 -0
- package/build/x86_64-unknown-linux-static/extras/sample-program/sum +0 -0
- package/build/x86_64-unknown-linux-static/extras/stack-limit-test +0 -0
- package/build/x86_64-unknown-linux-static/include/quickjs-bytecode.h +8 -0
- package/build/x86_64-unknown-linux-static/include/quickjs-context.h +8 -0
- package/build/x86_64-unknown-linux-static/include/quickjs-encoding.h +8 -0
- package/build/x86_64-unknown-linux-static/include/quickjs-engine.h +8 -0
- package/build/x86_64-unknown-linux-static/include/quickjs-full-init.h +19 -0
- package/build/x86_64-unknown-linux-static/include/quickjs-inspect.h +9 -0
- package/build/x86_64-unknown-linux-static/include/quickjs-intervals.h +9 -0
- package/build/x86_64-unknown-linux-static/include/quickjs-libc.h +65 -0
- package/build/x86_64-unknown-linux-static/include/quickjs-modulesys.h +68 -0
- package/build/x86_64-unknown-linux-static/include/quickjs-pointer.h +9 -0
- package/build/x86_64-unknown-linux-static/include/quickjs-print.h +9 -0
- package/build/x86_64-unknown-linux-static/include/quickjs-utils.h +49 -0
- package/build/x86_64-unknown-linux-static/include/quickjs.h +1195 -0
- package/build/x86_64-unknown-linux-static/lib/quickjs-core.a +0 -0
- package/build/x86_64-unknown-linux-static/lib/quickjs-full.a +0 -0
- package/package.json +3 -3
- package/tsconfig.json +2 -5
- package/build/aarch64-apple-darwin/extras/log-argv +0 -0
- package/build/aarch64-unknown-linux-gnu/extras/log-argv +0 -0
- package/build/aarch64-unknown-linux-musl/extras/log-argv +0 -0
- package/build/aarch64-unknown-linux-static/extras/log-argv +0 -0
- package/build/x86_64-apple-darwin/extras/log-argv +0 -0
- package/build/x86_64-pc-windows-static/extras/log-argv.exe +0 -0
- package/build/x86_64-unknown-linux-gnu/extras/log-argv +0 -0
- package/build/x86_64-unknown-linux-musl/extras/log-argv +0 -0
- package/build/x86_64-unknown-linux-static/extras/log-argv +0 -0
- /package/build/dts/{quickjs-libbytecode.d.ts → quickjs-bytecode.d.ts} +0 -0
- /package/build/dts/{quickjs-libencoding.d.ts → quickjs-encoding.d.ts} +0 -0
- /package/build/dts/{quickjs-libengine.d.ts → quickjs-engine.d.ts} +0 -0
- /package/build/dts/{inspect.d.ts → quickjs-inspect.d.ts} +0 -0
|
Binary file
|
|
Binary file
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
// Simple script which reads in a file, converts it to bytecode, and writes out
|
|
4
4
|
// the bytecode to a new file.
|
|
5
5
|
|
|
6
|
-
/// <reference path="
|
|
7
|
-
/// <reference path="
|
|
8
|
-
/// <reference path="
|
|
6
|
+
/// <reference path="../../quickjs/quickjs.d.ts" />
|
|
7
|
+
/// <reference path="../../builtin-modules/quickjs-libc/quickjs-libc.d.ts" />
|
|
8
|
+
/// <reference path="../../builtin-modules/quickjs-bytecode/quickjs-bytecode.d.ts" />
|
|
9
9
|
|
|
10
10
|
import * as std from "quickjs:std";
|
|
11
11
|
import * as Bytecode from "quickjs:bytecode";
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#ifndef QUICKJS_FULL_INIT_H
|
|
2
|
+
#define QUICKJS_FULL_INIT_H
|
|
3
|
+
|
|
4
|
+
#include "quickjs.h"
|
|
5
|
+
#include "quickjs-print.h"
|
|
6
|
+
#include "quickjs-inspect.h"
|
|
7
|
+
#include "quickjs-intervals.h"
|
|
8
|
+
#include "quickjs-libc.h"
|
|
9
|
+
#include "quickjs-bytecode.h"
|
|
10
|
+
#include "quickjs-context.h"
|
|
11
|
+
#include "quickjs-pointer.h"
|
|
12
|
+
#include "quickjs-modulesys.h"
|
|
13
|
+
#include "quickjs-engine.h"
|
|
14
|
+
#include "quickjs-encoding.h"
|
|
15
|
+
|
|
16
|
+
/* returns 0 on success, nonzero on failure */
|
|
17
|
+
int quickjs_full_init(JSContext *ctx);
|
|
18
|
+
|
|
19
|
+
#endif /* ifndef QUICKJS_FULL_INIT_H */
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* QuickJS C library
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2017-2018 Fabrice Bellard
|
|
5
|
+
*
|
|
6
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
* in the Software without restriction, including without limitation the rights
|
|
9
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
* furnished to do so, subject to the following conditions:
|
|
12
|
+
*
|
|
13
|
+
* The above copyright notice and this permission notice shall be included in
|
|
14
|
+
* all copies or substantial portions of the Software.
|
|
15
|
+
*
|
|
16
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
19
|
+
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
22
|
+
* THE SOFTWARE.
|
|
23
|
+
*/
|
|
24
|
+
#ifndef QUICKJS_LIBC_H
|
|
25
|
+
#define QUICKJS_LIBC_H
|
|
26
|
+
|
|
27
|
+
#include <stdio.h>
|
|
28
|
+
#include <stdlib.h>
|
|
29
|
+
|
|
30
|
+
#include "quickjs.h"
|
|
31
|
+
|
|
32
|
+
#ifdef __cplusplus
|
|
33
|
+
extern "C"
|
|
34
|
+
{
|
|
35
|
+
#endif
|
|
36
|
+
|
|
37
|
+
JSModuleDef *js_init_module_std(JSContext *ctx, const char *module_name);
|
|
38
|
+
JSModuleDef *js_init_module_os(JSContext *ctx, const char *module_name);
|
|
39
|
+
|
|
40
|
+
/*
|
|
41
|
+
Creates 'scriptArgs' and 'setTimeout'.
|
|
42
|
+
*/
|
|
43
|
+
void js_std_add_helpers(JSContext *ctx, int argc, char **argv);
|
|
44
|
+
|
|
45
|
+
/* Creates 'scriptArgs' global */
|
|
46
|
+
void js_std_add_scriptArgs(JSContext *ctx, int argc, char **argv);
|
|
47
|
+
|
|
48
|
+
/* Creates 'setTimeout' and 'clearTimeout' globals */
|
|
49
|
+
void js_std_add_timeout(JSContext *ctx);
|
|
50
|
+
|
|
51
|
+
JS_BOOL js_std_is_main_thread(JSRuntime *rt);
|
|
52
|
+
void js_std_interrupt_handler_start(JSContext *ctx);
|
|
53
|
+
void js_std_interrupt_handler_finish(JSContext *ctx, JSValue ret);
|
|
54
|
+
|
|
55
|
+
/* returns the exit status code */
|
|
56
|
+
int js_std_loop(JSContext *ctx);
|
|
57
|
+
void js_std_init_handlers(JSRuntime *rt);
|
|
58
|
+
void js_std_free_handlers(JSRuntime *rt);
|
|
59
|
+
void js_std_set_worker_new_context_func(JSContext *(*func)(JSRuntime *rt));
|
|
60
|
+
|
|
61
|
+
#ifdef __cplusplus
|
|
62
|
+
} /* extern "C" { */
|
|
63
|
+
#endif
|
|
64
|
+
|
|
65
|
+
#endif /* QUICKJS_LIBC_H */
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
#ifndef QUICKJS_MODULESYS_H
|
|
2
|
+
#define QUICKJS_MODULESYS_H
|
|
3
|
+
|
|
4
|
+
#include "quickjs.h"
|
|
5
|
+
|
|
6
|
+
typedef struct QJMS_State QJMS_State;
|
|
7
|
+
|
|
8
|
+
/*
|
|
9
|
+
initialize and register the module loader system.
|
|
10
|
+
call both this (once per runtime) AND QJMS_InitContext (once per context).
|
|
11
|
+
*/
|
|
12
|
+
void QJMS_InitState(JSRuntime *rt);
|
|
13
|
+
|
|
14
|
+
/*
|
|
15
|
+
initialize and register the module loader system.
|
|
16
|
+
call both this (once per context) AND QJMS_InitState (once per runtime).
|
|
17
|
+
*/
|
|
18
|
+
void QJMS_InitContext(JSContext *ctx);
|
|
19
|
+
|
|
20
|
+
/* free resources allocated by the module loader system */
|
|
21
|
+
void QJMS_FreeState(JSRuntime *rt);
|
|
22
|
+
|
|
23
|
+
/*
|
|
24
|
+
Affects the value of import.meta.main.
|
|
25
|
+
*/
|
|
26
|
+
void QJMS_SetMainModule(JSRuntime *rt, const char *module_name);
|
|
27
|
+
|
|
28
|
+
/*
|
|
29
|
+
Check if import.meta.main would be true for this module.
|
|
30
|
+
*/
|
|
31
|
+
JS_BOOL QJMS_IsMainModule(JSRuntime *rt, const char *module_name);
|
|
32
|
+
|
|
33
|
+
/* initializes the import.meta object for the provided module function */
|
|
34
|
+
int QJMS_SetModuleImportMeta(JSContext *ctx, JSValueConst func_val);
|
|
35
|
+
|
|
36
|
+
/*
|
|
37
|
+
returns 0 on success, nonzero on error.
|
|
38
|
+
in case of error, prints error to stderr before returning.
|
|
39
|
+
*/
|
|
40
|
+
int QJMS_EvalBuf(JSContext *ctx, const void *buf, int buf_len,
|
|
41
|
+
const char *filename, int eval_flags);
|
|
42
|
+
|
|
43
|
+
/*
|
|
44
|
+
module can be -1 for autodetect.
|
|
45
|
+
returns 0 on success, nonzero on error.
|
|
46
|
+
in case of error, prints error to stderr before returning.
|
|
47
|
+
*/
|
|
48
|
+
int QJMS_EvalFile(JSContext *ctx, const char *filename, int module);
|
|
49
|
+
|
|
50
|
+
/*
|
|
51
|
+
returns 0 on success, nonzero on error.
|
|
52
|
+
in case of error, prints error to stderr before returning.
|
|
53
|
+
*/
|
|
54
|
+
int QJMS_EvalBinary(JSContext *ctx, const uint8_t *buf, size_t buf_len,
|
|
55
|
+
int load_only);
|
|
56
|
+
|
|
57
|
+
/* the internal behavior of the 'require' function, exposed as a C API */
|
|
58
|
+
JSValue QJMS_Require(JSContext *ctx, JSValueConst specifier);
|
|
59
|
+
JSValue QJMS_Require2(JSContext *ctx, JSValueConst specifier, JSValueConst basename);
|
|
60
|
+
|
|
61
|
+
/* the internal behavior of the 'require.resolve' function, exposed as a C API */
|
|
62
|
+
JSValue QJMS_RequireResolve(JSContext *ctx, JSValueConst specifier_val);
|
|
63
|
+
JSValue QJMS_RequireResolve2(JSContext *ctx, JSValueConst specifier_val, JSAtom basename_atom);
|
|
64
|
+
|
|
65
|
+
/* returns an object like { require: Function, ModuleDelegate: Object } */
|
|
66
|
+
JSValue QJMS_GetModuleLoaderInternals(JSContext *ctx);
|
|
67
|
+
|
|
68
|
+
#endif /* ifndef QUICKJS_MODULESYS_H */
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
#ifndef QUICKJS_UTILS_H
|
|
2
|
+
#define QUICKJS_UTILS_H
|
|
3
|
+
|
|
4
|
+
#include "quickjs.h"
|
|
5
|
+
|
|
6
|
+
typedef struct QJUForEachPropertyState
|
|
7
|
+
{
|
|
8
|
+
uint32_t len;
|
|
9
|
+
uint32_t i;
|
|
10
|
+
JSPropertyEnum *tab;
|
|
11
|
+
JSAtom key;
|
|
12
|
+
JSValue val;
|
|
13
|
+
} QJUForEachPropertyState;
|
|
14
|
+
|
|
15
|
+
/* free using QJU_FreeForEachPropertyState */
|
|
16
|
+
QJUForEachPropertyState *QJU_NewForEachPropertyState(JSContext *ctx, JSValue obj, int flags);
|
|
17
|
+
|
|
18
|
+
// put a block after this invocation; it will be run once per property
|
|
19
|
+
#define QJU_ForEachProperty(ctx, state) \
|
|
20
|
+
for (state->i = 0; state->i < state->len; state->i++)
|
|
21
|
+
|
|
22
|
+
// fills in `state` with data for the current property.
|
|
23
|
+
// return value will be JS_EXCEPTION if an exception was thrown, or JS_UNDEFINED otherwise.
|
|
24
|
+
// you must JS_DupValue `state->val` if you wanna keep it around.
|
|
25
|
+
JSValue QJU_ForEachProperty_Read(JSContext *ctx, JSValue obj, QJUForEachPropertyState *state);
|
|
26
|
+
|
|
27
|
+
void QJU_FreeForEachPropertyState(JSContext *ctx, QJUForEachPropertyState *state);
|
|
28
|
+
|
|
29
|
+
/* reads the contents of the file at `filename` into a buffer. */
|
|
30
|
+
uint8_t *QJU_ReadFile(JSContext *ctx, size_t *pbuf_len, const char *filename);
|
|
31
|
+
|
|
32
|
+
/*
|
|
33
|
+
prints `exception_val` to `f`. If `exception_val` is an Error,
|
|
34
|
+
it gets printed nicely.
|
|
35
|
+
*/
|
|
36
|
+
void QJU_PrintError(JSContext *ctx, FILE *f, JSValueConst exception_val);
|
|
37
|
+
|
|
38
|
+
/*
|
|
39
|
+
prints the context's current exception to `f`.
|
|
40
|
+
this calls JS_GetException, so the exception will be cleared.
|
|
41
|
+
*/
|
|
42
|
+
void QJU_PrintException(JSContext *ctx, FILE *f);
|
|
43
|
+
|
|
44
|
+
/* an unhandled promise rejection handler suitable for passing into JS_SetHostPromiseRejectionTracker */
|
|
45
|
+
void QJU_PrintPromiseRejection(JSContext *ctx, JSValueConst promise,
|
|
46
|
+
JSValueConst reason, JS_BOOL is_handled,
|
|
47
|
+
void *opaque);
|
|
48
|
+
|
|
49
|
+
#endif /* ifndef QUICKJS_UTILS_H */
|