diff --git a/README.md b/README.md index 5cfa0fc..ace3b7a 100644 --- a/README.md +++ b/README.md @@ -36,9 +36,6 @@ A library of JavaScript type extensions, types and type utilities. - [`.mapChunks(..)`](#arraymapchunks) - [`.filterChunks(..)`](#arrayfilterchunks) - [`.reduceChunks(..)`](#arrayreducechunks) - - [`Array` (polyfill)](#array-polyfill) - - [`.flat()`](#arrayflat) - - [`.includes()`](#arrayincludes) - [`Map`](#map) - [`.sort(..)`](#mapsort) - [`Set`](#set) @@ -110,15 +107,26 @@ A library of JavaScript type extensions, types and type utilities. - [`.events`](#objevents) - [`event.EventMixin`](#eventeventmixin) - [Runner](#runner) - - [`runner.Queue(..)` / `runner.Queue.run(..)`](#runnerqueue--runnerqueuerun) + - [Micro task queue](#micro-task-queue) + - [`runner.Queue(..)` / `runner.Queue.run(..)`](#runnerqueue--runnerqueuerun) - [`.state`](#queuestate) - [`.start(..)`](#queuestart) - [`.pause(..)`](#queuepause) - [`.abort(..)`](#queueabort) - - [`.on(..)` / `.one(..)`](#queueon--queueone) - - [`.off(..)`](#queueoff) - - [`.trigger(..)`](#queuetrigger) - [`.taskCompleted(..)` (event)](#queuetaskcompleted-event) + - [Large task management](#large-task-management) + - [`runner.TaskManager(..)`](#runnertaskmanager) + - [`.Task(..)`](#task-managertask) + - [`.sync_start`](#task-managersync_start) + - [`.record_times`](#task-managerrecord_times) + - [`.titled(..)`](#task-managertitled) + - [`.send(..)`](#task-managersend) + - [`.stop(..)`](#task-managerstop) + - [`.done(..)` (event)](#task-managerdone-event) + - [`.error(..)` (event)](#task-managererror-event) + - [`.tasksDone(..)` (event)](#task-managertasksdone-event) + - [`runner.TaskTicket(..)`](#runnertaskticket) + - [`runner.TaskMixin(..)`](#runnertaskmixin) - [License](#license) ## Installation @@ -562,13 +570,6 @@ Default value: `50` #### `.reduceChunks(..)` -### `Array` (polyfill) - -#### `.flat()` - -#### `.includes()` - - ## `Map` ```javascript @@ -1004,14 +1005,21 @@ to trigger event if the first argument was a function. ### `event.EventMixin` +Combines [`event.EventHandlerMixin`](#eventeventhandlermixin) and +[`event.EventDocMixin`](#eventeventdocmixin). + ## Runner ```javascript var runner = require('ig-types/runner') ``` +### Micro task queue -### `runner.Queue(..)` / `runner.Queue.run(..)` + +This includes [`event.EventMixin`](#eventeventmixin). + +#### `runner.Queue(..)` / `runner.Queue.run(..)` #### `.state` @@ -1022,19 +1030,46 @@ var runner = require('ig-types/runner') #### `.abort(..)` -#### `.on(..)` / `.one(..)` - -#### `.off(..)` - -#### `.trigger(..)` - -Trigger an event. - #### `.taskCompleted(..)` (event) Event, triggered when a task is completed passing in its result. +### Large task management + +#### `runner.TaskManager(..)` + + +This includes [`event.EventMixin`](#eventeventmixin). + +#### `.Task(..)` + +#### `.sync_start` + +#### `.record_times` + + + +#### `.titled(..)` + +#### `.send(..)` + +#### `.stop(..)` + + + +#### `.done(..)` (event) + +#### `.error(..)` (event) + +#### `.tasksDone(..)` (event) + + + +#### `runner.TaskTicket(..)` + +#### `runner.TaskMixin(..)` + ## License diff --git a/runner.js b/runner.js index 1a3233a..95de847 100644 --- a/runner.js +++ b/runner.js @@ -624,6 +624,9 @@ object.Constructor('TaskManager', Array, events.EventMixin('flat', { this.push(handler) + this.record_times + && (handler.time_started = Date.now()) + // handle task manager state... var cleanup = function(evt){ return function(res){ @@ -636,9 +639,6 @@ object.Constructor('TaskManager', Array, events.EventMixin('flat', { handler .then(cleanup('done'), cleanup('error')) - this.record_times - && (handler.time_started = Date.now()) - // start... var start = function(){ run ?