Commit graph

261 commits

Author SHA1 Message Date
LongYinan
f7571d71c0
fix(napi-derive): codegen bug when multi impl on same file 2021-12-20 16:00:11 +08:00
Niklas Mischkulnig
7a04176cf9
test(napi): add tests for hashmap <-> object 2021-12-19 23:17:54 +08:00
h-a-n-a
7891c52cbf test: update type snapshot 2021-12-19 22:44:45 +08:00
h-a-n-a
72f58204d2 test: add tests for skip_typescript 2021-12-19 20:17:54 +08:00
LongYinan
4ec4400703
fix(napi-derive-backend): Null and Undefined return type 2021-12-18 13:42:55 +08:00
forehalo
2df97c108f
fix: impl From<Buffer> for Vec<u8> 2021-12-18 13:24:16 +08:00
LongYinan
91d07810a2
fix(napi): ThreadsafeFunction with ErrorStrategy::Fatal should throw fatal exception 2021-12-14 12:47:23 +08:00
h-a-n-a
0aa7cd3d32 feat(napi): support external deref/derefMut 2021-12-11 13:42:46 +08:00
LongYinan
99708384d9
test: update snapshot 2021-12-09 19:23:33 +08:00
LongYinan
f4b0a2e322
fix(cli): enum TypeScript type should be const enum 2021-12-09 18:48:50 +08:00
LongYinan
7470407306
feat(napi): throw error on non constructable class 2021-12-08 17:59:30 +08:00
LongYinan
cd7c7a342f
fix(napi-derive-backend): missing crate prefix 2021-12-08 17:32:16 +08:00
LongYinan
e452c00fb4
feat: edition 2021 2021-12-08 13:18:47 +08:00
LongYinan
ff717df34f
fix(napi-derive-backend): skip set object property if it is None 2021-12-07 21:50:37 +08:00
LongYinan
77e4241b18
style: clippy fix 2021-12-02 16:31:57 +08:00
LongYinan
b2fea4d5b3
fix(napi-derive): correct the aliased type generation 2021-12-02 16:25:20 +08:00
LongYinan
6d4b4af36f
fix(napi-derive-backend): do not unwrap Option value in object getter if the type of field is Option<T> 2021-12-02 16:17:03 +08:00
LongYinan
d9c53d728b
feat(napi): support TypedArray input and output 2021-12-02 11:26:52 +08:00
Tim Fish
18d2743862
feat(napi): output Rust doc comments in definitions as jsdoc comments 2021-11-29 12:54:45 +08:00
LongYinan
e2e3ef95f8
feat(napi-derive): support renmae function args and return type 2021-11-26 17:26:14 +08:00
LongYinan
e6f341f632
chore: add example for return this 2021-11-25 23:42:40 +08:00
LongYinan
7177f4af92
chore: update test snap 2021-11-25 22:33:42 +08:00
LongYinan
1fe39ff66d
feat(napi): support export rust mod as ts namespace 2021-11-25 17:53:43 +08:00
LongYinan
1f64f9fbf3
fix(cli): ExternalObject type decalare 2021-11-21 18:23:53 +08:00
LongYinan
bdfb1506a2
feat(napi): implement external value 2021-11-21 16:24:58 +08:00
LongYinan
d1a5f84aa0
fix(napi): allow ErrorStrategy to be specified while creating TSFN 2021-11-21 14:49:04 +08:00
LongYinan
4c3fe26478
feat(cli): refactor cli build 2021-11-19 18:22:40 +08:00
LongYinan
47da28adb4
feat(napi-derive): support const export 2021-11-17 17:43:56 +08:00
LongYinan
dd0a705b83
test: update ts snapshot 2021-11-16 13:07:17 +08:00
LongYinan
b4a8cadb21
fix(napi-derive-backend): Option value should produce optional types 2021-11-16 13:02:40 +08:00
LongYinan
424c7805c4
feat(napi): improve symbol support 2021-11-15 23:10:15 +08:00
LongYinan
3386bb9867
feat(napi): support JsGlobal in Env 2021-11-15 22:41:01 +08:00
LongYinan
eaa96f7eb2
feat(napi): await Promise<T> in async fn 2021-11-15 16:54:55 +08:00
Tim Fish
a14cbbb836 Full qualify types 2021-11-14 23:34:44 +00:00
LongYinan
30031f09ed
feat(napi): create ThreadsafeFunction from JsFunction 2021-11-12 17:22:57 +08:00
LongYinan
fe8f061f1f
fix(napi-derive-backend): typegen issue when arg is mut 2021-11-11 17:10:32 +08:00
LongYinan
0424a08c06
feat(napi): BigInt codegen support 2021-11-11 16:18:25 +08:00
LongYinan
179f20a7c5
feat(cli): generate js binding to avoid dynamic require logic 2021-11-09 21:43:51 +08:00
LongYinan
1ab52c42b6
Release independent packages
napi@2.0.0-alpha.2
napi-derive@2.0.0-alpha.2
napi-derive-backend@1.0.3
2021-11-07 00:06:29 +08:00
LongYinan
785388ae40
fix(napi-derive): missing move in async fn 2021-11-06 22:19:42 +08:00
LongYinan
e9ab2192da
fix(napi-derive): return Result type in Constructor and Factory 2021-11-06 21:48:18 +08:00
LongYinan
44040e3bfe
fix(napi-derive): type generate issue for Factory and Class 2021-11-06 13:51:55 +08:00
LongYinan
e78cdd3c22
feat(napi): support static class factory 2021-11-06 13:51:55 +08:00
LongYinan
e74fe2fb94
feat(napi): implement AsyncTask with AbortSignal support 2021-11-06 13:51:54 +08:00
LongYinan
d36c303dec
chore: specified dependencies versions 2021-11-06 13:51:54 +08:00
LongYinan
f26cd4aa7b
feat(napi): implement Either type 2021-11-02 18:57:57 +08:00
LongYinan
af86f6f7a4
chore: make examples private 2021-10-31 23:33:51 +08:00
forehalo
99b2723618
native buffer no need to keep raw napi pointer 2021-10-30 00:05:05 +08:00
forehalo
c5cebec812 test full features once for napi v2 2021-10-27 14:42:57 +08:00
forehalo
0ee80662be support async functions 2021-10-27 14:42:57 +08:00
forehalo
8b4e7af67f buffer example 2021-10-27 14:42:57 +08:00
forehalo
5b39035541 serde support 2021-10-27 14:42:57 +08:00
forehalo
8c281fd174 add static method example 2021-10-27 14:42:57 +08:00
forehalo
f4c0b0639b impl To/FromNapiValue for HashMap 2021-10-27 14:42:57 +08:00
forehalo
f66f79e587 throw if napi function returns Err variant of Result<T> 2021-10-27 14:42:57 +08:00
forehalo
ee7a146ea1 update class demo with custom constructor 2021-10-27 14:42:57 +08:00
forehalo
0d018a5470 impl ToNapiValue for Result<T> 2021-10-27 14:42:57 +08:00
forehalo
032861c5bc support typegen for Result<T> 2021-10-27 14:42:57 +08:00
LongYinan
0e8de173a4 feat(cli): dts flag for build command 2021-10-01 15:01:23 +08:00
LongYinan
f9c01b40f7
chore: publish 2.0.0-alpha.0 2021-09-23 01:45:28 +08:00
forehalo
2467b7139b
Introduce #[napi] procedural macro to automation development boilerplate (#696)
* napi procedural macro for basic rust/JavaScript types
* introduce the `compat-mode` for `napi` and `napi-derive` crates for backward compatible
* remove #[inline] and let compiler to decide the inline behavior
* cli now can produce the `.d.ts` file for native binding
* many tests and example for the new procedural macro

Co-authored-by: LongYinan <lynweklm@gmail.com>
2021-09-23 01:29:09 +08:00