UNPKG

magically-sdk

Version:

Official SDK for Magically - Build mobile apps with AI

36 lines (35 loc) 953 B
"use strict"; /** * Simple event emitter for SDK-Provider communication * Works on mobile, doesn't exist on edge */ Object.defineProperty(exports, "__esModule", { value: true }); exports.eventEmitter = void 0; class EventEmitter { constructor() { this.events = new Map(); } on(event, handler) { if (!this.events.has(event)) { this.events.set(event, new Set()); } this.events.get(event).add(handler); } off(event, handler) { this.events.get(event)?.delete(handler); } emit(event, data) { this.events.get(event)?.forEach(handler => handler(data)); } once(event) { return new Promise((resolve) => { const handler = (data) => { this.off(event, handler); resolve(data); }; this.on(event, handler); }); } } // Singleton instance exports.eventEmitter = new EventEmitter();