@uipath/robot
Version:
UiPath Robot javascript SDK enabling web pages to interact with UiPath Robots
49 lines (48 loc) • 1.77 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.JobPromise = void 0;
var uipathRobot_1 = require("../uipathRobot");
var constants_1 = require("../utils/constants");
/**
* Job promise model used for resolution and/or rejection of Promise<JobResult>
*/
/* @uipath-public */
var JobPromise = /** @class */ (function () {
/**
* Default constructor
* @param job Job to be wrapped with promise
*/
/* @uipath-internal */
function JobPromise(job) {
var _this = this;
this.job = job;
/**
* Method to attach job status event handlers.
* @param eventHanlder Attaches callback which is invoked on job status change.
*/
this.onStatus = function (eventHanlder) {
_this.job.on(constants_1.Constants.STATUS, eventHanlder);
return _this;
};
/**
* Method to attach job workflow event handlers.
* @param eventHandler Attaches callback which is invoked on job workflow event.
*/
this.onWorkflowEvent = function (eventHandler) {
_this.job.on(constants_1.Constants.WORKFLOW_EVENT, eventHandler);
return _this;
};
this.promise = uipathRobot_1.UiPathRobot.startJob(this.job);
}
JobPromise.prototype.then = function (onfulfilled, onrejected) {
return this.promise.then(onfulfilled, onrejected);
};
JobPromise.prototype.catch = function (onrejected) {
return this.promise.catch(onrejected);
};
JobPromise.prototype.finally = function (onfinally) {
return this.promise.finally(onfinally);
};
return JobPromise;
}());
exports.JobPromise = JobPromise;