Skip to content

Commit fa49eb4

Browse files
upgrade quickjs-ng
1 parent 86cd72b commit fa49eb4

5 files changed

Lines changed: 70 additions & 52 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# 0.17.1
2+
3+
* upgrade to quickjs-ng 0.12.0
4+
15
# 0.17.0
26

37
* upgrade to quickjs-ng 0.11.0

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "quickjs_runtime"
3-
version = "0.17.0"
3+
version = "0.17.1"
44
authors = ["Andries Hiemstra <andries@hiemstra-software.nl>"]
55
edition = "2021"
66
description = "Wrapper API and utils for the QuickJS JavaScript engine with support for Promise, Modules, Async/await"
@@ -31,7 +31,7 @@ backtrace = "0.3"
3131

3232
#libquickjs-sys = {package="hirofa-quickjs-sys", git='https://github.com/HiRoFa/quickjs-sys'}
3333
#libquickjs-sys = { package = "hirofa-quickjs-sys", path = '../quickjs-sys', default-features = false }
34-
libquickjs-sys = { package = "hirofa-quickjs-sys", version = "0.12", default-features = false }
34+
libquickjs-sys = { package = "hirofa-quickjs-sys", version = "0.13", default-features = false }
3535
lazy_static = "1.5.0"
3636
log = "0.4"
3737
num_cpus = "1"

