np-payment-sdk
Version:
Unified Payment SDK for Nepal (eSewa, Khalti, ConnectIPS, IME Pay, Mobile Banking)
40 lines (39 loc) • 945 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.eventBus = exports.EventBus = void 0;
/**
* Simple event bus for SDK events
*/
class EventBus {
constructor() {
this.listeners = {};
}
/**
* Register an event listener
*/
on(event, handler) {
if (!this.listeners[event])
this.listeners[event] = [];
this.listeners[event].push(handler);
}
/**
* Remove an event listener
*/
off(event, handler) {
if (!this.listeners[event])
return;
this.listeners[event] = this.listeners[event].filter(h => h !== handler);
}
/**
* Emit an event
*/
emit(event, ...args) {
if (!this.listeners[event])
return;
for (const handler of this.listeners[event]) {
handler(...args);
}
}
}
exports.EventBus = EventBus;
exports.eventBus = new EventBus();