UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

44 lines (38 loc) 1.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.cancelable_promise = exports.cancelable_timeout = undefined; var _promise = require("babel-runtime/core-js/promise"); var _promise2 = _interopRequireDefault(_promise); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var cancelable_timeout = exports.cancelable_timeout = function cancelable_timeout(callback, lapse) { var canceled = false; setTimeout(function () { if (!canceled) { callback(); } }, lapse); return { cancel: function cancel() { canceled = true; } }; }; var cancelable_promise = exports.cancelable_promise = function cancelable_promise(constructor) { var canceled = false; return { promise: new _promise2.default(function (resolve, reject) { var promise = new _promise2.default(constructor); promise.then(function (data) { return canceled ? reject({ error: "canceled", data: data }) : resolve(data); }); promise.catch(function (data) { return canceled ? reject({ error: "canceled", data: data }) : reject(data); }); }), cancel: function cancel() { canceled = true; } }; };