messense
d3e37a44cb
Fix BigInt issue with zero value
...
Looks like 0 is a special case: 4318b2348d/deps/v8/src/objects/bigint.cc (L1595-L1602)
2022-02-04 21:43:57 +08:00
messense
a1be16530b
Fix String roundtrip with interior nul bytes
2022-02-04 16:52:44 +08:00
LongYinan
13533d1a37
feat(napi): re-export tokio and features
2022-01-23 23:04:31 +08:00
LongYinan
16f808276d
feat(napi): implement get_js_function
2022-01-23 23:04:31 +08:00
JoostK
8652019c94
fix(napi-derive): an Option
in front of a required parameter is no longer optional in TypeScript
...
This fixes a bug where having a parameter of type `Option<T>` followed by required parameters
would incorrectly declare the parameter as option in the TypeScript declaration file, resulting
in invalid syntax.
2022-01-23 18:57:01 +08:00
Jose L
40651714c9
feat(napi-derive): add ts_type
attribute to override typtescript type for fields in structs
2022-01-23 18:45:41 +08:00
messense
a109c54918
fix(napi): add missing nul byte to noop
...
Fixes a global-buffer-overflow bug
2022-01-22 12:34:55 +08:00
LongYinan
1238ee0276
Release independent packages
...
napi@2.0.4
napi-derive@2.0.8
2022-01-18 14:38:34 +08:00
Jose Acevedo
36e808d2a6
feat: add 'coerce_to_object' method to Array
2022-01-17 21:07:25 -08:00
Tim Fish
cdcab888ee
fix(napi-derive): correctly escape backslash in type definition doc comments ( #1034 )
2022-01-17 12:38:16 +08:00
LongYinan
cbbccf2084
Merge pull request #1029 from napi-rs/fix-clippy
...
fix(napi): clippy error on 1.58
2022-01-14 11:48:25 +08:00
LongYinan
41bcd9c50b
fix(napi): clippy error on 1.58
2022-01-14 11:21:03 +08:00
Dave Ceddia
1006b3a489
fix(napi): abort threadsafe functions upon env cleanup
...
This fixes a deadlock/panic in Electron when the window is reloaded.
2022-01-13 10:06:50 -05:00
LongYinan
1768cf69ee
Release independent packages
...
napi@2.0.3
2022-01-13 14:52:19 +08:00
messense
43fb8edecd
chore: forbid unsafe_op_in_unsafe_fn
2022-01-13 11:26:28 +08:00
LongYinan
2de500f33b
fix(napi): invalid memory address in FromNapiValue for &str
2022-01-12 17:08:47 +08:00
LongYinan
645a2e7885
Release independent packages
...
napi-derive@2.0.7
2022-01-07 14:11:47 +08:00
LongYinan
b53e0e1e95
fix(napi-derive): BigInt in TypeScript should be bigint
2022-01-06 22:33:34 +08:00
LongYinan
581e8cf9f5
Release independent packages
...
napi-derive@2.0.6
2022-01-06 17:41:02 +08:00
LongYinan
0f5ebc4699
chore(napi-derive-backend): update convert_case
2022-01-06 17:40:25 +08:00
LongYinan
15d2b95687
chore(napi-derive): update convert_case
2022-01-06 16:54:43 +08:00
LongYinan
b6d126db53
fix(napi-derive): implement missing trait for JsClass reference
2022-01-06 16:19:43 +08:00
LongYinan
3565fccdb6
fix(napi-derive): should throw rather than panic if object mismatched
2022-01-06 15:57:41 +08:00
LongYinan
04012915bb
Release independent packages
...
napi-derive@2.0.5
2022-01-04 11:06:38 +08:00
Flux Xu
881fd52063
fix(napi-derive): unraw rust identifiers before sending it to js. ( #987 )
2022-01-03 11:28:35 +08:00
LongYinan
556ace8f33
fix(napi-derive,cli): export type alias for original name
2021-12-25 17:36:12 +08:00
LongYinan
66e202e2f2
Release independent packages
...
napi-derive@2.0.4
2021-12-25 01:44:37 +08:00
LongYinan
f76a12eb5a
fix(napi-derive): ignore warnings on generated fn
...
Close https://github.com/napi-rs/napi-rs/issues/968
2021-12-25 01:24:58 +08:00
LongYinan
76798a4343
fix(napi-derive): missing wrap in NAPI-RS created class instance
2021-12-24 22:56:16 +08:00
LongYinan
4e4b160f3a
Release independent packages
...
napi-derive@2.0.3
2021-12-24 21:57:40 +08:00
LongYinan
e6a30ffcca
fix(napi-derive): return instance from non-default constructor class
...
Fix https://github.com/napi-rs/napi-rs/issues/933
2021-12-24 21:37:47 +08:00
LongYinan
e904497b8c
Release independent packages
...
napi-derive@2.0.2
2021-12-23 14:47:41 +08:00
LongYinan
940be7df99
fix(napi-derive): return Class instance in function
2021-12-23 14:07:35 +08:00
LongYinan
46168ee6d6
Release independent packages
...
napi@2.0.2
2021-12-22 09:50:55 +08:00
LongYinan
87d1821e73
fix(napi): compile issue without compat mode
2021-12-22 09:36:47 +08:00
LongYinan
fa0fe87448
Release independent packages
...
napi-build@1.2.1
2021-12-22 00:27:59 +08:00
LongYinan
828c6cf625
Release independent packages
...
napi@2.0.1
napi-derive@2.0.1
2021-12-22 00:19:16 +08:00
LongYinan
4406059de1
fix(napi): addon packages become undefined in worker_threads
2021-12-21 23:38:35 +08:00
LongYinan
915b423026
fix(napi): only shutdown tokio runtime once
2021-12-21 23:22:23 +08:00
LongYinan
f7571d71c0
fix(napi-derive): codegen bug when multi impl on same file
2021-12-20 16:00:11 +08:00
LongYinan
0d38cb01bd
chore(napi): upgrade windows crate to 0.29
2021-12-20 15:16:12 +08:00
h-a-n-a
72f58204d2
test: add tests for skip_typescript
2021-12-19 20:17:54 +08:00
h-a-n-a
df9dc91562
feat(napi): add ts typegen skip
2021-12-19 19:45:21 +08:00
LongYinan
45a74856d6
Merge pull request #941 from napi-rs/fix/build-env
...
fix(build): keep `.d.ts` and `.js` untouched if native doesn't change
2021-12-18 15:07:26 +08:00
forehalo
09c7df3c5c
fix: keep .d.ts and .js untouched if native doesn't change
2021-12-18 14:12:46 +08:00
LongYinan
4ec4400703
fix(napi-derive-backend): Null and Undefined return type
2021-12-18 13:42:55 +08:00
LongYinan
3f2e44d3db
Merge pull request #939 from napi-rs/fix/buffer-vec-conversion
...
fix(napi): impl From<Buffer> for Vec<u8>
2021-12-18 13:41:40 +08:00
forehalo
2df97c108f
fix: impl From<Buffer> for Vec<u8>
2021-12-18 13:24:16 +08:00
liulinboyi
486765b35e
feat(napi): refine return type
2021-12-18 11:52:49 +08:00
LongYinan
bbd466b69c
Release independent packages
2021-12-17 16:56:45 +08:00
LongYinan
8debc09b7f
Release independent packages
...
napi@2.0.0-beta.7
2021-12-14 13:00:07 +08:00
LongYinan
91d07810a2
fix(napi): ThreadsafeFunction with ErrorStrategy::Fatal should throw fatal exception
2021-12-14 12:47:23 +08:00
LongYinan
c8e6ab46d3
Release independent packages
...
napi@2.0.0-beta.6
2021-12-13 13:18:24 +08:00
h-a-n-a
0aa7cd3d32
feat(napi): support external deref/derefMut
2021-12-11 13:42:46 +08:00
LongYinan
0723e158e5
Release independent packages
...
napi@2.0.0-beta.5
2021-12-08 18:00:06 +08:00
LongYinan
7470407306
feat(napi): throw error on non constructable class
2021-12-08 17:59:30 +08:00
LongYinan
16fa7a159e
Release independent packages
...
napi-derive@2.0.0-beta.5
napi-derive-backend@1.0.17
2021-12-08 17:33:13 +08:00
LongYinan
cd7c7a342f
fix(napi-derive-backend): missing crate prefix
2021-12-08 17:32:16 +08:00
LongYinan
3ae12f7c36
Release independent packages
...
napi-derive@2.0.0-beta.4
napi-derive-backend@1.0.16
2021-12-08 13:37:37 +08:00
LongYinan
e452c00fb4
feat: edition 2021
2021-12-08 13:18:47 +08:00
LongYinan
b2e71b5e03
feat(napi-derive): add noop feature to skip napi function register
2021-12-08 11:30:43 +08:00
LongYinan
454711981b
Release independent packages
...
napi-derive-backend@1.0.15
napi-derive@2.0.0-beta.3
napi@2.0.0-beta.4
2021-12-07 23:40:50 +08:00
LongYinan
831e050877
feat(napi): create Array from &Vec
2021-12-07 22:03:25 +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
f7a101db01
chore: cleanup stale codes
2021-12-07 21:45:40 +08:00
LongYinan
af7583dadf
napi@2.0.0-beta.3
2021-12-07 12:50:19 +08:00
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