diff --git a/types/check-sum/check-sum-tests.ts b/types/check-sum/check-sum-tests.ts new file mode 100644 index 0000000000..e1f310e74d --- /dev/null +++ b/types/check-sum/check-sum-tests.ts @@ -0,0 +1,18 @@ +import checksum = require('check-sum'); +import * as fs from 'fs'; + +const stream = fs.createReadStream('package.json'); + +checksum(stream, { + md5: 'asdfasdfasdf', + sha1: 'asdfasdfasdf' +}, err => { + err; // $ExpectType any +}); + +checksum('package.json', { + md5: 'asdfasdfasdf', + sha1: 'asdfasdfasdf' +}, err => { + err; // $ExpectType Error | ChecksumError | undefined +}); diff --git a/types/check-sum/index.d.ts b/types/check-sum/index.d.ts new file mode 100644 index 0000000000..d1e4b7eb02 --- /dev/null +++ b/types/check-sum/index.d.ts @@ -0,0 +1,24 @@ +// Type definitions for check-sum 0.1 +// Project: https://github.com/stream-utils/check-sum +// Definitions by: BendingBender +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// +import { Readable } from 'stream'; + +export = checksum; + +declare function checksum(stream: Readable, hashes: checksum.Hashes, callback: (error: checksum.ChecksumError | any) => void): (fn: () => void) => void; +declare function checksum(path: string, hashes: checksum.Hashes, callback: (error: checksum.ChecksumError | Error | undefined) => void): (fn: () => void) => void; + +declare namespace checksum { + interface ChecksumError { + algorithm: string; + expected: string; + actual: string; + } + + interface Hashes { + [algorithm: string]: string | Buffer; + } +} diff --git a/types/check-sum/tsconfig.json b/types/check-sum/tsconfig.json new file mode 100644 index 0000000000..2143ca3bd6 --- /dev/null +++ b/types/check-sum/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "check-sum-tests.ts" + ] +} diff --git a/types/check-sum/tslint.json b/types/check-sum/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/check-sum/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }