UNPKG

ddnsman

Version:
48 lines (47 loc) 1.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const node_ipc_1 = require("node-ipc"); exports.pingDaemon = () => { const pingIpc = new node_ipc_1.IPC(); pingIpc.config.appspace = 'ddns.'; pingIpc.config.id = 'pingClient'; pingIpc.config.maxRetries = 3; pingIpc.config.silent = true; return new Promise((resolve) => { pingIpc.connectTo('worker', () => { pingIpc.of.worker.on('connect', () => { resolve(true); }); pingIpc.of.worker.on('error', () => { resolve(false); }); }); }).finally(() => { pingIpc.disconnect('worker'); }); }; exports.sendMessage = (msg) => { const ipc = new node_ipc_1.IPC(); ipc.config.appspace = 'ddns.'; ipc.config.id = 'client'; ipc.config.silent = true; return new Promise((resolve, reject) => { setTimeout(() => { reject(new Error('Connecting to daemon timeout.')); }, 3000); ipc.connectTo('worker', () => { ipc.of.worker.on('connect', () => { ipc.of.worker.emit('message', msg); ipc.of.worker .on('message', (data) => { resolve(data); }) .on('error', (err) => { reject(err); }); }); }); }).finally(() => { ipc.disconnect('worker'); }); };