Commit graph

545 commits

Author SHA1 Message Date
LongYinan
00be6e5e0c
feat(napi): impl FromNapiValue for &str 2021-12-07 12:50:18 +08:00
LongYinan
0ac303e3ea
Release independent packages
napi-derive@2.0.0-beta.2
napi-derive-backend@1.0.14
2021-12-06 14:15:17 +08:00
LongYinan
27c4790e7b
fix(napi-derive): disable register logic in rust test 2021-12-06 12:58:58 +08:00
LongYinan
8d6997f61e
Release independent packages
napi@2.0.0-beta.2
2021-12-03 17:06:24 +08:00
LongYinan
8fc1cfcb38
feat(napi): TypeName and ToNapiValue should apply to any HashMap 2021-12-03 16:49:26 +08:00
LongYinan
53fe4d3aa5
feat(napi): re-export ctor as module_init 2021-12-03 16:49:26 +08:00
LongYinan
77dab3e9f7
docs(napi): prettier 2021-12-03 16:49:26 +08:00
LongYinan
2d5b997b7d
feat(napi): add experimental flag 2021-12-03 16:49:26 +08:00
LongYinan
140fa7b502
Release independent packages
napi@2.0.0-beta.1
napi-derive@2.0.0-beta.1
napi-derive-backend@1.0.13
2021-12-02 17:10:58 +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
24c5d6950e
Release independent packages
napi@2.0.0-beta.0
napi-sys@2.1.0
napi-derive@2.0.0-beta.0
napi-build@1.2.0
napi-derive-backend@1.0.12
2021-12-02 14:35:57 +08:00
LongYinan
221eae1c26
feat(build): update windows lib file to 17.2.0 2021-12-02 14:25:22 +08:00
Idan Attias
a5ba40ceda
feat(napi): enable node_api syntax error experimental functions 2021-12-02 13:59:27 +08:00
LongYinan
d9c53d728b
feat(napi): support TypedArray input and output 2021-12-02 11:26:52 +08:00
LongYinan
fa23769e9d
feat(napi): allow create reference with refcount 2021-11-30 17:14:01 +08:00
LongYinan
cb08c9f355
Release independent packages
napi-derive-backend@1.0.11
napi-derive@2.0.0-alpha.10
2021-11-30 00:31:43 +08:00
LongYinan
d410f6e903
Release independent packages
napi-sys@2.0.0
napi@2.0.0-alpha.8
2021-11-30 00:18:22 +08:00
LongYinan
adfa14cf94
Merge pull request #887 from napi-rs/remove-enum
feat(sys): remove rust enum in sys
2021-11-29 14:58:05 +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
a7067d6732
feat(sys): remove rust enum in sys 2021-11-29 12:52:42 +08:00
LongYinan
a25f0b990c
Release independent packages
napi-derive@2.0.0-alpha.9
napi-derive-backend@1.0.10

