@dxos/async
Advanced tools
Comparing version 1.0.0-beta.2 to 1.0.0-beta.3
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.waitForCondition = exports.promiseTimeout = exports.trigger = exports.useValue = exports.latch = exports.timeout = exports.sleep = exports.noop = void 0; | ||
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); | ||
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); | ||
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); | ||
// | ||
// Copyright 2020 DxOS | ||
// | ||
var noop = function noop() { | ||
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { | ||
args[_key] = arguments[_key]; | ||
} | ||
return args; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.waitForCondition = exports.promiseTimeout = exports.trigger = exports.useValue = exports.latch = exports.timeout = exports.sleep = exports.noop = void 0; | ||
exports.noop = (...args) => args; | ||
/** | ||
@@ -31,23 +13,16 @@ * Timesout after delay. | ||
*/ | ||
exports.noop = noop; | ||
var sleep = function sleep(timeout) { | ||
return new Promise(function (resolve) { | ||
var finish = Date.now() + timeout; // setTimeout does not guarantee execution at >= the scheduled time and may execute slightly early. | ||
var sleeper = function sleeper() { | ||
var delta = finish - Date.now(); | ||
if (delta > 0) { | ||
setTimeout(sleeper, delta); | ||
} else { | ||
resolve(); | ||
} | ||
exports.sleep = timeout => new Promise((resolve) => { | ||
const finish = Date.now() + timeout; | ||
// setTimeout does not guarantee execution at >= the scheduled time and may execute slightly early. | ||
const sleeper = () => { | ||
const delta = finish - Date.now(); | ||
if (delta > 0) { | ||
setTimeout(sleeper, delta); | ||
} | ||
else { | ||
resolve(); | ||
} | ||
}; | ||
sleeper(); | ||
}); | ||
}; | ||
}); | ||
/** | ||
@@ -59,44 +34,16 @@ * Async timeout | ||
*/ | ||
exports.sleep = sleep; | ||
var timeout = function timeout(f) { | ||
var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; | ||
return new Promise(function (resolve, reject) { | ||
var handle = setTimeout( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() { | ||
var value; | ||
return _regenerator["default"].wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
_context.prev = 0; | ||
_context.next = 3; | ||
return f(); | ||
case 3: | ||
value = _context.sent; | ||
resolve(value); | ||
_context.next = 10; | ||
break; | ||
case 7: | ||
_context.prev = 7; | ||
_context.t0 = _context["catch"](0); | ||
reject(_context.t0); | ||
case 10: | ||
_context.prev = 10; | ||
clearTimeout(handle); | ||
return _context.finish(10); | ||
case 13: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
exports.timeout = (f, timeout = 0) => new Promise((resolve, reject) => { | ||
const handle = setTimeout(async () => { | ||
try { | ||
const value = await f(); | ||
resolve(value); | ||
} | ||
}, _callee, null, [[0, 7, 10, 13]]); | ||
})), timeout); | ||
}); | ||
}; | ||
catch (err) { | ||
reject(err); | ||
} | ||
finally { | ||
clearTimeout(handle); | ||
} | ||
}, timeout); | ||
}); | ||
/** | ||
@@ -108,12 +55,6 @@ * Returns a function which triggers the callback after being called n times. | ||
*/ | ||
exports.timeout = timeout; | ||
var latch = function latch(n, callback) { | ||
return function () { | ||
exports.latch = (n, callback) => () => { | ||
if (--n === 0) { | ||
callback(n); | ||
callback(n); | ||
} | ||
}; | ||
}; | ||
@@ -126,32 +67,21 @@ /** | ||
*/ | ||
exports.latch = latch; | ||
var useValue = function useValue() { | ||
var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined; | ||
var callback; | ||
var promise = new Promise(function (resolve, reject) { | ||
var handle = timeout ? setTimeout(function () { | ||
return reject(new Error("Timed out after ".concat(timeout, "ms"))); | ||
}, timeout) : null; | ||
callback = function callback() { | ||
if (handle) { | ||
clearTimeout(handle); | ||
} | ||
resolve.apply(void 0, arguments); | ||
}; | ||
}); | ||
return [function () { | ||
return promise; | ||
}, function (value) { | ||
return callback(value); | ||
}]; | ||
}; // TODO(burdon): Remove. | ||
exports.useValue = useValue; | ||
var trigger = useValue; | ||
exports.useValue = (timeout = undefined) => { | ||
let callback; | ||
const promise = new Promise((resolve, reject) => { | ||
const handle = timeout | ||
? setTimeout(() => reject(new Error(`Timed out after ${timeout}ms`)), timeout) : null; | ||
callback = (...args) => { | ||
if (handle) { | ||
clearTimeout(handle); | ||
} | ||
resolve(...args); | ||
}; | ||
}); | ||
return [ | ||
() => promise, | ||
(value) => callback(value) | ||
]; | ||
}; | ||
// TODO(burdon): Remove. | ||
exports.trigger = exports.useValue; | ||
/** | ||
@@ -162,26 +92,25 @@ * @param {Promise} promise | ||
*/ | ||
exports.trigger = trigger; | ||
var promiseTimeout = function promiseTimeout(promise, timeout) { | ||
var cancelTimeout; | ||
var timeoutPromise = new Promise(function (resolve, reject) { | ||
var timer = setTimeout(function () { | ||
reject(new Error("Timed out in ".concat(timeout, " ms."))); | ||
}, timeout); | ||
cancelTimeout = function cancelTimeout() { | ||
clearTimeout(timer); | ||
resolve(); | ||
}; | ||
}); | ||
return new Promise(function (resolve, reject) { | ||
Promise.race([promise, timeoutPromise]).then(function () { | ||
cancelTimeout(); | ||
resolve.apply(void 0, arguments); | ||
}, function (err) { | ||
cancelTimeout(); | ||
reject(err); | ||
exports.promiseTimeout = (promise, timeout) => { | ||
let cancelTimeout; | ||
const timeoutPromise = new Promise((resolve, reject) => { | ||
const timer = setTimeout(() => { | ||
reject(new Error(`Timed out in ${timeout} ms.`)); | ||
}, timeout); | ||
cancelTimeout = () => { | ||
clearTimeout(timer); | ||
resolve(); | ||
}; | ||
}); | ||
}); | ||
return new Promise((resolve, reject) => { | ||
Promise.race([ | ||
promise, | ||
timeoutPromise | ||
]).then((...result) => { | ||
cancelTimeout(); | ||
resolve(...result); | ||
}, (err) => { | ||
cancelTimeout(); | ||
reject(err); | ||
}); | ||
}); | ||
}; | ||
@@ -196,77 +125,26 @@ /** | ||
*/ | ||
exports.promiseTimeout = promiseTimeout; | ||
var waitForCondition = function waitForCondition(condFn) { | ||
var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; | ||
var interval = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10; | ||
var stopTime = timeout ? Date.now() + timeout : 0; | ||
var _useValue = useValue(), | ||
_useValue2 = (0, _slicedToArray2["default"])(_useValue, 2), | ||
provider = _useValue2[0], | ||
resolver = _useValue2[1]; | ||
var waiter = /*#__PURE__*/function () { | ||
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { | ||
var value; | ||
return _regenerator["default"].wrap(function _callee2$(_context2) { | ||
while (1) { | ||
switch (_context2.prev = _context2.next) { | ||
case 0: | ||
if (!(!stopTime || Date.now() < stopTime)) { | ||
_context2.next = 16; | ||
break; | ||
} | ||
_context2.prev = 1; | ||
_context2.next = 4; | ||
return condFn(); | ||
case 4: | ||
value = _context2.sent; | ||
if (!value) { | ||
_context2.next = 8; | ||
break; | ||
} | ||
resolver(value); | ||
return _context2.abrupt("break", 16); | ||
case 8: | ||
_context2.next = 12; | ||
break; | ||
case 10: | ||
_context2.prev = 10; | ||
_context2.t0 = _context2["catch"](1); | ||
case 12: | ||
_context2.next = 14; | ||
return sleep(interval); | ||
case 14: | ||
_context2.next = 0; | ||
break; | ||
case 16: | ||
case "end": | ||
return _context2.stop(); | ||
} | ||
exports.waitForCondition = (condFn, timeout = 0, interval = 10) => { | ||
const stopTime = timeout ? Date.now() + timeout : 0; | ||
const [provider, resolver] = exports.useValue(); | ||
const waiter = async () => { | ||
// eslint-disable-next-line no-unmodified-loop-condition | ||
while (!stopTime || Date.now() < stopTime) { | ||
try { | ||
// eslint-disable-next-line no-await-in-loop | ||
const value = await condFn(); | ||
if (value) { | ||
resolver(value); | ||
break; | ||
} | ||
} | ||
catch (e) { | ||
// pass... | ||
} | ||
// eslint-disable-next-line no-await-in-loop | ||
await exports.sleep(interval); | ||
} | ||
}, _callee2, null, [[1, 10]]); | ||
})); | ||
return function waiter() { | ||
return _ref2.apply(this, arguments); | ||
}; | ||
}(); | ||
setTimeout(waiter, 0); | ||
return timeout ? promiseTimeout(provider(), timeout) : provider(); | ||
setTimeout(waiter, 0); | ||
return timeout ? exports.promiseTimeout(provider(), timeout) : provider(); | ||
}; | ||
exports.waitForCondition = waitForCondition; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3luYy5qcyJdLCJuYW1lcyI6WyJub29wIiwiYXJncyIsInNsZWVwIiwidGltZW91dCIsIlByb21pc2UiLCJyZXNvbHZlIiwiZmluaXNoIiwiRGF0ZSIsIm5vdyIsInNsZWVwZXIiLCJkZWx0YSIsInNldFRpbWVvdXQiLCJmIiwicmVqZWN0IiwiaGFuZGxlIiwidmFsdWUiLCJjbGVhclRpbWVvdXQiLCJsYXRjaCIsIm4iLCJjYWxsYmFjayIsInVzZVZhbHVlIiwidW5kZWZpbmVkIiwicHJvbWlzZSIsIkVycm9yIiwidHJpZ2dlciIsInByb21pc2VUaW1lb3V0IiwiY2FuY2VsVGltZW91dCIsInRpbWVvdXRQcm9taXNlIiwidGltZXIiLCJyYWNlIiwidGhlbiIsImVyciIsIndhaXRGb3JDb25kaXRpb24iLCJjb25kRm4iLCJpbnRlcnZhbCIsInN0b3BUaW1lIiwicHJvdmlkZXIiLCJyZXNvbHZlciIsIndhaXRlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBRU8sSUFBTUEsSUFBSSxHQUFHLFNBQVBBLElBQU87QUFBQSxvQ0FBSUMsSUFBSjtBQUFJQSxJQUFBQSxJQUFKO0FBQUE7O0FBQUEsU0FBYUEsSUFBYjtBQUFBLENBQWI7QUFFUDs7Ozs7Ozs7O0FBS08sSUFBTUMsS0FBSyxHQUFHLFNBQVJBLEtBQVEsQ0FBQUMsT0FBTztBQUFBLFNBQUksSUFBSUMsT0FBSixDQUFZLFVBQUNDLE9BQUQsRUFBYTtBQUN2RCxRQUFNQyxNQUFNLEdBQUdDLElBQUksQ0FBQ0MsR0FBTCxLQUFhTCxPQUE1QixDQUR1RCxDQUd2RDs7QUFDQSxRQUFNTSxPQUFPLEdBQUcsU0FBVkEsT0FBVSxHQUFNO0FBQ3BCLFVBQU1DLEtBQUssR0FBR0osTUFBTSxHQUFHQyxJQUFJLENBQUNDLEdBQUwsRUFBdkI7O0FBQ0EsVUFBSUUsS0FBSyxHQUFHLENBQVosRUFBZTtBQUNiQyxRQUFBQSxVQUFVLENBQUNGLE9BQUQsRUFBVUMsS0FBVixDQUFWO0FBQ0QsT0FGRCxNQUVPO0FBQ0xMLFFBQUFBLE9BQU87QUFDUjtBQUNGLEtBUEQ7O0FBU0FJLElBQUFBLE9BQU87QUFDUixHQWQrQixDQUFKO0FBQUEsQ0FBckI7QUFnQlA7Ozs7Ozs7Ozs7QUFNTyxJQUFNTixPQUFPLEdBQUcsaUJBQUNTLENBQUQ7QUFBQSxNQUFJVCxPQUFKLHVFQUFjLENBQWQ7QUFBQSxTQUFvQixJQUFJQyxPQUFKLENBQVksVUFBQ0MsT0FBRCxFQUFVUSxNQUFWLEVBQXFCO0FBQzFFLFFBQU1DLE1BQU0sR0FBR0gsVUFBVSw2RkFBQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEscUJBRUZDLENBQUMsRUFGQzs7QUFBQTtBQUVoQkcsY0FBQUEsS0FGZ0I7QUFHdEJWLGNBQUFBLE9BQU8sQ0FBQ1UsS0FBRCxDQUFQO0FBSHNCO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBS3RCRixjQUFBQSxNQUFNLGFBQU47O0FBTHNCO0FBQUE7QUFPdEJHLGNBQUFBLFlBQVksQ0FBQ0YsTUFBRCxDQUFaO0FBUHNCOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEtBQUQsSUFTdEJYLE9BVHNCLENBQXpCO0FBVUQsR0FYMEMsQ0FBcEI7QUFBQSxDQUFoQjtBQWFQOzs7Ozs7Ozs7O0FBTU8sSUFBTWMsS0FBSyxHQUFHLFNBQVJBLEtBQVEsQ0FBQ0MsQ0FBRCxFQUFJQyxRQUFKO0FBQUEsU0FBaUIsWUFBTTtBQUMxQyxRQUFJLEVBQUVELENBQUYsS0FBUSxDQUFaLEVBQWU7QUFDYkMsTUFBQUEsUUFBUSxDQUFDRCxDQUFELENBQVI7QUFDRDtBQUNGLEdBSm9CO0FBQUEsQ0FBZDtBQU1QOzs7Ozs7Ozs7O0FBTU8sSUFBTUUsUUFBUSxHQUFHLFNBQVhBLFFBQVcsR0FBeUI7QUFBQSxNQUF4QmpCLE9BQXdCLHVFQUFka0IsU0FBYztBQUMvQyxNQUFJRixRQUFKO0FBQ0EsTUFBTUcsT0FBTyxHQUFHLElBQUlsQixPQUFKLENBQVksVUFBQ0MsT0FBRCxFQUFVUSxNQUFWLEVBQXFCO0FBQy9DLFFBQU1DLE1BQU0sR0FBR1gsT0FBTyxHQUNsQlEsVUFBVSxDQUFDO0FBQUEsYUFBTUUsTUFBTSxDQUFDLElBQUlVLEtBQUosMkJBQTZCcEIsT0FBN0IsUUFBRCxDQUFaO0FBQUEsS0FBRCxFQUEwREEsT0FBMUQsQ0FEUSxHQUM2RCxJQURuRjs7QUFHQWdCLElBQUFBLFFBQVEsR0FBRyxvQkFBYTtBQUN0QixVQUFJTCxNQUFKLEVBQVk7QUFDVkUsUUFBQUEsWUFBWSxDQUFDRixNQUFELENBQVo7QUFDRDs7QUFDRFQsTUFBQUEsT0FBTyxNQUFQO0FBQ0QsS0FMRDtBQU1ELEdBVmUsQ0FBaEI7QUFZQSxTQUFPLENBQ0w7QUFBQSxXQUFNaUIsT0FBTjtBQUFBLEdBREssRUFFTCxVQUFDUCxLQUFEO0FBQUEsV0FBV0ksUUFBUSxDQUFDSixLQUFELENBQW5CO0FBQUEsR0FGSyxDQUFQO0FBSUQsQ0FsQk0sQyxDQW9CUDs7OztBQUNPLElBQU1TLE9BQU8sR0FBR0osUUFBaEI7QUFFUDs7Ozs7Ozs7QUFLTyxJQUFNSyxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLENBQUNILE9BQUQsRUFBVW5CLE9BQVYsRUFBc0I7QUFDbEQsTUFBSXVCLGFBQUo7QUFFQSxNQUFNQyxjQUFjLEdBQUcsSUFBSXZCLE9BQUosQ0FBWSxVQUFDQyxPQUFELEVBQVVRLE1BQVYsRUFBcUI7QUFDdEQsUUFBTWUsS0FBSyxHQUFHakIsVUFBVSxDQUFDLFlBQU07QUFDN0JFLE1BQUFBLE1BQU0sQ0FBQyxJQUFJVSxLQUFKLHdCQUEwQnBCLE9BQTFCLFVBQUQsQ0FBTjtBQUNELEtBRnVCLEVBRXJCQSxPQUZxQixDQUF4Qjs7QUFJQXVCLElBQUFBLGFBQWEsR0FBRyx5QkFBTTtBQUNwQlYsTUFBQUEsWUFBWSxDQUFDWSxLQUFELENBQVo7QUFDQXZCLE1BQUFBLE9BQU87QUFDUixLQUhEO0FBSUQsR0FUc0IsQ0FBdkI7QUFXQSxTQUFPLElBQUlELE9BQUosQ0FBWSxVQUFDQyxPQUFELEVBQVVRLE1BQVYsRUFBcUI7QUFDdENULElBQUFBLE9BQU8sQ0FBQ3lCLElBQVIsQ0FBYSxDQUNYUCxPQURXLEVBRVhLLGNBRlcsQ0FBYixFQUdHRyxJQUhILENBR1EsWUFBZTtBQUNyQkosTUFBQUEsYUFBYTtBQUNickIsTUFBQUEsT0FBTyxNQUFQO0FBQ0QsS0FORCxFQU1HLFVBQUMwQixHQUFELEVBQVM7QUFDVkwsTUFBQUEsYUFBYTtBQUNiYixNQUFBQSxNQUFNLENBQUNrQixHQUFELENBQU47QUFDRCxLQVREO0FBVUQsR0FYTSxDQUFQO0FBWUQsQ0ExQk07QUE0QlA7Ozs7Ozs7Ozs7OztBQVFPLElBQU1DLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBbUIsQ0FBQ0MsTUFBRCxFQUF3QztBQUFBLE1BQS9COUIsT0FBK0IsdUVBQXJCLENBQXFCO0FBQUEsTUFBbEIrQixRQUFrQix1RUFBUCxFQUFPO0FBQ3RFLE1BQU1DLFFBQVEsR0FBR2hDLE9BQU8sR0FBR0ksSUFBSSxDQUFDQyxHQUFMLEtBQWFMLE9BQWhCLEdBQTBCLENBQWxEOztBQURzRSxrQkFFekNpQixRQUFRLEVBRmlDO0FBQUE7QUFBQSxNQUUvRGdCLFFBRitEO0FBQUEsTUFFckRDLFFBRnFEOztBQUd0RSxNQUFNQyxNQUFNO0FBQUEsOEZBQUc7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsb0JBRU4sQ0FBQ0gsUUFBRCxJQUFhNUIsSUFBSSxDQUFDQyxHQUFMLEtBQWEyQixRQUZwQjtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUEscUJBS1dGLE1BQU0sRUFMakI7O0FBQUE7QUFLSGxCLGNBQUFBLEtBTEc7O0FBQUEsbUJBTUxBLEtBTks7QUFBQTtBQUFBO0FBQUE7O0FBT1BzQixjQUFBQSxRQUFRLENBQUN0QixLQUFELENBQVI7QUFQTzs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQSxxQkFjTGIsS0FBSyxDQUFDZ0MsUUFBRCxDQWRBOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxLQUFIOztBQUFBLG9CQUFOSSxNQUFNO0FBQUE7QUFBQTtBQUFBLEtBQVo7O0FBaUJBM0IsRUFBQUEsVUFBVSxDQUFDMkIsTUFBRCxFQUFTLENBQVQsQ0FBVjtBQUVBLFNBQU9uQyxPQUFPLEdBQUdzQixjQUFjLENBQUNXLFFBQVEsRUFBVCxFQUFhakMsT0FBYixDQUFqQixHQUF5Q2lDLFFBQVEsRUFBL0Q7QUFDRCxDQXZCTSIsInNvdXJjZXNDb250ZW50IjpbIi8vXG4vLyBDb3B5cmlnaHQgMjAyMCBEeE9TXG4vL1xuXG5leHBvcnQgY29uc3Qgbm9vcCA9ICguLi5hcmdzKSA9PiBhcmdzO1xuXG4vKipcbiAqIFRpbWVzb3V0IGFmdGVyIGRlbGF5LlxuICogQHBhcmFtIHRpbWVvdXRcbiAqIEByZXR1cm5zIHtQcm9taXNlPHVua25vd24+fVxuICovXG5leHBvcnQgY29uc3Qgc2xlZXAgPSB0aW1lb3V0ID0+IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gIGNvbnN0IGZpbmlzaCA9IERhdGUubm93KCkgKyB0aW1lb3V0O1xuXG4gIC8vIHNldFRpbWVvdXQgZG9lcyBub3QgZ3VhcmFudGVlIGV4ZWN1dGlvbiBhdCA+PSB0aGUgc2NoZWR1bGVkIHRpbWUgYW5kIG1heSBleGVjdXRlIHNsaWdodGx5IGVhcmx5LlxuICBjb25zdCBzbGVlcGVyID0gKCkgPT4ge1xuICAgIGNvbnN0IGRlbHRhID0gZmluaXNoIC0gRGF0ZS5ub3coKTtcbiAgICBpZiAoZGVsdGEgPiAwKSB7XG4gICAgICBzZXRUaW1lb3V0KHNsZWVwZXIsIGRlbHRhKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzb2x2ZSgpO1xuICAgIH1cbiAgfTtcblxuICBzbGVlcGVyKCk7XG59KTtcblxuLyoqXG4gKiBBc3luYyB0aW1lb3V0XG4gKiBAcGFyYW0gZlxuICogQHBhcmFtIFt0aW1lb3V0XVxuICogQHJldHVybnMge1Byb21pc2U8dW5rbm93bj59XG4gKi9cbmV4cG9ydCBjb25zdCB0aW1lb3V0ID0gKGYsIHRpbWVvdXQgPSAwKSA9PiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gIGNvbnN0IGhhbmRsZSA9IHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGF3YWl0IGYoKTtcbiAgICAgIHJlc29sdmUodmFsdWUpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgcmVqZWN0KGVycik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGNsZWFyVGltZW91dChoYW5kbGUpO1xuICAgIH1cbiAgfSwgdGltZW91dCk7XG59KTtcblxuLyoqXG4gKiBSZXR1cm5zIGEgZnVuY3Rpb24gd2hpY2ggdHJpZ2dlcnMgdGhlIGNhbGxiYWNrIGFmdGVyIGJlaW5nIGNhbGxlZCBuIHRpbWVzLlxuICogQHBhcmFtIHtudW1iZXJ9IG5cbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gKiBAcmV0dXJucyB7ZnVuY3Rpb259XG4gKi9cbmV4cG9ydCBjb25zdCBsYXRjaCA9IChuLCBjYWxsYmFjaykgPT4gKCkgPT4ge1xuICBpZiAoLS1uID09PSAwKSB7XG4gICAgY2FsbGJhY2sobik7XG4gIH1cbn07XG5cbi8qKlxuICogUmV0dXJucyBhIHR1cGxlIGNvbnRhaW5pbmcgYSBQcm9taXNlIHRoYXQgd2lsbCBiZSByZXNvbHZlZCB3aGVuIHRoZSByZXNvbHZlciBmdW5jdGlvbiBpcyBjYWxsZWQuXG4gKlxuICogQHBhcmFtIHtudW1iZXJ8dW5kZWZpbmVkfSB0aW1lb3V0XG4gKiBAcmV0dXJuIHtbUHJvbWlzZSwgZnVuY3Rpb25dfX1cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZVZhbHVlID0gKHRpbWVvdXQgPSB1bmRlZmluZWQpID0+IHtcbiAgbGV0IGNhbGxiYWNrO1xuICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZSA9IHRpbWVvdXRcbiAgICAgID8gc2V0VGltZW91dCgoKSA9PiByZWplY3QobmV3IEVycm9yKGBUaW1lZCBvdXQgYWZ0ZXIgJHt0aW1lb3V0fW1zYCkpLCB0aW1lb3V0KSA6IG51bGw7XG5cbiAgICBjYWxsYmFjayA9ICguLi5hcmdzKSA9PiB7XG4gICAgICBpZiAoaGFuZGxlKSB7XG4gICAgICAgIGNsZWFyVGltZW91dChoYW5kbGUpO1xuICAgICAgfVxuICAgICAgcmVzb2x2ZSguLi5hcmdzKTtcbiAgICB9O1xuICB9KTtcblxuICByZXR1cm4gW1xuICAgICgpID0+IHByb21pc2UsXG4gICAgKHZhbHVlKSA9PiBjYWxsYmFjayh2YWx1ZSlcbiAgXTtcbn07XG5cbi8vIFRPRE8oYnVyZG9uKTogUmVtb3ZlLlxuZXhwb3J0IGNvbnN0IHRyaWdnZXIgPSB1c2VWYWx1ZTtcblxuLyoqXG4gKiBAcGFyYW0ge1Byb21pc2V9IHByb21pc2VcbiAqIEBwYXJhbSB7TnVtYmVyfSB0aW1lb3V0XG4gKiBAcmV0dXJucyB7UHJvbWlzZTx1bmtub3duPn1cbiAqL1xuZXhwb3J0IGNvbnN0IHByb21pc2VUaW1lb3V0ID0gKHByb21pc2UsIHRpbWVvdXQpID0+IHtcbiAgbGV0IGNhbmNlbFRpbWVvdXQ7XG5cbiAgY29uc3QgdGltZW91dFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgdGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHJlamVjdChuZXcgRXJyb3IoYFRpbWVkIG91dCBpbiAke3RpbWVvdXR9IG1zLmApKTtcbiAgICB9LCB0aW1lb3V0KTtcblxuICAgIGNhbmNlbFRpbWVvdXQgPSAoKSA9PiB7XG4gICAgICBjbGVhclRpbWVvdXQodGltZXIpO1xuICAgICAgcmVzb2x2ZSgpO1xuICAgIH07XG4gIH0pO1xuXG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgUHJvbWlzZS5yYWNlKFtcbiAgICAgIHByb21pc2UsXG4gICAgICB0aW1lb3V0UHJvbWlzZVxuICAgIF0pLnRoZW4oKC4uLnJlc3VsdCkgPT4ge1xuICAgICAgY2FuY2VsVGltZW91dCgpO1xuICAgICAgcmVzb2x2ZSguLi5yZXN1bHQpO1xuICAgIH0sIChlcnIpID0+IHtcbiAgICAgIGNhbmNlbFRpbWVvdXQoKTtcbiAgICAgIHJlamVjdChlcnIpO1xuICAgIH0pO1xuICB9KTtcbn07XG5cbi8qKlxuICogUmV0dXJucyBhIFByb21pc2Ugd2hpY2ggcmVzb2x2ZXMgd2hlbiBgY29uZEZuYCByZXR1cm5zIHRydXRoeS4gVGhlIHZhbHVlIHJldHVybmVkIGJ5XG4gKiBgY29uZEZuYCBpcyB1c2VkIHRvIHJlc29sdmUgdGhlIFByb21pc2UuXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBjb25kRm5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbdGltZW91dF0gSG93IGxvbmcgdG8gd2FpdCwgaW4gbWlsbGlzZWNvbmRzICgwID0gbm8gdGltZW91dCkuXG4gKiBAcGFyYW0ge251bWJlcn0gW2ludGVydmFsPTEwXSBIb3cgZnJlcXVlbnRseSB0byBjaGVjaywgaW4gbWlsbGlzZWNvbmRzLlxuICogQHJldHVybnMgeyp9XG4gKi9cbmV4cG9ydCBjb25zdCB3YWl0Rm9yQ29uZGl0aW9uID0gKGNvbmRGbiwgdGltZW91dCA9IDAsIGludGVydmFsID0gMTApID0+IHtcbiAgY29uc3Qgc3RvcFRpbWUgPSB0aW1lb3V0ID8gRGF0ZS5ub3coKSArIHRpbWVvdXQgOiAwO1xuICBjb25zdCBbcHJvdmlkZXIsIHJlc29sdmVyXSA9IHVzZVZhbHVlKCk7XG4gIGNvbnN0IHdhaXRlciA9IGFzeW5jICgpID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5tb2RpZmllZC1sb29wLWNvbmRpdGlvblxuICAgIHdoaWxlICghc3RvcFRpbWUgfHwgRGF0ZS5ub3coKSA8IHN0b3BUaW1lKSB7XG4gICAgICB0cnkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYXdhaXQtaW4tbG9vcFxuICAgICAgICBjb25zdCB2YWx1ZSA9IGF3YWl0IGNvbmRGbigpO1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICByZXNvbHZlcih2YWx1ZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gcGFzcy4uLlxuICAgICAgfVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWF3YWl0LWluLWxvb3BcbiAgICAgIGF3YWl0IHNsZWVwKGludGVydmFsKTtcbiAgICB9XG4gIH07XG4gIHNldFRpbWVvdXQod2FpdGVyLCAwKTtcblxuICByZXR1cm4gdGltZW91dCA/IHByb21pc2VUaW1lb3V0KHByb3ZpZGVyKCksIHRpbWVvdXQpIDogcHJvdmlkZXIoKTtcbn07XG4iXX0= | ||
//# sourceMappingURL=async.js.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.waitForEvent = exports.addListener = exports.onEvent = void 0; | ||
var _async = require("./async"); | ||
// | ||
// Copyright 2020 DxOS | ||
// | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.waitForEvent = exports.addListener = exports.onEvent = void 0; | ||
const async_1 = require("./async"); | ||
/** | ||
@@ -21,20 +15,13 @@ * Adds the listener and returns a function to remove it. | ||
*/ | ||
var onEvent = function onEvent(eventEmitter, eventName, callback) { | ||
eventEmitter.on(eventName, callback); | ||
return function () { | ||
return eventEmitter.off(eventName, callback); | ||
}; | ||
}; // TODO(burdon): Remove. | ||
exports.onEvent = onEvent; | ||
var addListener = function addListener(eventEmitter, eventName, callback) { | ||
var off = onEvent(eventEmitter, eventName, callback); | ||
return { | ||
remove: function remove() { | ||
return off(); | ||
} | ||
}; | ||
exports.onEvent = (eventEmitter, eventName, callback) => { | ||
eventEmitter.on(eventName, callback); | ||
return () => eventEmitter.off(eventName, callback); | ||
}; | ||
// TODO(burdon): Remove. | ||
exports.addListener = (eventEmitter, eventName, callback) => { | ||
const off = exports.onEvent(eventEmitter, eventName, callback); | ||
return { | ||
remove: () => off() | ||
}; | ||
}; | ||
/** | ||
@@ -48,19 +35,13 @@ * Waits for an event with an optional test condition. | ||
*/ | ||
exports.addListener = addListener; | ||
var waitForEvent = function waitForEvent(eventEmitter, eventName, test, timeout) { | ||
var off; | ||
var promise = new Promise(function (resolve) { | ||
off = onEvent(eventEmitter, eventName, function () { | ||
if (!test || test.apply(void 0, arguments)) { | ||
resolve.apply(void 0, arguments); | ||
} | ||
exports.waitForEvent = (eventEmitter, eventName, test, timeout) => { | ||
let off; | ||
const promise = new Promise((resolve) => { | ||
off = exports.onEvent(eventEmitter, eventName, (...args) => { | ||
if (!test || test(...args)) { | ||
resolve(...args); | ||
} | ||
}); | ||
}); | ||
}); | ||
return timeout ? (0, _async.promiseTimeout)(promise, timeout)["finally"](off) : promise["finally"](off); | ||
return timeout ? async_1.promiseTimeout(promise, timeout).finally(off) : promise.finally(off); | ||
}; | ||
exports.waitForEvent = waitForEvent; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ldmVudHMuanMiXSwibmFtZXMiOlsib25FdmVudCIsImV2ZW50RW1pdHRlciIsImV2ZW50TmFtZSIsImNhbGxiYWNrIiwib24iLCJvZmYiLCJhZGRMaXN0ZW5lciIsInJlbW92ZSIsIndhaXRGb3JFdmVudCIsInRlc3QiLCJ0aW1lb3V0IiwicHJvbWlzZSIsIlByb21pc2UiLCJyZXNvbHZlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUE7O0FBSkE7QUFDQTtBQUNBOztBQUlBOzs7Ozs7O0FBT08sSUFBTUEsT0FBTyxHQUFHLFNBQVZBLE9BQVUsQ0FBQ0MsWUFBRCxFQUFlQyxTQUFmLEVBQTBCQyxRQUExQixFQUF1QztBQUM1REYsRUFBQUEsWUFBWSxDQUFDRyxFQUFiLENBQWdCRixTQUFoQixFQUEyQkMsUUFBM0I7QUFFQSxTQUFPO0FBQUEsV0FBTUYsWUFBWSxDQUFDSSxHQUFiLENBQWlCSCxTQUFqQixFQUE0QkMsUUFBNUIsQ0FBTjtBQUFBLEdBQVA7QUFDRCxDQUpNLEMsQ0FNUDs7Ozs7QUFDTyxJQUFNRyxXQUFXLEdBQUcsU0FBZEEsV0FBYyxDQUFDTCxZQUFELEVBQWVDLFNBQWYsRUFBMEJDLFFBQTFCLEVBQXVDO0FBQ2hFLE1BQU1FLEdBQUcsR0FBR0wsT0FBTyxDQUFDQyxZQUFELEVBQWVDLFNBQWYsRUFBMEJDLFFBQTFCLENBQW5CO0FBQ0EsU0FBTztBQUNMSSxJQUFBQSxNQUFNLEVBQUU7QUFBQSxhQUFNRixHQUFHLEVBQVQ7QUFBQTtBQURILEdBQVA7QUFHRCxDQUxNO0FBT1A7Ozs7Ozs7Ozs7OztBQVFPLElBQU1HLFlBQVksR0FBRyxTQUFmQSxZQUFlLENBQUNQLFlBQUQsRUFBZUMsU0FBZixFQUEwQk8sSUFBMUIsRUFBZ0NDLE9BQWhDLEVBQTRDO0FBQ3RFLE1BQUlMLEdBQUo7QUFFQSxNQUFNTSxPQUFPLEdBQUcsSUFBSUMsT0FBSixDQUFZLFVBQUNDLE9BQUQsRUFBYTtBQUN2Q1IsSUFBQUEsR0FBRyxHQUFHTCxPQUFPLENBQUNDLFlBQUQsRUFBZUMsU0FBZixFQUEwQixZQUFhO0FBQ2xELFVBQUksQ0FBQ08sSUFBRCxJQUFTQSxJQUFJLE1BQUosbUJBQWIsRUFBNEI7QUFDMUJJLFFBQUFBLE9BQU8sTUFBUDtBQUNEO0FBQ0YsS0FKWSxDQUFiO0FBS0QsR0FOZSxDQUFoQjtBQVFBLFNBQU9ILE9BQU8sR0FBRywyQkFBZUMsT0FBZixFQUF3QkQsT0FBeEIsYUFBeUNMLEdBQXpDLENBQUgsR0FBbURNLE9BQU8sV0FBUCxDQUFnQk4sR0FBaEIsQ0FBakU7QUFDRCxDQVpNIiwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vIENvcHlyaWdodCAyMDIwIER4T1Ncbi8vXG5cbmltcG9ydCB7IHByb21pc2VUaW1lb3V0IH0gZnJvbSAnLi9hc3luYyc7XG5cbi8qKlxuICogQWRkcyB0aGUgbGlzdGVuZXIgYW5kIHJldHVybnMgYSBmdW5jdGlvbiB0byByZW1vdmUgaXQuXG4gKiBQcm9tb3RlcyByZW1vdmluZyBsaXN0ZW5lcnMgd2hlbiBjbGVhbmluZyB1cCBvYmplY3RzICh0byBwcmV2ZW50IGxlYWtzKS5cbiAqIEBwYXJhbSB7RXZlbnRFbWl0dGVyfSBldmVudEVtaXR0ZXJcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGNhbGxiYWNrXG4gKi9cbmV4cG9ydCBjb25zdCBvbkV2ZW50ID0gKGV2ZW50RW1pdHRlciwgZXZlbnROYW1lLCBjYWxsYmFjaykgPT4ge1xuICBldmVudEVtaXR0ZXIub24oZXZlbnROYW1lLCBjYWxsYmFjayk7XG5cbiAgcmV0dXJuICgpID0+IGV2ZW50RW1pdHRlci5vZmYoZXZlbnROYW1lLCBjYWxsYmFjayk7XG59O1xuXG4vLyBUT0RPKGJ1cmRvbik6IFJlbW92ZS5cbmV4cG9ydCBjb25zdCBhZGRMaXN0ZW5lciA9IChldmVudEVtaXR0ZXIsIGV2ZW50TmFtZSwgY2FsbGJhY2spID0+IHtcbiAgY29uc3Qgb2ZmID0gb25FdmVudChldmVudEVtaXR0ZXIsIGV2ZW50TmFtZSwgY2FsbGJhY2spO1xuICByZXR1cm4ge1xuICAgIHJlbW92ZTogKCkgPT4gb2ZmKClcbiAgfTtcbn07XG5cbi8qKlxuICogV2FpdHMgZm9yIGFuIGV2ZW50IHdpdGggYW4gb3B0aW9uYWwgdGVzdCBjb25kaXRpb24uXG4gKiBAcGFyYW0ge0V2ZW50RW1pdHRlcn0gZXZlbnRFbWl0dGVyXG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBbdGVzdF0gUmV0dXJucyB0cnV0aHkgdmFsdWUgaWYgdGhlIHRlc3QgcGFzc2VzLlxuICogQHBhcmFtIHtOdW1iZXJ9IFt0aW1lb3V0XVxuICogQHJldHVybnMge1Byb21pc2U8dW5rbm93bj59XG4gKi9cbmV4cG9ydCBjb25zdCB3YWl0Rm9yRXZlbnQgPSAoZXZlbnRFbWl0dGVyLCBldmVudE5hbWUsIHRlc3QsIHRpbWVvdXQpID0+IHtcbiAgbGV0IG9mZjtcblxuICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBvZmYgPSBvbkV2ZW50KGV2ZW50RW1pdHRlciwgZXZlbnROYW1lLCAoLi4uYXJncykgPT4ge1xuICAgICAgaWYgKCF0ZXN0IHx8IHRlc3QoLi4uYXJncykpIHtcbiAgICAgICAgcmVzb2x2ZSguLi5hcmdzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIHRpbWVvdXQgPyBwcm9taXNlVGltZW91dChwcm9taXNlLCB0aW1lb3V0KS5maW5hbGx5KG9mZikgOiBwcm9taXNlLmZpbmFsbHkob2ZmKTtcbn07XG4iXX0= | ||
//# sourceMappingURL=events.js.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _async = require("./async"); | ||
Object.keys(_async).forEach(function (key) { | ||
if (key === "default" || key === "__esModule") return; | ||
Object.defineProperty(exports, key, { | ||
enumerable: true, | ||
get: function get() { | ||
return _async[key]; | ||
} | ||
}); | ||
}); | ||
var _events = require("./events"); | ||
Object.keys(_events).forEach(function (key) { | ||
if (key === "default" || key === "__esModule") return; | ||
Object.defineProperty(exports, key, { | ||
enumerable: true, | ||
get: function get() { | ||
return _events[key]; | ||
} | ||
}); | ||
}); | ||
var _testing = require("./testing"); | ||
Object.keys(_testing).forEach(function (key) { | ||
if (key === "default" || key === "__esModule") return; | ||
Object.defineProperty(exports, key, { | ||
enumerable: true, | ||
get: function get() { | ||
return _testing[key]; | ||
} | ||
}); | ||
}); | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFJQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vXG4vLyBDb3B5cmlnaHQgMjAyMCBEeE9TXG4vL1xuXG5leHBvcnQgKiBmcm9tICcuL2FzeW5jJztcbmV4cG9ydCAqIGZyb20gJy4vZXZlbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vdGVzdGluZyc7XG4iXX0= | ||
// | ||
// Copyright 2020 DxOS | ||
// | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __exportStar = (this && this.__exportStar) || function(m, exports) { | ||
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p); | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
__exportStar(require("./async"), exports); | ||
__exportStar(require("./events"), exports); | ||
__exportStar(require("./testing"), exports); | ||
__exportStar(require("./event"), exports); | ||
//# sourceMappingURL=index.js.map |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.expectToThrow = void 0; | ||
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); | ||
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); | ||
// | ||
// Copyright 2020 DxOS | ||
// | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.expectToThrow = void 0; | ||
/** | ||
@@ -24,42 +13,12 @@ * Wrapper for async jest tests. | ||
*/ | ||
var expectToThrow = /*#__PURE__*/function () { | ||
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(test) { | ||
var errType, | ||
thrown, | ||
_args = arguments; | ||
return _regenerator["default"].wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
errType = _args.length > 1 && _args[1] !== undefined ? _args[1] : Error; | ||
_context.prev = 1; | ||
_context.next = 4; | ||
return test(); | ||
case 4: | ||
_context.next = 9; | ||
break; | ||
case 6: | ||
_context.prev = 6; | ||
_context.t0 = _context["catch"](1); | ||
thrown = _context.t0; | ||
case 9: | ||
expect(thrown).toBeInstanceOf(errType); | ||
case 10: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
} | ||
}, _callee, null, [[1, 6]]); | ||
})); | ||
return function expectToThrow(_x) { | ||
return _ref.apply(this, arguments); | ||
}; | ||
}(); | ||
exports.expectToThrow = expectToThrow; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0aW5nLmpzIl0sIm5hbWVzIjpbImV4cGVjdFRvVGhyb3ciLCJ0ZXN0IiwiZXJyVHlwZSIsIkVycm9yIiwidGhyb3duIiwiZXhwZWN0IiwidG9CZUluc3RhbmNlT2YiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7OztBQU1PLElBQU1BLGFBQWE7QUFBQSwyRkFBRyxpQkFBT0MsSUFBUDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWFDLFlBQUFBLE9BQWIsMkRBQXVCQyxLQUF2QjtBQUFBO0FBQUE7QUFBQSxtQkFHbkJGLElBQUksRUFIZTs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBS3pCRyxZQUFBQSxNQUFNLGNBQU47O0FBTHlCO0FBUTNCQyxZQUFBQSxNQUFNLENBQUNELE1BQUQsQ0FBTixDQUFlRSxjQUFmLENBQThCSixPQUE5Qjs7QUFSMkI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsR0FBSDs7QUFBQSxrQkFBYkYsYUFBYTtBQUFBO0FBQUE7QUFBQSxHQUFuQiIsInNvdXJjZXNDb250ZW50IjpbIi8vXG4vLyBDb3B5cmlnaHQgMjAyMCBEeE9TXG4vL1xuXG4vKipcbiAqIFdyYXBwZXIgZm9yIGFzeW5jIGplc3QgdGVzdHMuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSB0ZXN0IC0gQXN5bmMgdGVzdFxuICogQHBhcmFtIGVyclR5cGVcbiAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XG4gKi9cbmV4cG9ydCBjb25zdCBleHBlY3RUb1Rocm93ID0gYXN5bmMgKHRlc3QsIGVyclR5cGUgPSBFcnJvcikgPT4ge1xuICBsZXQgdGhyb3duO1xuICB0cnkge1xuICAgIGF3YWl0IHRlc3QoKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgdGhyb3duID0gZXJyO1xuICB9XG5cbiAgZXhwZWN0KHRocm93bikudG9CZUluc3RhbmNlT2YoZXJyVHlwZSk7XG59O1xuIl19 | ||
exports.expectToThrow = async (test, errType = Error) => { | ||
let thrown; | ||
try { | ||
await test(); | ||
} | ||
catch (err) { | ||
thrown = err; | ||
} | ||
expect(thrown).toBeInstanceOf(errType); | ||
}; | ||
//# sourceMappingURL=testing.js.map |
{ | ||
"name": "@dxos/async", | ||
"version": "1.0.0-beta.2", | ||
"version": "1.0.0-beta.3", | ||
"description": "Basic async utils", | ||
@@ -9,4 +9,5 @@ "files": [ | ||
"main": "dist/es/index.js", | ||
"types": "dist/es/index.d.ts", | ||
"scripts": { | ||
"build": "babel ./src --out-dir ./dist/es --ignore \"**/*.test.js\" --source-maps inline", | ||
"build": "tsc", | ||
"build:watch": "yarn run build --watch", | ||
@@ -16,3 +17,3 @@ "clean": "rm -rf dist", | ||
"coveralls": "npm run coverage && cat ./coverage/lcov.info | coveralls", | ||
"lint": "semistandard 'src/**/*.js'", | ||
"lint": "semistandard 'src/**/*.{js,ts}'", | ||
"prepublishOnly": "npm run test && npm run build", | ||
@@ -24,2 +25,3 @@ "test": "jest --verbose --passWithNoTests", | ||
"jest": { | ||
"preset": "ts-jest/presets/js-with-ts", | ||
"testEnvironment": "node" | ||
@@ -29,15 +31,9 @@ }, | ||
"devDependencies": { | ||
"@babel/cli": "^7.0.0", | ||
"@babel/core": "^7.0.0", | ||
"@babel/plugin-proposal-class-properties": "^7.3.0", | ||
"@babel/plugin-proposal-export-default-from": "^7.2.0", | ||
"@babel/plugin-transform-runtime": "^7.0.0", | ||
"@babel/preset-env": "^7.0.0", | ||
"babel-eslint": "^10.1.0", | ||
"babel-jest": "^25.1.0", | ||
"babel-loader": "^8.0.0", | ||
"babel-plugin-add-module-exports": "^1.0.0", | ||
"@typescript-eslint/eslint-plugin": "^3.9.0", | ||
"@typescript-eslint/parser": "^3.9.0", | ||
"coveralls": "^3.0.7", | ||
"jest": "^25.1.0", | ||
"semistandard": "^14.2.0" | ||
"semistandard": "^14.2.0", | ||
"ts-jest": "^26.2.0", | ||
"typescript": "^3.9.7" | ||
}, | ||
@@ -48,3 +44,3 @@ "publishConfig": { | ||
"semistandard": { | ||
"parser": "babel-eslint", | ||
"parser": "@typescript-eslint/parser", | ||
"env": [ | ||
@@ -54,4 +50,8 @@ "jest", | ||
"browser" | ||
], | ||
"extends": [ | ||
"semistandard", | ||
"plugin:@typescript-eslint/recommended" | ||
] | ||
} | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
72639
7
35
635
2