diff --git a/types/tokgen/index.d.ts b/types/tokgen/index.d.ts new file mode 100644 index 0000000000..50a1abf7b9 --- /dev/null +++ b/types/tokgen/index.d.ts @@ -0,0 +1,24 @@ +// Type definitions for tokgen 1.0 +// Project: https://github.com/maxtruxa/tokgen#readme +// Definitions by: Jonas Lochmann +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export = TokenGenerator; + +declare class TokenGenerator { + constructor(options?: TokenGenerator.Options); + + generate(length?: number): string; + generate(length: number, callback: TokenGenerator.Callback): void; + generate(callback: TokenGenerator.Callback): void; +} + +declare namespace TokenGenerator { + interface OptionsObject { + chars?: string; + length?: number; + } + + type Options = number | string | OptionsObject; + type Callback = (error: any, token: string) => void; +} diff --git a/types/tokgen/tokgen-tests.ts b/types/tokgen/tokgen-tests.ts new file mode 100644 index 0000000000..af3f384fcd --- /dev/null +++ b/types/tokgen/tokgen-tests.ts @@ -0,0 +1,20 @@ +import * as TokenGenerator from 'tokgen'; + +const generator1 = new TokenGenerator(); +const generator2 = new TokenGenerator('0-9a-f'); +const generator3 = new TokenGenerator({chars: '0-9a-f'}); +const generator4 = new TokenGenerator(8); +const generator5 = new TokenGenerator({length: 8}); +const generator6 = new TokenGenerator({chars: '0-9a-f', length: 8}); + +const token1 = generator1.generate(); + +const token2 = generator1.generate(10); + +generator1.generate((error, token) => { + // nothing to do in this test +}); + +generator1.generate(8, (error, token) => { + // nothing to do in this test +}); diff --git a/types/tokgen/tsconfig.json b/types/tokgen/tsconfig.json new file mode 100644 index 0000000000..5a6995c482 --- /dev/null +++ b/types/tokgen/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "tokgen-tests.ts" + ] +} diff --git a/types/tokgen/tslint.json b/types/tokgen/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/tokgen/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }