now queue collects results by default...

Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2020-12-15 04:02:38 +03:00
parent 051c7ab58f
commit 3f7368b756
2 changed files with 17 additions and 4 deletions

View File

@ -1,6 +1,6 @@
{
"name": "ig-types",
"version": "5.0.41",
"version": "5.1.0",
"description": "Generic JavaScript types and type extensions...",
"main": "main.js",
"scripts": {

View File

@ -111,6 +111,9 @@ object.Constructor('Queue', Array, {
// If true, stop after queue is depleted...
auto_stop: false,
// NOTE: for long running queues this may get quite big...
collect_results: true,
// Sub-queue handling mode...
//
// This can be:
@ -205,7 +208,10 @@ object.Constructor('Queue', Array, {
var that = this
return new Promise(function(resolve, reject){
that.one('queueEmpty', function(){
resolve(func()) }) }) },
resolve(func(
...(this.collect_results ?
[(this.__results || [])]
: []) )) }) }) },
// Runner API...
//
@ -387,9 +393,15 @@ object.Constructor('Queue', Array, {
var stop = res === module.STOP
|| res instanceof module.STOP
res = res instanceof module.STOP ?
res.value
res.value
: res === module.STOP ?
undefined
: res
// collect results...
this.collect_results
&& (this.__results = this.__results || []).push(res)
// handle task results...
//
// queue -- as a set of tasks...
@ -435,7 +447,8 @@ object.Constructor('Queue', Array, {
stop
&& this.stop()
return this },
return res },
//return this },
// helpers...