UNPKG

@noaignite/react-centra-checkout

Version:

React components and helpers for Centra checkout api

51 lines 1.36 kB
// src/internal/CentraEvents.ts var CENTRA_EVENTS = ["centra_checkout_callback", "centra_checkout_payment_callback"]; function isValidEvent(eventName) { if (CENTRA_EVENTS.includes(eventName)) { return true; } console.error(`@noaignite/react-centra-checkout: There's no event with the name ${eventName}`); return false; } var CentraEvents = class _CentraEvents { eventHandlers; static _default; constructor() { this.eventHandlers = { centra_checkout_callback: /* @__PURE__ */ new Set(), centra_checkout_payment_callback: /* @__PURE__ */ new Set() }; } on(eventName, callback) { if (isValidEvent(eventName)) { this.eventHandlers[eventName]?.add(callback); return true; } return false; } off(eventName, callback) { if (isValidEvent(eventName)) { this.eventHandlers[eventName]?.delete(callback); return true; } return false; } dispatch(eventName, payload) { if (isValidEvent(eventName)) { this.eventHandlers[eventName]?.forEach((handler) => handler(payload)); } } static get default() { if (!_CentraEvents._default) { _CentraEvents._default = new _CentraEvents(); } return _CentraEvents._default; } get default() { return _CentraEvents.default; } }; export { CentraEvents }; //# sourceMappingURL=CentraEvents.js.map