From f8b8de8a86de6745df4ac5ee1c3d37cb24f7185e Mon Sep 17 00:00:00 2001 From: Goldsmith42 Date: Thu, 30 May 2019 20:11:15 +0200 Subject: [PATCH] Added dynamic-time-warping module (#35773) * Added dynamic-time-warping module * Additional linting fixes * Made dynamic-time-warping global * Removed trailing whitespace --- types/dynamic-time-warping/index.d.ts | 15 ++++++++++++ .../test/dynamic-time-warping-global-tests.ts | 7 ++++++ .../test/dynamic-time-warping-module-tests.ts | 9 +++++++ types/dynamic-time-warping/tsconfig.json | 24 +++++++++++++++++++ types/dynamic-time-warping/tslint.json | 1 + 5 files changed, 56 insertions(+) create mode 100644 types/dynamic-time-warping/index.d.ts create mode 100644 types/dynamic-time-warping/test/dynamic-time-warping-global-tests.ts create mode 100644 types/dynamic-time-warping/test/dynamic-time-warping-module-tests.ts create mode 100644 types/dynamic-time-warping/tsconfig.json create mode 100644 types/dynamic-time-warping/tslint.json diff --git a/types/dynamic-time-warping/index.d.ts b/types/dynamic-time-warping/index.d.ts new file mode 100644 index 0000000000..18b182b0fd --- /dev/null +++ b/types/dynamic-time-warping/index.d.ts @@ -0,0 +1,15 @@ +// Type definitions for dynamic-time-warping 1.0 +// Project: https://github.com/GordonLesti/dynamic-time-warping +// Definitions by: Zlatko Andonovski +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +declare global { + class DynamicTimeWarping { + constructor(ser1: ReadonlyArray, ser2: ReadonlyArray, distFunc: (a: T, b: T) => number); + + getDistance(): number; + getPath(): Array<[number, number]>; + } +} + +export = DynamicTimeWarping; diff --git a/types/dynamic-time-warping/test/dynamic-time-warping-global-tests.ts b/types/dynamic-time-warping/test/dynamic-time-warping-global-tests.ts new file mode 100644 index 0000000000..c023e4f92f --- /dev/null +++ b/types/dynamic-time-warping/test/dynamic-time-warping-global-tests.ts @@ -0,0 +1,7 @@ +const ser1 = [9, 93, 15, 19, 24]; +const ser2 = [31, 97, 81, 82, 39]; +const distFunc = (a: number, b: number) => Math.abs(a - b); + +const dtw = new DynamicTimeWarping(ser1, ser2, distFunc); +const dist: number = dtw.getDistance(); +const path: Array<[number, number]> = dtw.getPath(); diff --git a/types/dynamic-time-warping/test/dynamic-time-warping-module-tests.ts b/types/dynamic-time-warping/test/dynamic-time-warping-module-tests.ts new file mode 100644 index 0000000000..280bef3747 --- /dev/null +++ b/types/dynamic-time-warping/test/dynamic-time-warping-module-tests.ts @@ -0,0 +1,9 @@ +import DTW = require("dynamic-time-warping"); + +const ser1 = [9, 93, 15, 19, 24]; +const ser2 = [31, 97, 81, 82, 39]; +const distFunc = (a: number, b: number) => Math.abs(a - b); + +const dtw = new DTW(ser1, ser2, distFunc); +const dist: number = dtw.getDistance(); +const path: Array<[number, number]> = dtw.getPath(); diff --git a/types/dynamic-time-warping/tsconfig.json b/types/dynamic-time-warping/tsconfig.json new file mode 100644 index 0000000000..7adcdba1d6 --- /dev/null +++ b/types/dynamic-time-warping/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "test/dynamic-time-warping-module-tests.ts", + "test/dynamic-time-warping-global-tests.ts" + ] +} diff --git a/types/dynamic-time-warping/tslint.json b/types/dynamic-time-warping/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/dynamic-time-warping/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }