@bigdigital/kiosk-content-sdk
Version:
A Firebase-powered Content Management System SDK optimized for kiosks with offline support, template management, and real-time connection monitoring
46 lines • 1.43 kB
JavaScript
import { KioskConnection } from './KioskConnection';
export class KioskSDK {
constructor(initialKioskId = 'default') {
this.connection = null;
this.currentKioskId = 'default';
this.currentKioskId = initialKioskId;
}
setKioskId(kioskId) {
this.currentKioskId = kioskId;
// Disconnect existing connection if the kioskId changes
if (this.connection) {
this.disconnect();
}
}
initializeMonitoring(options) {
if (this.connection) {
this.disconnect();
}
this.connection = new KioskConnection({
url: options.url,
kioskId: this.currentKioskId,
onConnectionUpdate: options.onConnectionUpdate
});
// Connect immediately after initialization
this.connection.connect();
return this.connection;
}
connect(url, onConnectionUpdate) {
this.initializeMonitoring({ url, onConnectionUpdate });
}
async disconnect() {
if (this.connection) {
await this.connection.disconnect();
this.connection = null;
}
}
isConnected() {
return this.connection?.isConnectionOpen() || false;
}
getCurrentKioskId() {
return this.currentKioskId;
}
}
// Create and export singleton instance
export const kioskSDK = new KioskSDK('default');
//# sourceMappingURL=KioskSDK.js.map