LongYinan
69cd73d71c
refactor!(napi,napi-derive): add lifetime to ClassInstance ( #2286 )
2024-10-02 10:42:34 +02:00
LongYinan
34829fb5f7
Release independent packages
...
- napi@3.0.0-alpha.12
- napi-derive@3.0.0-alpha.12
2024-09-23 17:01:31 +08:00
LongYinan
a4a8d31a42
chore(napi): remove once_cell ( #2271 )
2024-09-23 16:57:14 +08:00
Richer
daf4a80bdb
feat(napi): mark create_buffer as deprecated & use BufferSlice to replace JsBuffer for ser ( #2267 )
2024-09-22 11:22:05 +08:00
LongYinan
511340a52f
Release independent packages
...
- napi@3.0.0-alpha.11
- napi-derive@3.0.0-alpha.10
2024-09-20 23:08:34 +08:00
LongYinan
fc4b6a632d
refactor(napi-derive): expand order ( #2265 )
2024-09-20 22:44:34 +08:00
LongYinan
91af2c5961
Release independent packages
...
- napi@3.0.0-alpha.10
- napi-derive@3.0.0-alpha.9
2024-09-19 22:30:36 +08:00
LongYinan
521ef58f59
refactor(napi): allow create BufferSlice from external data ( #2263 )
...
- also refactor the enum codegen, now we will not emit #[derive(Copy,
Clone)] for the original enums.
- also refacotr the fn codegen, now #[napi] fn can accept env: &Env as
argument, this is useful when the return type contains lifetime
2024-09-19 22:22:33 +08:00
Igor Matuszewski
cc21452f65
fix(napi): nullptr handling in TypedArrays ( #2258 )
...
* fix: Safely return empty slices if TypedArray buffer is null ptr
* fix: Only dispose of TypedArray if the data is not a nullptr
* test: Add a regression test for typed array null ptr deref
2024-09-19 13:38:19 +08:00
LongYinan
a9690383c2
Release independent packages
...
- napi@3.0.0-alpha.9
- napi@3.0.0-alphq.8
2024-09-13 00:17:49 +08:00
LongYinan
bf8f568788
refactor!(napi): Ref should not hold the value ptr ( #2243 )
...
It's unsafe
2024-09-12 23:25:09 +08:00
Cong-Cong Pan
c04327e27b
perf(napi): remove unnecessary checks for strings from napi_get_value_string_utf8 ( #2247 )
...
Co-authored-by: LongYinan <lynweklm@gmail.com>
2024-09-12 23:24:50 +08:00
LongYinan
b0bf4f00d0
fix(napi): windows function registration timing ( #2248 )
...
* fix(napi): windows function registration timing
* fix clippy issue
* upgrade zig version
* pin rust version on zig cross compile ci
2024-09-12 23:18:05 +08:00
Richer
8b6cc10d77
fix(napi): use error_ref should checkout it at first ( #2235 )
2024-08-31 14:31:53 +08:00
Richer
5934ecd2a9
feat(napi): mark JsArraybufferValue's value pub ( #2226 )
2024-08-23 22:25:52 +08:00
LongYinan
8df3f0f596
docs: remove dev protocal badge
2024-08-22 10:45:32 +08:00
sjh
09a79edfb7
fix(napi,napi-derive): ffi lifetime and pointer sound issues ( #2216 )
...
* The ownership of the CString will be taken in map function
* for empty struct like `#[napi] struct A;`, the `value_ref` will be `0x1`, and it will be overwritten by the others instance of the same class
2024-08-18 18:21:13 +08:00
Louis
164ef2a9f3
chore: implement serde::Serialize for Either ( #2209 )
...
This adds an implementation of serde::Serialize for all the Either types.
Long term, we might want to use the either crate, but for now this makes this
implementation usable with serde.
2024-08-05 18:05:49 +08:00
LongYinan
282ce1c00a
fix(napi): allow ThreadsafeFunction in Either ( #2204 )
2024-08-03 13:22:09 +08:00
LongYinan
b884f62f7b
Release independent packages
...
- napi@3.0.0-alpha.8
2024-07-18 14:26:43 +08:00
LongYinan
6acd3b94fb
chore: add fail reason to assert ( #2192 )
2024-07-18 14:19:50 +08:00
Hana
ba345be957
perf(napi): reduce allocation for ToNapiValue of &str ( #2191 )
2024-07-18 13:08:02 +08:00
LongYinan
2fccedbaba
Release independent packages
...
- napi@3.0.0-alpha.7
2024-07-14 23:29:08 +08:00
LongYinan
54ec4897ea
fix(napi): PromiseRaw throw error logic ( #2187 )
2024-07-14 23:28:36 +08:00
Jade-fu
9e36daf559
fix(napi): reexport feature should be align ( #2184 )
2024-07-11 23:00:08 +08:00
LongYinan
a040416f9f
chore(napi): reduce Node-API call in AsyncTask ( #2176 )
2024-07-08 16:57:53 +08:00
LongYinan
70a5fce68d
Release independent packages
...
- napi@3.0.0-alpha.6
2024-07-07 20:55:20 +08:00
LongYinan
3a511bacee
fix(napi): Promise callbacks should require static lifetime ( #2172 )
2024-07-07 20:42:17 +08:00
LongYinan
27030c8dae
refactor(napi): simplify Promise implementation ( #2171 )
2024-07-07 14:59:03 +08:00
LongYinan
807b987a20
fix(napi): PromiseRaw does not require napi4 and tokio_rt
2024-07-06 23:59:26 +08:00
LongYinan
eb09a6f7f5
Release independent packages
...
- napi@3.0.0-alpha.5
- napi-derive@3.0.0-alpha.4
2024-07-06 23:48:30 +08:00
LongYinan
bc9e931a4e
feat(napi): provide PromiseRaw for non-await scenario ( #2168 )
2024-07-06 19:09:16 +08:00
LongYinan
a4cd94ea30
Release independent packages
...
- napi@3.0.0-alpha.4
2024-07-06 14:34:06 +08:00
LongYinan
aef57fb196
feat(napi): impl from_string for Uint8Array ( #2167 )
2024-07-06 14:32:09 +08:00
Jade-fu
2265ca3e1a
fix(napi): asynchronous functions can return any errors ( #2165 )
...
* feat(napi): asynchronous functions can return any errors as long as they implement the Into<Error> trait.
* chore: use impl Into<Error>
2024-07-04 14:47:32 +08:00
LongYinan
657fbfb113
Release independent packages
...
- napi@3.0.0-alpha.3
- napi-derive@3.0.0-alpha.2
2024-06-27 20:46:29 +08:00
Gentle
7c4072b237
let docs.rs generate all documentation ( #2160 )
...
without this, all-features = true has no effect
Co-authored-by: Gentle <ramon.klass@gmail.com>
2024-06-27 20:40:34 +08:00
LongYinan
04bd89b9a4
chore(napi): exclude libuv api on wasm targets ( #2156 )
2024-06-24 23:36:05 +08:00
LongYinan
a7d85b0549
chore(napi): remove stale tokio feature ( #2155 )
2024-06-24 17:41:58 +08:00
Dennis Duda
bd5b86e13b
chore(napi): reduce monomorphization load of various functions ( #2143 )
...
* refactor(napi): reduce monomorphization load of `JsObject::{get, set}`
Outside of `std::panicking::try` and `tokio`, these functions were the highest-up in `cargo-llvm-lines`.
Moves most of the logic out into non-generic functions.
* refactor(napi): reduce monomorphization load of `JsDeferred::new`
* refactor(napi): reduce monomorphization load of `call_js_cb`
---------
Co-authored-by: LongYinan <lynweklm@gmail.com>
2024-06-18 22:41:49 +08:00
LongYinan
ea623903d8
chore: clippy fix ( #2144 )
2024-06-18 13:20:43 +08:00
Özgür Akkurt
14d88997d7
chore(napi): print anyhow error in debug mode to show trace ( #2140 )
2024-06-17 11:45:10 +08:00
Ranger
19e3488efc
fix(napi): JsString should respect \0 character to align with String ( #2138 )
...
* fix(napi): JsString should respect \0 character to align with String
* chore(test): update snapshot
2024-06-12 15:20:27 +08:00
Kreijstal
ac47a92424
feat(build): add windows gnu target ( #2026 )
...
* squash attempt number 2
* Add clang64
this adds clang64 compiler to the test suite
---------
Co-authored-by: LongYinan <lynweklm@gmail.com>
2024-06-09 00:54:59 +08:00
Gentle
2f21ba1872
chore(napi): make Ser and De public #2131
...
also adds helper functions needed to work with Ser and De
Co-authored-by: Gentle <ramon.klass@gmail.com>
2024-06-07 16:19:55 +08:00
Ranger
a3b01870a3
feat(napi): support External for compact mode and add JsExternal as deprecated ( #2125 )
2024-05-26 14:43:33 +08:00
Ranger
879008c4b6
feat(napi): implement ToNapiValue for Ref as required by TSFN ( #2122 )
2024-05-23 09:50:03 +08:00
Ranger
c52d2042a2
feat(napi): Function build_thfn support calledhandled mode ( #2114 )
...
* feat(napi): Function build_thfn support calledhandled mode
* test(example): add calleehandle example
2024-05-18 20:20:12 +08:00
LongYinan
1e781a589c
chore(napi): remove depracated get_js_function ( #2101 )
2024-05-09 15:13:44 +08:00
Niklas Mischkulnig
f3d665d5b1
fix(napi): panic when deserializing empty buffer with Rust 1.78 ( #2094 )
...
* Add test for #2083
* Add test for serde_byte with empty buffer
* Fix using serde_bytes with empty buffers
* skip wasi test
* fix test
* clippy fix
* avoid ub
* use safer impl
---------
Co-authored-by: Simon Hausmann <simon.hausmann@slint.dev>
Co-authored-by: LongYinan <lynweklm@gmail.com>
2024-05-07 17:57:15 +08:00