Skip to content

Commit d30baf4

Browse files
authored
Merge pull request #675 from napi-rs/gen-salt-optional
fix(bcrypt): version of genSalt should be optional
2 parents a705e0c + dc3700b commit d30baf4

File tree

1 file changed

+11
-15
lines changed

1 file changed

+11
-15
lines changed

packages/bcrypt/src/lib.rs

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,29 +22,25 @@ mod verify_task;
2222
pub const DEFAULT_COST: u32 = 12;
2323

2424
#[napi]
25-
pub fn gen_salt_sync(round: u32, version: String) -> Result<String> {
25+
pub fn gen_salt_sync(round: u32, version: Option<String>) -> Result<String> {
2626
let salt = gen_salt().map_err(|err| {
2727
Error::new(
2828
Status::GenericFailure,
2929
format!("Generate salt failed {err}"),
3030
)
3131
})?;
32-
Ok(format_salt(
33-
round,
34-
&version_from_str(version.as_str())?,
35-
&salt,
36-
))
32+
Ok(format_salt(round, &version_from_str(version)?, &salt))
3733
}
3834

3935
#[napi(js_name = "genSalt")]
4036
pub fn gen_salt_js(
4137
round: u32,
42-
version: String,
38+
version: Option<String>,
4339
signal: Option<AbortSignal>,
4440
) -> Result<AsyncTask<salt_task::SaltTask>> {
4541
let task = salt_task::SaltTask {
4642
round,
47-
version: version_from_str(version.as_str())?,
43+
version: version_from_str(version)?,
4844
};
4945
Ok(AsyncTask::with_optional_signal(task, signal))
5046
}
@@ -119,13 +115,13 @@ pub fn verify(
119115
}
120116

121117
#[inline]
122-
fn version_from_str(version: &str) -> Result<Version> {
123-
match version {
124-
"2a" => Ok(Version::TwoA),
125-
"2b" => Ok(Version::TwoB),
126-
"2y" => Ok(Version::TwoX),
127-
"2x" => Ok(Version::TwoY),
128-
_ => Err(Error::new(
118+
fn version_from_str(version: Option<String>) -> Result<Version> {
119+
match version.as_deref() {
120+
Some("2a") => Ok(Version::TwoA),
121+
Some("2b") | None => Ok(Version::TwoB),
122+
Some("2y") => Ok(Version::TwoX),
123+
Some("2x") => Ok(Version::TwoY),
124+
Some(version) => Err(Error::new(
129125
Status::InvalidArg,
130126
format!("{version} is not a valid version"),
131127
)),

0 commit comments

Comments
 (0)