task-handler
Advanced tools
Comparing version 2.6.0 to 2.7.0
@@ -1,1 +0,1 @@ | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=createTaskHandler,Object.defineProperty(exports,"TASK_CANCELLED",{enumerable:!0,get:function a(){return _constants.TASK_CANCELLED}}),require("core-js/modules/es6.regexp.to-string"),require("core-js/modules/es6.array.from"),require("core-js/modules/web.dom.iterable"),require("core-js/modules/es6.array.iterator"),require("core-js/modules/es6.string.iterator"),require("core-js/modules/es6.map"),require("core-js/modules/es6.object.freeze"),require("regenerator-runtime/runtime"),require("core-js/modules/es7.symbol.async-iterator"),require("core-js/modules/es6.symbol"),require("core-js/modules/es6.promise");var _constants=require("./constants"),_defer=_interopRequireDefault(require("./defer"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray(a){if(Symbol.iterator in Object(a)||"[object Arguments]"===Object.prototype.toString.call(a))return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a)){for(var b=0,c=Array(a.length);b<a.length;b++)c[b]=a[b];return c}}function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function _iterableToArrayLimit(a,b){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!(b&&c.length===b));d=!0);}catch(a){e=!0,f=a}finally{try{d||null==h["return"]||h["return"]()}finally{if(e)throw f}}return c}function _arrayWithHoles(a){if(Array.isArray(a))return a}function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _typeof(a){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function asyncGeneratorStep(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){return void c(a)}h.done?b(i):Promise.resolve(i).then(d,e)}function _asyncToGenerator(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){function f(a){asyncGeneratorStep(h,d,e,f,g,"next",a)}function g(a){asyncGeneratorStep(h,d,e,f,g,"throw",a)}var h=a.apply(b,c);f(void 0)})}}function _awaitAsyncGenerator(a){return new _AwaitValue(a)}function _wrapAsyncGenerator(a){return function(){return new _AsyncGenerator(a.apply(this,arguments))}}function _AsyncGenerator(a){function b(d,e){try{var f=a[d](e),g=f.value,h=g instanceof _AwaitValue;Promise.resolve(h?g.wrapped:g).then(function(a){return h?void b("next",a):void c(f.done?"return":"normal",a)},function(a){b("throw",a)})}catch(a){c("throw",a)}}function c(a,c){switch(a){case"return":d.resolve({value:c,done:!0});break;case"throw":d.reject(c);break;default:d.resolve({value:c,done:!1});}d=d.next,d?b(d.key,d.arg):e=null}var d,e;this._invoke=function(a,c){return new Promise(function(f,g){var h={key:a,arg:c,resolve:f,reject:g,next:null};e?e=e.next=h:(d=e=h,b(a,c))})},"function"!=typeof a.return&&(this.return=void 0)}"function"==typeof Symbol&&Symbol.asyncIterator&&(_AsyncGenerator.prototype[Symbol.asyncIterator]=function(){return this}),_AsyncGenerator.prototype.next=function(a){return this._invoke("next",a)},_AsyncGenerator.prototype.throw=function(a){return this._invoke("throw",a)},_AsyncGenerator.prototype.return=function(a){return this._invoke("return",a)};function _AwaitValue(a){this.wrapped=a}function sequentialLoop(){return _sequentialLoop.apply(this,arguments)}function _sequentialLoop(){return _sequentialLoop=_asyncToGenerator(regeneratorRuntime.mark(function a(b,c,d,e){return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(!e){a.next=5;break}return a.next=3,e;case 3:return a.next=5,d();case 5:if(b.status.complete){a.next=14;break}return a.next=8,c();case 8:if(!b.status.complete){a.next=10;break}return a.abrupt("return");case 10:return a.next=12,d();case 12:a.next=5;break;case 14:case"end":return a.stop();}},a,this)})),_sequentialLoop.apply(this,arguments)}function createTaskRef(a,b,c,d){var e;c.cancel(b);var f,g,h,i,j=function(){return f?f:(f=new Promise(function(a,b){g=[a,b]}),f)},k=function(a){l.status.error=!0;var b="object"===_typeof(a)?a:new Error(a);return b.taskRef=l,h=b,"every"!==l.type&&l.cancel(),b},l=(e={get result(){return l.status.complete?h:void 0},get promise(){return function(){var a=_asyncToGenerator(regeneratorRuntime.mark(function a(){var b;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(a.prev=0,!l.status.complete){a.next=5;break}if(!l.status.error){a.next=4;break}throw h;case 4:return a.abrupt("return",l);case 5:return b=j(),a.next=8,b;case 8:return a.abrupt("return",l);case 9:return a.prev=9,b===f&&(g=void 0,f=void 0),a.finish(9);case 12:case"end":return a.stop();}},a,this,[[0,,9,12]])}));return function(){return a.apply(this,arguments)}}()},get promises(){if("every"!==a)throw new Error("[ERROR] | task-handler | \"ref.promises()\" may only be used with iterative tasks such as every and everyNow, but tried with \"".concat(a,"\" task with ID: \"").concat(b,"\""));return function(){var a=_wrapAsyncGenerator(regeneratorRuntime.mark(function a(){var b;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:a.prev=0;case 1:if(l.status.complete){a.next=10;break}return b=j(),a.next=5,_awaitAsyncGenerator(b);case 5:return a.next=7,l;case 7:b===f&&(g=void 0,f=void 0),a.next=1;break;case 10:return a.abrupt("return",l);case 11:return a.prev=11,b===f&&(g=void 0,f=void 0),a.finish(11);case 14:case"end":return a.stop();}},a,this,[[0,,11,14]])}));return function(){return a.apply(this,arguments)}}()},status:{resolving:!1,complete:!1,error:!1,cancelled:!1}},_defineProperty(e,_constants.TASK_CANCELLED,function(a){l.status.complete||l.status.resolving||(l.status.complete=!0,!1===l.status.error&&(h=_constants.TASK_CANCELLED,l.status.cancelled=!0,g&&g[0](l),i&&("function"==typeof i.cancelled?a.push(i.cancelled.call(l,l)):"production"!==process.env.NODE_ENV&&console.warn("[WARN] | task-handler | Async Job \"".concat(b,"\" was cancelled but provided no \"cancelled\" handler.")))))}),_defineProperty(e,_constants.EXECUTE_RESULT,function(a,b){if(!l.status.complete){if(h=b,"every"!==l.type&&(l.status.complete=!0),a&&!g)return void console.error("[ERROR] | task-handler | An unhandled error occurred while running a task with id \"".concat(l.id,"\" with type \"").concat(l.type,"\". If the errors can not be caught in the handler function that is called, these errors can be handled by calling 'ref.promise().catch()' or through async iteration handling if the task is using intervals.\n"),a);var c=a?k(a):void 0;if(g)return c?g[1](c):g[0](l)}}),_defineProperty(e,"id",b),_defineProperty(e,"type",a),_defineProperty(e,"task",c),_defineProperty(e,"resolve",function b(a){return l.status.resolving=!0,l[_constants.EXECUTE_RESULT](void 0,a)}),_defineProperty(e,"reject",function b(a){return l.status.resolving=!0,l[_constants.EXECUTE_RESULT](a)}),_defineProperty(e,"cancel",function a(){l.status.complete||l.status.resolving||(!1===l.status.error&&(h=_constants.TASK_CANCELLED,l.status.cancelled=!0),c.cancel(b))}),e);if(d){var m=_slicedToArray(d,3),n=m[0],o=m[1],p=m[2];i=n.apply(l,o),l.promise().catch(_constants.NOOP),p.set(b,[l,_constants.NOOP]),i.start.call(l,l)}return Object.freeze(l)}function createTaskHandler(){function a(){return g?g:(g=(0,_defer.default)(h),g)}function b(a,b){var c=h.get(a);if(c){var d=_slicedToArray(c,2),e=d[0],f=d[1];return b&&b!==e||(f(),h.delete(a)),e}}function c(a,c){var d=b(a);d&&d[_constants.TASK_CANCELLED](c)}function d(a,c,d){try{"every"!==a.type&&(a.status.resolving=!0,b(a.id,a));var e="function"==typeof c?c.apply(a,d):void 0;a[_constants.EXECUTE_RESULT](void 0,e)}catch(b){a[_constants.EXECUTE_RESULT](b)}}function e(){return f.apply(this,arguments)}function f(){return f=_asyncToGenerator(regeneratorRuntime.mark(function a(c,d,e){var f;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(a.prev=0,"every"!==c.type&&(c.status.resolving=!0,b(c.id,c)),"function"!=typeof d){a.next=8;break}return a.next=5,d.apply(c,e);case 5:a.t0=a.sent,a.next=9;break;case 8:a.t0=void 0;case 9:return f=a.t0,a.next=12,c[_constants.EXECUTE_RESULT](void 0,f);case 12:a.next=18;break;case 14:return a.prev=14,a.t1=a["catch"](0),a.next=18,c[_constants.EXECUTE_RESULT](a.t1);case 18:case"end":return a.stop();}},a,this,[[0,14]])})),f.apply(this,arguments)}var g,h=new Map,i=Object.freeze({get size(){return h.size},has:function d(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return b.every(function(a){return h.has(a)})},after:function l(a,b,c){for(var e=createTaskRef("after",a,i),f=arguments.length,g=Array(3<f?f-3:0),j=3;j<f;j++)g[j-3]=arguments[j];var k=setTimeout(d,b,e,c,g);return h.set(a,[e,function(){return clearTimeout(k)}]),e},defer:function l(b,c){for(var e=arguments.length,f=Array(2<e?e-2:0),g=2;g<e;g++)f[g-2]=arguments[g];var j=createTaskRef("defer",b,i),k=a().add(j,function(){return d(j,c,f)});return h.set(b,[j,function(){return k()}]),j},every:function l(a,b,c){for(var e=createTaskRef("every",a,i),f=arguments.length,g=Array(3<f?f-3:0),j=3;j<f;j++)g[j-3]=arguments[j];var k=setInterval(d,b,e,c,g);return h.set(a,[e,function(){return clearInterval(k)}]),e},everyNow:function n(b,c,e){for(var f=arguments.length,g=Array(3<f?f-3:0),j=3;j<f;j++)g[j-3]=arguments[j];var k=createTaskRef("every",b,i),l=setInterval(d,c,k,e,g),m=a().add(b,function(){return d(k,e,g)});return h.set(b,[k,function(){clearInterval(l),m()}]),k},everyNowSequential:function p(b,c,d){for(var f=arguments.length,g=Array(3<f?f-3:0),j=3;j<f;j++)g[j-3]=arguments[j];var k,l,m=createTaskRef("every",b,i),n=new Promise(function(a){l=a}),o=a().add(b,function(){l()});h.set(b,[m,function(){o(),clearTimeout(k),l()}]);return sequentialLoop(m,function a(){return new Promise(function(a){l=a,k=setTimeout(a,c)})},function a(){return e(m,d,g)},n),m},everySequential:function m(a,b,c){for(var d=arguments.length,f=Array(3<d?d-3:0),g=3;g<d;g++)f[g-3]=arguments[g];var j,k,l=createTaskRef("every",a,i);h.set(a,[l,function(){clearTimeout(j),k()}]);return sequentialLoop(l,function a(){return new Promise(function(a){k=a,j=setTimeout(a,b)})},function a(){return e(l,c,f)}),l},job:function g(a,b){for(var c=arguments.length,d=Array(2<c?c-2:0),e=2;e<c;e++)d[e-2]=arguments[e];var f=createTaskRef("job",a,i,[b,d||_constants.STATIC_EMPTY_ARRAY,h]);return f},cancel:function f(){for(var a=[],b=arguments.length,d=Array(b),e=0;e<b;e++)d[e]=arguments[e];return d.forEach(function(b){return c(b,a)}),{promise:function b(){return Promise.all(a)}}},clear:function a(){return i.cancel.apply(i,_toConsumableArray(Array.from(h.keys())))}});return i} | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=createTaskHandler,Object.defineProperty(exports,"TASK_CANCELLED",{enumerable:!0,get:function a(){return _constants.TASK_CANCELLED}}),require("core-js/modules/es6.regexp.to-string"),require("core-js/modules/es6.array.from"),require("core-js/modules/web.dom.iterable"),require("core-js/modules/es6.array.iterator"),require("core-js/modules/es6.string.iterator"),require("core-js/modules/es6.map"),require("core-js/modules/es6.object.freeze"),require("regenerator-runtime/runtime"),require("core-js/modules/es7.symbol.async-iterator"),require("core-js/modules/es6.symbol"),require("core-js/modules/es6.promise");var _constants=require("./constants"),_defer=_interopRequireDefault(require("./defer"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray(a){if(Symbol.iterator in Object(a)||"[object Arguments]"===Object.prototype.toString.call(a))return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a)){for(var b=0,c=Array(a.length);b<a.length;b++)c[b]=a[b];return c}}function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function _iterableToArrayLimit(a,b){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!(b&&c.length===b));d=!0);}catch(a){e=!0,f=a}finally{try{d||null==h["return"]||h["return"]()}finally{if(e)throw f}}return c}function _arrayWithHoles(a){if(Array.isArray(a))return a}function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _typeof(a){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function asyncGeneratorStep(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){return void c(a)}h.done?b(i):Promise.resolve(i).then(d,e)}function _asyncToGenerator(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){function f(a){asyncGeneratorStep(h,d,e,f,g,"next",a)}function g(a){asyncGeneratorStep(h,d,e,f,g,"throw",a)}var h=a.apply(b,c);f(void 0)})}}function _awaitAsyncGenerator(a){return new _AwaitValue(a)}function _wrapAsyncGenerator(a){return function(){return new _AsyncGenerator(a.apply(this,arguments))}}function _AsyncGenerator(a){function b(d,e){try{var f=a[d](e),g=f.value,h=g instanceof _AwaitValue;Promise.resolve(h?g.wrapped:g).then(function(a){return h?void b("next",a):void c(f.done?"return":"normal",a)},function(a){b("throw",a)})}catch(a){c("throw",a)}}function c(a,c){switch(a){case"return":d.resolve({value:c,done:!0});break;case"throw":d.reject(c);break;default:d.resolve({value:c,done:!1});}d=d.next,d?b(d.key,d.arg):e=null}var d,e;this._invoke=function(a,c){return new Promise(function(f,g){var h={key:a,arg:c,resolve:f,reject:g,next:null};e?e=e.next=h:(d=e=h,b(a,c))})},"function"!=typeof a.return&&(this.return=void 0)}"function"==typeof Symbol&&Symbol.asyncIterator&&(_AsyncGenerator.prototype[Symbol.asyncIterator]=function(){return this}),_AsyncGenerator.prototype.next=function(a){return this._invoke("next",a)},_AsyncGenerator.prototype.throw=function(a){return this._invoke("throw",a)},_AsyncGenerator.prototype.return=function(a){return this._invoke("return",a)};function _AwaitValue(a){this.wrapped=a}function sequentialLoop(){return _sequentialLoop.apply(this,arguments)}function _sequentialLoop(){return _sequentialLoop=_asyncToGenerator(regeneratorRuntime.mark(function a(b,c,d,e){return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(!e){a.next=5;break}return a.next=3,e;case 3:return a.next=5,d();case 5:if(b.status.complete){a.next=14;break}return a.next=8,c();case 8:if(!b.status.complete){a.next=10;break}return a.abrupt("return");case 10:return a.next=12,d();case 12:a.next=5;break;case 14:case"end":return a.stop();}},a,this)})),_sequentialLoop.apply(this,arguments)}function createTaskRef(a,b,c,d){var e;c.cancel(b);var f,g,h,i,j=function(){return f?f:(f=new Promise(function(a,b){g=[a,b]}),f)},k=function(a){l.status.error=!0;var b="object"===_typeof(a)?a:new Error(a);return b.taskRef=l,h=b,"every"!==l.type&&l.cancel(),b},l=(e={get result(){return l.status.complete?h:void 0},get promise(){return function(){var a=_asyncToGenerator(regeneratorRuntime.mark(function a(){var b;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(a.prev=0,!l.status.complete){a.next=5;break}if(!l.status.error){a.next=4;break}throw h;case 4:return a.abrupt("return",l);case 5:return b=j(),a.next=8,b;case 8:return a.abrupt("return",l);case 9:return a.prev=9,b===f&&(g=void 0,f=void 0),a.finish(9);case 12:case"end":return a.stop();}},a,this,[[0,,9,12]])}));return function(){return a.apply(this,arguments)}}()},get promises(){if("every"!==a)throw new Error("[ERROR] | task-handler | \"ref.promises()\" may only be used with iterative tasks such as every and everyNow, but tried with \"".concat(a,"\" task with ID: \"").concat(b,"\""));return function(){var a=_wrapAsyncGenerator(regeneratorRuntime.mark(function a(){var b;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:a.prev=0;case 1:if(l.status.complete){a.next=10;break}return b=j(),a.next=5,_awaitAsyncGenerator(b);case 5:return a.next=7,l;case 7:b===f&&(g=void 0,f=void 0),a.next=1;break;case 10:return a.abrupt("return",l);case 11:return a.prev=11,b===f&&(g=void 0,f=void 0),a.finish(11);case 14:case"end":return a.stop();}},a,this,[[0,,11,14]])}));return function(){return a.apply(this,arguments)}}()},status:{resolving:!1,complete:!1,error:!1,cancelled:!1}},_defineProperty(e,_constants.TASK_CANCELLED,function(a){l.status.complete||l.status.resolving||(l.status.complete=!0,!1===l.status.error&&(h=_constants.TASK_CANCELLED,l.status.cancelled=!0,g&&g[0](l),i&&("function"==typeof i.cancelled?a.push(i.cancelled.call(l,l)):!i.complete&&"object"===("undefined"==typeof process?"undefined":_typeof(process))&&"production"!==process.env.NODE_ENV&&console.warn("[WARN] | task-handler | Async Job \"".concat(b,"\" was cancelled but provided no \"cancelled\" or \"complete\" handler.")),i.complete&&a.push(i.complete.call(l,l)))))}),_defineProperty(e,_constants.EXECUTE_RESULT,function(a,b){if(!l.status.complete){if(h=b,"every"!==l.type&&(l.status.complete=!0),a&&!g)return void console.error("[ERROR] | task-handler | An unhandled error occurred while running a task with id \"".concat(l.id,"\" with type \"").concat(l.type,"\". If the errors can not be caught in the handler function that is called, these errors can be handled by calling 'ref.promise().catch()' or through async iteration handling if the task is using intervals.\n"),a);var c=a?k(a):void 0;if(i&&(c&&i.error&&i.error.call(l,c),i.complete&&i.complete.call(l,l)),g)return c?g[1](c):g[0](l)}}),_defineProperty(e,"id",b),_defineProperty(e,"type",a),_defineProperty(e,"task",c),_defineProperty(e,"resolve",function b(a){return l.status.resolving=!0,l[_constants.EXECUTE_RESULT](void 0,a)}),_defineProperty(e,"reject",function b(a){return l.status.resolving=!0,l[_constants.EXECUTE_RESULT](a)}),_defineProperty(e,"cancel",function a(){l.status.complete||l.status.resolving||(!1===l.status.error&&(h=_constants.TASK_CANCELLED,l.status.cancelled=!0),c.cancel(b))}),e);if(d){var m=_slicedToArray(d,3),n=m[0],o=m[1],p=m[2];i=n.apply(l,o),l.promise().catch(_constants.NOOP),p.set(b,[l,_constants.NOOP]),i.start.call(l,l)}return Object.freeze(l)}function createTaskHandler(){function a(){return g?g:(g=(0,_defer.default)(h),g)}function b(a,b){var c=h.get(a);if(c){var d=_slicedToArray(c,2),e=d[0],f=d[1];return b&&b!==e||(f(),h.delete(a)),e}}function c(a,c){var d=b(a);d&&d[_constants.TASK_CANCELLED](c)}function d(a,c,d){try{"every"!==a.type&&(a.status.resolving=!0,b(a.id,a));var e="function"==typeof c?c.apply(a,d):void 0;a[_constants.EXECUTE_RESULT](void 0,e)}catch(b){a[_constants.EXECUTE_RESULT](b)}}function e(){return f.apply(this,arguments)}function f(){return f=_asyncToGenerator(regeneratorRuntime.mark(function a(c,d,e){var f;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(a.prev=0,"every"!==c.type&&(c.status.resolving=!0,b(c.id,c)),"function"!=typeof d){a.next=8;break}return a.next=5,d.apply(c,e);case 5:a.t0=a.sent,a.next=9;break;case 8:a.t0=void 0;case 9:return f=a.t0,a.next=12,c[_constants.EXECUTE_RESULT](void 0,f);case 12:a.next=18;break;case 14:return a.prev=14,a.t1=a["catch"](0),a.next=18,c[_constants.EXECUTE_RESULT](a.t1);case 18:case"end":return a.stop();}},a,this,[[0,14]])})),f.apply(this,arguments)}var g,h=new Map,i=Object.freeze({get size(){return h.size},has:function d(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return b.every(function(a){return h.has(a)})},after:function l(a,b,c){for(var e=createTaskRef("after",a,i),f=arguments.length,g=Array(3<f?f-3:0),j=3;j<f;j++)g[j-3]=arguments[j];var k=setTimeout(d,b,e,c,g);return h.set(a,[e,function(){return clearTimeout(k)}]),e},defer:function l(b,c){for(var e=arguments.length,f=Array(2<e?e-2:0),g=2;g<e;g++)f[g-2]=arguments[g];var j=createTaskRef("defer",b,i),k=a().add(j,function(){return d(j,c,f)});return h.set(b,[j,function(){return k()}]),j},every:function l(a,b,c){for(var e=createTaskRef("every",a,i),f=arguments.length,g=Array(3<f?f-3:0),j=3;j<f;j++)g[j-3]=arguments[j];var k=setInterval(d,b,e,c,g);return h.set(a,[e,function(){return clearInterval(k)}]),e},everyNow:function n(b,c,e){for(var f=arguments.length,g=Array(3<f?f-3:0),j=3;j<f;j++)g[j-3]=arguments[j];var k=createTaskRef("every",b,i),l=setInterval(d,c,k,e,g),m=a().add(b,function(){return d(k,e,g)});return h.set(b,[k,function(){clearInterval(l),m()}]),k},everyNowSequential:function p(b,c,d){for(var f=arguments.length,g=Array(3<f?f-3:0),j=3;j<f;j++)g[j-3]=arguments[j];var k,l,m=createTaskRef("every",b,i),n=new Promise(function(a){l=a}),o=a().add(b,function(){l()});h.set(b,[m,function(){o(),clearTimeout(k),l()}]);return sequentialLoop(m,function a(){return new Promise(function(a){l=a,k=setTimeout(a,c)})},function a(){return e(m,d,g)},n),m},everySequential:function m(a,b,c){for(var d=arguments.length,f=Array(3<d?d-3:0),g=3;g<d;g++)f[g-3]=arguments[g];var j,k,l=createTaskRef("every",a,i);h.set(a,[l,function(){clearTimeout(j),k()}]);return sequentialLoop(l,function a(){return new Promise(function(a){k=a,j=setTimeout(a,b)})},function a(){return e(l,c,f)}),l},job:function g(a,b){for(var c=arguments.length,d=Array(2<c?c-2:0),e=2;e<c;e++)d[e-2]=arguments[e];var f=createTaskRef("job",a,i,[b,d||_constants.STATIC_EMPTY_ARRAY,h]);return f},cancel:function f(){for(var a=[],b=arguments.length,d=Array(b),e=0;e<b;e++)d[e]=arguments[e];return d.forEach(function(b){return c(b,a)}),{promise:function b(){return Promise.all(a)}}},clear:function a(){return i.cancel.apply(i,_toConsumableArray(Array.from(h.keys())))}});return i} |
{ | ||
"name": "task-handler", | ||
"version": "2.6.0", | ||
"version": "2.7.0", | ||
"description": "Handle Javascript Timers like a boss! https://odo-network.github.io/task-handler/", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -152,7 +152,14 @@ /* @flow */ | ||
promises.push(job.cancelled.call(ref, ref)); | ||
} else if (process.env.NODE_ENV !== 'production') { | ||
} else if ( | ||
!job.complete | ||
&& typeof process === 'object' | ||
&& process.env.NODE_ENV !== 'production' | ||
) { | ||
console.warn( | ||
`[WARN] | task-handler | Async Job "${id}" was cancelled but provided no "cancelled" handler.`, | ||
`[WARN] | task-handler | Async Job "${id}" was cancelled but provided no "cancelled" or "complete" handler.`, | ||
); | ||
} | ||
if (job.complete) { | ||
promises.push(job.complete.call(ref, ref)); | ||
} | ||
} | ||
@@ -180,2 +187,10 @@ } | ||
const error = err ? getTaskError(err) : undefined; | ||
if (job) { | ||
if (error && job.error) { | ||
job.error.call(ref, error); | ||
} | ||
if (job.complete) { | ||
job.complete.call(ref, ref); | ||
} | ||
} | ||
if (promiseActions) { | ||
@@ -182,0 +197,0 @@ if (error) return promiseActions[1](error); |
@@ -79,10 +79,7 @@ /* @flow */ | ||
export type Task$Job = | ||
| {| | ||
start(ref: Task$Ref): any, | ||
cancelled?: void, | ||
|} | ||
| {| | ||
start(ref: Task$Ref): any, | ||
cancelled(ref: Task$Ref): any, | ||
|}; | ||
export type Task$Job = {| | ||
start: (ref: Task$Ref) => any, | ||
error?: (error: Error) => any, | ||
cancelled?: (ref: Task$Ref) => any, | ||
complete?: (ref: Task$Ref) => any, | ||
|}; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
270616
623