From 6ee4d7b6bcb93647dacab7c6471877a839d946f1 Mon Sep 17 00:00:00 2001 From: Muhammad Fawwaz Orabi Date: Fri, 1 Dec 2017 16:08:04 +0200 Subject: [PATCH 1/9] Add types for fuzzyset.js This is basically a copy of `fuzzyset` types, but `fuzzyset.js` is a different npm package. --- types/fuzzyset.js/fuzzyset.js-tests.ts | 10 ++++++++++ types/fuzzyset.js/index.d.ts | 22 ++++++++++++++++++++++ types/fuzzyset.js/tsconfig.json | 22 ++++++++++++++++++++++ types/fuzzyset.js/tslint.json | 1 + 4 files changed, 55 insertions(+) create mode 100644 types/fuzzyset.js/fuzzyset.js-tests.ts create mode 100644 types/fuzzyset.js/index.d.ts create mode 100644 types/fuzzyset.js/tsconfig.json create mode 100644 types/fuzzyset.js/tslint.json diff --git a/types/fuzzyset.js/fuzzyset.js-tests.ts b/types/fuzzyset.js/fuzzyset.js-tests.ts new file mode 100644 index 0000000000..97a0d45008 --- /dev/null +++ b/types/fuzzyset.js/fuzzyset.js-tests.ts @@ -0,0 +1,10 @@ +import FuzzySet = require('fuzzyset.js'); + +const fuzzyset: FuzzySet = FuzzySet(['coucou', 'foo', 'bar', 'toto']); +const results = fuzzyset.get('foo'); + +fuzzyset.length(); + +fuzzyset.isEmpty(); + +fuzzyset.values(); diff --git a/types/fuzzyset.js/index.d.ts b/types/fuzzyset.js/index.d.ts new file mode 100644 index 0000000000..df344f18d7 --- /dev/null +++ b/types/fuzzyset.js/index.d.ts @@ -0,0 +1,22 @@ +// Type definitions for fuzzyset.js 0.0 +// Project: https://github.com/Glench/fuzzyset.js +// Definitions by: Louis Grignon +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +interface FuzzySet { + get(candidate: string): Array<[number, string]>; + add(value: string): boolean; + length(): number; + isEmpty(): boolean; + values(): string[]; +} + +declare function FuzzySet( + source: string[], + useLevenshtein?: boolean, + gramSizeLower?: number, + gramSizeUpper?: number, +): FuzzySet; + +export = FuzzySet; +export as namespace FuzzySet; diff --git a/types/fuzzyset.js/tsconfig.json b/types/fuzzyset.js/tsconfig.json new file mode 100644 index 0000000000..285a64eaf7 --- /dev/null +++ b/types/fuzzyset.js/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", + "fuzzyset.js-tests.ts" + ] +} diff --git a/types/fuzzyset.js/tslint.json b/types/fuzzyset.js/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/fuzzyset.js/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } From 09bbf1cec87650424506d959504d262070b88a09 Mon Sep 17 00:00:00 2001 From: Muhammad Fawwaz Orabi Date: Fri, 1 Dec 2017 16:21:09 +0200 Subject: [PATCH 2/9] Add "strictFunctionTypes": true --- types/fuzzyset.js/tsconfig.json | 1 + 1 file changed, 1 insertion(+) diff --git a/types/fuzzyset.js/tsconfig.json b/types/fuzzyset.js/tsconfig.json index 285a64eaf7..a1eeb06b97 100644 --- a/types/fuzzyset.js/tsconfig.json +++ b/types/fuzzyset.js/tsconfig.json @@ -7,6 +7,7 @@ "noImplicitAny": true, "noImplicitThis": true, "strictNullChecks": true, + "strictFunctionTypes": true, "baseUrl": "../", "typeRoots": [ "../" From fdf53c6dbd141d0bfc199ccc325c8d14894e389e Mon Sep 17 00:00:00 2001 From: Muhammad Fawwaz Orabi Date: Sat, 2 Dec 2017 01:23:21 +0200 Subject: [PATCH 3/9] Improve definition of .get --- types/fuzzyset.js/index.d.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/types/fuzzyset.js/index.d.ts b/types/fuzzyset.js/index.d.ts index df344f18d7..2b125be4c7 100644 --- a/types/fuzzyset.js/index.d.ts +++ b/types/fuzzyset.js/index.d.ts @@ -4,7 +4,8 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped interface FuzzySet { - get(candidate: string): Array<[number, string]>; + get(candidate: string, defaultValue?: string, minScore?: number): Array<[number, string]> | undefined; + get(candidate: string, minScore?: number): Array<[number, string]> | undefined; add(value: string): boolean; length(): number; isEmpty(): boolean; From e0682297ccd10006fd55d72c7978ea05b52b01be Mon Sep 17 00:00:00 2001 From: Muhammad Fawwaz Orabi Date: Sat, 2 Dec 2017 01:24:18 +0200 Subject: [PATCH 4/9] Fix --- types/fuzzyset.js/index.d.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/types/fuzzyset.js/index.d.ts b/types/fuzzyset.js/index.d.ts index 2b125be4c7..2ddb86ba87 100644 --- a/types/fuzzyset.js/index.d.ts +++ b/types/fuzzyset.js/index.d.ts @@ -5,7 +5,6 @@ interface FuzzySet { get(candidate: string, defaultValue?: string, minScore?: number): Array<[number, string]> | undefined; - get(candidate: string, minScore?: number): Array<[number, string]> | undefined; add(value: string): boolean; length(): number; isEmpty(): boolean; From 09b1e56450ff1bababd01d65b5fbd90611ac0243 Mon Sep 17 00:00:00 2001 From: Muhammad Fawwaz Orabi Date: Sat, 2 Dec 2017 01:25:33 +0200 Subject: [PATCH 5/9] Fix again --- types/fuzzyset.js/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/fuzzyset.js/index.d.ts b/types/fuzzyset.js/index.d.ts index 2ddb86ba87..32b03f4379 100644 --- a/types/fuzzyset.js/index.d.ts +++ b/types/fuzzyset.js/index.d.ts @@ -4,7 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped interface FuzzySet { - get(candidate: string, defaultValue?: string, minScore?: number): Array<[number, string]> | undefined; + get(candidate: string, defaultValue: T | undefined, minScore?: number): Array<[number, string]> | T | null; add(value: string): boolean; length(): number; isEmpty(): boolean; From 38fc62bbcfa796a3f2079ec00e81c31e253f427a Mon Sep 17 00:00:00 2001 From: Muhammad Fawwaz Orabi Date: Sat, 2 Dec 2017 01:25:54 +0200 Subject: [PATCH 6/9] Fix again --- types/fuzzyset.js/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/fuzzyset.js/index.d.ts b/types/fuzzyset.js/index.d.ts index 32b03f4379..66984d28eb 100644 --- a/types/fuzzyset.js/index.d.ts +++ b/types/fuzzyset.js/index.d.ts @@ -4,7 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped interface FuzzySet { - get(candidate: string, defaultValue: T | undefined, minScore?: number): Array<[number, string]> | T | null; + get(candidate: string, defaultValue?: T | undefined, minScore?: number): Array<[number, string]> | T | null; add(value: string): boolean; length(): number; isEmpty(): boolean; From e5511020a462a77459a34cbe8661c6d5dd1cbf3c Mon Sep 17 00:00:00 2001 From: Muhammad Fawwaz Orabi Date: Sat, 2 Dec 2017 01:30:20 +0200 Subject: [PATCH 7/9] Add default type parameter --- types/fuzzyset.js/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/fuzzyset.js/index.d.ts b/types/fuzzyset.js/index.d.ts index 66984d28eb..55b7207957 100644 --- a/types/fuzzyset.js/index.d.ts +++ b/types/fuzzyset.js/index.d.ts @@ -4,7 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped interface FuzzySet { - get(candidate: string, defaultValue?: T | undefined, minScore?: number): Array<[number, string]> | T | null; + get(candidate: string, defaultValue?: T | undefined, minScore?: number): Array<[number, string]> | T | null; add(value: string): boolean; length(): number; isEmpty(): boolean; From 1ce7e77601387101862388a6b99a1c2f85edc66b Mon Sep 17 00:00:00 2001 From: Muhammad Fawwaz Orabi Date: Sat, 2 Dec 2017 01:34:36 +0200 Subject: [PATCH 8/9] Require TS 2.3 --- types/fuzzyset.js/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/fuzzyset.js/index.d.ts b/types/fuzzyset.js/index.d.ts index 55b7207957..31764839b5 100644 --- a/types/fuzzyset.js/index.d.ts +++ b/types/fuzzyset.js/index.d.ts @@ -2,6 +2,7 @@ // Project: https://github.com/Glench/fuzzyset.js // Definitions by: Louis Grignon // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.3 interface FuzzySet { get(candidate: string, defaultValue?: T | undefined, minScore?: number): Array<[number, string]> | T | null; From 8b14224d0eaeed888b0fa01c0a2c3ec088906924 Mon Sep 17 00:00:00 2001 From: Muhammad Fawwaz Orabi Date: Sat, 2 Dec 2017 01:35:00 +0200 Subject: [PATCH 9/9] Fix linting issue --- types/fuzzyset.js/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/fuzzyset.js/index.d.ts b/types/fuzzyset.js/index.d.ts index 31764839b5..04914683bc 100644 --- a/types/fuzzyset.js/index.d.ts +++ b/types/fuzzyset.js/index.d.ts @@ -5,7 +5,7 @@ // TypeScript Version: 2.3 interface FuzzySet { - get(candidate: string, defaultValue?: T | undefined, minScore?: number): Array<[number, string]> | T | null; + get(candidate: string, defaultValue?: T, minScore?: number): Array<[number, string]> | T | null; add(value: string): boolean; length(): number; isEmpty(): boolean;