LongYinan
dca00683d8
fix(napi): handle the return_if_invalid for Array param ( #2846 )
...
* fix(napi): handle the return_if_invalid for Array param
* Update crates/backend/src/codegen/fn.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update crates/backend/src/codegen/fn.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-08 15:10:43 +08:00
Mikaël Francoeur
83389a186b
feat(napi): add ScopeGenerator trait ( #2831 )
...
* add lifetime to iterator
* Add ScopedIterator
* fix type gen
* Clippy fix
---------
Co-authored-by: LongYinan <lynweklm@gmail.com>
2025-08-07 21:44:01 +08:00
Mikaël Francoeur
88fca29e3b
feat: make generator an iterator ( #2784 )
...
* make the generator an iterator
* add JSDoc for generators
* prevent naming conflicts
* add JSDoc struct
* update snapshot
* clippy
* Update typedef
* update fmt
* Apply code review
* test compatible
---------
Co-authored-by: LongYinan <lynweklm@gmail.com>
2025-08-07 08:03:37 +00:00
LongYinan
1e30088198
fix(wasm-runtime): avoid wasm-util from tree shaking by rollup ( #2810 )
...
* fix(wasm-runtime): avoid wasm-util from tree shaking by rollup
* fix filename
2025-08-07 12:55:48 +08:00
翠
cddf31fbad
test(napi): add more tests for Error.cause support ( #2835 )
2025-08-07 10:33:10 +08:00
翠
7f5013eee3
feat(napi): add Error.cause support to napi::Error ( #2829 )
...
Co-authored-by: LongYinan <lynweklm@gmail.com>
2025-08-05 12:53:36 +08:00
LongYinan
e175512d43
fix(napi): async task finally is not called ( #2824 )
2025-08-01 15:05:08 +08:00
LongYinan
10416f1b43
fix(napi): relax the lifetime restriction in PromiseRaw callbacks ( #2819 )
2025-07-31 09:51:10 +08:00
翠
bde407ddab
fix(napi-derive): generate types for threadsafe_function with WEAK=true correctly ( #2813 )
2025-07-30 00:24:15 +08:00
LongYinan
bb9883ab09
fix(napi-derive): lifetime codegen issue ( #2794 )
2025-07-22 17:54:18 +08:00
LongYinan
1ca2bad43f
feat(napi): provide ScopedTask to resolve JsValue with lifetime ( #2786 )
2025-07-21 13:55:44 +08:00
LongYinan
485befffcb
chore(example): add define_class example ( #2765 )
2025-07-06 21:43:35 -07:00
LongYinan
0119f09237
feat(napi): support untyped TypedArray slice ( #2762 )
2025-07-03 16:50:35 +08:00
Brooooooklyn
2fed7f85e0
fix(napi): spawn_future_with_callback lifetime ( #2760 )
2025-07-03 07:09:22 +00:00
LongYinan
5add173ca2
feat(napi): support c string for object apis ( #2759 )
2025-07-03 14:08:05 +08:00
LongYinan
7e34e30b66
feat!(napi): create function from #[napi] fn ( #2757 )
2025-07-02 16:54:31 +08:00
LongYinan
99f4c089d4
feat(napi): add napi_ref impl for Object Symbol and External ( #2754 )
2025-07-01 00:45:32 -07:00
LongYinan
092f887f39
fix(napi-derive): generate object key types properly ( #2752 )
2025-06-30 17:10:17 +08:00
LongYinan
2273031264
test(napi): add fixture for #2746 ( #2747 )
2025-06-25 22:35:25 +08:00
Cameron
562bb698d6
fix(napi-derive): single parentheses arg is provided in ThreadsafeFunction ( #2742 )
...
* test: add repro for #2726
* fix
---------
Co-authored-by: LongYinan <lynweklm@gmail.com>
2025-06-24 16:09:47 +00:00
LongYinan
3e2fe8a2a3
fix(napi): create external TypedArray in Electron env ( #2740 )
2025-06-24 22:48:00 +08:00
LongYinan
3dce1533fd
test(napi): add fixture for re-export complex class ( #2733 )
2025-06-24 16:31:26 +08:00
LongYinan
1486b1f174
test(napi): add complex pub type fixture ( #2732 )
2025-06-24 15:37:43 +08:00
LongYinan
a773f8d438
fix(napi): prevent panic in ThreadsafeFunctionHandle::drop if ThreadsafeFunction::create fail ( #2731 )
2025-06-24 15:01:08 +08:00
LongYinan
54935e34fa
fix(napi-derive): panic while creating type definition when Rust comment contains escape syntax ( #2701 )
2025-06-08 18:25:09 +08:00
LongYinan
814bc79412
fix(napi-derive): using js_name generating wrong type defs ( #2700 )
...
This commit introduces two main changes:
1. Refactors the variable names used during the creation of
`NapiStruct` in `crates/macro/src/parser/mod.rs`. The goal is to
make the source of `NapiStruct.name` (the Rust identifier) and
`NapiStruct.js_name` (the JavaScript name, potentially from a
`#[napi(js_name = "...")]` attribute) more explicit. This change
is primarily for code readability and maintainability. The core
logic remains the same.
2. Adds a new test case to `examples/napi` to specifically verify
the behavior of `#[napi(js_name = "...")]` on structs. This
includes:
- A new Rust struct `OriginalRustNameForJsNamedStruct` in
`examples/napi/src/class.rs` decorated with
`#[napi(js_name = "MyJsNamedClass")]`.
- Corresponding tests in `examples/napi/__tests__/values.spec.ts`
that check for correct class instantiation, method calls, and
type alias generation (`OriginalRustNameForJsNamedStruct` as an
alias for `MyJsNamedClass`).
Note: I encountered some issues running the full build and tests for the example due to pre-commit hooks in the testing environment that I couldn't bypass. However, I believe the changes are correct based on static analysis and focused checks.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-06-08 17:14:57 +08:00
Hana
0a90c8a8f2
feat(napi): support build_threadsafe_function variant with error status ( #2694 )
2025-06-05 21:35:18 +08:00
LongYinan
a79f9846b6
fix(cli): dtsHeader option merge orders
2025-06-03 19:59:52 +08:00
LongYinan
4629423a5f
chore: update tests fixture
2025-06-03 19:53:48 +08:00
liuyi
d874a46647
fix: type generation for shared libs ( #2684 )
2025-06-03 19:19:29 +08:00
LongYinan
d5a16483c5
fix(napi-derive): Either<f64, u32> should generate number ts type ( #2683 )
2025-06-02 23:53:14 +08:00
Hana
f4731bb566
feat!(napi): support custom tsfn result error code ( #2672 )
2025-06-02 22:47:50 +08:00
LongYinan
b93bdfd3eb
test: stress test on aarch64 linux gnu platform ( #2662 )
...
* test: stress test on aarch64 linux gnu platform
* remove configs in yarnrc
* clippy
2025-06-02 22:45:01 +08:00
Cong-Cong Pan
9173e8eb28
feat!(napi): define propertes support symbol as name ( #2673 )
...
* feat: define properties support symbol as name
* fix
* fix
2025-05-30 23:37:19 +08:00
LongYinan
f8fab45de7
feat(napi): serialize BigInt to serde::Value ( #2659 )
2025-05-24 23:18:40 +08:00
LongYinan
3c5f22001b
fix(napi): wrong error status in ThreadsafeFunction callback ( #2656 )
2025-05-22 17:24:46 +08:00
LongYinan
7182db3a81
feat(napi): EscapableHandleScope API ( #2652 )
2025-05-19 19:52:21 +08:00
LongYinan
92b094e487
feat(napi): new handle scope API ( #2650 )
2025-05-18 23:16:40 +08:00
LongYinan
74f349c180
fix(napi): reuse issue on AbortSignal ( #2646 )
...
- Close https://github.com/napi-rs/napi-rs/issues/2141
2025-05-18 15:57:10 +08:00
LongYinan
ce990542b9
fix(napi): module_exports binding ( #2632 )
2025-05-13 19:54:25 +08:00
LongYinan
7a972425b8
fix(napi): nested Either and Promise validate logic ( #2625 )
...
- Close https://github.com/napi-rs/napi-rs/issues/2578
2025-05-12 00:33:14 +08:00
LongYinan
8f852442cf
test: fix bun test runner ( #2607 )
2025-05-07 00:06:07 +08:00
LongYinan
95832ff168
refactor!(napi): introduce JsValue and JsObjectValue trait ( #2606 )
...
Add lifetime for JsGlobal JsTimeout and JSON
2025-05-06 23:45:37 +08:00
LongYinan
bcf5e14aa8
feat(napi): add from_napi_value for Ref<T: FromNapiValue> ( #2603 )
2025-05-05 23:38:46 +08:00
LongYinan
674d7c7b56
refactor!(napi): add lifetime to Array ( #2599 )
2025-05-05 14:16:53 +08:00
Cong-Cong Pan
0ce726d9c7
feat(napi): serde value ref to napi_value ( #2550 )
...
* perf: convert serde value ref to napi_value
* chore: add test case
* fix: snapshot
2025-04-10 16:17:59 +08:00
LongYinan
ff2c64b35d
chore: clippy fix ( #2545 )
2025-04-04 13:52:49 +08:00
LongYinan
5554c663ac
chore(cli): update deps ( #2542 )
2025-04-01 23:49:56 +08:00
LongYinan
c62acd2bfe
chore: upgrade npm dependencies ( #2516 )
2025-03-16 22:29:04 +08:00
Cong-Cong Pan
cc9989f4ac
fix(napi): js callback in threadsafefunction should not be Send ( #2510 )
2025-03-16 21:56:29 +08:00