From c7cba7374e15fed5c8281f50fcc8c309e216d9ad Mon Sep 17 00:00:00 2001 From: Nicolas Penin Date: Thu, 17 Aug 2017 07:08:52 +0200 Subject: [PATCH 1/7] added sequencify --- types/sequencify/index.d.ts | 16 ++++++++++++++ types/sequencify/sequencify-tests.ts | 32 ++++++++++++++++++++++++++++ types/sequencify/tsconfig.json | 19 +++++++++++++++++ types/sequencify/tslint.json | 3 +++ 4 files changed, 70 insertions(+) create mode 100644 types/sequencify/index.d.ts create mode 100644 types/sequencify/sequencify-tests.ts create mode 100644 types/sequencify/tsconfig.json create mode 100644 types/sequencify/tslint.json diff --git a/types/sequencify/index.d.ts b/types/sequencify/index.d.ts new file mode 100644 index 0000000000..dbfdb22e28 --- /dev/null +++ b/types/sequencify/index.d.ts @@ -0,0 +1,16 @@ +// Type definitions for sequencify v0.0 +// Project: https://github.com/robrich/sequencify +// Definitions by: Nicolas Penin +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +// Definition file started by dts-gen + +export = sequencify; + +declare namespace sequencify { + export type Task = { name: string, dep: string[] }; + + export type TaskMap = { [name: string]: Task } +} + +declare function sequencify(tasks: sequencify.TaskMap, names: (keyof sequencify.TaskMap)[], results: string[], nest?: string[]): void; diff --git a/types/sequencify/sequencify-tests.ts b/types/sequencify/sequencify-tests.ts new file mode 100644 index 0000000000..cdb82b3384 --- /dev/null +++ b/types/sequencify/sequencify-tests.ts @@ -0,0 +1,32 @@ +/* Add tests for your definition file here */ + +import * as sequencify from 'sequencify'; + +var items: sequencify.TaskMap = { + a: { + name: 'a', + dep: [] + // other properties as needed + }, + b: { + name: 'b', + dep: ['a'] + }, + c: { + name: 'c', + dep: ['a'] + }, + d: { + name: 'd', + dep: ['c'] + }, +}; + +var names = ['d', 'b', 'c', 'a']; // The names of the items you want arranged, need not be all + +var results: string[] = []; + +sequencify(items, names, results); + +console.log(results); +// ['a','b','c','d']; diff --git a/types/sequencify/tsconfig.json b/types/sequencify/tsconfig.json new file mode 100644 index 0000000000..a0f1b28bcf --- /dev/null +++ b/types/sequencify/tsconfig.json @@ -0,0 +1,19 @@ +{ + "files": [ + "index.d.ts", + "sequencify-tests.ts" + ], + "compilerOptions": { + "module": "commonjs", + "target": "es6", + "noImplicitAny": true, + "strictNullChecks": false, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + } +} \ No newline at end of file diff --git a/types/sequencify/tslint.json b/types/sequencify/tslint.json new file mode 100644 index 0000000000..e60c15844f --- /dev/null +++ b/types/sequencify/tslint.json @@ -0,0 +1,3 @@ +{ + "extends": "dtslint/dt.json" +} \ No newline at end of file From 093edfc11f282573bb4c08451b077b60e21cd07e Mon Sep 17 00:00:00 2001 From: Nicolas Penin Date: Thu, 17 Aug 2017 07:18:43 +0200 Subject: [PATCH 2/7] updated tsconfig to match PR rules --- types/sequencify/tsconfig.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/types/sequencify/tsconfig.json b/types/sequencify/tsconfig.json index a0f1b28bcf..487ca81db3 100644 --- a/types/sequencify/tsconfig.json +++ b/types/sequencify/tsconfig.json @@ -7,7 +7,8 @@ "module": "commonjs", "target": "es6", "noImplicitAny": true, - "strictNullChecks": false, + "noImplicitThis": true, + "strictNullChecks": true, "baseUrl": "../", "typeRoots": [ "../" From 613daf6bcad03d73c601e8dad2a7a2d9d846d8ed Mon Sep 17 00:00:00 2001 From: Nicolas Penin Date: Thu, 17 Aug 2017 19:52:20 +0200 Subject: [PATCH 3/7] fixed tslint issues --- types/sequencify/index.d.ts | 14 ++++++++++---- types/sequencify/sequencify-tests.ts | 8 +++++--- types/sequencify/tsconfig.json | 3 +++ 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/types/sequencify/index.d.ts b/types/sequencify/index.d.ts index dbfdb22e28..bd514b70ec 100644 --- a/types/sequencify/index.d.ts +++ b/types/sequencify/index.d.ts @@ -1,16 +1,22 @@ -// Type definitions for sequencify v0.0 +// Type definitions for sequencify 0.0 // Project: https://github.com/robrich/sequencify // Definitions by: Nicolas Penin // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // Definition file started by dts-gen +// TypeScript Version: 2.1 export = sequencify; declare namespace sequencify { - export type Task = { name: string, dep: string[] }; + interface Task { + name: string; + dep: string[]; + } - export type TaskMap = { [name: string]: Task } + interface TaskMap { + [name: string]: Task; + } } -declare function sequencify(tasks: sequencify.TaskMap, names: (keyof sequencify.TaskMap)[], results: string[], nest?: string[]): void; +declare function sequencify(tasks: sequencify.TaskMap, names: Array, results: string[], nest?: string[]): void; diff --git a/types/sequencify/sequencify-tests.ts b/types/sequencify/sequencify-tests.ts index cdb82b3384..80907278f1 100644 --- a/types/sequencify/sequencify-tests.ts +++ b/types/sequencify/sequencify-tests.ts @@ -1,8 +1,10 @@ /* Add tests for your definition file here */ +/// + import * as sequencify from 'sequencify'; -var items: sequencify.TaskMap = { +let items: sequencify.TaskMap = { a: { name: 'a', dep: [] @@ -22,9 +24,9 @@ var items: sequencify.TaskMap = { }, }; -var names = ['d', 'b', 'c', 'a']; // The names of the items you want arranged, need not be all +let names = ['d', 'b', 'c', 'a']; // The names of the items you want arranged, need not be all -var results: string[] = []; +let results: string[] = []; sequencify(items, names, results); diff --git a/types/sequencify/tsconfig.json b/types/sequencify/tsconfig.json index 487ca81db3..fb43176f7c 100644 --- a/types/sequencify/tsconfig.json +++ b/types/sequencify/tsconfig.json @@ -13,6 +13,9 @@ "typeRoots": [ "../" ], + "lib": [ + "es6" + ], "types": [], "noEmit": true, "forceConsistentCasingInFileNames": true From 84fe7d96fba63b35930e132e9f94485a7bfb0905 Mon Sep 17 00:00:00 2001 From: Nicolas Penin Date: Tue, 22 Aug 2017 20:36:50 +0200 Subject: [PATCH 4/7] strongly typed function --- types/sequencify/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/sequencify/index.d.ts b/types/sequencify/index.d.ts index bd514b70ec..2755df8bce 100644 --- a/types/sequencify/index.d.ts +++ b/types/sequencify/index.d.ts @@ -19,4 +19,4 @@ declare namespace sequencify { } } -declare function sequencify(tasks: sequencify.TaskMap, names: Array, results: string[], nest?: string[]): void; +declare function sequencify(tasks: T, names: Array, results: Array, nest?: string[]): void; From 3be08fd7f2545b0a84ed27d754aa94b04873441b Mon Sep 17 00:00:00 2001 From: Nicolas Penin Date: Sat, 30 Sep 2017 08:00:24 +0200 Subject: [PATCH 5/7] fixed CI failures --- types/sequencify/sequencify-tests.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/types/sequencify/sequencify-tests.ts b/types/sequencify/sequencify-tests.ts index 80907278f1..a39d58c28c 100644 --- a/types/sequencify/sequencify-tests.ts +++ b/types/sequencify/sequencify-tests.ts @@ -4,7 +4,7 @@ import * as sequencify from 'sequencify'; -let items: sequencify.TaskMap = { +const items: sequencify.TaskMap = { a: { name: 'a', dep: [] @@ -24,9 +24,9 @@ let items: sequencify.TaskMap = { }, }; -let names = ['d', 'b', 'c', 'a']; // The names of the items you want arranged, need not be all +const names = ['d', 'b', 'c', 'a']; // The names of the items you want arranged, need not be all -let results: string[] = []; +const results: string[] = []; sequencify(items, names, results); From b34259e076fb00d512854d544e30ea7e65aa0cac Mon Sep 17 00:00:00 2001 From: Nicolas Penin Date: Tue, 3 Oct 2017 07:22:11 +0200 Subject: [PATCH 6/7] bumped version for @types publish script purpose --- types/sequencify/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/sequencify/index.d.ts b/types/sequencify/index.d.ts index 2755df8bce..526baa8f54 100644 --- a/types/sequencify/index.d.ts +++ b/types/sequencify/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for sequencify 0.0 +// Type definitions for sequencify 0.1 // Project: https://github.com/robrich/sequencify // Definitions by: Nicolas Penin // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped From 2024db07b145d31f2a9bca0f2add058a221df87d Mon Sep 17 00:00:00 2001 From: Nicolas Penin Date: Sun, 8 Oct 2017 10:24:17 +0200 Subject: [PATCH 7/7] updated require in seqencify tests --- types/sequencify/sequencify-tests.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/sequencify/sequencify-tests.ts b/types/sequencify/sequencify-tests.ts index a39d58c28c..26506d7fbd 100644 --- a/types/sequencify/sequencify-tests.ts +++ b/types/sequencify/sequencify-tests.ts @@ -2,7 +2,7 @@ /// -import * as sequencify from 'sequencify'; +import sequencify = require('sequencify'); const items: sequencify.TaskMap = { a: {