src/quickjs_utils/errors.rs

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -312,16 +312,29 @@ pub mod tests {
312312
Script::new(
313313
"test_ex3.js",
314314
r#"
315+
316+
async function sleep(ms) {
317+
return await new Promise((res) => {
318+
setTimeout(res, ms);
319+
});
320+
}
321+
315322
async function a() {
316323
await b();
317324
}
318325
319326
async function b() {
320-
//await 1;
327+
await sleep(50);
321328
throw Error("poof");
322329
}
323330
324-
a().catch((ex) => {
331+
async function c() {
332+
await sleep(10);
333+
}
334+
335+
const ap = a();
336+
c();
337+
ap.catch((ex) => {
325338
console.error(ex);
326339
});
327340
"#,

src/quickjs_utils/mod.rs

Lines changed: 49 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -79,52 +79,55 @@ pub mod class_ids {
7979
pub const JS_CLASS_BYTECODE_FUNCTION: u32 = 13;
8080
pub const JS_CLASS_BOUND_FUNCTION: u32 = 14;
8181
pub const JS_CLASS_C_FUNCTION_DATA: u32 = 15;
82-
pub const JS_CLASS_GENERATOR_FUNCTION: u32 = 16;
83-
pub const JS_CLASS_FOR_IN_ITERATOR: u32 = 17;
84-
pub const JS_CLASS_REGEXP: u32 = 18;
85-
pub const JS_CLASS_ARRAY_BUFFER: u32 = 19;
86-
pub const JS_CLASS_SHARED_ARRAY_BUFFER: u32 = 20;
87-
pub const JS_CLASS_UINT8C_ARRAY: u32 = 21;
88-
pub const JS_CLASS_INT8_ARRAY: u32 = 22;
89-
pub const JS_CLASS_UINT8_ARRAY: u32 = 23;
90-
pub const JS_CLASS_INT16_ARRAY: u32 = 24;
91-
pub const JS_CLASS_UINT16_ARRAY: u32 = 25;
92-
pub const JS_CLASS_INT32_ARRAY: u32 = 26;
93-
pub const JS_CLASS_UINT32_ARRAY: u32 = 27;
94-
pub const JS_CLASS_BIG_INT64_ARRAY: u32 = 28;
95-
pub const JS_CLASS_BIG_UINT64_ARRAY: u32 = 29;
96-
pub const JS_CLASS_FLOAT16_ARRAY: u32 = 30;
97-
pub const JS_CLASS_FLOAT32_ARRAY: u32 = 31;
98-
pub const JS_CLASS_FLOAT64_ARRAY: u32 = 32;
99-
pub const JS_CLASS_DATAVIEW: u32 = 33;
100-
pub const JS_CLASS_BIG_INT: u32 = 34;
101-
pub const JS_CLASS_MAP: u32 = 35;
102-
pub const JS_CLASS_SET: u32 = 36;
103-
pub const JS_CLASS_WEAKMAP: u32 = 37;
104-
pub const JS_CLASS_WEAKSET: u32 = 38;
105-
pub const JS_CLASS_ITERATOR: u32 = 39;
106-
pub const JS_CLASS_ITERATOR_HELPER: u32 = 40;
107-
pub const JS_CLASS_ITERATOR_WRAP: u32 = 41;
108-
pub const JS_CLASS_MAP_ITERATOR: u32 = 42;
109-
pub const JS_CLASS_SET_ITERATOR: u32 = 43;
110-
pub const JS_CLASS_ARRAY_ITERATOR: u32 = 44;
111-
pub const JS_CLASS_STRING_ITERATOR: u32 = 45;
112-
pub const JS_CLASS_REGEXP_STRING_ITERATOR: u32 = 46;
113-
pub const JS_CLASS_GENERATOR: u32 = 47;
114-
pub const JS_CLASS_PROXY: u32 = 48;
115-
pub const JS_CLASS_PROMISE: u32 = 49;
116-
pub const JS_CLASS_PROMISE_RESOLVE_FUNCTION: u32 = 50;
117-
pub const JS_CLASS_PROMISE_REJECT_FUNCTION: u32 = 51;
118-
pub const JS_CLASS_ASYNC_FUNCTION: u32 = 52;
119-
pub const JS_CLASS_ASYNC_FUNCTION_RESOLVE: u32 = 53;
120-
pub const JS_CLASS_ASYNC_FUNCTION_REJECT: u32 = 54;
121-
pub const JS_CLASS_ASYNC_FROM_SYNC_ITERATOR: u32 = 55;
122-
pub const JS_CLASS_ASYNC_GENERATOR_FUNCTION: u32 = 56;
123-
pub const JS_CLASS_ASYNC_GENERATOR: u32 = 57;
124-
pub const JS_CLASS_WEAK_REF: u32 = 58;
125-
pub const JS_CLASS_FINALIZATION_REGISTRY: u32 = 59;
126-
pub const JS_CLASS_CALL_SITE: u32 = 60;
127-
pub const JS_CLASS_INIT_COUNT: u32 = 61;
82+
pub const JS_CLASS_C_CLOSURE: u32 = 16;
83+
pub const JS_CLASS_GENERATOR_FUNCTION: u32 = 17;
84+
pub const JS_CLASS_FOR_IN_ITERATOR: u32 = 18;
85+
pub const JS_CLASS_REGEXP: u32 = 19;
86+
pub const JS_CLASS_ARRAY_BUFFER: u32 = 20;
87+
pub const JS_CLASS_SHARED_ARRAY_BUFFER: u32 = 21;
88+
pub const JS_CLASS_UINT8C_ARRAY: u32 = 22;
89+
pub const JS_CLASS_INT8_ARRAY: u32 = 23;
90+
pub const JS_CLASS_UINT8_ARRAY: u32 = 24;
91+
pub const JS_CLASS_INT16_ARRAY: u32 = 25;
92+
pub const JS_CLASS_UINT16_ARRAY: u32 = 26;
93+
pub const JS_CLASS_INT32_ARRAY: u32 = 27;
94+
pub const JS_CLASS_UINT32_ARRAY: u32 = 28;
95+
pub const JS_CLASS_BIG_INT64_ARRAY: u32 = 29;
96+
pub const JS_CLASS_BIG_UINT64_ARRAY: u32 = 30;
97+
pub const JS_CLASS_FLOAT16_ARRAY: u32 = 31;
98+
pub const JS_CLASS_FLOAT32_ARRAY: u32 = 32;
99+
pub const JS_CLASS_FLOAT64_ARRAY: u32 = 33;
100+
pub const JS_CLASS_DATAVIEW: u32 = 34;
101+
pub const JS_CLASS_BIG_INT: u32 = 35;
102+
pub const JS_CLASS_MAP: u32 = 36;
103+
pub const JS_CLASS_SET: u32 = 37;
104+
pub const JS_CLASS_WEAKMAP: u32 = 38;
105+
pub const JS_CLASS_WEAKSET: u32 = 39;
106+
pub const JS_CLASS_ITERATOR: u32 = 40;
107+
pub const JS_CLASS_ITERATOR_CONCAT: u32 = 41;
108+
pub const JS_CLASS_ITERATOR_HELPER: u32 = 42;
109+
pub const JS_CLASS_ITERATOR_WRAP: u32 = 43;
110+
pub const JS_CLASS_MAP_ITERATOR: u32 = 44;
111+
pub const JS_CLASS_SET_ITERATOR: u32 = 45;
112+
pub const JS_CLASS_ARRAY_ITERATOR: u32 = 46;
113+
pub const JS_CLASS_STRING_ITERATOR: u32 = 47;
114+
pub const JS_CLASS_REGEXP_STRING_ITERATOR: u32 = 48;
115+
pub const JS_CLASS_GENERATOR: u32 = 49;
116+
pub const JS_CLASS_PROXY: u32 = 50;
117+
pub const JS_CLASS_PROMISE: u32 = 51;
118+
pub const JS_CLASS_PROMISE_RESOLVE_FUNCTION: u32 = 52;
119+
pub const JS_CLASS_PROMISE_REJECT_FUNCTION: u32 = 53;
120+
pub const JS_CLASS_ASYNC_FUNCTION: u32 = 54;
121+
pub const JS_CLASS_ASYNC_FUNCTION_RESOLVE: u32 = 55;
122+
pub const JS_CLASS_ASYNC_FUNCTION_REJECT: u32 = 56;
123+
pub const JS_CLASS_ASYNC_FROM_SYNC_ITERATOR: u32 = 57;
124+
pub const JS_CLASS_ASYNC_GENERATOR_FUNCTION: u32 = 58;
125+
pub const JS_CLASS_ASYNC_GENERATOR: u32 = 59;
126+
pub const JS_CLASS_WEAK_REF: u32 = 60;
127+
pub const JS_CLASS_FINALIZATION_REGISTRY: u32 = 61;
128+
pub const JS_CLASS_DOM_EXCEPTION: u32 = 62;
129+
pub const JS_CLASS_CALL_SITE: u32 = 63;
130+
pub const JS_CLASS_INIT_COUNT: u32 = 64;
128131
}
129132

130133
pub mod arrays;

src/quickjsvalueadapter.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,6 @@ pub(crate) const TAG_SHORT_BIG_INT: i64 = libquickjs_sys::JS_TAG_SHORT_BIG_INT a
263263

264264
pub(crate) const TAG_STRING: i64 = libquickjs_sys::JS_TAG_STRING as i64;
265265

266-
#[cfg(feature = "bellard")]
267266
pub(crate) const TAG_STRING_ROPE: i64 = libquickjs_sys::JS_TAG_STRING_ROPE as i64;
268267

269268
pub(crate) const TAG_MODULE: i64 = libquickjs_sys::JS_TAG_MODULE as i64;
@@ -299,7 +298,6 @@ impl QuickJsValueAdapter {
299298
TAG_INT => JsValueType::I32,
300299
TAG_FLOAT64 => JsValueType::F64,
301300
TAG_STRING => JsValueType::String,
302-
#[cfg(feature = "bellard")]
303301
TAG_STRING_ROPE => JsValueType::String,
304302
TAG_OBJECT => {
305303
// todo get classProto.name and match

0 commit comments

Comments
 (0)