diff --git a/packages/bcrypt/README.md b/packages/bcrypt/README.md index c7fd3596..f1f9f37a 100644 --- a/packages/bcrypt/README.md +++ b/packages/bcrypt/README.md @@ -43,15 +43,13 @@ export function compare(password: string | Buffer, hash: string | Buffer): Promi export type Version = '2a' | '2x' | '2y' | '2b' /** - * @param round default 10 * @param version default '2b' */ -export function genSaltSync(round?: number, version?: Version): string +export function genSaltSync(round: number, version?: Version): string /** - * @param round default 10 * @param version default '2b' */ -export function genSalt(round?: number, version?: Version): Promise +export function genSalt(round: number, version?: Version): Promise ``` ## Bench diff --git a/packages/bcrypt/__tests__/bcrypt.spec.ts b/packages/bcrypt/__tests__/bcrypt.spec.ts index dd03c27a..c875d3be 100644 --- a/packages/bcrypt/__tests__/bcrypt.spec.ts +++ b/packages/bcrypt/__tests__/bcrypt.spec.ts @@ -1,6 +1,6 @@ import test from 'ava' -import { verifySync, compareSync, verify, compare, hash } from '../index' +import { verifySync, compareSync, verify, compare, hash, genSaltSync, genSalt } from '../index' const { hashSync } = require('bcryptjs') @@ -8,6 +8,24 @@ const fx = Buffer.from('bcrypt-test-password') const hashedPassword = hashSync(fx.toString('utf8'), 10) +test('genSaltSync should return a string', (t) => { + t.is(typeof genSaltSync(10), 'string') + t.is(typeof genSaltSync(10, '2a'), 'string') + t.is(typeof genSaltSync(10, '2b'), 'string') + t.is(typeof genSaltSync(10, '2y'), 'string') + t.is(typeof genSaltSync(10, '2x'), 'string') + t.throws(() => genSaltSync(10, 'invalid' as any)) +}) + +test('genSalt should return a string', async (t) => { + t.is(typeof (await genSalt(10)), 'string') + t.is(typeof (await genSalt(10, '2a')), 'string') + t.is(typeof (await genSalt(10, '2b')), 'string') + t.is(typeof (await genSalt(10, '2y')), 'string') + t.is(typeof (await genSalt(10, '2x')), 'string') + await t.throwsAsync(async () => genSalt(10, 'invalid' as any)) +}) + test('verifySync hashed password from bcrypt should be true', (t) => { t.true(verifySync(fx, hashedPassword)) }) diff --git a/packages/bcrypt/binding.d.ts b/packages/bcrypt/binding.d.ts index dc017847..4f89446d 100644 --- a/packages/bcrypt/binding.d.ts +++ b/packages/bcrypt/binding.d.ts @@ -4,8 +4,8 @@ /* auto-generated by NAPI-RS */ export const DEFAULT_COST: number -export function genSaltSync(round: number, version: string): string -export function genSalt(round: number, version: string, signal?: AbortSignal | undefined | null): Promise +export function genSaltSync(round: number, version?: '2a' | '2x' | '2y' | '2b'): string +export function genSalt(round: number, version?: '2a' | '2x' | '2y' | '2b', signal?: AbortSignal): Promise export function hashSync( input: string | Buffer, cost?: number | undefined | null, diff --git a/packages/bcrypt/src/lib.rs b/packages/bcrypt/src/lib.rs index 496f37f5..70d87b4c 100644 --- a/packages/bcrypt/src/lib.rs +++ b/packages/bcrypt/src/lib.rs @@ -21,7 +21,7 @@ mod verify_task; #[napi] pub const DEFAULT_COST: u32 = 12; -#[napi] +#[napi(ts_args_type = "round: number, version?: '2a' | '2x' | '2y' | '2b'")] pub fn gen_salt_sync(round: u32, version: Option) -> Result { let salt = gen_salt().map_err(|err| { Error::new( @@ -32,7 +32,10 @@ pub fn gen_salt_sync(round: u32, version: Option) -> Result { Ok(format_salt(round, &version_from_str(version)?, &salt)) } -#[napi(js_name = "genSalt")] +#[napi( + js_name = "genSalt", + ts_args_type = "round: number, version?: '2a' | '2x' | '2y' | '2b', signal?: AbortSignal" +)] pub fn gen_salt_js( round: u32, version: Option, @@ -119,8 +122,8 @@ fn version_from_str(version: Option) -> Result { match version.as_deref() { Some("2a") => Ok(Version::TwoA), Some("2b") | None => Ok(Version::TwoB), - Some("2y") => Ok(Version::TwoX), - Some("2x") => Ok(Version::TwoY), + Some("2x") => Ok(Version::TwoX), + Some("2y") => Ok(Version::TwoY), Some(version) => Err(Error::new( Status::InvalidArg, format!("{version} is not a valid version"), diff --git a/packages/deno-lint/index.js b/packages/deno-lint/index.js index ce1ff9d1..5733e8e5 100644 --- a/packages/deno-lint/index.js +++ b/packages/deno-lint/index.js @@ -1,3 +1,9 @@ +/* tslint:disable */ +/* eslint-disable */ +/* prettier-ignore */ + +/* auto-generated by NAPI-RS */ + const { existsSync, readFileSync } = require('fs') const { join } = require('path') diff --git a/packages/jieba/index.js b/packages/jieba/index.js index cf3ad2a8..76b71d36 100644 --- a/packages/jieba/index.js +++ b/packages/jieba/index.js @@ -1,3 +1,9 @@ +/* tslint:disable */ +/* eslint-disable */ +/* prettier-ignore */ + +/* auto-generated by NAPI-RS */ + const { existsSync, readFileSync } = require('fs') const { join } = require('path') diff --git a/packages/jsonwebtoken/index.js b/packages/jsonwebtoken/index.js index 4ca0ecee..d5b60ada 100644 --- a/packages/jsonwebtoken/index.js +++ b/packages/jsonwebtoken/index.js @@ -1,3 +1,9 @@ +/* tslint:disable */ +/* eslint-disable */ +/* prettier-ignore */ + +/* auto-generated by NAPI-RS */ + const { existsSync, readFileSync } = require('fs') const { join } = require('path') diff --git a/packages/xxhash/index.js b/packages/xxhash/index.js index fa714f9a..093e6f13 100644 --- a/packages/xxhash/index.js +++ b/packages/xxhash/index.js @@ -1,3 +1,9 @@ +/* tslint:disable */ +/* eslint-disable */ +/* prettier-ignore */ + +/* auto-generated by NAPI-RS */ + const { existsSync, readFileSync } = require('fs') const { join } = require('path')