diff --git a/types/uid-generator/index.d.ts b/types/uid-generator/index.d.ts index 01850e55ab..a27f808bc5 100644 --- a/types/uid-generator/index.d.ts +++ b/types/uid-generator/index.d.ts @@ -1,21 +1,22 @@ // Type definitions for uid-generator 2.0 // Project: https://github.com/nwoltman/node-uid-generator // Definitions by: TheEmrio +// KyleChine // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -export interface UIDGenerator { +interface UIDGeneratorInstance { readonly bitSize: number; readonly uidLength: number; readonly baseEncoding: string; readonly base: number; generateSync(): string; generate(): Promise; - generate(cb: (uid: string) => any): void; + generate(cb: (error: Error|null, uid: string) => any): void; } -export interface UIDGeneratorConstructor { - new (bitSize?: number, baseEncoding?: string): UIDGenerator; - new (baseEncoding?: string): UIDGenerator; +interface UIDGeneratorClass { + new (bitSize?: number, baseEncoding?: string): UIDGeneratorInstance; + new (baseEncoding?: string): UIDGeneratorInstance; readonly BASE16: '0123456789abcdef'; readonly BASE36: '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'; readonly BASE58: '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'; @@ -25,4 +26,6 @@ export interface UIDGeneratorConstructor { readonly BASE94: "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"; } -export const UIDGenerator: UIDGeneratorConstructor; +declare const UIDGenerator: UIDGeneratorClass; + +export { UIDGenerator as default, UIDGeneratorClass, UIDGeneratorInstance }; diff --git a/types/uid-generator/tsconfig.json b/types/uid-generator/tsconfig.json index dabe9d7be2..4465512954 100644 --- a/types/uid-generator/tsconfig.json +++ b/types/uid-generator/tsconfig.json @@ -4,6 +4,7 @@ "lib": [ "es6" ], + "target": "es6", "noImplicitAny": true, "noImplicitThis": true, "strictFunctionTypes": true, diff --git a/types/uid-generator/uid-generator-tests.ts b/types/uid-generator/uid-generator-tests.ts index c2d4e8b7fc..3459feb5f7 100644 --- a/types/uid-generator/uid-generator-tests.ts +++ b/types/uid-generator/uid-generator-tests.ts @@ -1,14 +1,17 @@ -import { UIDGenerator } from 'uid-generator'; +import { default as UIDGenerator } from 'uid-generator'; -new UIDGenerator('abc'); // $ExpectType UIDGenerator -const generator = new UIDGenerator(128, 'abc'); // $ExpectType UIDGenerator +new UIDGenerator('abc'); // $ExpectType UIDGeneratorInstance +const generator = new UIDGenerator(128, 'abc'); // $ExpectType UIDGeneratorInstance generator.generateSync(); // $ExpectType string -generator.generate(uid => { +generator.generate((err, uid) => { + err; // $ExpectType Error | null uid; // $ExpectType string }); generator.generate().then(uid => { uid; // $ExpectType string +}).catch(e => { + e; // $ExpectType any }); generator.bitSize; // $ExpectType number