Skip to content

Commit e29c0ed

Browse files
committed
fix: handle status in error
1 parent 16e215a commit e29c0ed

File tree

2 files changed

+5
-10
lines changed

2 files changed

+5
-10
lines changed

Diff for: Cargo.toml

+1-7
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,7 @@ napi = { version = "2.1.0", default-features = false, features = [
1313
"async"
1414
] }
1515
napi-derive = "2.1.0"
16-
async-compression = { version = "0.3.12", features = [
17-
"tokio",
18-
"zstd"
19-
] }
20-
tokio = { version = "1", features = [
21-
"full"
22-
] }
16+
zstd = "0.11"
2317

2418
[build-dependencies]
2519
napi-build = "1.2.1"

Diff for: src/lib.rs

+4-3
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ extern crate napi_derive;
33

44
use napi::{
55
bindgen_prelude::AsyncTask,
6-
Env, JsBuffer, JsBufferValue, Ref, Result, Task,
6+
Env, Error, JsBuffer, JsBufferValue, Ref, Result, Status, Task,
77
};
8+
use zstd::stream::{encode_all, decode_all};
89

910
struct Encoder {
1011
data: Ref<JsBufferValue>
@@ -17,7 +18,7 @@ impl Task for Encoder {
1718

1819
fn compute(&mut self) -> Result<Self::Output> {
1920
let data: &[u8] = self.data.as_ref();
20-
Ok(data.to_vec())
21+
encode_all(data, 3).map_err(|e| Error::new(Status::GenericFailure, format!("{}", e)))
2122
}
2223

2324
fn resolve(&mut self, env: Env, output: Self::Output) -> Result<JsBuffer> {
@@ -41,7 +42,7 @@ impl Task for Decoder {
4142

4243
fn compute(&mut self) -> Result<Self::Output> {
4344
let data: &[u8] = self.data.as_ref();
44-
Ok(data.to_vec())
45+
decode_all(data).map_err(|e| Error::new(Status::GenericFailure, format!("{}", e)))
4546
}
4647

4748
fn resolve(&mut self, env: Env, output: Self::Output) -> Result<JsBuffer> {

0 commit comments

Comments
 (0)