stratumn-cli
Version:
CLI tools for Stratumn
41 lines (33 loc) • 1.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = poll;
var _get = require('../utils/get');
var _get2 = _interopRequireDefault(_get);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function delay(fn) {
var time = arguments.length <= 1 || arguments[1] === undefined ? 1000 : arguments[1];
return new Promise(function (resolve, reject) {
setTimeout(function () {
fn().then(resolve).catch(reject);
}, time);
});
}
function poll(appName, willDestroy) {
return (0, _get2.default)('/applications/' + appName, true).then(function (app) {
if (app.job.state === 'QUEUED') {
process.stdout.write('.');
return delay(function () {
return poll(appName);
});
}
process.stdout.write('\n' + app.job.state);
}).catch(function (err) {
if (willDestroy && err.message === 'Not found') {
process.stdout.write('\nCOMPLETE');
return;
}
throw err;
});
}