Commit graph

53 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
7651fd1f6f
perf(napi): reducer tokio future execution overhead 2021-06-02 23:17:53 +08:00
LongYinan
daef1956b2
feat(napi): add napi8 features 2021-04-21 23:13:34 +08:00
LongYinan
5869e04283
docs: rust doc enhancement 2020-12-22 21:32:50 +08:00
LongYinan
8513e4f796
docs: napi6 should be napi7 2020-12-10 14:26:53 +08:00
LongYinan
f90640d7aa
docs: update documents 2020-12-03 17:17:40 +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
2d47969d08
fix(napi): CString issues 2020-11-19 23:41:29 +08:00
LongYinan
add6e2b9dc
fix(napi): import name conflict 2020-11-12 11:41:41 +08:00
LongYinan
fc0ec0b378
refactor(napi-sys): remove bindgen 2020-11-10 17:52:59 +08:00
LongYinan
f9ec712d57
Merge pull request #283 from napi-rs/simplify-module-register
chore(napi): simplify module register, support node@10+
2020-11-04 17:41:19 +08:00
LongYinan
078d1ed2d0
chore(napi): simplify module register, support node@10+ 2020-11-04 15:54:57 +08:00
adumbidiot
e36e1e1fbb Copy win_delay_load_hook from Neon 2020-10-30 18:24:19 -07:00
LongYinan
826ebd9847
refactor(napi): module register logic 2020-10-14 11:30:41 +08:00
LongYinan
45411a59ea
feat(napi): implement env cleanup hook 2020-10-04 16:02:04 +08:00
LongYinan
9c921ffaa3
refactor(napi): scope and Ref 2020-09-30 15:54:54 +08:00
LongYinan
fb4d07edd4
feat: add benchmark crate and frameworks 2020-09-30 15:31:17 +08:00
LongYinan
df5b082141
perf(napi): remove typecheck in CallContext for better performance 2020-09-07 17:26:28 +08:00
LongYinan
9aec0ec38e
docs: upgrade docs 2020-09-03 20:38:28 +08:00
LongYinan
ea3fff25ae
feat(napi): serde-json feature 2020-09-01 23:48:02 +08:00
LongYinan
64df7205e9
refactor(napi): change data to &'static [u8] in JsBuffer 2020-08-10 13:52:05 +08:00
LongYinan
3508956d16
feat(napi): implement either type 2020-07-18 02:11:49 +08:00
LongYinan
244db37c3b
refactor: decouple sys module of new napi-rs into a crate 2020-07-15 00:59:41 +08:00
LongYinan
cce5f1fe00
fix(napi): missing declaration in register_module macro 2020-07-14 23:53:00 +08:00
LongYinan
62482ab2e6
doc: add some documents 2020-07-14 23:05:08 +08:00
LongYinan
9118e9e62d
feat(napi): implment tokio_rt feature 2020-07-14 22:58:05 +08:00
LongYinan
f4a331cfe2
feat(napi): provide execute function to run Future on libuv 2020-07-07 11:57:32 +08:00
LongYinan
0d5f03f845
feat: move napi version features setup to build package 2020-07-02 00:40:36 +08:00
LongYinan
0216c55e54
refactor(napi): redesign the JavaScript values API 2020-06-28 23:29:04 +08:00
Ouyang Yadong
f126a0581f feat(napi): impl threadsafe function api 2020-06-28 22:47:08 +08:00
LongYinan
79401d693e
feat(napi): implement create_external and get_value_external 2020-06-19 16:16:28 +08:00
LongYinan
422682c8b8
test: setup test framework in test_module project 2020-06-17 20:53:41 +08:00
Ouyang Yadong
4baff91a58 feat(napi): impl is_date 2020-06-15 21:15:59 +08:00
LongYinan
28257b45c1
feat(napi): support musl linux
drop future executor due to mutithreads bug.
2020-06-11 16:20:37 +08:00
LongYinan
ec235d284d
refactor(spawn): napi_async_worker implementation 2020-05-15 14:03:02 +08:00
LongYinan
869ed76c0b
feat(napi): impl spawn for tasks need to be run in the other thread 2020-05-11 16:32:57 +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
57b319273c
feat(napi): impl get_value for Boolean 2020-05-01 23:52:01 +08:00
LongYinan
f74c383408
feat(napi): tweaks
env.throw_error
String => JsString
JsString.as_str
Status into napi_status
2020-05-01 01:27:01 +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
LongYinan
f29ddc3a19
feat(napi): impl create_uint32 2020-04-20 00:43:48 +08:00
LongYinan
fa8e1be7b9
refactor(napi-rs): make api calls more safety 2020-04-19 18:52:32 +08:00
LongYinan
de6863cd3a
feat: support basic arrayBuffer 2020-04-08 23:58:50 +08:00
LongYinan
5574930e18
feat(napi): implement serde feature 2020-04-03 00:09:44 +08:00
LongYinan
1e4aa3a2a5
feat(buffer): implement from_value 2020-02-22 12:34:04 +08:00