@amalaika/form-sdk-package 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/README.md +193 -233
  2. package/dist/cjs/client/index.d.ts +42 -3
  3. package/dist/cjs/client/index.d.ts.map +1 -1
  4. package/dist/cjs/client/index.js +274 -73
  5. package/dist/cjs/client/index.js.map +1 -1
  6. package/dist/cjs/i18n/en.json +7 -0
  7. package/dist/cjs/i18n/fr.json +7 -0
  8. package/dist/cjs/i18n/index.d.ts +2 -0
  9. package/dist/cjs/i18n/index.d.ts.map +1 -0
  10. package/dist/cjs/i18n/index.js +15 -0
  11. package/dist/cjs/i18n/index.js.map +1 -0
  12. package/dist/cjs/i18n/rw.json +7 -0
  13. package/dist/cjs/index.d.ts +4 -2
  14. package/dist/cjs/index.d.ts.map +1 -1
  15. package/dist/cjs/index.js +10 -1
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/cjs/integrations/checkout-script.d.ts +10 -0
  18. package/dist/cjs/integrations/checkout-script.d.ts.map +1 -0
  19. package/dist/cjs/integrations/checkout-script.js +38 -0
  20. package/dist/cjs/integrations/checkout-script.js.map +1 -0
  21. package/dist/cjs/integrations/index.d.ts +5 -0
  22. package/dist/cjs/integrations/index.d.ts.map +1 -0
  23. package/dist/cjs/integrations/index.js +49 -0
  24. package/dist/cjs/integrations/index.js.map +1 -0
  25. package/dist/cjs/integrations/mastercard.d.ts +11 -0
  26. package/dist/cjs/integrations/mastercard.d.ts.map +1 -0
  27. package/dist/cjs/integrations/mastercard.js +100 -0
  28. package/dist/cjs/integrations/mastercard.js.map +1 -0
  29. package/dist/cjs/integrations/types.d.ts +31 -0
  30. package/dist/cjs/integrations/types.d.ts.map +1 -0
  31. package/dist/cjs/{types.js.map → integrations/types.js.map} +1 -1
  32. package/dist/cjs/state/index.d.ts +29 -0
  33. package/dist/cjs/state/index.d.ts.map +1 -0
  34. package/dist/cjs/state/index.js +97 -0
  35. package/dist/cjs/state/index.js.map +1 -0
  36. package/dist/cjs/types/index.d.ts +80 -2
  37. package/dist/cjs/types/index.d.ts.map +1 -1
  38. package/dist/cjs/utils/index.d.ts +14 -1
  39. package/dist/cjs/utils/index.d.ts.map +1 -1
  40. package/dist/cjs/utils/index.js +122 -4
  41. package/dist/cjs/utils/index.js.map +1 -1
  42. package/dist/esm/client/index.d.ts +42 -3
  43. package/dist/esm/client/index.d.ts.map +1 -1
  44. package/dist/esm/client/index.js +274 -73
  45. package/dist/esm/client/index.js.map +1 -1
  46. package/dist/esm/i18n/en.json +7 -0
  47. package/dist/esm/i18n/fr.json +7 -0
  48. package/dist/esm/i18n/index.d.ts +2 -0
  49. package/dist/esm/i18n/index.d.ts.map +1 -0
  50. package/dist/esm/i18n/index.js +9 -0
  51. package/dist/esm/i18n/index.js.map +1 -0
  52. package/dist/esm/i18n/rw.json +7 -0
  53. package/dist/esm/index.d.ts +4 -2
  54. package/dist/esm/index.d.ts.map +1 -1
  55. package/dist/esm/index.js +3 -1
  56. package/dist/esm/index.js.map +1 -1
  57. package/dist/esm/integrations/checkout-script.d.ts +10 -0
  58. package/dist/esm/integrations/checkout-script.d.ts.map +1 -0
  59. package/dist/esm/integrations/checkout-script.js +35 -0
  60. package/dist/esm/integrations/checkout-script.js.map +1 -0
  61. package/dist/esm/integrations/index.d.ts +5 -0
  62. package/dist/esm/integrations/index.d.ts.map +1 -0
  63. package/dist/esm/integrations/index.js +11 -0
  64. package/dist/esm/integrations/index.js.map +1 -0
  65. package/dist/esm/integrations/mastercard.d.ts +11 -0
  66. package/dist/esm/integrations/mastercard.d.ts.map +1 -0
  67. package/dist/esm/integrations/mastercard.js +97 -0
  68. package/dist/esm/integrations/mastercard.js.map +1 -0
  69. package/dist/esm/integrations/types.d.ts +31 -0
  70. package/dist/esm/integrations/types.d.ts.map +1 -0
  71. package/dist/esm/{types.js.map → integrations/types.js.map} +1 -1
  72. package/dist/esm/state/index.d.ts +29 -0
  73. package/dist/esm/state/index.d.ts.map +1 -0
  74. package/dist/esm/state/index.js +93 -0
  75. package/dist/esm/state/index.js.map +1 -0
  76. package/dist/esm/types/index.d.ts +80 -2
  77. package/dist/esm/types/index.d.ts.map +1 -1
  78. package/dist/esm/utils/index.d.ts +14 -1
  79. package/dist/esm/utils/index.d.ts.map +1 -1
  80. package/dist/esm/utils/index.js +117 -4
  81. package/dist/esm/utils/index.js.map +1 -1
  82. package/package.json +2 -4
  83. package/dist/cjs/client/__tests__/client.spec.d.ts +0 -2
  84. package/dist/cjs/client/__tests__/client.spec.d.ts.map +0 -1
  85. package/dist/cjs/client/__tests__/client.spec.js +0 -300
  86. package/dist/cjs/client/__tests__/client.spec.js.map +0 -1
  87. package/dist/cjs/client.d.ts +0 -22
  88. package/dist/cjs/client.d.ts.map +0 -1
  89. package/dist/cjs/client.js +0 -111
  90. package/dist/cjs/client.js.map +0 -1
  91. package/dist/cjs/types.d.ts +0 -78
  92. package/dist/cjs/types.d.ts.map +0 -1
  93. package/dist/cjs/utils/__tests__/utils.spec.d.ts +0 -2
  94. package/dist/cjs/utils/__tests__/utils.spec.d.ts.map +0 -1
  95. package/dist/cjs/utils/__tests__/utils.spec.js +0 -172
  96. package/dist/cjs/utils/__tests__/utils.spec.js.map +0 -1
  97. package/dist/cjs/utils.d.ts +0 -5
  98. package/dist/cjs/utils.d.ts.map +0 -1
  99. package/dist/cjs/utils.js +0 -45
  100. package/dist/cjs/utils.js.map +0 -1
  101. package/dist/esm/client/__tests__/client.spec.d.ts +0 -2
  102. package/dist/esm/client/__tests__/client.spec.d.ts.map +0 -1
  103. package/dist/esm/client/__tests__/client.spec.js +0 -355
  104. package/dist/esm/client/__tests__/client.spec.js.map +0 -1
  105. package/dist/esm/client.d.ts +0 -22
  106. package/dist/esm/client.d.ts.map +0 -1
  107. package/dist/esm/client.js +0 -107
  108. package/dist/esm/client.js.map +0 -1
  109. package/dist/esm/types.d.ts +0 -78
  110. package/dist/esm/types.d.ts.map +0 -1
  111. package/dist/esm/utils/__tests__/utils.spec.d.ts +0 -2
  112. package/dist/esm/utils/__tests__/utils.spec.d.ts.map +0 -1
  113. package/dist/esm/utils/__tests__/utils.spec.js +0 -182
  114. package/dist/esm/utils/__tests__/utils.spec.js.map +0 -1
  115. package/dist/esm/utils.d.ts +0 -5
  116. package/dist/esm/utils.d.ts.map +0 -1
  117. package/dist/esm/utils.js +0 -40
  118. package/dist/esm/utils.js.map +0 -1
  119. /package/dist/cjs/{types.js → integrations/types.js} +0 -0
  120. /package/dist/esm/{types.js → integrations/types.js} +0 -0
