@uuv/runner-commons
Version:
A common lib for uuv
78 lines (77 loc) • 2.62 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.UUVEventEmitter = void 0;
/* eslint-disable quotes */
const model_1 = require("./model");
class UUVEventEmitter {
static instance;
ipc;
constructor() {
// eslint-disable-next-line @typescript-eslint/no-var-requires
this.ipc = require('node-ipc').default;
this.ipc.config.id = model_1.UUV_IPC_PUBLISHER;
this.ipc.config.retry = 1500;
this.ipc.config.silent = true;
}
static async createInstance() {
return new Promise((resolve) => {
UUVEventEmitter.instance = new UUVEventEmitter();
UUVEventEmitter.instance.ipc.connectTo(model_1.UUV_IPC_SERVER_NAME, () => {
UUVEventEmitter.instance.ipc.of[model_1.UUV_IPC_SERVER_NAME].on('connect', () => {
console.debug("Publisher connected to UUV Server");
resolve("ok");
});
});
});
}
static getInstance() {
return UUVEventEmitter.instance;
}
emitProgressStart() {
this.ipc.of[model_1.UUV_IPC_SERVER_NAME].emit('message', {
type: model_1.UUVEventType.PROGRESS_START
});
}
emitTestSuiteStarted(event) {
this.ipc.of[model_1.UUV_IPC_SERVER_NAME].emit('message', {
type: model_1.UUVEventType.TEST_SUITE_STARTED,
data: event
});
}
emitTestStarted(event) {
this.ipc.of[model_1.UUV_IPC_SERVER_NAME].emit('message', {
type: model_1.UUVEventType.TEST_STARTED,
data: event
});
}
emitTestFailed(event) {
this.ipc.of[model_1.UUV_IPC_SERVER_NAME].emit('message', {
type: model_1.UUVEventType.TEST_FAILED,
data: event
});
}
emitTestIgnored(event) {
this.ipc.of[model_1.UUV_IPC_SERVER_NAME].emit('message', {
type: model_1.UUVEventType.TEST_IGNORED,
data: event
});
}
emitTestFinished(event) {
this.ipc.of[model_1.UUV_IPC_SERVER_NAME].emit('message', {
type: model_1.UUVEventType.TEST_FINISHED,
data: event
});
}
emitTestSuiteFinished(event) {
this.ipc.of[model_1.UUV_IPC_SERVER_NAME].emit('message', {
type: model_1.UUVEventType.TEST_SUITE_FINISHED,
data: event
});
}
emitProgressFinish() {
this.ipc.of[model_1.UUV_IPC_SERVER_NAME].emit('message', {
type: model_1.UUVEventType.PROGRESS_FINISH
});
}
}
exports.UUVEventEmitter = UUVEventEmitter;