UNPKG

matterbridge-roborock-vacuum-plugin

Version:
52 lines 1.82 kB
/** * Platform state container. * Holds ephemeral runtime state for the platform (device states, last home data). * Uses strict types (no `any`) and provides simple accessor/mutator API. */ export class PlatformState { deviceStates = new Map(); lastHomeData = new Map(); startupCompleted = false; // ─── Startup State ────────────────────────────────────────────────────────── get isStartupCompleted() { return this.startupCompleted; } setStartupCompleted(completed) { this.startupCompleted = completed; } // ─── Device State ─────────────────────────────────────────────────────────── setDeviceState(duid, state) { if (!duid) return; this.deviceStates.set(duid, state); } getDeviceState(duid) { return this.deviceStates.get(duid); } updateDeviceState(duid, patch) { if (!duid) return; const existing = this.deviceStates.get(duid) ?? {}; this.deviceStates.set(duid, { ...existing, ...patch }); } setLastHomeData(duid, data) { if (!duid) return; this.lastHomeData.set(duid, data); } getLastHomeData(duid) { return this.lastHomeData.get(duid); } clearDevice(duid) { this.deviceStates.delete(duid); this.lastHomeData.delete(duid); } clearAll() { this.deviceStates.clear(); this.lastHomeData.clear(); } getAllDeviceStates() { return new Map(this.deviceStates); } } //# sourceMappingURL=platformState.js.map