UNPKG

@noaignite/react-centra-checkout

Version:

React components and helpers for Centra checkout api

45 lines (44 loc) 1.27 kB
//#region src/internal/CentraEvents.ts const 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; } }; //#endregion export { CentraEvents }; //# sourceMappingURL=CentraEvents.js.map