@@ -1,35 +1,63 @@
1
- import { firstValueFrom } from "rxjs";
2
- import { ajax, AjaxError } from "rxjs/ajax";
1
+ import { getAllFields, resolveIntegrations, getVisibleFieldIds } from "../utils/index.js";
2
+ import { getIntegrationHandler, loadCheckoutScript } from "../integrations/index.js";
3
3
  const DEFAULT_API_BASE = "https://api.eventsfactory.rw/api";
4
4
  const DEFAULT_ERROR_MESSAGES = {
5
5
  fetchTickets: "Failed to fetch tickets",
6
6
  fetchTicketById: "Ticket not found",
7
+ fetchPublicTicket: "Ticket not found",
7
8
  fetchLanguages: "Failed to fetch languages",
8
9
  fetchForm: "Form not found",
9
10
  authorizeUpload: "Upload authorization failed",
10
11
  uploadFile: "File upload failed",
11
12
  submitForm: "Submission failed",
12
13
  };
13
- function getHeaders(locale) {
14
+ function getHeaders(locale, origin, noCache) {
14
15
  const headers = {};
15
16
  if (locale)
16
17
  headers["Accept-Language"] = locale;
18
+ if (origin) {
19
+ headers["Origin"] = origin;
20
+ headers["X-Client-Origin"] = origin;
21
+ }
22
+ if (noCache)
23
+ headers["Cache-Control"] = "no-cache";
17
24
  return headers;
18
25
  }
19
- function extractErrorMessage(error, fallback) {
20
- if (error instanceof AjaxError) {
21
- const body = error.response;
22
- return body?.message || fallback;
23
- }
24
- if (error instanceof Error)
25
- return error.message;
26
- return fallback;
26
+ class HttpError extends Error {
27
+ status;
28
+ body;
29
+ constructor(status, body, message) {
30
+ super(message ?? `Request failed with status ${status}`);
31
+ this.name = "HttpError";
32
+ this.status = status;
33
+ this.body = body;
34
+ }
35
+ }
36
+ function extractErrorMessage(error, fallback, status) {
37
+ let message = fallback;
38
+ if (error instanceof HttpError) {
39
+ const body = error.body;
40
+ message = body?.message || fallback;
41
+ }
42
+ else if (error instanceof Error) {
43
+ message = error.message;
44
+ }
45
+ return `${message} (${status})`;
27
46
  }
28
47
  export class EventFormClient {
29
48
  apiBase;
30
49
  apiKey;
31
50
  resourceType;
32
51
  messages;
52
+ origin;
53
+ timeout;
54
+ retryConfig;
55
+ cacheConfig;
56
+ noCache;
57
+ interceptors;
58
+ mastercardCheckoutUrl;
59
+ merchantName;
60
+ cache = new Map();
33
61
  locale;
34
62
  constructor(config) {
35
63
  this.apiKey = config.apiKey;
@@ -37,6 +65,20 @@ export class EventFormClient {
37
65
  this.apiBase = (config.apiBaseUrl ?? DEFAULT_API_BASE).replace(/\/$/, "");
38
66
  this.messages = { ...DEFAULT_ERROR_MESSAGES, ...config.errorMessages };
39
67
  this.locale = config.locale;
68
+ this.origin = config.origin ?? "https://smartevent.rw";
69
+ this.timeout = config.timeout ?? 30_000;
70
+ this.retryConfig = {
71
+ maxRetries: config.retry?.maxRetries ?? 3,
72
+ delay: config.retry?.delay ?? 1000,
73
+ };
74
+ this.cacheConfig = {
75
+ enabled: config.cache?.enabled ?? false,
76
+ ttl: config.cache?.ttl ?? 60_000,
77
+ };
78
+ this.noCache = config.noCache ?? false;
79
+ this.interceptors = config.interceptors;
80
+ this.mastercardCheckoutUrl = config.mastercardCheckoutUrl;
81
+ this.merchantName = config.merchantName;
40
82
  }
41
83
  setLocale(locale) {
42
84
  this.locale = locale;
@@ -44,6 +86,133 @@ export class EventFormClient {
44
86
  getLocale() {
45
87
  return this.locale;
46
88
  }
89
+ /**
90
+ * Preload the Mastercard Checkout.js script so it's ready when payment starts.
91
+ * Call this early (e.g. on page load) to avoid skeleton delay.
92
+ */
93
+ preloadCheckoutScript() {
94
+ const url = this.mastercardCheckoutUrl
95
+ ?? "https://ap-gateway.mastercard.com/static/checkout/checkout.min.js";
96
+ return loadCheckoutScript(url);
97
+ }
98
+ clearCache() {
99
+ this.cache.clear();
100
+ }
101
+ getCached(key) {
102
+ if (!this.cacheConfig.enabled)
103
+ return undefined;
104
+ const entry = this.cache.get(key);
105
+ if (!entry)
106
+ return undefined;
107
+ if (Date.now() > entry.expiresAt) {
108
+ this.cache.delete(key);
109
+ return undefined;
110
+ }
111
+ return entry.data;
112
+ }
113
+ setCache(key, data) {
114
+ if (!this.cacheConfig.enabled)
115
+ return;
116
+ this.cache.set(key, {
117
+ data,
118
+ expiresAt: Date.now() + this.cacheConfig.ttl,
119
+ });
120
+ }
121
+ applyRequestInterceptor(config) {
122
+ if (this.interceptors?.request) {
123
+ const result = this.interceptors.request({
124
+ url: config.url,
125
+ method: config.method,
126
+ headers: config.headers,
127
+ body: config.body,
128
+ });
129
+ return { ...config, ...result };
130
+ }
131
+ return config;
132
+ }
133
+ applyResponseInterceptor(response) {
134
+ if (this.interceptors?.response) {
135
+ return this.interceptors.response(response);
136
+ }
137
+ return response;
138
+ }
139
+ applyErrorInterceptor(error) {
140
+ if (this.interceptors?.error) {
141
+ return this.interceptors.error(error);
142
+ }
143
+ return error;
144
+ }
145
+ throwMapped(error, fallback) {
146
+ const processed = this.applyErrorInterceptor(error);
147
+ const status = processed instanceof HttpError ? processed.status : 0;
148
+ throw new Error(extractErrorMessage(processed, fallback, status), { cause: error });
149
+ }
150
+ async cachedGet(url, locale, fallback) {
151
+ const cached = this.getCached(url);
152
+ if (cached)
153
+ return cached;
154
+ try {
155
+ const res = await this.executeRequest({
156
+ url,
157
+ method: "GET",
158
+ headers: getHeaders(locale, this.origin, this.noCache),
159
+ timeout: this.timeout,
160
+ });
161
+ const data = this.applyResponseInterceptor(res.data);
162
+ this.setCache(url, data);
163
+ return data;
164
+ }
165
+ catch (error) {
166
+ this.throwMapped(error, fallback);
167
+ }
168
+ }
169
+ isRetryable(error) {
170
+ if (error instanceof HttpError) {
171
+ return error.status >= 500 || error.status === 0;
172
+ }
173
+ return true;
174
+ }
175
+ async executeRequest(config) {
176
+ const intercepted = this.applyRequestInterceptor(config);
177
+ let lastError;
178
+ for (let attempt = 0; attempt <= this.retryConfig.maxRetries; attempt++) {
179
+ try {
180
+ const controller = new AbortController();
181
+ const timeoutId = intercepted.timeout
182
+ ? setTimeout(() => controller.abort(), intercepted.timeout)
183
+ : undefined;
184
+ const isFormData = typeof FormData !== "undefined" && intercepted.body instanceof FormData;
185
+ const fetchInit = {
186
+ method: intercepted.method,
187
+ headers: intercepted.headers,
188
+ signal: controller.signal,
189
+ };
190
+ if (intercepted.body !== undefined) {
191
+ fetchInit.body = isFormData
192
+ ? intercepted.body
193
+ : JSON.stringify(intercepted.body);
194
+ }
195
+ const res = await fetch(intercepted.url, fetchInit);
196
+ if (timeoutId)
197
+ clearTimeout(timeoutId);
198
+ const body = await res.json();
199
+ if (!res.ok) {
200
+ throw new HttpError(res.status, body);
201
+ }
202
+ return body;
203
+ }
204
+ catch (error) {
205
+ lastError = error;
206
+ if (attempt < this.retryConfig.maxRetries && this.isRetryable(error)) {
207
+ const backoff = this.retryConfig.delay * Math.pow(2, attempt);
208
+ await new Promise((resolve) => setTimeout(resolve, backoff));
209
+ continue;
210
+ }
211
+ break;
212
+ }
213
+ }
214
+ throw lastError;
215
+ }
47
216
  async fetchTickets(options) {
48
217
  const effectiveLocale = options?.locale ?? this.locale;
49
218
  const url = new URL(`${this.apiBase}/events/tickets/event/${this.apiKey}/public`);
@@ -51,71 +220,49 @@ export class EventFormClient {
51
220
  url.searchParams.set("locale", effectiveLocale);
52
221
  if (options?.name)
53
222
  url.searchParams.set("name", options.name);
54
- try {
55
- const res = await firstValueFrom(ajax({
56
- url: url.toString(),
57
- method: "GET",
58
- headers: getHeaders(effectiveLocale),
59
- }));
60
- return res.response.data;
61
- }
62
- catch (error) {
63
- const status = error instanceof AjaxError ? error.status : 0;
64
- throw new Error(`${this.messages.fetchTickets} (${status})`, { cause: error });
65
- }
223
+ return this.cachedGet(url.toString(), effectiveLocale, this.messages.fetchTickets);
66
224
  }
67
225
  async fetchTicketById(id, locale) {
68
226
  const effectiveLocale = locale ?? this.locale;
69
- try {
70
- const res = await firstValueFrom(ajax({
71
- url: `${this.apiBase}/events/tickets/${id}`,
72
- method: "GET",
73
- headers: getHeaders(effectiveLocale),
74
- }));
75
- return res.response.data;
76
- }
77
- catch (error) {
78
- const status = error instanceof AjaxError ? error.status : 0;
79
- throw new Error(`${this.messages.fetchTicketById} (${status})`, { cause: error });
80
- }
227
+ return this.cachedGet(`${this.apiBase}/events/tickets/${id}/public`, effectiveLocale, this.messages.fetchTicketById);
228
+ }
229
+ async fetchPublicTicket(id, locale) {
230
+ const effectiveLocale = locale ?? this.locale;
231
+ return this.cachedGet(`${this.apiBase}/tickets/${id}/public`, effectiveLocale, this.messages.fetchPublicTicket);
81
232
  }
82
233
  async fetchLanguages() {
234
+ const urlStr = `${this.apiBase}/events/onboarding/main-info/${this.apiKey}/languages`;
235
+ const cached = this.getCached(urlStr);
236
+ if (cached)
237
+ return cached;
83
238
  try {
84
- const res = await firstValueFrom(ajax({
85
- url: `${this.apiBase}/events/onboarding/main-info/${this.apiKey}/languages`,
239
+ const res = await this.executeRequest({
240
+ url: urlStr,
86
241
  method: "GET",
87
- }));
88
- const sorted = res.response.data.sort((a, b) => a.isDefault === b.isDefault ? 0 : a.isDefault ? -1 : 1);
89
- return sorted.map((l) => l.languageCode);
242
+ timeout: this.timeout,
243
+ headers: getHeaders(undefined, this.origin, this.noCache),
244
+ });
245
+ const sorted = res.data.sort((a, b) => a.isDefault === b.isDefault ? 0 : a.isDefault ? -1 : 1);
246
+ const data = this.applyResponseInterceptor(sorted.map((l) => l.languageCode));
247
+ this.setCache(urlStr, data);
248
+ return data;
90
249
  }
91
250
  catch (error) {
92
- const status = error instanceof AjaxError ? error.status : 0;
93
- throw new Error(`${this.messages.fetchLanguages} (${status})`, { cause: error });
251
+ this.throwMapped(error, this.messages.fetchLanguages);
94
252
  }
95
253
  }
96
254
  async fetchForm(ticketId, locale) {
97
255
  const effectiveLocale = locale ?? this.locale;
98
- try {
99
- const res = await firstValueFrom(ajax({
100
- url: `${this.apiBase}/application/forms/ticketing/${ticketId}/public`,
101
- method: "GET",
102
- headers: getHeaders(effectiveLocale),
103
- }));
104
- return res.response.data;
105
- }
106
- catch (error) {
107
- const status = error instanceof AjaxError ? error.status : 0;
108
- throw new Error(`${this.messages.fetchForm} (${status})`, { cause: error });
109
- }
256
+ return this.cachedGet(`${this.apiBase}/application/forms/ticketing/${ticketId}/public`, effectiveLocale, this.messages.fetchForm);
110
257
  }
111
258
  async authorizeUpload(formId, fieldId, file, locale) {
112
259
  const effectiveLocale = locale ?? this.locale;
113
260
  try {
114
- const res = await firstValueFrom(ajax({
261
+ const res = await this.executeRequest({
115
262
  url: `${this.apiBase}/application/forms/${formId}/submissions/authorize-upload`,
116
263
  method: "POST",
117
264
  headers: {
118
- ...getHeaders(effectiveLocale),
265
+ ...getHeaders(effectiveLocale, this.origin, this.noCache),
119
266
  "Content-Type": "application/json",
120
267
  },
121
268
  body: {
@@ -124,11 +271,12 @@ export class EventFormClient {
124
271
  fileSize: file.size,
125
272
  fileName: file.name,
126
273
  },
127
- }));
128
- return res.response.data.uploadToken;
274
+ timeout: this.timeout,
275
+ });
276
+ return this.applyResponseInterceptor(res.data.uploadToken);
129
277
  }
130
278
  catch (error) {
131
- throw new Error(extractErrorMessage(error, this.messages.authorizeUpload), { cause: error });
279
+ this.throwMapped(error, this.messages.authorizeUpload);
132
280
  }
133
281
  }
134
282
  async uploadFile(formId, token, file, locale) {
@@ -137,39 +285,92 @@ export class EventFormClient {
137
285
  body.append("file", file);
138
286
  body.append("uploadToken", token);
139
287
  try {
140
- const res = await firstValueFrom(ajax({
288
+ const res = await this.executeRequest({
141
289
  url: `${this.apiBase}/application/forms/${formId}/submissions/upload`,
142
290
  method: "POST",
143
- headers: getHeaders(effectiveLocale),
291
+ headers: getHeaders(effectiveLocale, this.origin, this.noCache),
144
292
  body,
145
- }));
146
- return res.response.data.url;
293
+ timeout: this.timeout,
294
+ });
295
+ return this.applyResponseInterceptor(res.data.url);
147
296
  }
148
297
  catch (error) {
149
- throw new Error(this.messages.uploadFile, { cause: error });
298
+ this.throwMapped(error, this.messages.uploadFile);
150
299
  }
151
300
  }
152
- async submitForm(formId, data, context) {
301
+ /**
302
+ * Submits the form to the backend first, then conditionally runs payment
303
+ * integrations if the response indicates payment is required.
304
+ *
305
+ * If an integration fails after submission, the failure is returned in the
306
+ * result (not thrown), since the submission is already saved on the backend.
307
+ */
308
+ async submitForm(form, data, context) {
153
309
  const effectiveLocale = context.locale ?? this.locale;
310
+ const headers = getHeaders(effectiveLocale, this.origin, this.noCache);
311
+ const settled = [];
312
+ let submission;
154
313
  try {
155
- await firstValueFrom(ajax({
156
- url: `${this.apiBase}/application/forms/${formId}/submissions`,
314
+ const res = await this.executeRequest({
315
+ url: `${this.apiBase}/application/forms/${form.id}/submissions`,
157
316
  method: "POST",
158
- headers: {
159
- ...getHeaders(effectiveLocale),
160
- "Content-Type": "application/json",
161
- },
317
+ headers: { ...headers, "Content-Type": "application/json" },
162
318
  body: {
163
319
  data,
164
320
  eventId: context.eventId,
165
321
  resourceType: this.resourceType,
166
322
  resourceId: context.ticketId,
323
+ attendanceType: context.attendanceType,
167
324
  },
168
- }));
325
+ timeout: this.timeout,
326
+ });
327
+ submission = this.applyResponseInterceptor(res.data);
169
328
  }
170
329
  catch (error) {
171
- throw new Error(extractErrorMessage(error, this.messages.submitForm), { cause: error });
330
+ this.throwMapped(error, this.messages.submitForm);
331
+ }
332
+ if (submission.payment?.requiresPayment) {
333
+ const allFields = getAllFields(form.schema);
334
+ const visibleIds = getVisibleFieldIds(allFields, data);
335
+ const visibleFields = allFields.filter((f) => visibleIds.has(f.id));
336
+ const pending = resolveIntegrations(visibleFields, data);
337
+ for (const entry of pending) {
338
+ const handler = await getIntegrationHandler(entry.methodName);
339
+ if (!handler) {
340
+ settled.push({
341
+ ...entry,
342
+ result: { success: false, error: `Unknown integration method: ${entry.methodName}` },
343
+ });
344
+ continue;
345
+ }
346
+ try {
347
+ const result = await handler({
348
+ apiBase: this.apiBase,
349
+ headers,
350
+ methodName: entry.methodName,
351
+ formData: data,
352
+ eventId: context.eventId,
353
+ resourceId: context.ticketId,
354
+ resourceType: this.resourceType,
355
+ locale: effectiveLocale,
356
+ sessionId: submission.payment.session_id,
357
+ orderId: submission.payment.order_id,
358
+ containerId: context.containerId,
359
+ checkoutUrl: this.mastercardCheckoutUrl,
360
+ merchantName: this.merchantName,
361
+ });
362
+ settled.push({ ...entry, result });
363
+ }
364
+ catch (err) {
365
+ const errorMessage = err instanceof Error ? err.message : "Integration failed";
366
+ settled.push({
367
+ ...entry,
368
+ result: { success: false, error: errorMessage },
369
+ });
370
+ }
371
+ }
172
372
  }
373
+ return { submission, integrations: settled };
173
374
  }
174
375
  }
175
376
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAErF,MAAM,gBAAgB,GAAG,kCAAkC,CAAC;AAE5D,MAAM,sBAAsB,GAAkB;IAC5C,YAAY,EAAE,yBAAyB;IACvC,eAAe,EAAE,kBAAkB;IACnC,iBAAiB,EAAE,kBAAkB;IACrC,cAAc,EAAE,2BAA2B;IAC3C,SAAS,EAAE,gBAAgB;IAC3B,eAAe,EAAE,6BAA6B;IAC9C,UAAU,EAAE,oBAAoB;IAChC,UAAU,EAAE,mBAAmB;CAChC,CAAC;AAEF,SAAS,UAAU,CAAC,MAAe,EAAE,MAAe,EAAE,OAAiB;IACrE,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,IAAI,MAAM;QAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC;IAChD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;QAC3B,OAAO,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC;IACtC,CAAC;IACD,IAAI,OAAO;QAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC;IACnD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,SAAU,SAAQ,KAAK;IAClB,MAAM,CAAS;IACf,IAAI,CAAU;IAEvB,YAAY,MAAc,EAAE,IAAa,EAAE,OAAgB;QACzD,KAAK,CAAC,OAAO,IAAI,8BAA8B,MAAM,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,SAAS,mBAAmB,CAAC,KAAc,EAAE,QAAgB,EAAE,MAAc;IAC3E,IAAI,OAAO,GAAG,QAAQ,CAAC;IACvB,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAwC,CAAC;QAC5D,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,QAAQ,CAAC;IACtC,CAAC;SAAM,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAClC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC1B,CAAC;IACD,OAAO,GAAG,OAAO,KAAK,MAAM,GAAG,CAAC;AAClC,CAAC;AAqBD,MAAM,OAAO,eAAe;IACT,OAAO,CAAS;IAChB,MAAM,CAAS;IACf,YAAY,CAAS;IACrB,QAAQ,CAAgB;IACxB,MAAM,CAAqB;IAC3B,OAAO,CAAS;IAChB,WAAW,CAAwC;IACnD,WAAW,CAAoC;IAC/C,OAAO,CAAU;IACjB,YAAY,CAAkC;IAC9C,qBAAqB,CAAqB;IAC1C,YAAY,CAAqB;IACjC,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC/C,MAAM,CAAqB;IAEnC,YAAY,MAAuB;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,sBAAsB,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QACvE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,uBAAuB,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG;YACjB,UAAU,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,IAAI,CAAC;YACzC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI;SACnC,CAAC;QACF,IAAI,CAAC,WAAW,GAAG;YACjB,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,KAAK;YACvC,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,MAAM;SACjC,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;QAC1D,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAC1C,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,qBAAqB;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB;eACjC,mEAAmE,CAAC;QACzE,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,UAAU;QACR,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAEO,SAAS,CAAI,GAAW;QAC9B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC,IAAS,CAAC;IACzB,CAAC;IAEO,QAAQ,CAAC,GAAW,EAAE,IAAa;QACzC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO;YAAE,OAAO;QACtC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,IAAI;YACJ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG;SAC7C,CAAC,CAAC;IACL,CAAC;IAEO,uBAAuB,CAAC,MAAqB;QACnD,IAAI,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;gBACvC,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,CAAC,CAAC;YACH,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QAClC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,wBAAwB,CAAI,QAAW;QAC7C,IAAI,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAM,CAAC;QACnD,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,qBAAqB,CAAC,KAAc;QAC1C,IAAI,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,WAAW,CAAC,KAAc,EAAE,QAAgB;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,SAAS,YAAY,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACtF,CAAC;IAEO,KAAK,CAAC,SAAS,CAAI,GAAW,EAAE,MAA0B,EAAE,QAAgB;QAClF,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAI,GAAG,CAAC,CAAC;QACtC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,cAAc,CAAiB;gBACpD,GAAG;gBACH,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC;gBACtD,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,KAAc;QAChC,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,cAAc,CAAI,MAAqB;QACnD,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,SAAkB,CAAC;QAEvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACxE,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;gBACzC,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO;oBACnC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC;oBAC3D,CAAC,CAAC,SAAS,CAAC;gBAEd,MAAM,UAAU,GAAG,OAAO,QAAQ,KAAK,WAAW,IAAI,WAAW,CAAC,IAAI,YAAY,QAAQ,CAAC;gBAC3F,MAAM,SAAS,GAAgB;oBAC7B,MAAM,EAAE,WAAW,CAAC,MAAM;oBAC1B,OAAO,EAAE,WAAW,CAAC,OAAO;oBAC5B,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC;gBAEF,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBACnC,SAAS,CAAC,IAAI,GAAG,UAAU;wBACzB,CAAC,CAAE,WAAW,CAAC,IAA4B;wBAC3C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACvC,CAAC;gBAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBACpD,IAAI,SAAS;oBAAE,YAAY,CAAC,SAAS,CAAC,CAAC;gBAEvC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAE9B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;oBACZ,MAAM,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACxC,CAAC;gBAED,OAAO,IAAS,CAAC;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,KAAK,CAAC;gBAClB,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrE,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC9D,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;oBAC7D,SAAS;gBACX,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;QAED,MAAM,SAAS,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAGlB;QACC,MAAM,eAAe,GAAG,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,GAAG,IAAI,CAAC,OAAO,yBAAyB,IAAI,CAAC,MAAM,SAAS,CAC7D,CAAC;QACF,IAAI,eAAe;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QACrE,IAAI,OAAO,EAAE,IAAI;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAE9D,OAAO,IAAI,CAAC,SAAS,CAAW,GAAG,CAAC,QAAQ,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/F,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAU,EAAE,MAAe;QAC/C,MAAM,eAAe,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QAC9C,OAAO,IAAI,CAAC,SAAS,CACnB,GAAG,IAAI,CAAC,OAAO,mBAAmB,EAAE,SAAS,EAC7C,eAAe,EACf,IAAI,CAAC,QAAQ,CAAC,eAAe,CAC9B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EAAU,EAAE,MAAe;QACjD,MAAM,eAAe,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QAC9C,OAAO,IAAI,CAAC,SAAS,CACnB,GAAG,IAAI,CAAC,OAAO,YAAY,EAAE,SAAS,EACtC,eAAe,EACf,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAChC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,gCAAgC,IAAI,CAAC,MAAM,YAAY,CAAC;QAEtF,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAW,MAAM,CAAC,CAAC;QAChD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,cAAc,CAA+B;gBAClE,GAAG,EAAE,MAAM;gBACX,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC;aAC1D,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACpC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACvD,CAAC;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,MAAe;QAC/C,MAAM,eAAe,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QAC9C,OAAO,IAAI,CAAC,SAAS,CACnB,GAAG,IAAI,CAAC,OAAO,gCAAgC,QAAQ,SAAS,EAChE,eAAe,EACf,IAAI,CAAC,QAAQ,CAAC,SAAS,CACxB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,MAAc,EACd,OAAe,EACf,IAAU,EACV,MAAe;QAEf,MAAM,eAAe,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,cAAc,CAAuC;gBAC1E,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,sBAAsB,MAAM,+BAA+B;gBAC/E,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,GAAG,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC;oBACzD,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE;oBACJ,OAAO;oBACP,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;iBACpB;gBACD,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CACd,MAAc,EACd,KAAa,EACb,IAAU,EACV,MAAe;QAEf,MAAM,eAAe,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAElC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,cAAc,CAA+B;gBAClE,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,sBAAsB,MAAM,qBAAqB;gBACrE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC;gBAC/D,IAAI;gBACJ,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CACd,IAAc,EACd,IAA6B,EAC7B,OAMC;QAKD,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QACtD,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACvE,MAAM,OAAO,GAA+D,EAAE,CAAC;QAE/E,IAAI,UAA8B,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,cAAc,CAAkC;gBACrE,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,sBAAsB,IAAI,CAAC,EAAE,cAAc;gBAC/D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC3D,IAAI,EAAE;oBACJ,IAAI;oBACJ,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,UAAU,EAAE,OAAO,CAAC,QAAQ;oBAC5B,cAAc,EAAE,OAAO,CAAC,cAAc;iBACvC;gBACD,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;YACH,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,UAAU,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,UAAU,GAAG,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACvD,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAEzD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAE9D,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,CAAC,IAAI,CAAC;wBACX,GAAG,KAAK;wBACR,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,KAAK,CAAC,UAAU,EAAE,EAAE;qBACrF,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;wBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,OAAO;wBACP,UAAU,EAAE,KAAK,CAAC,UAAU;wBAC5B,QAAQ,EAAE,IAAI;wBACd,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,UAAU,EAAE,OAAO,CAAC,QAAQ;wBAC5B,YAAY,EAAE,IAAI,CAAC,YAAY;wBAC/B,MAAM,EAAE,eAAe;wBACvB,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,UAAU;wBACxC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ;wBACpC,WAAW,EAAE,OAAO,CAAC,WAAW;wBAChC,WAAW,EAAE,IAAI,CAAC,qBAAqB;wBACvC,YAAY,EAAE,IAAI,CAAC,YAAY;qBAChC,CAAC,CAAC;oBAEH,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBACrC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,YAAY,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC;oBAC/E,OAAO,CAAC,IAAI,CAAC;wBACX,GAAG,KAAK;wBACR,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE;qBAChD,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;IAC/C,CAAC;CACF"}
@@ -0,0 +1,7 @@
1
+ {
2
+ "mastercard_not_configured": "Mastercard payment gateway is not configured yet",
3
+ "mastercard_payment_failed": "Payment failed. Please try again",
4
+ "mastercard_cancelled": "Payment cancelled by user",
5
+ "mastercard_script_load_failed": "Failed to load payment gateway. Please refresh and try again",
6
+ "mastercard_missing_session": "Payment session information is missing"
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "mastercard_not_configured": "La passerelle de paiement Mastercard n'est pas encore configurée",
3
+ "mastercard_payment_failed": "Le paiement a échoué. Veuillez réessayer",
4
+ "mastercard_cancelled": "Paiement annulé par l'utilisateur",
5
+ "mastercard_script_load_failed": "Échec du chargement de la passerelle de paiement. Veuillez rafraîchir et réessayer",
6
+ "mastercard_missing_session": "Les informations de session de paiement sont manquantes"
7
+ }
@@ -0,0 +1,2 @@
1
+ export declare function t(key: string, locale?: string): string;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/i18n/index.ts"],"names":[],"mappings":"AAMA,wBAAgB,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAGtD"}
@@ -0,0 +1,9 @@
1
+ import en from "./en.json";
2
+ import fr from "./fr.json";
3
+ import rw from "./rw.json";
4
+ const catalogs = { en, fr, rw };
5
+ export function t(key, locale) {
6
+ const lang = locale ?? "en";
7
+ return catalogs[lang]?.[key] ?? catalogs.en[key] ?? key;
8
+ }
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,MAAM,QAAQ,GAA2C,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAExE,MAAM,UAAU,CAAC,CAAC,GAAW,EAAE,MAAe;IAC5C,MAAM,IAAI,GAAG,MAAM,IAAI,IAAI,CAAC;IAC5B,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,7 @@
1
+ {
2
+ "mastercard_not_configured": "Ubwishyu bwa Mastercard ntiburacungurwa",
3
+ "mastercard_payment_failed": "Kwishyura byanze. Ongera ugerageze",
4
+ "mastercard_cancelled": "Kwishyura byahagaritswe n'ukoresha",
5
+ "mastercard_script_load_failed": "Gufungura ubwishyu byanze. Ongera ugerageze nyuma yo gusubiramo",
6
+ "mastercard_missing_session": "Amakuru y'ubwishyu abuze"
7
+ }
@@ -1,4 +1,6 @@
1
1
  export { EventFormClient } from "./client/index.js";
2
- export { getAllFields, isFieldVisible, getVisibleFieldIds, } from "./utils/index.js";
3
- export type { ErrorMessages, EventFormConfig, FieldOption, FieldDefinition, StepDefinition, FormSchema, FormData, ApiResponse, TicketTranslation, Ticket, } from "./types/index.js";
2
+ export { getAllFields, isFieldVisible, getVisibleFieldIds, validateField, validateForm, hasIntegration, getIntegrationMethod, resolveIntegrations, } from "./utils/index.js";
3
+ export { FormStateManager } from "./state/index.js";
4
+ export { loadCheckoutScript } from "./integrations/index.js";
5
+ export type { ErrorMessages, EventFormConfig, FieldOption, FieldDefinition, StepDefinition, FormSchema, FormData, ApiResponse, TicketTranslation, Ticket, ValidationResult, IntegrationResult, ResolvedIntegration, PaymentInfo, SubmissionResponse, } from "./types/index.js";
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,aAAa,EACb,eAAe,EACf,WAAW,EACX,eAAe,EACf,cAAc,EACd,UAAU,EACV,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,MAAM,GACP,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,YAAY,EACV,aAAa,EACb,eAAe,EACf,WAAW,EACX,eAAe,EACf,cAAc,EACd,UAAU,EACV,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,MAAM,EACN,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,kBAAkB,GACnB,MAAM,kBAAkB,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,3 +1,5 @@
1
1
  export { EventFormClient } from "./client/index.js";
2
- export { getAllFields, isFieldVisible, getVisibleFieldIds, } from "./utils/index.js";
2
+ export { getAllFields, isFieldVisible, getVisibleFieldIds, validateField, validateForm, hasIntegration, getIntegrationMethod, resolveIntegrations, } from "./utils/index.js";
3
+ export { FormStateManager } from "./state/index.js";
4
+ export { loadCheckoutScript } from "./integrations/index.js";
3
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,kBAAkB,GACnB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,10 @@
1
+ declare global {
2
+ interface Window {
3
+ Checkout?: {
4
+ configure: (config: Record<string, unknown>) => void;
5
+ showEmbeddedPage: (target: string) => void;
6
+ };
7
+ }
8
+ }
9
+ export declare function loadCheckoutScript(scriptUrl: string): Promise<void>;
10
+ //# sourceMappingURL=checkout-script.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkout-script.d.ts","sourceRoot":"","sources":["../../../src/integrations/checkout-script.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,QAAQ,CAAC,EAAE;YACT,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;YACrD,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;SAC5C,CAAC;KACH;CACF;AAMD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCnE"}
@@ -0,0 +1,35 @@
1
+ const SCRIPT_LOAD_TIMEOUT_MS = 15_000;
2
+ let scriptLoadPromise = null;
3
+ export function loadCheckoutScript(scriptUrl) {
4
+ if (scriptLoadPromise)
5
+ return scriptLoadPromise;
6
+ if (window.Checkout)
7
+ return Promise.resolve();
8
+ scriptLoadPromise = new Promise((resolve, reject) => {
9
+ if (typeof document === "undefined") {
10
+ reject(new Error("Cannot load script in non-browser environment"));
11
+ return;
12
+ }
13
+ const script = document.createElement("script");
14
+ script.src = scriptUrl;
15
+ script.setAttribute("data-error", "errorCallback");
16
+ script.setAttribute("data-cancel", "cancelCallback");
17
+ script.setAttribute("data-complete", "completeCallback");
18
+ const timeout = setTimeout(() => {
19
+ scriptLoadPromise = null;
20
+ reject(new Error("Script load timed out"));
21
+ }, SCRIPT_LOAD_TIMEOUT_MS);
22
+ script.onload = () => {
23
+ clearTimeout(timeout);
24
+ resolve();
25
+ };
26
+ script.onerror = () => {
27
+ clearTimeout(timeout);
28
+ scriptLoadPromise = null;
29
+ reject(new Error("Failed to load Mastercard Checkout script"));
30
+ };
31
+ document.head.appendChild(script);
32
+ });
33
+ return scriptLoadPromise;
34
+ }
35
+ //# sourceMappingURL=checkout-script.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkout-script.js","sourceRoot":"","sources":["../../../src/integrations/checkout-script.ts"],"names":[],"mappings":"AASA,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAEtC,IAAI,iBAAiB,GAAyB,IAAI,CAAC;AAEnD,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,IAAI,iBAAiB;QAAE,OAAO,iBAAiB,CAAC;IAChD,IAAI,MAAM,CAAC,QAAQ;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAE9C,iBAAiB,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxD,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,GAAG,GAAG,SAAS,CAAC;QACvB,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QACnD,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;QACrD,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;QAEzD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,iBAAiB,GAAG,IAAI,CAAC;YACzB,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC7C,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAE3B,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;YACnB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE;YACpB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,iBAAiB,GAAG,IAAI,CAAC;YACzB,MAAM,CAAC,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC;QAEF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { IntegrationHandler } from "./types.js";
2
+ export declare function getIntegrationHandler(methodName: string): Promise<IntegrationHandler | undefined>;
3
+ export { loadCheckoutScript } from "./checkout-script.js";
4
+ export type { IntegrationHandler, IntegrationHandlerParams } from "./types.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAOrD,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAIzC;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,11 @@
1
+ const registry = {
2
+ mastercard_payment_gateway: () => import("./mastercard.js").then((m) => m.mastercardPaymentGateway),
3
+ };
4
+ export async function getIntegrationHandler(methodName) {
5
+ const loader = registry[methodName];
6
+ if (!loader)
7
+ return undefined;
8
+ return loader();
9
+ }
10
+ export { loadCheckoutScript } from "./checkout-script.js";
11
+ //# sourceMappingURL=index.js.map