UNPKG

testeranto

Version:

the AI powered BDD test framework for typescript projects

66 lines (65 loc) 2.16 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.PM_Node_Sidecar = void 0; /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/no-unused-vars */ /* eslint-disable prefer-rest-params */ const net_1 = __importDefault(require("net")); const sidecar_1 = require("./sidecar"); const fPaths = []; class PM_Node_Sidecar extends sidecar_1.PM_sidecar { constructor(t) { super(); this.testResourceConfiguration = t; this.client = {}; } start(stopper) { return new Promise((res) => { process.on("message", async (message) => { if (message === "stop") { await stopper(); process.exit(); } else if (message.path) { this.client = net_1.default.createConnection(message.path, () => { res(); }); } }); }); } stop() { return new Promise((resolve) => { if (this.client) { this.client.end(() => resolve()); } else { resolve(); } }); } testArtiFactoryfileWriter(tLog, callback) { return (fPath, value) => { tLog(`Pure runtime skipping file write to ${fPath}`); callback(Promise.resolve()); }; } send(command, ...argz) { return new Promise((res) => { const key = Math.random().toString(); const myListener = (event) => { const x = JSON.parse(event); if (x.key === key) { process.removeListener("message", myListener); res(x.payload); } }; process.addListener("message", myListener); this.client.write(JSON.stringify([command, ...argz, key])); }); } } exports.PM_Node_Sidecar = PM_Node_Sidecar;