Generated by cargo-workspaces
2021-11-26 17:44:33 +08:00
LongYinan
e2e3ef95f8
feat(napi-derive): support renmae function args and return type 2021-11-26 17:26:14 +08:00
LongYinan
c365c15639
style: clippy fix 2021-11-25 23:35:50 +08:00
LongYinan
aaf1bd14ea
Release independent packages
napi@2.0.0-alpha.7
napi-derive@2.0.0-alpha.8
napi-build@1.1.2
napi-derive-backend@1.0.9
2021-11-25 23:25:29 +08:00
LongYinan
9a0de8e485
feat(napi): allow return self as this 2021-11-25 22:31:11 +08:00
LongYinan
1fe39ff66d
feat(napi): support export rust mod as ts namespace 2021-11-25 17:53:43 +08:00
LongYinan
e4ca46f32b
style: clippy fix 2021-11-25 17:53:42 +08:00
LongYinan
43d21c51d2
doc: cargo docs fix 2021-11-25 17:53:42 +08:00
LongYinan
f83e167bd2
feat(napi): implement from_vec for Array 2021-11-25 17:53:42 +08:00
LongYinan
c77712e76f
feat(napi): implement with_optional_signal on AsyncTask 2021-11-25 17:53:42 +08:00
LongYinan
43c1aff738
refactor(napi): use CStr instread of CString while creating lit variable 2021-11-25 17:53:41 +08:00
LongYinan
1dcd0fec1e
refactor(napi): remove compatible Either struct
Reexport `Either` from `bindgen_runtime::Either`
2021-11-25 17:53:41 +08:00
Sam Holmes
b9f43455f0
fix(napi-build): cargo:rerun-if commands (#871) 2021-11-22 22:35:05 +08:00
LongYinan
a1e3292b7a
napi@2.0.0-alpha.6 2021-11-21 23:11:43 +08:00
LongYinan
e8cfa0b467
fix(napi): freeze and seal should be methods of JsObject 2021-11-21 23:11:14 +08:00
LongYinan
4aa56a148c
fix(napi): missing coerce_to_bool on JsValue 2021-11-21 23:10:29 +08:00
LongYinan
4874c72340
Release independent packages
napi-derive-backend@1.0.8
napi-derive@2.0.0-alpha.7
napi@2.0.0-alpha.5
2021-11-21 16:48:05 +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
47da28adb4
feat(napi-derive): support const export 2021-11-17 17:43:56 +08:00
LongYinan
6bfaaebadc
Release independent packages
napi@2.0.0-alpha.4

Generated by cargo-workspaces
2021-11-16 17:58:03 +08:00
LongYinan
a0c443fdfb
feat(napi): switch to windows crate 2021-11-16 17:41:24 +08:00
LongYinan
fa8e32d3c0
Release independent packages
napi-derive-backend@1.0.7
napi-derive@2.0.0-alpha.6

Generated by cargo-workspaces
2021-11-16 13:03:50 +08:00
LongYinan
b4a8cadb21
fix(napi-derive-backend): Option value should produce optional types 2021-11-16 13:02:40 +08:00
LongYinan
0e0bfb1c0a
Release independent packages
napi-derive-backend@1.0.6
napi-derive@2.0.0-alpha.5

Generated by cargo-workspaces
2021-11-16 12:36:19 +08:00
LongYinan
b8bcdd9c04
fix(napi-derive-backend): JsBuffer should map to Buffer type 2021-11-16 12:35:22 +08:00
LongYinan
052bcd8f3e
Release independent packages
napi@2.0.0-alpha.3
napi-derive-backend@1.0.5
napi-derive@2.0.0-alpha.4

Generated by cargo-workspaces
2021-11-16 10:44:48 +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
92aa3fcf53
chore(napi): add log_js_value helper 2021-11-15 16:55:15 +08:00
LongYinan
25231b6ae1
fix(napi): correct the CString usage 2021-11-15 16:55:13 +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
38d2645632
Release independent packages
napi-derive-backend@1.0.4
napi-derive@2.0.0-alpha.3
2021-11-10 14:19:09 +08:00
LongYinan
d670e0454d
Release independent packages
napi-derive-backend@1.0.4

Generated by cargo-workspaces
2021-11-10 14:18:04 +08:00
LongYinan
413a55545f
fix(napi-derive-backend): wrong restrict on Result return type 2021-11-10 13:15:54 +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
e0671fe071
feat(napi): implement Env::throw to throw any JsValue 2021-11-06 23:33:58 +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
50e08b6033
Release independent packages
napi@2.0.0-alpha.1
napi-build@1.1.1
napi-derive@2.0.0-alpha.1
napi-derive-backend@1.0.2
napi-sys@1.1.2

Generated by cargo-workspaces
2021-10-31 23:37:05 +08:00
LongYinan
157b9c6186
chore: make all crates indepent 2021-10-31 23:35:39 +08:00
LongYinan
29277308d7
fix(napi-derive-backend): generate the same code if source was not changed 2021-10-31 13:13:21 +08:00
LongYinan
88c4175c2d
fix(napi-derive): prevent constructor redundant in debug mode 2021-10-31 13:12:14 +08:00
LongYinan
27f671c5c2
Merge pull request #820 from napi-rs/buffer
native buffer no need to keep raw napi pointer
2021-10-30 00:17:22 +08:00
forehalo
99b2723618
native buffer no need to keep raw napi pointer 2021-10-30 00:05:05 +08:00
LongYinan
e709f25635 feat(napi): impl from/to NapiValue for JsUnkown 2021-10-29 20:55:06 +08:00
LongYinan
698bc701e8 fix(napi): export tokio_runtime only when tokio_rt feature enabled 2021-10-28 20:28:42 +08:00
LongYinan
813d671d76 fix(napi-derive-backend): always generate CallContext for constructor function 2021-10-28 20:28:42 +08:00
forehalo
0ee80662be support async functions 2021-10-27 14:42:57 +08:00
forehalo
cf0b5785cd normalize tokio runtime 2021-10-27 14:42:57 +08:00
forehalo
8b4e7af67f buffer example 2021-10-27 14:42:57 +08:00
forehalo
aa77c8ff97 fix: wrong name len used for function creating 2021-10-27 14:42:57 +08:00
forehalo
5b39035541 serde support 2021-10-27 14:42:57 +08:00
forehalo
f4c0b0639b impl To/FromNapiValue for HashMap 2021-10-27 14:42:57 +08:00
forehalo
e77d2e95ef add diagnostic for miss using constructor 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
40c237ef19 fix(napi): Windows i686 memory error 2021-10-24 23:28:21 +08:00
LongYinan
16aacd8eec
napi-derive-backend@1.0.1 2021-10-01 15:14:13 +08:00
LongYinan
e69a763284 perf(napi): ignore callback info while no arguments 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