UNPKG

@uipath/robot

Version:

UiPath Robot javascript SDK enabling web pages to interact with UiPath Robots

49 lines (48 loc) 1.77 kB
"use strict"; 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;