DefinitelyTyped/types/scrypt-async/index.d.ts
stesix c54b691628 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
2018-01-24 15:13:16 -08:00

54 lines
3.0 KiB
TypeScript

// 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 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;
(password: number[], salt: number[], logN: number, r: number, dkLen: number, interruptStep: number, callback: CallbackFunc, encoding: string): void;
(password: string, salt: string, logN: number, r: number, dkLen: number, interruptStep: number, callback: CallbackFunc): void;
(password: string, salt: number[], logN: number, r: number, dkLen: number, interruptStep: number, callback: CallbackFunc): void;
(password: number[], salt: string, logN: number, r: number, dkLen: number, interruptStep: number, callback: CallbackFunc): void;
(password: number[], salt: number[], logN: number, r: number, dkLen: number, interruptStep: number, callback: CallbackFunc): void;
(password: string, salt: string, logN: number, r: number, dkLen: number, callback: CallbackFunc, encoding: string): void;
(password: string, salt: number[], logN: number, r: number, dkLen: number, callback: CallbackFunc, encoding: string): void;
(password: number[], salt: string, logN: number, r: number, dkLen: number, callback: CallbackFunc, encoding: string): void;
(password: number[], salt: number[], logN: number, r: number, dkLen: number, callback: CallbackFunc, encoding: string): void;
(password: string, salt: string, logN: number, r: number, dkLen: number, callback: CallbackFunc): void;
(password: string, salt: number[], logN: number, r: number, dkLen: number, callback: CallbackFunc): void;
(password: number[], salt: string, logN: number, r: number, dkLen: number, callback: CallbackFunc): void;
(password: number[], salt: number[], logN: number, r: number, dkLen: number, callback: CallbackFunc): void;
}
}
declare var scrypt: scrypt.ScryptStatic;
export = scrypt;