added ticket task -- this will save the user from having to implement two modes of communication, one internal one external...

Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2020-11-26 23:28:29 +03:00
parent db6ebb1af6
commit fcb018b67a
2 changed files with 5 additions and 3 deletions

View File

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

View File

@ -338,6 +338,7 @@ object.Constructor('TaskTicket', Promise, {
__data: null,
title: null,
task: null,
get state(){
return this.__data.state },
@ -363,7 +364,7 @@ object.Constructor('TaskTicket', Promise, {
then: Promise.iter.prototype.then,
__new__: function(_, title, resolve, reject, onmessage){
__new__: function(_, title, resolve, reject, onmessage, task){
var handlers
var resolver = arguments[1]
@ -387,6 +388,7 @@ object.Constructor('TaskTicket', Promise, {
// setup state...
obj.title = title
obj.task = task
Object.defineProperty(obj, '__data', {
value: {
resolve: handlers.resolve,
@ -541,7 +543,7 @@ object.Constructor('TaskManager', Array, events.EventMixin('flat', {
run = function(){
var res =
task(
that.__task_ticket__(title, resolve, reject, onmessage),
that.__task_ticket__(title, resolve, reject, onmessage, handler),
...args)
// NOTE: if the client calls resolve(..) this
// second resolve(..) call has no effect,