73 Commits

Author SHA1 Message Date
LongYinan
afd081d003
feat(napi,napi-derive): allow lifetime in Class (#2298) 2024-10-10 05:59:14 +02:00
LongYinan
69cd73d71c
refactor!(napi,napi-derive): add lifetime to ClassInstance (#2286) 2024-10-02 10:42:34 +02:00
LongYinan
f704b4ac0f
feat(napi-derive): add async_runtime attribute (#2270) 2024-09-23 16:21:13 +08:00
LongYinan
0698bb1d80
feat(napi-derive): allow napi fn with lifetime (#2266) 2024-09-21 12:26:41 +08:00
LongYinan
fc4b6a632d
refactor(napi-derive): expand order (#2265) 2024-09-20 22:44:34 +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
Richer
814188f1ad
fix(derive): fix clippy warning with newer rust version (#2262) 2024-09-19 21:55:48 +08:00
Richer
58bcb64c19
fix(napi-derive): call flush on the BufWriter (#2242) 2024-09-02 14:16:00 +08:00
Richer
b9c884e788
fix(macro): constructor don't support asynchronous function (#2239) 2024-08-31 10:40:49 +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
CPunisher
e02ec1e87c
Replace self for Result<T> (#2224) 2024-08-22 14:59:00 +08:00
LongYinan
2e5bf773e3
fix(napi-derive): warning in empty enum codegen (#2214) 2024-08-10 22:30:50 +08:00
Louis
f88b90f71e
fix(napi-derive): call flush on the BufWriter (#2195)
This is mandated by the Rust doc of the BufWriter. We've also seen bugs where
the data doesn't seem to be flushed properly, and thus the CLI fails to parse
JSONs emitted by napi-derive. This might be it, or not, but flushing shouldn't
hurt.
2024-07-23 21:08:13 +08:00
Cong-Cong Pan
782d6ac5f8
fix(napi-derive): napi getter macros (#2188)
* fix: napi getter macros

* chore: cargo fmt
2024-07-16 12:48:38 +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
Louis
c223954dc6
chore(napi): allow value attribute on enum variants (#2115)
This allows us to customize the enum value for string_enum. So far, only the case attribute was allowing us to customize the value of those variants, this is a next step in allowing the value to be different from the actual name.

This has a new test, and snapshots have been updated accordingly.

@Brooooooklyn - could we include that in napi v2 and tag after it?
2024-05-17 11:22:33 +08:00
Ranger
b2239fd880
fix(napi-macro): gengerate type file should align with type-def featrue (#2100)
* fix: make sure env without exception pending before throw error

* fix(napi-macro): gengerate type file should align with type-def featrue

* fix(napi-macro): gengerate type file should align with type-def featrue
2024-05-10 14:32:48 +08:00
inokawa
0adc36ce1c
feat(cli): support generation of literal union from string enum (#2054)
* feat(cli): support generation of literal union from enum

* Remove const

---------

Co-authored-by: LongYinan <lynweklm@gmail.com>
2024-04-22 14:28:04 +08:00
LongYinan
22c751ced0
fix(napi-derive): bail the unexpected factory directive (#2051)
- Close https://github.com/napi-rs/napi-rs/issues/2048
2024-04-18 00:14:00 +08:00
Andrew Toth
6b1058a268
feat(napi-derive): add optional enum_string case conversion (#1995) 2024-03-11 20:10:00 +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
LongYinan
84f3092d70
fix(napi-derive): proc-macro crash on enum (#1870) 2023-12-27 21:18:02 +08:00
liuyi
6f40f94d09
fix(napi-derive): more accurate napi expanding error (#1854) 2023-12-13 15:23:00 +08:00
liuyi
e32c105a26
fix(napi-derive): upgrade syn (#1849) 2023-12-13 12:40:01 +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
7c3f8b514e
fix(napi-derive): compile warning (#1820) 2023-11-20 14:20:25 +08:00
LongYinan
938f4df83d
fix(napi-derive): async task void output type (#1795) 2023-11-08 20:05:09 +08:00
LongYinan
0dc1ef738b fix(napi): asan caught memory safety issue 2023-11-04 15:26:07 +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
liuyi
7281f533bd
fix(cli): always generate typedef file even native code never changes (#1489) 2023-02-16 22:24:40 +08:00
LongYinan
c8352a1fb0
feat(napi-derive): allow partial implement From/To Napivalue for Object (#1448) 2023-01-24 14:51:16 +08:00
Hana
976acc773e
fix(napi-derive): remove ts type on field attrs (#1436) 2023-01-12 13:32:59 +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
36275438ad
chore(napi): misc cleanup 2022-08-23 16:18:08 +08:00
LongYinan
b7a3103f0c
feat(napi-derive): catch_unwind attribute (#1280) 2022-08-19 23:36:36 +08:00
LongYinan
2385b52a72
feat(napi): allow implement custom finalize logic for Class 2022-08-17 13:24:40 +08:00
LongYinan
0f14799776
feat(napi-derive): support set property attribute in napi macro (#1257) 2022-08-06 21:54:58 +08:00
LongYinan
2e53bf7f9a
feat(napi-derive): support return_if_invalid 2022-07-05 18:39:12 +08:00
Jose L
5be415d3d9
feat(napi-derive): add ts_arg_type attribute to override individual args on functions (#1192) 2022-05-22 13:43:11 +08:00
Devon Govett
d6c755c4eb
fix(napi-derive): js_name support for getters and setters (#1179) 2022-05-13 12:55:54 +08:00
LongYinan
a3356264f2
feat(napi): experimental iterator support 2022-05-06 18:03:04 +08:00
LongYinan
cc79c9794e fix(napi-derive): should transform struct case on Impl 2022-04-26 18:04:14 +08:00
LongYinan
89cce5752b feat(napi-derive): support generic types on fn 2022-04-14 14:24:47 +08:00
antoniomuso
f783e9537f feat(napi): allow empty enums 2022-03-06 23:12:31 +08:00
messense
132a9a4ae2 chore: fix clippy::needless_late_init lint 2022-02-28 12:09:40 +08:00