UNPKG

@ohd-tools/rcon

Version:

An RCON Interface for Operation: Harsh Doorstop

36 lines (35 loc) 1.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setupVariableProxy = setupVariableProxy; const noop = () => { }; function setupVariableProxy(controller) { const path = []; const handler = { get(target, name) { if (name == 'read') { return async () => { return (await controller.send(path.join('.'))) .value; }; } if (name == 'readDetailed') { return async () => { return (await controller.send(path.join('.'))); }; } if (name == 'write') { return async (newValue) => { return controller.send(`${path.join('.')} ${newValue}`); }; } path.push(name); return new Proxy(noop, handler); }, set(target, name, newValue) { path.push(name); controller.send(`${path.join('.')} ${newValue}`); return true; }, }; return new Proxy(noop, handler); }