LongYinan
bc9e931a4e
feat(napi): provide PromiseRaw for non-await scenario ( #2168 )
2024-07-06 19:09:16 +08:00
LongYinan
ea623903d8
chore: clippy fix ( #2144 )
2024-06-18 13:20:43 +08:00
Ranger
19e3488efc
fix(napi): JsString should respect \0 character to align with String ( #2138 )
...
* fix(napi): JsString should respect \0 character to align with String
* chore(test): update snapshot
2024-06-12 15:20:27 +08:00
Ranger
80d9d87ef9
chore(example): remove JsFunction from example ( #2123 )
...
* chore(example): remove jsfunction
* feat(napi): implement ToNapiValue for Ref as required by TSFN
* fix(test): tsfn test build failed
* chore: lint code
* fix(test): fix tsfn unit test
2024-05-26 21:07:01 +08:00
Ranger
a3b01870a3
feat(napi): support External for compact mode and add JsExternal as deprecated ( #2125 )
2024-05-26 14:43:33 +08:00
magic-akari
734d74bd02
fix(typegen): add missing declare keyword ( #2117 )
2024-05-19 16:53:23 +08:00
renovate[bot]
04da0d9fd1
chore(deps): update dependency sinon to v18 ( #2112 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-16 14:27:55 +08:00
LongYinan
4572ede9f5
refactor(napi): split T and CallJsBackArgs generic type ( #2091 )
2024-05-06 18:25:40 +08:00
LongYinan
f2e5094345
feat(napi-sys): support load Node-API symbols dynamically ( #2014 )
2024-03-27 14:35:16 +08:00
LongYinan
0550c56fcf
fix(napi): External should impl FromNapiRef rather than FromNapiValue ( #2013 )
...
- Close https://github.com/napi-rs/napi-rs/issues/1994
2024-03-25 15:11:11 +08:00
LongYinan
4719caa643
feat(napi): support Return generic of ThreadsafeFunction ( #1997 )
...
* feat(napi): support to use tuple with either (#1993 )
`Either` uses `ValidateNapiValue` + `TypeName` to validate and report error on value not being matched. So there's no way to remove these super traits from it. So I implemented these types to `Tuple` types.
* feat(napi): support `Return` generic of ThreadsafeFunction
* depracate JsFunction
* CalleeHandled tsfn should handle Result in callback
* Pass env to call_with_return_value callback
* Fix compile
* clippy fix
* Fix electron test
* Function args
---------
Co-authored-by: Hana <andywangsy@gmail.com>
2024-03-20 21:37:08 +08:00
LongYinan
0007e3aaf6
chore: upgrade all dependencies ( #1933 )
2024-02-01 12:14:56 +08:00
Janrupf
ac3626a023
fix(napi): Fix buffer corruption and soundness issues ( #1923 )
...
* fix(napi): Fix buffer corruption and soundness issues
* test: fix tests to conform to buffer API
2024-01-29 18:32:28 +08:00
liuyi
e32c105a26
fix(napi-derive): upgrade syn ( #1849 )
2023-12-13 12:40:01 +08:00
LongYinan
db89395966
chore: upgrade all npm dependencies ( #1843 )
2023-12-06 19:41:21 +08:00
LongYinan
7a3cd77bc8
ci: add YARN_IGNORE_NODE on macOS arm64 build
2023-11-02 20:32:36 +08:00
Tom Sherman
3418fd3e8f
feat(napi,sys): implement Symbol.for ( #1721 )
...
Co-authored-by: LongYinan <lynweklm@gmail.com>
2023-09-13 15:45:14 -07:00
LongYinan
05b4be4d80
style: clippy fix ( #1711 )
2023-08-30 16:41:13 +08:00
LongYinan
6d62b3f714
chore: upgrade dependencies ( #1657 )
2023-07-17 14:56:02 +08:00
LongYinan
1d78f6c294
chore: upgrade npm dependencies ( #1557 )
2023-04-11 10:47:52 +08:00
forehal
a781a4f27e
feat(cli): brand new cli tool with both cli and programmatical usage ( #1492 )
...
BREAKING CHANGE: requires node >= 16 and some cli options have been renamed
2023-04-06 11:04:53 +08:00
Victor Teo
aee742f185
feat(napi): property getter and setter with closure ( #1526 )
...
* getter with closure with segment fault
* fix getter closure pointer
* add setter
* Cleanup API
* Add test for `create_function_from_closure`
* Fix compile error
* Fix flaky test title
---------
Co-authored-by: LongYinan <lynweklm@gmail.com>
2023-03-21 11:22:07 +08:00
LongYinan
e9de5681be
fix(napi): also apply electron external data fallback to lowlevel APIs ( #1458 )
...
* fix(napi): also apply electron external data fallback to lowlevel APIs
* chore: allow uninlined_format_args in tests
2023-01-28 21:31:57 +08:00
LongYinan
62b16d6a89
chore: upgrade npm dependencies ( #1443 )
2023-01-19 00:32:52 +08:00
LongYinan
dc3a4c9f25
feat(napi): refactor ThreadsafeFunction to allow get return value of it ( #1427 )
2023-01-11 18:54:45 +08:00
LongYinan
5ab4b818f5
test(napi): remove outdated assersion ( #1423 )
2023-01-09 16:04:18 +08:00
LongYinan
6e4b16fe5d
style: clippy fix
2022-12-16 20:19:39 +08:00
nihohit
1cf32631bf
fix(napi): typed arrays ref shouldn't use offset. ( #1376 )
...
Notice from the n-api docs that the data returned from
`napi_get_typedarray_info` is already adjusted by the byte offset.
https://nodejs.org/api/n-api.html#napi_get_typedarray_info
This means that when `as_ref`/`as_mut` apply the byte offset, the
offset is in practice applied twice.
This wasn't caught in tests because no test tried to modify a typed
array with a byte offset, and the test didn't us the typed array
structs, only `JsTypedArray`. If you want, I can modify the rest of the
functions in examples/napi-compt-mode/src/arraybuffers.rs
and the matching tests, to test all typed arrays.
IMO the `byte_offset` field can be removed entirely from the struct,
but I wanted to submit a minimal PR.
2022-11-30 20:54:13 +08:00
Devon Govett
5541d650a9
feat(napi): add threadsafe deferred values ( #1306 )
2022-10-03 13:00:48 +08:00
Devon Govett
5ba70b0e1a
fix(napi): improve error propagation ( #1303 )
2022-09-14 17:03:11 +08:00
Ben Noordhuis
f301581445
feat(napi): make Error::from_reason() generic
2022-05-01 17:00:24 +02:00
LongYinan
5aa61c2142
fix(napi): use create_buffer/arrary_buffer if provided data is empty
2022-04-26 16:53:13 +08:00
Niklas Mischkulnig
0bdb722097
test(napi): add test for multiple empty buffers
2022-04-23 12:27:47 +02:00
LongYinan
5005aaa5af
chore: upgrade dependencies
2022-03-13 18:30:11 +08:00
LongYinan
d55e4f6f1f
style: format toml files
2022-02-11 10:46:17 +08:00
LongYinan
1f09a0cf77
chore: make example and bench package private
2022-02-09 20:42:00 +08:00
LongYinan
89893cdca3
style: apply clippy suggestion
2022-02-06 10:49:16 +08:00
LongYinan
1531489e18
chore: upgrade to yarn3
2022-01-24 17:25:40 +08:00
LongYinan
b53e0e1e95
fix(napi-derive): BigInt in TypeScript should be bigint
2022-01-06 22:33:34 +08:00
LongYinan
64a28eac87
test: update snapshots format for ava@4
2022-01-04 11:04:45 +08:00
LongYinan
e452c00fb4
feat: edition 2021
2021-12-08 13:18:47 +08:00
LongYinan
49a0139f81
style: clippy fix
2021-12-03 16:49:25 +08:00
LongYinan
4aa56a148c
fix(napi): missing coerce_to_bool on JsValue
2021-11-21 23:10:29 +08:00
LongYinan
4c3fe26478
feat(cli): refactor cli build
2021-11-19 18:22:40 +08:00
LongYinan
3386bb9867
feat(napi): support JsGlobal in Env
2021-11-15 22:41:01 +08:00
LongYinan
30031f09ed
feat(napi): create ThreadsafeFunction from JsFunction
2021-11-12 17:22:57 +08:00
LongYinan
0424a08c06
feat(napi): BigInt codegen support
2021-11-11 16:18:25 +08:00
LongYinan
179f20a7c5
feat(cli): generate js binding to avoid dynamic require logic
2021-11-09 21:43:51 +08:00
LongYinan
e0671fe071
feat(napi): implement Env::throw to throw any JsValue
2021-11-06 23:33:58 +08:00
LongYinan
e74fe2fb94
feat(napi): implement AsyncTask with AbortSignal support
2021-11-06 13:51:54 +08:00