Commit graph

70 commits

Author SHA1 Message Date
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
LongYinan
5b44ae322f
fix(napi): drop_wrapped implementation 2021-09-09 22:47:09 +08:00
LongYinan
291def2d70
perf(napi): make FuturePromise static dispatch 2021-06-21 23:36:54 +08:00
LongYinan
7651fd1f6f
perf(napi): reducer tokio future execution overhead 2021-06-02 23:17:53 +08:00
LongYinan
72960906dc
ci: add memory leak detect job 2021-05-29 23:24:25 +08:00
LongYinan
bb9a819188
feat(napi): impl more types AsRef and AsMut for TypedArray 2021-05-25 00:07:16 +08:00
LongYinan
457cc6f1ee
refactor: change more generic constraint from NapiValue => NapiRaw 2021-05-17 17:29:38 +08:00
LongYinan
b01dae728b
bench: add array suite 2021-05-17 11:42:57 +08:00
LongYinan
daef1956b2
feat(napi): add napi8 features 2021-04-21 23:13:34 +08:00
LongYinan
d1bceccbe6
feat(napi): expose create_string_from_c_char for C ffi scenario 2021-04-14 14:05:07 +08:00
Daniel Henry-Mantilla
4aba159958 Add a way to convert _stateful_ (Rust) closures into JsFunctions. 2021-03-18 21:09:55 +01:00
LongYinan
1e3290cd01
fix(napi): napi_adjust_external_memory issue on wini686 2021-03-12 16:09:57 +08:00
LongYinan
50f207f744
fix(napi): InvalidArg error when create_external with size hint 2021-03-11 19:02:42 +08:00
LongYinan
e622d9693a
feat(napi): unwrap &'static value from Ref object 2021-02-25 22:17:21 +08:00
LongYinan
911a0c139d
feat(napi): Env::create_arraybuffer_with_borrowed_data 2021-01-05 23:27:01 +08:00
LongYinan
2a6c452ce7
refactor(napi): create_buffer_with_borrowed_data now accept not-null finalize_callback 2020-12-24 15:45:59 +08:00
LongYinan
530359421c
refactor(napi): create_buffer_with_borrowed_data now accepted raw ptr 2020-12-24 11:53:23 +08:00
LongYinan
8fcf42eeb6
refactor(napi): create_buffer_with_manually_drop_data => create_buffer_with_borrowed_data 2020-12-23 15:34:10 +08:00
LongYinan
5869e04283
docs: rust doc enhancement 2020-12-22 21:32:50 +08:00
LongYinan
bc25a5603b
fix(napi): adjust_external_memory in raw_finalize callback 2020-12-22 19:43:46 +08:00
LongYinan
1c4265496e
feat(napi): allow provide size_hint in create_external 2020-12-22 11:57:26 +08:00
LongYinan
c4d3876250
fix(napi): remove useless napi_adjust_external_memory in create_external_*_buffer 2020-12-22 11:57:03 +08:00
LongYinan
0446e463c8
fix(napi): memory issues in create_external_buffer 2020-12-21 16:10:30 +08:00
LongYinan
bb5e1f4286
feat(napi): implement create_reference/get_reference_value 2020-12-18 00:07:24 +08:00
LongYinan
c4734e23a1
feat(napi): set and get instance data 2020-12-17 00:27:33 +08:00
LongYinan
932ebcbee5
feat(napi): create_buffer_with_manually_drop_data 2020-12-10 14:26:19 +08:00
LongYinan
f90640d7aa
docs: update documents 2020-12-03 17:17:40 +08:00
LongYinan
ba9744e89c
refactor(napi): reduce useless type cast 2020-12-02 18:39:20 +08:00
LongYinan
5ffb14729d
refactor(napi): js error 2020-12-02 14:56:19 +08:00
LongYinan
c184ab3926
ci: add cargo clippy 2020-12-01 14:58:00 +08:00
LongYinan
1a3621b727
feat(napi): major upgrades for napi@1
1. inline everything
2. change `check_status` and `type_of` to macro
3. provide #[module_exports] macro
4. remove debug and repr[transparent] for ffi struct
2020-11-26 11:31:49 +08:00
LongYinan
c370b8374b
fix(napi): CString memory leak 2020-11-20 10:53:33 +08:00
LongYinan
781ff8dc14
refactor(napi): make NapiTrait to be unsafe
close https://github.com/napi-rs/napi-rs/issues/299
2020-11-20 00:07:20 +08:00
LongYinan
2d47969d08
fix(napi): CString issues 2020-11-19 23:41:29 +08:00
LongYinan
e4f005c735
fix(napi): memory leak with CString 2020-11-15 23:22:29 +08:00
LongYinan
68017ce246
fix(napi): memory leak in create_named_property 2020-11-14 11:45:10 +08:00
LongYinan
1669b3a8f1
fix(napi): windows-i686 release build problem 2020-11-14 00:22:10 +08:00
LongYinan
eb5f4931bd
feat(napi): impl Clone and Drop for ThreadSafeFunction, return Status from ThreadSafeFunction::call 2020-11-11 16:51:11 +08:00
LongYinan
fc0ec0b378
refactor(napi-sys): remove bindgen 2020-11-10 17:52:59 +08:00
LongYinan
47f5011a8f feat(napi): support build on i686-pc-windows-msvc 2020-11-04 23:08:54 +08:00
LongYinan
e559908b76
feat(napi): implement create_array 2020-10-21 15:17:06 +08:00
LongYinan
64d66a2261
chore: tokio@0.3 2020-10-16 20:58:56 +08:00
LongYinan
5a49efe25e
feat: support linux aarch64 2020-10-15 09:12:43 +08:00
LongYinan
809ecfec49
feat(napi): implement create_buffer_copy 2020-10-11 21:54:23 +08:00
LongYinan
6c95d86d2f
feat(napi): implement date related API 2020-10-10 15:02:11 +08:00
LongYinan
c5f2b6699d
refactor(napi): thread safe function redesign 2020-10-04 17:16:35 +08:00
LongYinan
45411a59ea
feat(napi): implement env cleanup hook 2020-10-04 16:02:04 +08:00
LongYinan
a532451fc0
feat(napi): refactor Env::get_global 2020-10-03 14:57:31 +08:00
LongYinan
3eecf1fc5f
fix(napi): arraybuffer implement
close https://github.com/napi-rs/napi-rs/issues/68
2020-09-30 18:23:31 +08:00
LongYinan
9c921ffaa3
refactor(napi): scope and Ref 2020-09-30 15:54:54 +08:00