Update scrypt-async types to version 1.3.1 (#23163)

* Update scrypt-async types to version 1.3.1

* Change namespace for scrypt-async

Changing the declaration of the namespace will merge the interface
definitions in the exported object. This allows to use scrypt.Options as
a type.

* Fix wrongly defined interfaces in test
This commit is contained in:
stesix
2018-01-24 15:13:16 -08:00
committed by Andy
parent 6d3193f7aa
commit c54b691628
2 changed files with 59 additions and 17 deletions
+20 -4
View File
@@ -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 <https://github.com/xStrom>
// Stefano Sicco <https://github.com/stesix>
// 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;
export = scrypt;
+39 -13
View File
@@ -1,23 +1,49 @@
// Tests by: Kaur Kuut <https://github.com/xStrom>
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);
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 <https://github.com/stesix>
// "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);