Added typings for bcrypt-nodejs

This commit is contained in:
David Broder-Rodgers
2015-12-23 11:03:25 +00:00
parent d8359c5a99
commit 8f808f0a03
2 changed files with 98 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
/// <reference path="bcrypt-nodejs.d.ts" />
import bCrypt = require("bcrypt-nodejs");
function test_sync() {
var salt1 = bCrypt.genSaltSync();
var salt2 = bCrypt.genSaltSync(8);
var hash1 = bCrypt.hashSync('super secret');
var hash2 = bCrypt.hashSync('super secret', salt1);
var compare1 = bCrypt.compareSync('super secret', hash1);
var rounds1 = bCrypt.getRounds(hash2);
}
function test_async() {
var cbString = (error: Error, result: string) => {};
var cbVoid = () => {};
var cbBoolean = (error: Error, result: boolean) => {};
bCrypt.genSalt(8, cbString);
var salt = bCrypt.genSaltSync();
bCrypt.hash('super secret', salt, cbString);
bCrypt.hash('super secret', salt, cbVoid, cbString);
var hash = bCrypt.hashSync('super secret');
bCrypt.compare('super secret', hash, cbBoolean);
}
+68
View File
@@ -0,0 +1,68 @@
// Type definitions for bcrypt-nodejs
// Project: https://github.com/shaneGirish/bcrypt-nodejs
// Definitions by: David Broder-Rodgers <https://github.com/DavidBR-SW/>
// Definitions: https://github.com/DavidBR-SW/DefinitelyTyped
declare module "bcrypt-nodejs" {
/**
* Generate a salt synchronously
* @param rounds Number of rounds to process the data for (default - 10)
* @return Generated salt
*/
export function genSaltSync(rounds?: number): string;
/**
* Generate a salt asynchronously
* @param rounds Number of rounds to process the data for (default - 10)
* @param callback Callback with error and resulting salt, to be fired once the salt has been generated
*/
export function genSalt(rounds: number, callback: (error: Error, result: string) => void): void;
/**
* Generate a hash synchronously
* @param data Data to be encrypted
* @param salt Salt to be used in encryption (default - new salt generated with 10 rounds)
* @return Generated hash
*/
export function hashSync(data: string, salt?: string): string;
/**
* Generate a hash asynchronously
* @param data Data to be encrypted
* @param salt Salt to be used in encryption
* @param callback Callback with error and hashed result, to be fired once the data has been encrypted
*/
export function hash(data: string, salt: string, callback: (error: Error, result: string) => void): void;
/**
* Generate a hash asynchronously
* @param data Data to be encrypted
* @param salt Salt to be used in encryption
* @param progressCallback Callback to be fired multiple times during the hash calculation to signify progress
* @param callback Callback with error and hashed result, to be fired once the data has been encrypted
*/
export function hash(data: string, salt: string, progressCallback: () => void, callback: (error: Error, result: string) => void): void;
/**
* Compares data with a hash synchronously
* @param data Data to be compared
* @param hash Hash to be compared to
* @return true if matching, false otherwise
*/
export function compareSync(data: string, hash: string): boolean;
/**
* Compares data with a hash asynchronously
* @param data Data to be compared
* @param hash Hash to be compared to
* @param callback Callback with error and match result, to be fired once the data has been compared
*/
export function compare(data: string, hash: string, callback: (error: Error, result: boolean) => void): void;
/**
* Get number of rounds used for hash
* @param hash Hash from which the number of rounds used should be extracted
* @return number of rounds used to encrypt a given hash
*/
export function getRounds(hash: string): number;
}