UNPKG

@noaignite/react-centra-checkout

Version:

React components and helpers for Centra checkout api

46 lines (45 loc) 1.36 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); //#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 exports.CentraEvents = CentraEvents; //# sourceMappingURL=CentraEvents.cjs.map