diff --git a/types/fnv-lite/fnv-lite-tests.ts b/types/fnv-lite/fnv-lite-tests.ts new file mode 100644 index 0000000000..33d9133a27 --- /dev/null +++ b/types/fnv-lite/fnv-lite-tests.ts @@ -0,0 +1,20 @@ +import FNV = require('fnv-lite'); + +let result: string; +result = FNV.hex(''); +result = FNV.base64(''); +result = FNV.base64Url(''); +result = FNV.base36(''); + +result = FNV.hex([1, 2, 3]); +result = FNV.base64([1, 2, 3]); +result = FNV.base64Url([1, 2, 3]); +result = FNV.base36([1, 2, 3]); + +const fnv = new FNV(); +fnv.update([1, 2, 3]).update("abc"); +result = fnv.digest('hex'); +result = fnv.digest('base36'); +result = fnv.digest('base64'); +result = fnv.digest('base64Url'); +const resultArray: number[] = fnv.digest(); diff --git a/types/fnv-lite/index.d.ts b/types/fnv-lite/index.d.ts new file mode 100644 index 0000000000..0cbd3553d6 --- /dev/null +++ b/types/fnv-lite/index.d.ts @@ -0,0 +1,19 @@ +// Type definitions for fnv-lite 1.2 +// Project: https://github.com/casetext/fnv-lite +// Definitions by: MarcinD +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +type Input = string | ArrayLike; + +declare class FNV { + static hex(input: Input): string; + static base64(input: Input): string; + static base64Url(input: Input): string; + static base36(input: Input): string; + + update(input: Input): this; + digest(): number[]; + digest(type: "hex" | "base36" | "base64" | "base64Url"): string; +} + +export = FNV; diff --git a/types/fnv-lite/tsconfig.json b/types/fnv-lite/tsconfig.json new file mode 100644 index 0000000000..d04f5527ef --- /dev/null +++ b/types/fnv-lite/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", + "fnv-lite-tests.ts" + ] +} diff --git a/types/fnv-lite/tslint.json b/types/fnv-lite/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/fnv-lite/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }