From c72f0498c1c6ca91bbf4b190351eb65849f6c469 Mon Sep 17 00:00:00 2001 From: Dimitri Benin Date: Fri, 1 Feb 2019 20:11:54 +0100 Subject: [PATCH] [byte-range] Add types --- types/byte-range/byte-range-tests.ts | 10 ++++++ types/byte-range/index.d.ts | 49 ++++++++++++++++++++++++++++ types/byte-range/tsconfig.json | 23 +++++++++++++ types/byte-range/tslint.json | 1 + 4 files changed, 83 insertions(+) create mode 100644 types/byte-range/byte-range-tests.ts create mode 100644 types/byte-range/index.d.ts create mode 100644 types/byte-range/tsconfig.json create mode 100644 types/byte-range/tslint.json diff --git a/types/byte-range/byte-range-tests.ts b/types/byte-range/byte-range-tests.ts new file mode 100644 index 0000000000..150d6b0fc2 --- /dev/null +++ b/types/byte-range/byte-range-tests.ts @@ -0,0 +1,10 @@ +import byteRange = require('byte-range'); + +byteRange(1); // $ExpectType [number, number] +byteRange(1, { signed: false }); // $ExpectType [number, number] +byteRange.uint8; // $ExpectType [number, number] +byteRange.uint16; // $ExpectType [number, number] +byteRange.uint32; // $ExpectType [number, number] +byteRange.int8; // $ExpectType [number, number] +byteRange.int16; // $ExpectType [number, number] +byteRange.int32; // $ExpectType [number, number] diff --git a/types/byte-range/index.d.ts b/types/byte-range/index.d.ts new file mode 100644 index 0000000000..120889ad90 --- /dev/null +++ b/types/byte-range/index.d.ts @@ -0,0 +1,49 @@ +// Type definitions for byte-range 1.0 +// Project: https://github.com/lukechilds/byte-range#readme +// Definitions by: BendingBender +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export = byteRange; + +/** + * Calculates integer ranges for a given number of bytes. + * + * @param bytes Number of bytes to return the integer range for. Must be a positive integer. + */ +declare function byteRange(bytes: number, options?: byteRange.Options): byteRange.ByteRange; + +declare namespace byteRange { + /** + * Precomputed byte range for an unsigned 8 bit integer. + */ + const uint8: ByteRange; + /** + * Precomputed byte range for an unsigned 16 bit integer. + */ + const uint16: ByteRange; + /** + * Precomputed byte range for an unsigned 32 bit integer. + */ + const uint32: ByteRange; + /** + * Precomputed byte range for an signed 8 bit integer. + */ + const int8: ByteRange; + /** + * Precomputed byte range for an signed 16 bit integer. + */ + const int16: ByteRange; + /** + * Precomputed byte range for an signed 32 bit integer. + */ + const int32: ByteRange; + + interface Options { + /** + * @default false + */ + signed?: boolean; + } + + type ByteRange = [number, number]; +} diff --git a/types/byte-range/tsconfig.json b/types/byte-range/tsconfig.json new file mode 100644 index 0000000000..13d4b78f5d --- /dev/null +++ b/types/byte-range/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", + "byte-range-tests.ts" + ] +} diff --git a/types/byte-range/tslint.json b/types/byte-range/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/byte-range/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }