added sequencify

This commit is contained in:
Nicolas Penin
2017-08-17 07:08:52 +02:00
parent 0df7e8bc93
commit c7cba7374e
4 changed files with 70 additions and 0 deletions

16
types/sequencify/index.d.ts vendored Normal file
View File

@@ -0,0 +1,16 @@
// Type definitions for sequencify v0.0
// Project: https://github.com/robrich/sequencify
// Definitions by: Nicolas Penin <https://github.com/npenin>
// 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;

View File

@@ -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'];

View File

@@ -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
}
}

View File

@@ -0,0 +1,3 @@
{
"extends": "dtslint/dt.json"
}