diff --git a/types/scrypt-async/index.d.ts b/types/scrypt-async/index.d.ts index e4a1867a1f..f3176c9e13 100644 --- a/types/scrypt-async/index.d.ts +++ b/types/scrypt-async/index.d.ts @@ -1,15 +1,31 @@ -// Type definitions for scrypt-async v1.2.0 +// Type definitions for scrypt-async v1.3.1 // Project: https://github.com/dchest/scrypt-async-js // Definitions by: Kaur Kuut +// Stefano Sicco // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -declare namespace ScryptAsync { +declare namespace scrypt { interface CallbackFunc { (key: string): any; (key: number[]): any; } + interface Options { + N?: number; + logN?: number; + r: number; + p: number; + dkLen: number; + encoding?: string; + interruptStep?: number; + } + interface ScryptStatic { + (password: string, salt: string, options: Options, callback: CallbackFunc): void; + (password: number[], salt: string, options: Options, callback: CallbackFunc): void; + (password: string, salt: number[], options: Options, callback: CallbackFunc): void; + (password: number[], salt: number[], options: Options, callback: CallbackFunc): void; + (password: string, salt: string, logN: number, r: number, dkLen: number, interruptStep: number, callback: CallbackFunc, encoding: string): void; (password: string, salt: number[], logN: number, r: number, dkLen: number, interruptStep: number, callback: CallbackFunc, encoding: string): void; (password: number[], salt: string, logN: number, r: number, dkLen: number, interruptStep: number, callback: CallbackFunc, encoding: string): void; @@ -32,6 +48,6 @@ declare namespace ScryptAsync { } } -declare var scrypt: ScryptAsync.ScryptStatic; +declare var scrypt: scrypt.ScryptStatic; -export = scrypt; \ No newline at end of file +export = scrypt; diff --git a/types/scrypt-async/scrypt-async-tests.ts b/types/scrypt-async/scrypt-async-tests.ts index ed12c9a5e5..e2a43fefee 100644 --- a/types/scrypt-async/scrypt-async-tests.ts +++ b/types/scrypt-async/scrypt-async-tests.ts @@ -1,23 +1,49 @@ // Tests by: Kaur Kuut import scrypt = require("scrypt-async"); -var callback = function(key: string | number[]) { }; +var callback: scrypt.CallbackFunc = function(key: string | number[]) { }; scrypt("abc", "def", 10, 8, 32, 1000, callback, "base64"); -scrypt("abc", [4,5,6], 10, 8, 32, 1000, callback, "base64"); -scrypt([1,2,3], "def", 10, 8, 32, 1000, callback, "base64"); -scrypt([1,2,3], [4,5,6], 10, 8, 32, 1000, callback, "base64"); +scrypt("abc", [100, 101, 102], 10, 8, 32, 1000, callback, "base64"); +scrypt([97, 98, 99], "def", 10, 8, 32, 1000, callback, "base64"); +scrypt([97, 98, 99], [100, 101, 102], 10, 8, 32, 1000, callback, "base64"); scrypt("abc", "def", 10, 8, 32, 1000, callback); -scrypt("abc", [4,5,6], 10, 8, 32, 1000, callback); -scrypt([1,2,3], "def", 10, 8, 32, 1000, callback); -scrypt([1,2,3], [4,5,6], 10, 8, 32, 1000, callback); +scrypt("abc", [100, 101, 102], 10, 8, 32, 1000, callback); +scrypt([97, 98, 99], "def", 10, 8, 32, 1000, callback); +scrypt([97, 98, 99], [100, 101, 102], 10, 8, 32, 1000, callback); scrypt("abc", "def", 10, 8, 32, callback, "base64"); -scrypt("abc", [4,5,6], 10, 8, 32, callback, "base64"); -scrypt([1,2,3], "def", 10, 8, 32, callback, "base64"); -scrypt([1,2,3], [4,5,6], 10, 8, 32, callback, "base64"); +scrypt("abc", [100, 101, 102], 10, 8, 32, callback, "base64"); +scrypt([97, 98, 99], "def", 10, 8, 32, callback, "base64"); +scrypt([97, 98, 99], [100, 101, 102], 10, 8, 32, callback, "base64"); scrypt("abc", "def", 10, 8, 32, callback); -scrypt("abc", [4,5,6], 10, 8, 32, callback); -scrypt([1,2,3], "def", 10, 8, 32, callback); -scrypt([1,2,3], [4,5,6], 10, 8, 32, callback); \ No newline at end of file +scrypt("abc", [100, 101, 102], 10, 8, 32, callback); +scrypt([97, 98, 99], "def", 10, 8, 32, callback); +scrypt([97, 98, 99], [100, 101, 102], 10, 8, 32, callback); + +// Tests by: Stefano Sicco +// "abc" === [97, 98, 99] +// "def" === [100, 101, 102] + + + +var opts: scrypt.Options = { + r: 8, + p: 1, + dkLen: 32, + encoding: 'base64', + interruptStep: 1000 +}; +opts.N = 1024; + +scrypt("abc", "def", opts, callback); +scrypt("abc", [100, 101, 102], opts, callback); +scrypt([97, 98, 99], "def", opts, callback); +scrypt([97, 98, 99], [100, 101, 102], opts, callback); + +opts.logN = 10; +scrypt("abc", "def", opts, callback); +scrypt("abc", [100, 101, 102], opts, callback); +scrypt([97, 98, 99], "def", opts, callback); +scrypt([97, 98, 99], [100, 101, 102], opts, callback);