Skip to content

Commit 345fc04

Browse files
author
LongYinan
committed
perf(crc32): avoid useless typeof
1 parent 0266140 commit 345fc04

File tree

2 files changed

+7
-15
lines changed

2 files changed

+7
-15
lines changed

packages/crc32/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ const { loadBinding } = require('@node-rs/helper')
33
const binding = loadBinding(__dirname, 'crc32', '@node-rs/crc32')
44

55
module.exports = {
6-
crc32: function crc32(input, crc) {
6+
crc32: function crc32(input, crc = 0) {
77
const _input = Buffer.isBuffer(input) ? input : Buffer.from(input)
88
return binding.crc32(_input, crc)
99
},
10-
crc32c: function crc32c(input, crc) {
10+
crc32c: function crc32c(input, crc = 0) {
1111
const _input = Buffer.isBuffer(input) ? input : Buffer.from(input)
1212
return binding.crc32c(_input, crc)
1313
},

packages/crc32/src/lib.rs

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ extern crate napi;
33
#[macro_use]
44
extern crate napi_derive;
55

6-
use crate::crc32::{crc32c as native_crc32c, crc32c_append};
6+
use crate::crc32::crc32c_append;
77
use crc32fast::Hasher;
88
use napi::{CallContext, JsBuffer, JsNumber, Module, Result};
99
use std::convert::TryInto;
@@ -31,24 +31,16 @@ fn init(module: &mut Module) -> Result<()> {
3131
#[js_function(2)]
3232
fn crc32c(ctx: CallContext) -> Result<JsNumber> {
3333
let input_data = ctx.get::<JsBuffer>(0)?;
34-
let init_state = ctx.get::<JsNumber>(1);
35-
let result = if init_state.is_ok() {
36-
crc32c_append(&input_data, init_state?.try_into()?)
37-
} else {
38-
native_crc32c(&input_data)
39-
};
34+
let init_state = ctx.get::<JsNumber>(1)?;
35+
let result = crc32c_append(&input_data, init_state.try_into()?);
4036
ctx.env.create_uint32(result)
4137
}
4238

4339
#[js_function(2)]
4440
fn crc32(ctx: CallContext) -> Result<JsNumber> {
4541
let input_data = ctx.get::<JsBuffer>(0)?;
46-
let init_state = ctx.get::<JsNumber>(1);
47-
let mut hasher = if init_state.is_ok() {
48-
Hasher::new_with_initial(init_state?.try_into()?)
49-
} else {
50-
Hasher::new()
51-
};
42+
let init_state = ctx.get::<JsNumber>(1)?;
43+
let mut hasher = Hasher::new_with_initial(init_state.try_into()?);
5244
hasher.update(&input_data);
5345
ctx.env.create_uint32(hasher.finalize())
5446
}

0 commit comments

Comments
 (0)