diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1219f97 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +.idea/ +coverage/ +ts/*.js +ts/*.js.map +ts/typings/ +node_modules diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..d7556f1 --- /dev/null +++ b/index.d.ts @@ -0,0 +1,27 @@ +/// +declare module TaskbufferPlugins { + var init: () => void; +} +declare class Task { + task: any; + state: string; + idle: boolean; + preTask: Task; + afterTask: Task; + constructor(taskArg: any, optionsArg: { + preTask?: Task; + afterTask?: Task; + }); + trigger(): void; + triggerBuffered(): void; +} +declare class TaskChain extends Task { + constructor(taskArrayArg: Task[]); +} +declare module TaskbufferTask { + var init: () => (taskArg: any, options?: any) => Task; +} +declare module TaskbufferTaskchain { + var init: () => any; +} +declare var plugins: void; diff --git a/index.js b/index.js new file mode 100644 index 0000000..4d07da6 --- /dev/null +++ b/index.js @@ -0,0 +1,63 @@ +#!/usr/bin/env node + +/// +var TaskbufferPlugins; +(function (TaskbufferPlugins) { + TaskbufferPlugins.init = function () { + var plugins = { + q: require("q") + }; + }; +})(TaskbufferPlugins || (TaskbufferPlugins = {})); +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +/// +var Task = (function () { + function Task(taskArg, optionsArg) { + this.task = taskArg; + } + Task.prototype.trigger = function () { }; + ; + Task.prototype.triggerBuffered = function () { + }; + return Task; +})(); +var TaskChain = (function (_super) { + __extends(TaskChain, _super); + function TaskChain(taskArrayArg) { + _super.call(this, { + task: function () { } + }); + } + return TaskChain; +})(Task); +/// +var TaskbufferTask; +(function (TaskbufferTask) { + TaskbufferTask.init = function () { + var task = function (taskArg, options) { + var task = taskArg; + return new Task(task, options); + }; + return task; + }; +})(TaskbufferTask || (TaskbufferTask = {})); +/// +var TaskbufferTaskchain; +(function (TaskbufferTaskchain) { + TaskbufferTaskchain.init = function () { + var taskChain = function (taskArrayArg) { + return new TaskChain(); + }; + return taskChain(); + }; +})(TaskbufferTaskchain || (TaskbufferTaskchain = {})); +/// +/// +/// +/// +/// +var plugins = TaskbufferPlugins.init(); diff --git a/package.json b/package.json new file mode 100644 index 0000000..93f7875 --- /dev/null +++ b/package.json @@ -0,0 +1,32 @@ +{ + "name": "taskbuffer", + "version": "0.0.0", + "description": "manage triggers and execution of tasks with promises", + "main": "index.js", + "scripts": { + "test": "(npmts)" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/pushrocks/taskbuffer.git" + }, + "keywords": [ + "gulp", + "tasks", + "watch", + "buffer" + ], + "author": "Lossless GmbH", + "license": "MIT", + "bugs": { + "url": "https://github.com/pushrocks/taskbuffer/issues" + }, + "homepage": "https://github.com/pushrocks/taskbuffer#readme", + "dependencies": { + "npmts": "^2.2.3", + "q": "^1.4.1" + }, + "devDependencies": { + "should": "^8.2.2" + } +} diff --git a/test/test.d.ts b/test/test.d.ts new file mode 100644 index 0000000..e353f62 --- /dev/null +++ b/test/test.d.ts @@ -0,0 +1,2 @@ +/// +declare var taskbuffer: any; diff --git a/test/test.js b/test/test.js new file mode 100644 index 0000000..850baa5 --- /dev/null +++ b/test/test.js @@ -0,0 +1,11 @@ +#!/usr/bin/env node + +/// +var taskbuffer = require("../index.js"); +describe("taskbuffer.task", function () { + describe(".task", function () { + it("should return a new task", function () { + var myTask = taskbuffer.task(); + }); + }); +}); diff --git a/ts/index.ts b/ts/index.ts new file mode 100644 index 0000000..ad93f9f --- /dev/null +++ b/ts/index.ts @@ -0,0 +1,6 @@ +/// +/// +/// +/// +/// +var plugins = TaskbufferPlugins.init(); \ No newline at end of file diff --git a/ts/taskbuffer.classes.ts b/ts/taskbuffer.classes.ts new file mode 100644 index 0000000..c479c22 --- /dev/null +++ b/ts/taskbuffer.classes.ts @@ -0,0 +1,24 @@ +/// +class Task { + task:any; + state:string; + idle:boolean; + preTask:Task; + afterTask:Task; + + constructor(taskArg,optionsArg:{preTask?:Task,afterTask?:Task}){ + this.task = taskArg; + } + trigger(){}; + triggerBuffered(){ + + } +} + +class TaskChain extends Task { + constructor(taskArrayArg:Task[]){ + super({ + task:function(){} + }); + } +} \ No newline at end of file diff --git a/ts/taskbuffer.plugins.ts b/ts/taskbuffer.plugins.ts new file mode 100644 index 0000000..eff7eae --- /dev/null +++ b/ts/taskbuffer.plugins.ts @@ -0,0 +1,8 @@ +/// +module TaskbufferPlugins { + export var init = function(){ + var plugins = { + q: require("q") + } + } +} \ No newline at end of file diff --git a/ts/taskbuffer.promisechain.ts b/ts/taskbuffer.promisechain.ts new file mode 100644 index 0000000..019254e --- /dev/null +++ b/ts/taskbuffer.promisechain.ts @@ -0,0 +1 @@ +/// \ No newline at end of file diff --git a/ts/taskbuffer.task.ts b/ts/taskbuffer.task.ts new file mode 100644 index 0000000..40e4073 --- /dev/null +++ b/ts/taskbuffer.task.ts @@ -0,0 +1,10 @@ +/// +module TaskbufferTask { + export var init = function(){ + var task = function(taskArg,options?){ + var task = taskArg + return new Task(task,options); + }; + return task; + } +} \ No newline at end of file diff --git a/ts/taskbuffer.taskchain.ts b/ts/taskbuffer.taskchain.ts new file mode 100644 index 0000000..57dd881 --- /dev/null +++ b/ts/taskbuffer.taskchain.ts @@ -0,0 +1,9 @@ +/// +module TaskbufferTaskchain { + export var init = function(){ + var taskChain = function(taskArrayArg:Task[]){ + return new TaskChain(); + }; + return taskChain(); + } +} \ No newline at end of file diff --git a/ts/test.ts b/ts/test.ts new file mode 100644 index 0000000..42ded7c --- /dev/null +++ b/ts/test.ts @@ -0,0 +1,9 @@ +/// +var taskbuffer = require("../index.js"); +describe("taskbuffer.task",function(){ + describe(".task",function(){ + it("should return a new task",function(){ + var myTask = taskbuffer.task(); + }) + }); +}); \ No newline at end of file diff --git a/ts/typings.json b/ts/typings.json new file mode 100644 index 0000000..57323dd --- /dev/null +++ b/ts/typings.json @@ -0,0 +1,7 @@ +{ + "ambientDependencies": { + "node": "github:DefinitelyTyped/DefinitelyTyped/node/node.d.ts", + "mocha": "github:Bartvds/tsd-deftools/typings/DefinitelyTyped/mocha/mocha.d.ts", + "colors": "github:DefinitelyTyped/DefinitelyTyped/colors/colors.d.ts" + } +}