UNPKG

@levimc-lse/scaffold

Version:

A utility for assisting in the development of Legacy Script Engine plugins.

48 lines (47 loc) 2.08 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.SocketClient = void 0; const node_net_1 = require("node:net"); const BaseSocketEventable_1 = require("./BaseSocketEventable"); const SocketServer_1 = require("./SocketServer"); class SocketClient extends BaseSocketEventable_1.BaseSocketEventable { constructor(aliasName) { super(); this.socketPath = SocketServer_1.SocketServer.getSocketPath(aliasName); this.socket = null; } connect() { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => { this.socket = (0, node_net_1.createConnection)(this.socketPath, () => { var _a; (_a = this.socket) === null || _a === void 0 ? void 0 : _a.on("data", (chunk) => { this.emit("message", this.socket, chunk.toString().trim()); }); resolve(); }); this.socket.on("error", (error) => { reject(error); }); this.socket.on("close", () => { this.emit("close"); }); }); }); } sendMessage(message) { if (this.socket) { this.socket.write(message); } } } exports.SocketClient = SocketClient;