LongYinan
53cab27bc4
refactor(napi): Either now perform ValidateNapiValue::validate rather than type_of
2022-07-05 17:01:21 +08:00
Ivan Enderlin
81b07ce5a6
feat(napi) implement Either3
to Either26
.
...
This patch introduces a new macro: `either_n!` that generates the types
`Either{n}` where $3 \leq n \leq 26$. Manual implementations for
`Either3`, `Either4` and `Either5` are removed by this patch too.
The `either_n!` macro is quite classical. There is no particular
trick, except `count_idents!` which simply turns, e.g. `A, B, C` into
`3`. This macro is used by `either_n!` to implement the
`debug_assert!` inside `from_napi_value`.
2022-07-05 17:01:12 +08:00
Jonas Platte
7cf87eaf20
chore(napi): replace lazy_static with once_cell ( #1213 )
2022-06-25 11:19:45 +08:00
LongYinan
2e7f3affe1
Release independent packages
...
napi@2.5.0
napi-derive@2.5.0
napi-build@2.0.1
2022-06-10 15:37:27 +08:00
LongYinan
c1e07b3c12
feat(napi): support into_instance in class struct
2022-06-04 01:07:47 +08:00
Ivan Enderlin
94e95e87e7
feat(napi) Extend #1195 to Vec<T>
.
...
This patch is the sequel of
https://github.com/napi-rs/napi-rs/pull/1195 where `ToNapiValue` and
`FromNapiValue` are implemented for all `Vec<T>` where `T` is a 8 or
16 bits number.
2022-05-30 16:29:44 +02:00
Sunli
5cdfc8cb7e
feat(napi) implement From<Infallible>
for napi::Error
2022-05-30 21:44:03 +08:00
Ivan Enderlin
56e71a76d3
feat(napi) Return an error instead of panicking.
2022-05-25 14:43:23 +08:00
Ivan Enderlin
cb2a407228
feat(napi) Implement ToNapiValue
for 8 and 16-bits numbers.
...
`napi` only supports numbers in 16 and 32-bits. To support Rust
numbers with 8 and 16-bits, we can cast them to 32-bits. To convert
from 8 and 16-bits to 32-bits, we use their `Into` implementation. To
convert from 32-bits to 8 and 16-bits, we use their `TryInto`, we
should theorically not fail, but in case of, an `except` message is
appended.
The code has also been re-indented as it was containing a mix of 2
spaces, 4 spaces and tabs identation.
2022-05-25 14:43:23 +08:00
messense
5cbeac59dc
Add rust-version
field to Cargo.toml
s ( #1190 )
2022-05-20 16:23:10 +08:00
LongYinan
822f4af1cc
Release independent packages
...
- napi@2.4.3
2022-05-12 16:59:33 +08:00
LongYinan
a5c19ce1da
fix(napi): type constraint for either types
2022-05-12 15:12:32 +08:00
LongYinan
fb8d8b97d6
Release independent packages
...
napi@2.4.2
napi-derive@2.4.2
napi-sys@2.2.2
2022-05-10 22:32:06 +08:00
LongYinan
47fcc8501a
fix(napi): missing iterator implementation from class factory
2022-05-10 21:50:20 +08:00
Devon Govett
27402aee81
feat(napi): add support for weak references
2022-05-10 21:09:45 +08:00
LongYinan
65b4b34f40
test(napi): add electron tests
2022-05-10 18:39:37 +08:00
LongYinan
788a962137
fix(napi): drop all thread_local! usage
2022-05-10 18:39:36 +08:00
LongYinan
79d7453713
Release independent packages
2022-05-07 20:23:01 +08:00
LongYinan
e551bd7c1a
fix(napi): load Node-API symbols manually on Windows
2022-05-07 18:54:37 +08:00
LongYinan
daf5f1f9e9
Release independent packages
...
- napi@2.4.0
- napi-derive@2.4.0
- napi-sys@2.2.0
- napi-build@2.0.0
2022-05-07 15:51:22 +08:00
LongYinan
1bf072ad7d
refactor(napi): use libloading on Windows
2022-05-06 22:27:09 +08:00
LongYinan
a3356264f2
feat(napi): experimental iterator support
2022-05-06 18:03:04 +08:00
LongYinan
b074608582
docs: broken example in README.md
...
Fix https://github.com/napi-rs/napi-rs/issues/1158
2022-05-06 17:46:20 +08:00
LongYinan
4b06121c5e
docs: broken links for Prisma and Next.js
2022-05-05 11:59:06 +08:00
Devon Govett
91c62c4616
fix(napi): handle the referenced object is finalized before Reference::drop
2022-05-03 21:59:42 +08:00
Ben Noordhuis
f301581445
feat(napi): make Error::from_reason() generic
2022-05-01 17:00:24 +02:00
LongYinan
2fecc109ef
Release independent packages
...
napi@2.3.3
napi-derive@2.3.2
2022-04-27 14:14:04 +08:00
LongYinan
66a107a4b9
chore(napi): upgrade windows crate
2022-04-27 13:59:56 +08:00
LongYinan
2e96297e1a
chore: drop node 17, add node 18
2022-04-27 13:17:39 +08:00
LongYinan
cf6b2c9241
chore: upgrade dependencies
2022-04-27 00:57:57 +08:00
LongYinan
878b843f29
feat(napi): support return Reference on class instance
2022-04-26 18:21:55 +08:00
LongYinan
5aa61c2142
fix(napi): use create_buffer/arrary_buffer if provided data is empty
2022-04-26 16:53:13 +08:00
LongYinan
a41cc07f21
Release independent packages
...
napi@2.3.2
napi-derive@2.3.1
2022-04-25 16:09:57 +08:00
Niklas Mischkulnig
39e55a39c9
fix(napi): use null pointer for empty buffers
2022-04-23 12:27:44 +02:00
Gabriel Francisco
581e3bbb87
chore(napi): add u64 to BigInt conversion through From trait ( #1143 )
...
* Add u64 to BigInt conversion through From trait
* Fix lint
2022-04-23 00:29:18 +08:00
LongYinan
e81e3dbb2e
Release independent packages
...
napi@2.3.1
2022-04-15 21:41:14 +08:00
Chanakya
09d7fd671a
fix cannot find trait ToNapiValue
error
2022-04-15 21:02:40 +08:00
LongYinan
ce308a3b54
Release independent packages
...
napi@2.3.0
napi-derive@2.3.0
2022-04-14 17:27:21 +08:00
LongYinan
c553dcd4e0
feat(napi): relax the value type on ThreadSafeFunction
2022-04-14 14:24:47 +08:00
LongYinan
f05ced0782
feat(napi): add from_unknown method on FromNapiValue
2022-04-14 14:24:47 +08:00
Walt Seymour
73882337cc
unrwap -> unwrap
2022-04-14 14:24:32 +08:00
LongYinan
c605911cdf
chore(napi): show tips if create different buffers with same data
2022-04-13 13:24:53 +08:00
LongYinan
1d1c1706d5
Release independent packages
...
napi@2.3.0-alpha.1
napi-derive@2.3.0-alpha.1
2022-04-13 13:24:53 +08:00
LongYinan
63a557f6cc
test(napi): add memory tests for Reference
2022-04-13 13:24:53 +08:00
LongYinan
6a252c70d2
fix(napi): make buffer Send & Sync safe
2022-04-13 13:24:53 +08:00
LongYinan
6eec0f93c1
feat(napi): redesign the Reference API ( #1118 )
...
- Reference now is inject by #[napi] macro
- Class Reference and underlaying data now have the same lifetime
2022-04-13 13:24:53 +08:00
LongYinan
be0f4760ff
Release independent packages
...
napi@2.3.0-canary.0
napi-derive@2.3.0-canary.0
2022-04-13 13:24:53 +08:00
LongYinan
5c3d1b2144
feat(napi): experimental class reference API
2022-04-13 13:24:53 +08:00
LongYinan
9b0103cf22
fix(napi): remove CString::from_vec_with_nul_unchecked
2022-04-13 01:29:23 +08:00
Stéphan Kochen
50f62f40d7
fix(napi): double allocation in create_buffer
2022-04-01 14:31:29 +08:00