UNPKG

gan-i3-356-bluetooth

Version:

Library for connecting to and interacting with Bluetooth-enabled Rubik's cubes (GAN)

1 lines 962 B
export class EventEmitter{constructor(){this.events={},this.instanceId=Math.random().toString(36).substring(2,9)}on(event,callback){this.events[event]||(this.events[event]=[]),this.events[event].push(callback)}off(event,callback){this.events[event]&&(this.events[event]=this.events[event].filter((cb=>cb!==callback)))}emit(event,data){console.log(`[EventEmitter ${this.instanceId}] Emitting event: ${event}`,data),this.events[event]?(console.log(`[EventEmitter ${this.instanceId}] Calling ${this.events[event].length} listeners for event: ${event}`),this.events[event].forEach((callback=>{try{callback(data)}catch(err){console.error(`[EventEmitter ${this.instanceId}] Error in event listener for ${event}:`,err)}}))):console.log(`[EventEmitter ${this.instanceId}] No listeners for event: ${event}`)}clearAllListeners(){this.events={}}getInstanceId(){return this.instanceId}}export function matchUUID(uuid1,uuid2){return uuid1.toLowerCase()===uuid2.toLowerCase()}