LongYinan
e274cf7ae6
feat(napi-derive): enhance the error messages in object validator ( #2034 )
2024-04-10 16:52:23 +08:00
LongYinan
4719caa643
feat(napi): support Return
generic of ThreadsafeFunction ( #1997 )
...
* feat(napi): support to use tuple with either (#1993 )
`Either` uses `ValidateNapiValue` + `TypeName` to validate and report error on value not being matched. So there's no way to remove these super traits from it. So I implemented these types to `Tuple` types.
* feat(napi): support `Return` generic of ThreadsafeFunction
* depracate JsFunction
* CalleeHandled tsfn should handle Result in callback
* Pass env to call_with_return_value callback
* Fix compile
* clippy fix
* Fix electron test
* Function args
---------
Co-authored-by: Hana <andywangsy@gmail.com>
2024-03-20 21:37:08 +08:00
LongYinan
3e187151a6
fix(napi-derive): HashMap/IndexMap and slice generated types ( #1977 )
2024-02-25 00:56:30 +08:00
LongYinan
5af366b042
style(napi-derive): clippy fix ( #1976 )
2024-02-25 00:54:33 +08:00
ebe97257a6
feat(napi-derive): add use_nullable attribute ( #1971 )
...
* feat(napi-derive): add use_nullable attribute
Co-authored-by: naskya <m@naskya.net>
* chore(napi-derive): update tests
Co-authored-by: naskya <m@naskya.net>
---------
Co-authored-by: naskya <m@naskya.net>
2024-02-24 21:49:54 +08:00
Louis
43415251b8
feat(napi): allow Reference as a class method param ( #1966 )
...
As of before this commit, there was a lock in the codegen preventing Reference
from being used as a function argument outside of a Reference<Self>.
This changes it, allowing Reference of any class to be added as a class method
argument anywhere. It has the same limitations as reference, as in it requires
the class to have been created with a factory or constructor. This change
implements FromNapiValue on Reference, which will unwrap the class and call the
existing from_value_ptr method. It also updated typegen so that we only emit
the reference type if we're in an impl block that doesn't match the Reference
we're getting. This ensures that typegen works as expected with the previous
behaviour.
2024-02-22 22:37:50 +08:00
LongYinan
c49309fdc2
fix(napi): memory leak while using Reference ( #1954 )
...
- Close https://github.com/napi-rs/napi-rs/issues/1952
2024-02-17 22:14:27 +08:00
LongYinan
20e0983288
style: apply clippy fix ( #1953 )
2024-02-17 14:12:24 +08:00
LongYinan
5ac153388f
feat(napi): accept slice as TypedArray ( #1951 )
2024-02-15 23:40:45 +08:00
LongYinan
adbd34c0b9
fix(napi-derive): serde Number typing ( #1941 )
2024-02-08 18:20:46 +08:00
LongYinan
f69771e2d4
fix(napi-derive): JsArrayBuffer generated type
2024-01-26 14:32:24 +08:00
LongYinan
5be7ab0f6b
feat(napi): new Function/FunctionRef API
2024-01-26 02:27:46 +00:00
LongYinan
02dd4c3fd3
fix(napi-derive): catch_unwind on constructor ( #1869 )
...
- Close https://github.com/napi-rs/napi-rs/issues/1852
2023-12-27 12:49:10 +08:00
LongYinan
dab4ce7fe0
fix(napi-derive,cli): register function cross crates ( #1848 )
2023-12-11 00:36:26 +08:00
LongYinan
8a9c42a985
fix(napi): compile error for wasm32-unknown-unknown target
...
- Close https://github.com/napi-rs/napi-rs/issues/1816
2023-11-20 17:10:58 +08:00
LongYinan
6a1943ba54
style(napi): clippy fix ( #1815 )
2023-11-17 20:42:53 +08:00
LongYinan
e930a6aab3
fix(napi-derive): async task optional output type ( #1796 )
2023-11-08 20:06:27 +08:00
LongYinan
938f4df83d
fix(napi-derive): async task void output type ( #1795 )
2023-11-08 20:05:09 +08:00
LongYinan
546b108a5b
feat(napi): support async class factory ( #1779 )
...
- Close https://github.com/napi-rs/napi-rs/issues/1777
2023-11-06 10:58:23 +08:00
LongYinan
0dc1ef738b
fix(napi): asan caught memory safety issue
2023-11-04 15:26:07 +08:00
Jez
afd3395bb4
fix(napi-derive): import FromNapiValue
and ToNapiValue
from napi::bindgen_prelude
when generating enum ( #1713 )
2023-11-02 23:05:16 +08:00
LongYinan
05b4be4d80
style: clippy fix ( #1711 )
2023-08-30 16:41:13 +08:00
yoogo
4259e85e0e
fix(backend): attribute of a struct marked as #[napi(constructor)] contain Rust keywords, causing to throw is not a valid identifier
when generating getters and setters
2023-08-17 20:48:54 +08:00
LongYinan
c6258cf633
feat(napi): support chrono::NaiveDateTime ( #1601 )
2023-05-26 18:28:34 +08:00
LongYinan
d184d503d5
fix(napi-derive): increase initial ref count in async fn ( #1577 )
2023-04-26 15:18:00 +08:00
Maël Nison
2f00e79873
chore(napi): adds support for Rc<T>
/ Arc<T>
/ Mutex<T>
( #1573 )
...
* Adds support for Rc/Arc/Mutex<T>
* Fixes codegen
* Fixes lint
* Fix clippy
---------
Co-authored-by: LongYinan <lynweklm@gmail.com>
2023-04-25 11:14:06 +08:00
liuyi
5a1f229dba
feat: clean napi-derive noop feature code path ( #1571 )
2023-04-18 10:15:29 +08:00
Francesco Benedetto
7c4dc2a2bd
feat(napi-derive-backend, napi-derive): add support for string enums ( #1551 )
2023-04-03 14:10:58 +08:00
LongYinan
5398b16238
fix(cli,napi-derive): backward compatible with older cli with #1531 ( #1536 )
2023-03-22 17:35:55 +08:00
LongYinan
3d48d4464b
fix(cli,napi-derive): re-export types from shared crate ( #1531 )
...
* fix(cli,napi-derive): re-export types from shared crate
* chore: publish
- @napi-rs/cli@2.15.1-alpha.0
* Clippy fix
* Fix memory testing
2023-03-21 18:12:52 +08:00
LongYinan
550ef7c3cc
feat: export registers in wasm32 target ( #1529 )
2023-03-20 18:42:27 +08:00
LongYinan
96959e6425
chore(napi): remove thread_local from dependenies ( #1506 )
2023-03-05 19:49:52 +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
LongYinan
3158cb058f
fix(napi-derive): incorrect Task output type in some cases ( #1466 )
2023-01-31 20:10:04 +08:00
LongYinan
ab81f4126b
chore(napi-derive): allow unsafe async &mut self ( #1453 )
2023-01-24 20:41:57 +08:00
LongYinan
c8352a1fb0
feat(napi-derive): allow partial implement From/To Napivalue for Object ( #1448 )
2023-01-24 14:51:16 +08:00
LongYinan
e79eb34118
feat(napi-derive): generate ThreadsafeFunction types ( #1449 )
2023-01-24 14:25:05 +08:00
Hana
78b6e1574a
fix(napi-derive): fix union type generation for ts function notation ( #1439 )
...
* fix(backend): fix union type generation for ts function notation
* chore: update snapshot
* fix: naming
2023-01-14 18:27:46 +08:00
Simon Vandel Sillesen
00b09bca6e
fix(napi): better error message for #[napi(catch_unwind)]
( #1383 )
...
Before, the JS error would only have `Any { .. }`
2022-12-09 18:37:10 +08:00
LongYinan
573f67b90f
chore(napi-derive): make_ref tweaks ( #1371 )
2022-11-22 23:17:44 +08:00
Jacob Kiesel
618d0f8046
fix(napi-derive): unsound behavior while using reference and async together
2022-11-22 00:17:19 +08:00
LongYinan
ea18170779
fix(napi): propagation error in function call ( #1315 )
2022-09-14 19:30:43 +08:00
LongYinan
32a039aad0
fix(napi-derive): should not generate this types for Constructor/Getter/Setter
2022-08-30 16:39:51 +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
b7a3103f0c
feat(napi-derive): catch_unwind attribute ( #1280 )
2022-08-19 23:36:36 +08:00
Fy
bc69e15efb
fix(napi-derive): fix macro expansion naming shadow ( #1278 )
...
Co-authored-by: fengyu <fengyu.shelby@bytedance.com>
2022-08-19 11:05:09 +08:00
LongYinan
1cd4fda01e
feat(napi): add get and get_mut method on WeakReference
2022-08-17 21:29:03 +08:00
LongYinan
528b1d21cb
style: clippy fix
2022-08-17 18:16:01 +08:00
LongYinan
0ef482c6ca
feat(napi-derive): support inject This<Value> into raw function
2022-08-17 18:16:00 +08:00
LongYinan
711372e175
feat(napi-derive): implement instance_of for Class
2022-08-17 15:18:43 +08:00