Hana
853f52ed1f
fix(napi): error should be send sync conditionally ( #1487 )
2023-02-14 18:58:04 +08:00
LongYinan
8e3eb6204b
fix(napi): support custom status in Error ( #1486 )
2023-02-09 23:18:57 +08:00
Hana
90cc0a6abe
feat(napi): convert ToNapiValue tuple to variadic tsfn ( #1475 )
...
* refactor: convert ToNapiValue tuple to variadic tsfn
* chore: resolve conflicts
* fix: typo
* chore: use into instead of to
* chore: syntax compat
2023-02-08 22:30:43 +08:00
m1212e
a7dcf2a838
fix(napi): convert u64 to u32 in serialization ( #1478 )
...
https://github.com/napi-rs/napi-rs/issues/1470
serde_json::Value parses positive integers to u64 types by default. When converting serde_json::Value to a js value, those numbers are converted to BigInts, even if they are within the bounds of the number primitive. The added checks converts an u64 to an u32 if possible to prevent this behavior.
Co-authored-by: m1212e <->
2023-02-08 22:25:03 +08:00
LongYinan
c34ccc9131
fix(napi): impl Send Sync to External
2023-02-08 17:33:27 +08:00
Hana
31015652b8
fix(napi): dropping Error should not call napi-sys if feature is set to noop ( #1477 )
2023-02-07 15:45:56 +08:00
LongYinan
7613d669fb
chore(napi): enhance the error messages while converting types failed ( #1473 )
2023-02-06 00:52:59 +08:00
LongYinan
3bd2bf40b1
fix(napi): run_script return type ( #1467 )
2023-01-31 20:36:59 +08:00
LongYinan
e9de5681be
fix(napi): also apply electron external data fallback to lowlevel APIs ( #1458 )
...
* fix(napi): also apply electron external data fallback to lowlevel APIs
* chore: allow uninlined_format_args in tests
2023-01-28 21:31:57 +08:00
LongYinan
adb2508fdf
fix(napi): add missing NoExternalBuffersAllowed ( #1457 )
2023-01-28 14:53:31 +08:00
LongYinan
548f288722
fix(napi): fallback to copy arraybuffer if zero copy is not allowed ( #1455 )
2023-01-24 22:39:46 +08:00
LongYinan
e3adf5dac4
fix(napi): unhandled promise rejection while using EitherN<Promise<..>> ( #1452 )
2023-01-24 19:07:33 +08:00
LongYinan
54dd120880
fix(napi): add UnknownReturnValue to use in call_async scenario ( #1451 )
2023-01-24 17:41:36 +08:00
LongYinan
694f761fd9
fix(napi): throw fatal error if cast return value failed ( #1450 )
2023-01-24 16:32:40 +08:00
LongYinan
02daa90058
chore(napi): implement FromNapiValue for ThreadsafeFunction ( #1447 )
2023-01-24 12:16:24 +08:00
LongYinan
fda0aa0eec
fix(napi): fallback to copy buffer if zero copy is not allowed ( #1445 )
2023-01-19 17:26:59 +08:00
LongYinan
6739ddda20
fix(napi): remove useless aquire while creating ThreadsafeFunction ( #1442 )
2023-01-18 11:20:47 +08:00
LongYinan
46f08ee6dd
fix(napi): missing From implementation for Bigint ( #1440 )
2023-01-17 00:05:19 +08:00
HeYunfei
d06bd23351
fix(napi): should correctly return while dropping Buffer ( #1434 )
2023-01-11 20:09:39 +08:00
LongYinan
dc3a4c9f25
feat(napi): refactor ThreadsafeFunction to allow get return value of it ( #1427 )
2023-01-11 18:54:45 +08:00
LongYinan
5492a0b9e9
fix(napi): delete reference should be after global custom gc ( #1433 )
2023-01-11 17:31:03 +08:00
LongYinan
ad3ac5abc7
fix(napi): array buffer drop notify never be called in cloned buffer ( #1424 )
2023-01-09 16:58:26 +08:00
overlookmotel
ce2a29fca7
fix(napi): arraybuffer memory leak ( #1420 )
2023-01-09 14:47:36 +08:00
LongYinan
877d631d99
fix(napi): only delete reference in custom gc
2022-12-29 14:48:00 +08:00
Xiaopeng Li
ce4c28412a
fix(napi): promise leak ( #1403 )
...
Co-authored-by: Xiaopeng Li <lixiaopeng.jetspark@bytedance.com>
2022-12-29 00:15:55 +08:00
LongYinan
ef5dffca80
fix(napi): add back custom gc for Send Buffer ( #1399 )
2022-12-19 19:11:53 +08:00
LongYinan
328b84eb8f
style: run format
2022-12-17 00:14:05 +08:00
LongYinan
f8d1dcee5b
Merge pull request #1395 from napi-rs/tweaks-code
...
chore(napi): reduce Mutex usage while loading addon
2022-12-16 23:13:36 +08:00
LongYinan
e370dee545
chore(napi): remove useless de_init
2022-12-16 21:50:49 +08:00
LongYinan
6e4b16fe5d
style: clippy fix
2022-12-16 20:19:39 +08:00
LongYinan
968d9e10b1
chore(napi): fix tokio destroy logic
2022-12-16 20:07:22 +08:00
F001
d2531352aa
feat(napi): add "run_script" for "Env" ( #1393 )
...
* add "run_script" for "Env"
* Apply suggestions from code review
use `AsRef<str>` instead of `&str`
Co-authored-by: LongYinan <lynweklm@gmail.com>
* use `AsRef<str>` instead of `&str`
Co-authored-by: LongYinan <lynweklm@gmail.com>
2022-12-16 15:56:36 +08:00
LongYinan
e88fbcc404
chore(napi): remove more thread_local usage
2022-12-16 15:54:29 +08:00
LongYinan
5bd6c78b5a
chore(napi): expose tokio runtime
2022-12-16 14:35:30 +08:00
LongYinan
c01bcecb2b
chore(napi): reduce the complex about destroying tokio runtime
2022-12-16 14:32:32 +08:00
Patrick Pilch
486ce35c82
fix(napi): napi_create_async_work incorrect argument (napi-rs#1392) ( #1396 )
...
The third argument to `napi_create_async_work` (async_resource_name)
should be a `napi_value` that corresponds to a null-terminated utf-8
string.
This resolves errors running Next.js with GraalVM.
oracle/graal#5582
oracle/graal#5581
2022-12-16 13:59:15 +08:00
LongYinan
a9f9dbb232
chore(napi): reduce Mutex usage while loading addon
2022-12-16 13:41:16 +08:00
nihohit
1cf32631bf
fix(napi): typed arrays ref shouldn't use offset. ( #1376 )
...
Notice from the n-api docs that the data returned from
`napi_get_typedarray_info` is already adjusted by the byte offset.
https://nodejs.org/api/n-api.html#napi_get_typedarray_info
This means that when `as_ref`/`as_mut` apply the byte offset, the
offset is in practice applied twice.
This wasn't caught in tests because no test tried to modify a typed
array with a byte offset, and the test didn't us the typed array
structs, only `JsTypedArray`. If you want, I can modify the rest of the
functions in examples/napi-compt-mode/src/arraybuffers.rs
and the matching tests, to test all typed arrays.
IMO the `byte_offset` field can be removed entirely from the struct,
but I wanted to submit a minimal PR.
2022-11-30 20:54:13 +08:00
Simon Laux
035def0600
fix(napi): return the join handle when spawning a tokio task. ( #1351 )
...
we need this to be able to safely drop an struct,
that makes use of an async task.
the drop function needs to be able to call `.abort()`
on the join handle to avoid memory corruption and undefined bahviour.
2022-11-15 11:50:25 +08:00
Simon Laux
b0c248ad7e
chore(napi): expose tokio runtime's block_on function ( #1352 )
2022-11-15 11:49:46 +08:00
LongYinan
3dde26bcef
chore(napi): including type message in error message ( #1350 )
2022-10-24 00:16:30 +08:00
Wodann
77060adb3d
fix(napi): BigInt::get_u64 lossless check ( #1348 )
2022-10-22 11:16:08 +08:00
Devon Govett
5541d650a9
feat(napi): add threadsafe deferred values ( #1306 )
2022-10-03 13:00:48 +08:00
LongYinan
a5a04a4e54
fix(napi): make Buffer/ArrayBuffer truely Send/Sync safe
2022-10-03 11:34:46 +08:00
LongYinan
47de6301ee
fix(napi): should also delete the reference while dropping the Buffer
2022-10-02 10:14:25 +08:00
user.tax
e54c37a0b1
feat(napi): add support for Vec<(std::string::String, u16)> and some other small change ( #1320 )
2022-09-20 12:13:07 +08:00
user.tax
0d49b45ea9
feat(napi): add impl<T: Into<Vec<u8>>> From<T> for Uint8Array ( #1317 )
...
Co-authored-by: any <any@user.tax>
2022-09-16 23:15:29 +08:00
LongYinan
ea18170779
fix(napi): propagation error in function call ( #1315 )
2022-09-14 19:30:43 +08:00
Devon Govett
5ba70b0e1a
fix(napi): improve error propagation ( #1303 )
2022-09-14 17:03:11 +08:00
Dennis Duda
fc63ba8b52
fix(napi): some of the unsoundness in Buffer
( #1294 )
...
* fix leaked napi refcount in `Buffer` when cloning
Cloning unconditionally increased the refcount in `Buffer::clone`, but only called `napi_reference_unref` on dropping the last Buffer (the one with `strong_count == 1`). This means that the refcount will never drop back to zero after cloning, leaking the Buffer.
This commit changes it to also unconditionally unref the buffer.
* fix multiple sources of UB in `Buffer`
- `slice::from_raw_parts` may never be created with a null pointer, but `napi_get_buffer_info` was not sufficiently checked → UB when passing an empty Buffer
- `&'static mut [u8],` is invalid, as it certainly doesn't live for `'static`
Switching to `NonNull<u8>` and a `len` field fixes both of these.
- I also don't really understand how the `impl ToNapiValue for &mut Buffer` could have been sound. It creates an entirely new `Arc`, but reuses the same `Vec` allocation, leading to... a double free of the `Vec` on drop? I have replaced it with a simple call to `clone` instead.
* remove overcomplicated bool and drop impl
As far as I can tell, by just removing the bool and letting the drop code do its thing we clean up correctly in all cases. Because `napi_create_external_buffer` gets an owned `Buffer` attached to it via the Box, we can rely on `from_raw` retrieving it in the `drop_buffer` function.
2022-09-05 13:04:43 +08:00
LongYinan
525d881590
fix(napi): remove previous reference if value_ref existed
...
Usually happens while using ZST
2022-08-25 21:51:06 +08:00
LongYinan
4153c03a9f
Merge pull request #1286 from napi-rs/f32-to-napi-value
...
feat(napi): implement ToNapiValue for f32
2022-08-23 17:03:01 +08:00
LongYinan
f7c00c9a90
feat(napi): implement as_unknown and validate for Either types ( #1285 )
2022-08-23 17:02:51 +08:00
LongYinan
49ec8917df
feat(napi): implement as_object and validate for ClassInstance ( #1284 )
2022-08-23 17:02:41 +08:00
LongYinan
36275438ad
chore(napi): misc cleanup
2022-08-23 16:18:08 +08:00
LongYinan
03e80361d9
feat(napi): implement ToNapiValue for f32
2022-08-23 16:18:08 +08:00
messense
99e17c7294
fix(napi): segfault when ThreadsafeFunction
's callback closure captures data ( #1281 )
2022-08-20 22:40:26 +08:00
LongYinan
b7a3103f0c
feat(napi-derive): catch_unwind attribute ( #1280 )
2022-08-19 23:36:36 +08:00
iuser
13996c1864
feat(napi): error_anyhow feature
2022-08-17 22:50:52 +08:00
LongYinan
1cd4fda01e
feat(napi): add get and get_mut method on WeakReference
2022-08-17 21:29:03 +08:00
LongYinan
0ef482c6ca
feat(napi-derive): support inject This<Value> into raw function
2022-08-17 18:16:00 +08:00
LongYinan
2385b52a72
feat(napi): allow implement custom finalize logic for Class
2022-08-17 13:24:40 +08:00
huzz
fd191a4586
feat(napi): support rust array to js array
2022-08-12 17:53:36 +08:00
LongYinan
4412c28c6d
chore(napi): enhance error message when unwrap failed from JsObject ( #1259 )
2022-08-07 23:05:49 +08:00
LongYinan
cb9239d8dc
fix(napi): either for #[napi(object)] types ( #1258 )
2022-08-07 01:16:28 +08:00
LongYinan
0f14799776
feat(napi-derive): support set property attribute in napi macro ( #1257 )
2022-08-06 21:54:58 +08:00
Jacob Kiesel
94e8e54b38
feat(napi): call sync functions within tokio runtime ( #1242 )
2022-08-04 00:12:35 +08:00
Dennis Duda
a9a62f225e
feat(napi): add derived traits to ThreadsafeFunctionCallMode
( #1243 )
...
This makes it possible to reuse the same value, e.g. when writing utility/helper functions.
2022-07-31 15:29:26 +08:00
Jacob Kiesel
1040c41760
feat(napi): add some useful derived traits for the Null type ( #1241 )
2022-07-22 23:45:02 +08:00
LongYinan
16ec32b68e
fix(napi): memory leak in Buffer/ArrayBuffer
2022-07-11 21:34:27 +08:00
LongYinan
552ec43fae
fix(napi): use Mutex instead of Atomic in ThreadSafeFunction
2022-07-10 00:07:56 +08:00
LongYinan
a4448d3e24
Revert "fix(napi): memory leak in ThreadsafeFunction"
...
This reverts commit 4dfc770c2a
.
2022-07-09 15:48:46 +08:00
LongYinan
4dfc770c2a
fix(napi): memory leak in ThreadsafeFunction
2022-07-08 00:09:14 +08:00
Ivan Enderlin
1259ce1ba4
fix(napi) undefined
is recognized as a valid None
for Option<T>
.
2022-07-07 15:50:55 +02:00
LongYinan
bffc49f11a
fix(napi): drop buffer inner data only when Reference count is 0
2022-07-07 00:01:16 +08:00
LongYinan
1a7cff167e
feat(napi): clone reference for TypedArray/Buffer
2022-07-06 19:15:16 +08:00
LongYinan
cc3086d804
fix(napi): validate fn for Option<T>
2022-07-06 14:01:32 +08:00
LongYinan
87fd74cbb6
feat(napi-derive): allow injecting this in class method
2022-07-05 23:09:40 +08:00
LongYinan
53cab27bc4
refactor(napi): Either now perform ValidateNapiValue::validate rather than type_of
2022-07-05 17:01:21 +08:00
Ivan Enderlin
81b07ce5a6
feat(napi) implement Either3
to Either26
.
...
This patch introduces a new macro: `either_n!` that generates the types
`Either{n}` where $3 \leq n \leq 26$. Manual implementations for
`Either3`, `Either4` and `Either5` are removed by this patch too.
The `either_n!` macro is quite classical. There is no particular
trick, except `count_idents!` which simply turns, e.g. `A, B, C` into
`3`. This macro is used by `either_n!` to implement the
`debug_assert!` inside `from_napi_value`.
2022-07-05 17:01:12 +08:00
Jonas Platte
7cf87eaf20
chore(napi): replace lazy_static with once_cell ( #1213 )
2022-06-25 11:19:45 +08:00
LongYinan
c1e07b3c12
feat(napi): support into_instance in class struct
2022-06-04 01:07:47 +08:00
Ivan Enderlin
94e95e87e7
feat(napi) Extend #1195 to Vec<T>
.
...
This patch is the sequel of
https://github.com/napi-rs/napi-rs/pull/1195 where `ToNapiValue` and
`FromNapiValue` are implemented for all `Vec<T>` where `T` is a 8 or
16 bits number.
2022-05-30 16:29:44 +02:00
Sunli
5cdfc8cb7e
feat(napi) implement From<Infallible>
for napi::Error
2022-05-30 21:44:03 +08:00
Ivan Enderlin
56e71a76d3
feat(napi) Return an error instead of panicking.
2022-05-25 14:43:23 +08:00
Ivan Enderlin
cb2a407228
feat(napi) Implement ToNapiValue
for 8 and 16-bits numbers.
...
`napi` only supports numbers in 16 and 32-bits. To support Rust
numbers with 8 and 16-bits, we can cast them to 32-bits. To convert
from 8 and 16-bits to 32-bits, we use their `Into` implementation. To
convert from 32-bits to 8 and 16-bits, we use their `TryInto`, we
should theorically not fail, but in case of, an `except` message is
appended.
The code has also been re-indented as it was containing a mix of 2
spaces, 4 spaces and tabs identation.
2022-05-25 14:43:23 +08:00
LongYinan
a5c19ce1da
fix(napi): type constraint for either types
2022-05-12 15:12:32 +08:00
LongYinan
fb8d8b97d6
Release independent packages
...
napi@2.4.2
napi-derive@2.4.2
napi-sys@2.2.2
2022-05-10 22:32:06 +08:00
LongYinan
47fcc8501a
fix(napi): missing iterator implementation from class factory
2022-05-10 21:50:20 +08:00
Devon Govett
27402aee81
feat(napi): add support for weak references
2022-05-10 21:09:45 +08:00
LongYinan
65b4b34f40
test(napi): add electron tests
2022-05-10 18:39:37 +08:00
LongYinan
788a962137
fix(napi): drop all thread_local! usage
2022-05-10 18:39:36 +08:00
LongYinan
e551bd7c1a
fix(napi): load Node-API symbols manually on Windows
2022-05-07 18:54:37 +08:00
LongYinan
1bf072ad7d
refactor(napi): use libloading on Windows
2022-05-06 22:27:09 +08:00
LongYinan
a3356264f2
feat(napi): experimental iterator support
2022-05-06 18:03:04 +08:00
Devon Govett
91c62c4616
fix(napi): handle the referenced object is finalized before Reference::drop
2022-05-03 21:59:42 +08:00
Ben Noordhuis
f301581445
feat(napi): make Error::from_reason() generic
2022-05-01 17:00:24 +02:00
LongYinan
66a107a4b9
chore(napi): upgrade windows crate
2022-04-27 13:59:56 +08:00
LongYinan
878b843f29
feat(napi): support return Reference on class instance
2022-04-26 18:21:55 +08:00
LongYinan
5aa61c2142
fix(napi): use create_buffer/arrary_buffer if provided data is empty
2022-04-26 16:53:13 +08:00
Niklas Mischkulnig
39e55a39c9
fix(napi): use null pointer for empty buffers
2022-04-23 12:27:44 +02:00
Gabriel Francisco
581e3bbb87
chore(napi): add u64 to BigInt conversion through From trait ( #1143 )
...
* Add u64 to BigInt conversion through From trait
* Fix lint
2022-04-23 00:29:18 +08:00
Chanakya
09d7fd671a
fix cannot find trait ToNapiValue
error
2022-04-15 21:02:40 +08:00
LongYinan
c553dcd4e0
feat(napi): relax the value type on ThreadSafeFunction
2022-04-14 14:24:47 +08:00
LongYinan
f05ced0782
feat(napi): add from_unknown method on FromNapiValue
2022-04-14 14:24:47 +08:00
Walt Seymour
73882337cc
unrwap -> unwrap
2022-04-14 14:24:32 +08:00
LongYinan
c605911cdf
chore(napi): show tips if create different buffers with same data
2022-04-13 13:24:53 +08:00
LongYinan
63a557f6cc
test(napi): add memory tests for Reference
2022-04-13 13:24:53 +08:00
LongYinan
6a252c70d2
fix(napi): make buffer Send & Sync safe
2022-04-13 13:24:53 +08:00
LongYinan
6eec0f93c1
feat(napi): redesign the Reference API ( #1118 )
...
- Reference now is inject by #[napi] macro
- Class Reference and underlaying data now have the same lifetime
2022-04-13 13:24:53 +08:00
LongYinan
5c3d1b2144
feat(napi): experimental class reference API
2022-04-13 13:24:53 +08:00
LongYinan
9b0103cf22
fix(napi): remove CString::from_vec_with_nul_unchecked
2022-04-13 01:29:23 +08:00
Stéphan Kochen
50f62f40d7
fix(napi): double allocation in create_buffer
2022-04-01 14:31:29 +08:00
LongYinan
71f3c0ef7e
Release independent packages
...
napi@2.2.0
napi-derive@2.2.0
2022-03-06 14:23:43 +08:00
LongYinan
18afd86a2e
fix(napi): missing ValidateNapiValue trait for types
2022-03-06 14:20:36 +08:00
LongYinan
b48a757837
style: clippy fix
2022-03-05 23:05:04 +08:00
LongYinan
1104742983
fix(napi): Buffer value lifetime should align the Rust lifetime
2022-03-05 23:05:04 +08:00
LongYinan
9f3fbaa8e0
fix(napi): race issues with Node.js worker_thread ( #1081 )
...
Co-authored-by: Jan Piotrowski <piotrowski+github@gmail.com>
2022-03-05 14:14:32 +08:00
messense
132a9a4ae2
chore: fix clippy::needless_late_init
lint
2022-02-28 12:09:40 +08:00
Martin Madsen
e9f43495c2
chore(napi): Mark shutdown_tokio_rt unsafe
2022-02-16 18:02:10 +01:00
Martin Madsen
5a0c1c2af3
fix(napi): cleanup registered hook upon unloading module with tokio_rt
2022-02-16 15:28:16 +01:00
Simon Vandel Sillesen
2b2841e8d3
feat: Add support for Date <-> chrono::DateTime<Utc>
2022-02-09 20:59:58 +01:00
LongYinan
2763a8e7b2
fix(napi): deref from Uint8ClampedArray
2022-02-07 12:24:09 +08:00
LongYinan
80ea0ad78c
fix(napi): re-export JsDate as Date in prelude
2022-02-06 20:42:48 +08:00
LongYinan
5002e782a4
docs(napi): typo
2022-02-06 16:39:11 +08:00
LongYinan
dfd213a1ee
feat(napi): with_value
method on Property
2022-02-06 16:26:00 +08:00
AlCalzone
ed12bd76bd
feat: impl FromNapiValue
for serde_json::Number
, fix it for Null
, throw for impossible types ( #1052 )
...
fix #1013
Co-authored-by: zeroslope <jsx55242@foxmail.com>
2022-02-06 11:58:17 +08:00
messense
d3e37a44cb
Fix BigInt issue with zero value
...
Looks like 0 is a special case: 4318b2348d/deps/v8/src/objects/bigint.cc (L1595-L1602)
2022-02-04 21:43:57 +08:00
messense
a1be16530b
Fix String roundtrip with interior nul bytes
2022-02-04 16:52:44 +08:00
LongYinan
13533d1a37
feat(napi): re-export tokio and features
2022-01-23 23:04:31 +08:00
LongYinan
16f808276d
feat(napi): implement get_js_function
2022-01-23 23:04:31 +08:00
messense
a109c54918
fix(napi): add missing nul byte to noop
...
Fixes a global-buffer-overflow bug
2022-01-22 12:34:55 +08:00
Jose Acevedo
36e808d2a6
feat: add 'coerce_to_object' method to Array
2022-01-17 21:07:25 -08:00
LongYinan
cbbccf2084
Merge pull request #1029 from napi-rs/fix-clippy
...
fix(napi): clippy error on 1.58
2022-01-14 11:48:25 +08:00
LongYinan
41bcd9c50b
fix(napi): clippy error on 1.58
2022-01-14 11:21:03 +08:00
Dave Ceddia
1006b3a489
fix(napi): abort threadsafe functions upon env cleanup
...
This fixes a deadlock/panic in Electron when the window is reloaded.
2022-01-13 10:06:50 -05:00
messense
43fb8edecd
chore: forbid unsafe_op_in_unsafe_fn
2022-01-13 11:26:28 +08:00
LongYinan
2de500f33b
fix(napi): invalid memory address in FromNapiValue for &str
2022-01-12 17:08:47 +08:00
LongYinan
87d1821e73
fix(napi): compile issue without compat mode
2021-12-22 09:36:47 +08:00
LongYinan
4406059de1
fix(napi): addon packages become undefined in worker_threads
2021-12-21 23:38:35 +08:00
LongYinan
915b423026
fix(napi): only shutdown tokio runtime once
2021-12-21 23:22:23 +08:00
LongYinan
3f2e44d3db
Merge pull request #939 from napi-rs/fix/buffer-vec-conversion
...
fix(napi): impl From<Buffer> for Vec<u8>
2021-12-18 13:41:40 +08:00
forehalo
2df97c108f
fix: impl From<Buffer> for Vec<u8>
2021-12-18 13:24:16 +08:00
liulinboyi
486765b35e
feat(napi): refine return type
2021-12-18 11:52:49 +08:00
LongYinan
91d07810a2
fix(napi): ThreadsafeFunction with ErrorStrategy::Fatal should throw fatal exception
2021-12-14 12:47:23 +08:00
h-a-n-a
0aa7cd3d32
feat(napi): support external deref/derefMut
2021-12-11 13:42:46 +08:00
LongYinan
7470407306
feat(napi): throw error on non constructable class
2021-12-08 17:59:30 +08:00
LongYinan
e452c00fb4
feat: edition 2021
2021-12-08 13:18:47 +08:00
LongYinan
831e050877
feat(napi): create Array from &Vec
2021-12-07 22:03:25 +08:00
LongYinan
f7a101db01
chore: cleanup stale codes
2021-12-07 21:45:40 +08:00