UNPKG

metatasks

Version:

FIFO queue for Promise-based tasks. Optionally persistent to ensure tasks survive reboots. Supports concurrency-limiting, metadata and state-tracking for statistics.

39 lines (29 loc) 1.2 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); exports.enableQueuedCalls = enableQueuedCalls; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _harmonyReflect = require('harmony-reflect'); var _harmonyReflect2 = _interopRequireDefault(_harmonyReflect); var _decoratorQueueJs = require('./decorator-queue.js'); var queueProxy = new Proxy(function () {}, { apply: function apply(emptyFunction, thisArg, argumentsList) { return new Proxy(thisArg, { get: function get(target, name) { if (!(name in target) || typeof target[name] !== 'function') { return undefined; } if (argumentsList.length > 1) throw new Error('Queue definition should be one parameter only'); return _decoratorQueueJs.makeItObeyQueue.call(target, target[name], argumentsList[0], target); //console.log("using queue: " + argumentsList.join(", ")); //return target[name].bind(target); } }); } }); function enableQueuedCalls(targetClass) { targetClass.useQueue = queueProxy; targetClass.prototype.useQueue = queueProxy; } //# sourceMappingURL=proxy.js.map