UNPKG

2 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4Object.defineProperty(exports, "__esModule", {
5 value: true
6});
7exports.promiseWithTimeout = exports["default"] = void 0;
8var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10var _err = require("@lskjs/err");
11var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
12// import { isFunction } from '@lskjs/utils/isFunction';
13
14var promiseWithTimeout = /*#__PURE__*/function () {
15 var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(promiseOrFn) {
16 var timeout,
17 timeoutId,
18 timeoutPromise,
19 promise,
20 res,
21 _args = arguments;
22 return _regenerator["default"].wrap(function _callee$(_context) {
23 while (1) switch (_context.prev = _context.next) {
24 case 0:
25 timeout = _args.length > 1 && _args[1] !== undefined ? _args[1] : 15000;
26 timeoutPromise = new Promise(function (_, reject) {
27 timeoutId = setTimeout(function () {
28 reject(new _err.Err('PROMISE_TIMEOUT', {
29 timeout: timeout
30 }));
31 }, timeout);
32 });
33 promise = (0, _isFunction["default"])(promiseOrFn) ? promiseOrFn() : promiseOrFn;
34 _context.next = 5;
35 return Promise.race([promise, timeoutPromise]);
36 case 5:
37 res = _context.sent;
38 clearTimeout(timeoutId);
39 return _context.abrupt("return", res);
40 case 8:
41 case "end":
42 return _context.stop();
43 }
44 }, _callee);
45 }));
46 return function promiseWithTimeout(_x) {
47 return _ref.apply(this, arguments);
48 };
49}();
50exports.promiseWithTimeout = promiseWithTimeout;
51var _default = promiseWithTimeout;
52exports["default"] = _default;
53//# sourceMappingURL=promiseWithTimeout.js.map
\No newline at end of file