UNPKG

ws2801-client

Version:

A client for the webserver for the WS2801-Pi module.

43 lines (42 loc) 1.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SocketClient = void 0; const socket_io_client_1 = require("socket.io-client"); const utils_1 = require("./utils"); const index_1 = require("./types/index"); class SocketClient { constructor(url) { this.listeners = {}; this.client = socket_io_client_1.io(url); } onLedStripChanged(callback) { const id = utils_1.generateId(10); this.listeners[id] = { callback: callback, event: index_1.Events.ledStripChanged, }; this.client.on(index_1.Events.ledStripChanged, callback); return id; } onBrightnessChanged(callback) { const id = utils_1.generateId(10); this.listeners[id] = { callback: callback, event: index_1.Events.brightnessChanged, }; this.client.on(index_1.Events.brightnessChanged, callback); return id; } removeListener(id) { const listener = this.listeners[id]; if (listener === undefined) { return; } delete listener[id]; this.client.off(listener.event, listener.callback); } dispose() { this.client.disconnect(); } } exports.SocketClient = SocketClient;