Commit graph

19 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
1553bf7bc4
chore: apply 1.52 clippy rules 2021-05-07 18:19:52 +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
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
e337a58714
chore(napi): remove unsafe from CallContext::this_unchecked 2020-11-20 09:09:57 +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
2993287010
feat(napi): expose length property in CallContext 2020-10-31 22:51:40 +08:00
LongYinan
45411a59ea
feat(napi): implement env cleanup hook 2020-10-04 16:02:04 +08:00
LongYinan
c0277542a2
refactor(napi): from_raw_unchecked and this_unchecked 2020-09-26 17:49:30 +08:00
LongYinan
df5b082141
perf(napi): remove typecheck in CallContext for better performance 2020-09-07 17:26:28 +08:00
LongYinan
76d1258592
feat(napi): implement all object functions 2020-09-03 00:02:41 +08:00
LongYinan
3508956d16
feat(napi): implement either type 2020-07-18 02:11:49 +08:00
LongYinan
0216c55e54
refactor(napi): redesign the JavaScript values API 2020-06-28 23:29:04 +08:00
LongYinan
628452c70a
perf(napi-derive): remove useless alloc in function CallContext 2020-06-21 17:50:38 +08:00
LongYinan
91cca630a9
perf: borrow Env in CallContext 2020-05-09 15:14:44 +08:00
LongYinan
1a280aa30f
refactor(napi): async and lifetime span 2020-05-09 14:13:25 +08:00
LongYinan
4c0341961c
refactor(napi-rs): impl TryFrom instead of TryInto 2020-04-26 18:46:56 +08:00
LongYinan
0b2561225f
feat(derive): js_function derive 2020-04-26 16:36:44 +08:00