diff --git a/package.json b/package.json index 2dc3b3f..144ed31 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ig-types", - "version": "5.0.17", + "version": "5.0.18", "description": "Generic JavaScript types and type extensions...", "main": "main.js", "scripts": { diff --git a/runner.js b/runner.js index bd7d2be..2b064d2 100644 --- a/runner.js +++ b/runner.js @@ -503,10 +503,21 @@ object.Constructor('TaskManager', Array, events.EventMixin('flat', { // ...this needs to work with all the event methods... Task: function(title, task, ...args){ var that = this + var _args = [...arguments] + + // parse args... + var sync_start = this.sync_start + if(title == 'sync' || title == 'async'){ + ;[sync_start, title, task, ...args] = _args + sync_start = sync_start == 'sync' + + } else if(task == 'sync' || task == 'async'){ + ;[title, sync_start, task, ...args] = _args + sync_start = sync_start == 'sync' } // anonymous task... if(typeof(title) != typeof('str')){ - ;[task, ...args] = arguments + ;[task, ...args] = _args title = null } // normalize handler... @@ -582,7 +593,7 @@ object.Constructor('TaskManager', Array, events.EventMixin('flat', { task.start() : null } // trigger task start... - this.sync_start ? + sync_start ? start() : setTimeout(start, 0)