renovate[bot]
68a39b4fba
fix(deps): update rust crate convert_case to 0.7 ( #2422 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-12 03:57:04 +00:00
LongYinan
a24993b773
Release independent packages
...
- napi@3.0.0-alpha.25
- napi@3.0.0-alpha.23
2025-01-04 15:23:37 +08:00
LongYinan
98cb7671d3
feat(napi): impl ReadableStream and AsyncGenerator ( #2418 )
...
* feat(napi): impl ReadableStream and AsyncGenerator
* clippy fix
* Into<Vec<u8>> trait
* Skip node18 stream test due to Node.js bug
* Cleanup
* Also skip wasi test
* Merge test
* Skip wasi
* Useless expect-error
2025-01-03 17:09:42 +08:00
lghuahua
31cd07c8c2
feat(napi-derive): support type on #[napi] ( #2416 )
...
Co-authored-by: LongYinan <lynweklm@gmail.com>
2025-01-02 17:15:07 +08:00
Stanisław Czech
b4b74d6f1f
refactor!(napi): arguments tuple behavior ( #2401 )
...
* Implement FromNapiValue trait as macro
Code behavior should remain the same, with much less copy-pasting of the same code.
Additionally, this commit adds a unit tests for test for FromNapiValue
for tuple trait which appears to be currently missing.
* Simplify macro arr_get
Rewrite the macro to reduce the size of expanded code of the macro
(from 4088 to 2429 lines). Although this is a minor change,
this may help reduce the size of compiled library.
* Refactor typegen Type::Path
Removes the need for keeping mutable variable, as its only assigned once.
* [API BREAKING] Update api for calling functions.
This commit introduces new type FnArgs,
that is created with the goal of distinguishing between
calling JS function from rust with tuple as argument
and calling with multiple arguments.
Currently there is no possibility to add ToNapiValue value,
as tuple is used to call callback functions with more than one
argument from rust.
With this change, callbacks with multiple arguments,
should be called, with converting tuple of argument
into FnArgs struct, either by calling into() on such
tuple, or by creating FnArgs struct directly.
* Add support for FnArgs when generating TS types
Updated the macro for generating typescript types,
to correctly handle FnArgs struct. This is now treated
as passthrough type and generates the output from the
type inside of FnArgs struct.
* Implement ToNapiValue trait for tuple
With the changes to callback calling API, it's now possible
to safely add this change. This change allows to pass tuple
from rust code to JS to match the existing FromNapiValue trait
currently existing in the library.
2025-01-02 16:58:58 +08:00
LongYinan
8027aa0602
Release independent packages
...
- napi@3.0.0-alpha.24
- napi-derive@3.0.0-alpha.22
- napi-sys@3.0.0-alpha.1
- napi-build@2.1.4
2024-12-18 23:52:09 +08:00
LongYinan
8fffa49282
fix(napi): resuse threads worker on Node.js ( #2399 )
2024-12-18 23:48:30 +08:00
LongYinan
dd07a04ca6
Release independent packages
...
- napi@3.0.0-alpha.22
- napi-derive@3.0.0-alpha.21
2024-12-03 21:59:14 +08:00
翠 / green
74faafeafe
fix(napi-derive): object_from_js / object_to_js for transparent was swapped ( #2382 )
2024-12-02 22:37:33 +08:00
翠 / green
6a4ce688c4
fix(napi-derive): generate correct types for HashMap with RandomState argument ( #2384 )
...
* fix(napi-derive): generate correct types for HashMap with RandomState argument
* chore: update snapshot
2024-12-02 22:37:00 +08:00
LongYinan
7886d24d12
Release independent packages
...
- napi@3.0.0-alpha.21
- napi-derive@3.0.0-alpha.20
2024-11-30 10:52:22 +08:00
翠 / green
521aefe420
feat(napi-derive): implement #[napi(transparent)] ( #2376 )
2024-11-30 10:28:40 +08:00
frankwang
8b474f929d
feat(napi-derive): allow ts_type in napi fn attrs ( #2362 )
...
* feat: allow ts_type in fn attrs
* chore: add override fn type example
2024-11-22 15:44:16 +08:00
Richer
c1b07a82c1
fix(backend): fix type when function as object field ( #2359 )
2024-11-18 14:39:49 +08:00
LongYinan
d1d533d00e
Release independent packages
...
- napi-derive@3.0.0-alpha.19
2024-11-13 10:24:10 +08:00
LongYinan
49ed2ddf71
fix(napi-derive): object lifetime compile issue ( #2351 )
2024-11-11 20:19:41 +08:00
LongYinan
75ff88cced
Release independent packages
...
- napi-derive@3.0.0-alpha.18
2024-11-07 14:05:36 +08:00
Max
f2377e2d70
chore(napi-derive): remove unused dependency 'regex' from backend ( #2344 )
2024-11-05 00:30:24 +08:00
LongYinan
fd23549009
Release independent packages
...
- napi@3.0.0-alpha.18
- napi-derive@3.0.0-alpha.17
2024-10-31 10:50:01 +08:00
LongYinan
f705454029
feat(napi): introduce AsyncBlock to let user dispose resources after future done ( #2338 )
2024-10-31 09:24:30 +08:00
LongYinan
6a690e1c53
Release independent packages
...
- napi@3.0.0-alpha.17
- napi@3.0.0-alpha.16
- napi-sys@3.0.0-alpha.0
2024-10-28 23:50:45 +08:00
LongYinan
c91456d84a
feat(napi): support return *const c_char to JavaScript directly ( #2332 )
2024-10-28 23:48:33 +08:00
LongYinan
79cbb9170e
fix!(sys): Node-API accpet NAPI_AUTO_LENGTH parameter type should be isize rather than usize ( #2331 )
2024-10-28 23:45:32 +08:00
LongYinan
f707f36c5a
feat(napi): implmenet Set ( #2330 )
2024-10-26 20:11:58 +08:00
LongYinan
3d95fcffdf
fix(napi-derive): ra warning on Rust 1.82 ( #2329 )
2024-10-25 11:15:13 +08:00
LongYinan
953f2e3553
Release independent packages
...
- napi@3.0.0-alpha.16
- napi@3.0.0-alpha.15
2024-10-21 16:46:26 +08:00
LongYinan
aff84674b2
refactor!(napi): remove &str FromNapiValue ( #2323 )
2024-10-21 16:43:30 +08:00
LongYinan
a38a24c359
Release independent packages
...
- napi@3.0.0-alpha.14
- napi-derive@3.0.0-alpha.14
2024-10-14 00:27:38 +08:00
LongYinan
afd081d003
feat(napi,napi-derive): allow lifetime in Class ( #2298 )
2024-10-10 05:59:14 +02:00
LongYinan
eba0b52c59
chore(napi): env doesn't need to be mut ( #2292 )
2024-10-07 19:20:21 +02:00
LongYinan
9a6f01a20c
Release independent packages
...
- napi@3.0.0-alpha.13
- napi-derive@3.0.0-alpha.13
2024-10-03 00:01:16 +02:00
LongYinan
69cd73d71c
refactor!(napi,napi-derive): add lifetime to ClassInstance ( #2286 )
2024-10-02 10:42:34 +02:00
Richer
d3cf9cb143
fix(napi-derive-backend): should respect origin name for class factory ( #2280 )
2024-09-30 17:06:58 +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
LongYinan
f704b4ac0f
feat(napi-derive): add async_runtime attribute ( #2270 )
2024-09-23 16:21:13 +08:00
LongYinan
cfc88ee541
Release independent packages
...
- napi-derive@3.0.0-alpha.11
2024-09-21 14:21:38 +08:00
LongYinan
0698bb1d80
feat(napi-derive): allow napi fn with lifetime ( #2266 )
2024-09-21 12:26:41 +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
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
CPunisher
249c27e06d
fix(napi-derive): tuple object and enum ( #2227 )
...
* Fix tuple struct
* Add testcase
2024-08-23 14:10:39 +08:00
CPunisher
c459f0acf6
feat: support structured enum with discriminated unions ( #2222 )
...
* Structured enum
* Type indent
* Add test example
* Remove trailing commas
* discriminant
* discriminant conflict
* more test
* typo
2024-08-22 14:59:50 +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
LongYinan
2e5bf773e3
fix(napi-derive): warning in empty enum codegen ( #2214 )
2024-08-10 22:30:50 +08:00
LongYinan
d84fc42832
fix(napi-derive): string enum validate logic ( #2213 )
2024-08-10 21:27:17 +08:00
CPunisher
a154612019
fix(napi-derive): add more cases for typegen of function args ( #2210 )
...
* Handle more arg pat
* Update testcase
* Revert
2024-08-08 11:07:21 +08:00
LongYinan
282ce1c00a
fix(napi): allow ThreadsafeFunction in Either ( #2204 )
2024-08-03 13:22:09 +08:00