diff options
| author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2023-05-18 16:17:53 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-05-18 16:17:53 +0200 |
| commit | 26a64b4edda3c74e26ebec1d1f6af3ffa155012d (patch) | |
| tree | 29a5941925e3c7a80f22f41449d3334de9611a00 /cli/napi/async.rs | |
| parent | b0f13560cb5a860df042649fbceb8cd728011b8b (diff) | |
refactor(napi): simplify types (#19179)
This commit removes "Error" and "Result" structs from
"ext/napi". In turn all NAPI functions now return "napi_status"
instead of "napi::Result".
Diffstat (limited to 'cli/napi/async.rs')
| -rw-r--r-- | cli/napi/async.rs | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/cli/napi/async.rs b/cli/napi/async.rs index e6695551a..80d128063 100644 --- a/cli/napi/async.rs +++ b/cli/napi/async.rs @@ -18,7 +18,7 @@ fn napi_create_async_work( complete: napi_async_complete_callback, data: *mut c_void, result: *mut napi_async_work, -) -> Result { +) -> napi_status { let mut work = AsyncWork { data, execute, @@ -26,30 +26,38 @@ fn napi_create_async_work( }; let work_box = Box::new(work); *result = transmute::<*mut AsyncWork, _>(Box::into_raw(work_box)); - Ok(()) + napi_ok } #[napi_sym::napi_sym] fn napi_cancel_async_work( _env: &mut Env, _async_work: napi_async_work, -) -> Result { - Ok(()) +) -> napi_status { + napi_ok } /// Frees a previously allocated work object. #[napi_sym::napi_sym] -fn napi_delete_async_work(_env: &mut Env, work: napi_async_work) -> Result { +fn napi_delete_async_work( + _env: &mut Env, + work: napi_async_work, +) -> napi_status { let work = Box::from_raw(work as *mut AsyncWork); drop(work); - Ok(()) + napi_ok } #[napi_sym::napi_sym] -fn napi_queue_async_work(env_ptr: *mut Env, work: napi_async_work) -> Result { +fn napi_queue_async_work( + env_ptr: *mut Env, + work: napi_async_work, +) -> napi_status { let work: &AsyncWork = &*(work as *const AsyncWork); - let env: &mut Env = env_ptr.as_mut().ok_or(Error::InvalidArg)?; + let Some(env) = env_ptr.as_mut() else { + return napi_invalid_arg; + }; let fut = Box::new(move || { (work.execute)(env_ptr as napi_env, work.data); @@ -58,7 +66,7 @@ fn napi_queue_async_work(env_ptr: *mut Env, work: napi_async_work) -> Result { }); env.add_async_work(fut); - Ok(()) + napi_ok } // TODO: Custom async operations. @@ -69,11 +77,11 @@ fn napi_async_init( _async_resource: napi_value, _async_resource_name: napi_value, _result: *mut *mut (), -) -> Result { +) -> napi_status { todo!() } #[napi_sym::napi_sym] -fn napi_async_destroy(_env: *mut Env, _async_context: *mut ()) -> Result { +fn napi_async_destroy(_env: *mut Env, _async_context: *mut ()) -> napi_status { todo!() } |
