@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,38 +1,66 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EventFormClient = void 0;
4
- const rxjs_1 = require("rxjs");
5
- const ajax_1 = require("rxjs/ajax");
4
+ const index_js_1 = require("../utils/index.js");
5
+ const index_js_2 = require("../integrations/index.js");
6
6
  const DEFAULT_API_BASE = "https://api.eventsfactory.rw/api";
7
7
  const DEFAULT_ERROR_MESSAGES = {
8
8
  fetchTickets: "Failed to fetch tickets",
9
9
  fetchTicketById: "Ticket not found",
10
+ fetchPublicTicket: "Ticket not found",
10
11
  fetchLanguages: "Failed to fetch languages",
11
12
  fetchForm: "Form not found",
12
13
  authorizeUpload: "Upload authorization failed",
13
14
  uploadFile: "File upload failed",
14
15
  submitForm: "Submission failed",
15
16
  };
16
- function getHeaders(locale) {
17
+ function getHeaders(locale, origin, noCache) {
17
18
  const headers = {};
18
19
  if (locale)
19
20
  headers["Accept-Language"] = locale;
21
+ if (origin) {
22
+ headers["Origin"] = origin;
23
+ headers["X-Client-Origin"] = origin;
24
+ }
25
+ if (noCache)
26
+ headers["Cache-Control"] = "no-cache";
20
27
  return headers;
21
28
  }
22
- function extractErrorMessage(error, fallback) {
23
- if (error instanceof ajax_1.AjaxError) {
24
- const body = error.response;
25
- return body?.message || fallback;
26
- }
27
- if (error instanceof Error)
28
- return error.message;
29
- return fallback;
29
+ class HttpError extends Error {
30
+ status;
31
+ body;
32
+ constructor(status, body, message) {
33
+ super(message ?? `Request failed with status ${status}`);
34
+ this.name = "HttpError";
35
+ this.status = status;
36
+ this.body = body;
37
+ }
38
+ }
39
+ function extractErrorMessage(error, fallback, status) {
40
+ let message = fallback;
41
+ if (error instanceof HttpError) {
42
+ const body = error.body;
43
+ message = body?.message || fallback;
44
+ }
45
+ else if (error instanceof Error) {
46
+ message = error.message;
47
+ }
48
+ return `${message} (${status})`;
30
49
  }
31
50
  class EventFormClient {
32
51
  apiBase;
33
52
  apiKey;
34
53
  resourceType;
35
54
  messages;
55
+ origin;
56
+ timeout;
57
+ retryConfig;
58
+ cacheConfig;
59
+ noCache;
60
+ interceptors;
61
+ mastercardCheckoutUrl;
62
+ merchantName;
63
+ cache = new Map();
36
64
  locale;
37
65
  constructor(config) {
38
66
  this.apiKey = config.apiKey;
@@ -40,6 +68,20 @@ class EventFormClient {
40
68
  this.apiBase = (config.apiBaseUrl ?? DEFAULT_API_BASE).replace(/\/$/, "");
41
69
  this.messages = { ...DEFAULT_ERROR_MESSAGES, ...config.errorMessages };
42
70
  this.locale = config.locale;
71
+ this.origin = config.origin ?? "https://smartevent.rw";
72
+ this.timeout = config.timeout ?? 30_000;
73
+ this.retryConfig = {
74
+ maxRetries: config.retry?.maxRetries ?? 3,
75
+ delay: config.retry?.delay ?? 1000,
76
+ };
77
+ this.cacheConfig = {
78
+ enabled: config.cache?.enabled ?? false,
79
+ ttl: config.cache?.ttl ?? 60_000,
80
+ };
81
+ this.noCache = config.noCache ?? false;
82
+ this.interceptors = config.interceptors;
83
+ this.mastercardCheckoutUrl = config.mastercardCheckoutUrl;
84
+ this.merchantName = config.merchantName;
43
85
  }
44
86
  setLocale(locale) {
45
87
  this.locale = locale;
@@ -47,6 +89,133 @@ class EventFormClient {
47
89
  getLocale() {
48
90
  return this.locale;
49
91
  }
92
+ /**
93
+ * Preload the Mastercard Checkout.js script so it's ready when payment starts.
94
+ * Call this early (e.g. on page load) to avoid skeleton delay.
95
+ */
96
+ preloadCheckoutScript() {
97
+ const url = this.mastercardCheckoutUrl
98
+ ?? "https://ap-gateway.mastercard.com/static/checkout/checkout.min.js";
99
+ return (0, index_js_2.loadCheckoutScript)(url);
100
+ }
101
+ clearCache() {
102
+ this.cache.clear();
103
+ }
104
+ getCached(key) {
105
+ if (!this.cacheConfig.enabled)
106
+ return undefined;
107
+ const entry = this.cache.get(key);
108
+ if (!entry)
109
+ return undefined;
110
+ if (Date.now() > entry.expiresAt) {
111
+ this.cache.delete(key);
112
+ return undefined;
113
+ }
114
+ return entry.data;
115
+ }
116
+ setCache(key, data) {
117
+ if (!this.cacheConfig.enabled)
118
+ return;
119
+ this.cache.set(key, {
120
+ data,
121
+ expiresAt: Date.now() + this.cacheConfig.ttl,
122
+ });
123
+ }
124
+ applyRequestInterceptor(config) {
125
+ if (this.interceptors?.request) {
126
+ const result = this.interceptors.request({
127
+ url: config.url,
128
+ method: config.method,
129
+ headers: config.headers,
130
+ body: config.body,
131
+ });
132
+ return { ...config, ...result };
133
+ }
134
+ return config;
135
+ }
136
+ applyResponseInterceptor(response) {
137
+ if (this.interceptors?.response) {
138
+ return this.interceptors.response(response);
139
+ }
140
+ return response;
141
+ }
142
+ applyErrorInterceptor(error) {
143
+ if (this.interceptors?.error) {
144
+ return this.interceptors.error(error);
145
+ }
146
+ return error;
147
+ }
148
+ throwMapped(error, fallback) {
149
+ const processed = this.applyErrorInterceptor(error);
150
+ const status = processed instanceof HttpError ? processed.status : 0;
151
+ throw new Error(extractErrorMessage(processed, fallback, status), { cause: error });
152
+ }
153
+ async cachedGet(url, locale, fallback) {
154
+ const cached = this.getCached(url);
155
+ if (cached)
156
+ return cached;
157
+ try {
158
+ const res = await this.executeRequest({
159
+ url,
160
+ method: "GET",
161
+ headers: getHeaders(locale, this.origin, this.noCache),
162
+ timeout: this.timeout,
163
+ });
164
+ const data = this.applyResponseInterceptor(res.data);
165
+ this.setCache(url, data);
166
+ return data;
167
+ }
168
+ catch (error) {
169
+ this.throwMapped(error, fallback);
170
+ }
171
+ }
172
+ isRetryable(error) {
173
+ if (error instanceof HttpError) {
174
+ return error.status >= 500 || error.status === 0;
175
+ }
176
+ return true;
177
+ }
178
+ async executeRequest(config) {
179
+ const intercepted = this.applyRequestInterceptor(config);
180
+ let lastError;
181
+ for (let attempt = 0; attempt <= this.retryConfig.maxRetries; attempt++) {
182
+ try {
183
+ const controller = new AbortController();
184
+ const timeoutId = intercepted.timeout
185
+ ? setTimeout(() => controller.abort(), intercepted.timeout)
186
+ : undefined;
187
+ const isFormData = typeof FormData !== "undefined" && intercepted.body instanceof FormData;
188
+ const fetchInit = {
189
+ method: intercepted.method,
190
+ headers: intercepted.headers,
191
+ signal: controller.signal,
192
+ };
193
+ if (intercepted.body !== undefined) {
194
+ fetchInit.body = isFormData
195
+ ? intercepted.body
196
+ : JSON.stringify(intercepted.body);
197
+ }
198
+ const res = await fetch(intercepted.url, fetchInit);
199
+ if (timeoutId)
200
+ clearTimeout(timeoutId);
201
+ const body = await res.json();
202
+ if (!res.ok) {
203
+ throw new HttpError(res.status, body);
204
+ }
205
+ return body;
206
+ }
207
+ catch (error) {
208
+ lastError = error;
209
+ if (attempt < this.retryConfig.maxRetries && this.isRetryable(error)) {
210
+ const backoff = this.retryConfig.delay * Math.pow(2, attempt);
211
+ await new Promise((resolve) => setTimeout(resolve, backoff));
212
+ continue;
213
+ }
214
+ break;
215
+ }
216
+ }
217
+ throw lastError;
218
+ }
50
219
  async fetchTickets(options) {
51
220
  const effectiveLocale = options?.locale ?? this.locale;
52
221
  const url = new URL(`${this.apiBase}/events/tickets/event/${this.apiKey}/public`);
@@ -54,71 +223,49 @@ class EventFormClient {
54
223
  url.searchParams.set("locale", effectiveLocale);
55
224
  if (options?.name)
56
225
  url.searchParams.set("name", options.name);
57
- try {
58
- const res = await (0, rxjs_1.firstValueFrom)((0, ajax_1.ajax)({
59
- url: url.toString(),
60
- method: "GET",
61
- headers: getHeaders(effectiveLocale),
62
- }));
63
- return res.response.data;
64
- }
65
- catch (error) {
66
- const status = error instanceof ajax_1.AjaxError ? error.status : 0;
67
- throw new Error(`${this.messages.fetchTickets} (${status})`, { cause: error });
68
- }
226
+ return this.cachedGet(url.toString(), effectiveLocale, this.messages.fetchTickets);
69
227
  }
70
228
  async fetchTicketById(id, locale) {
71
229
  const effectiveLocale = locale ?? this.locale;
72
- try {
73
- const res = await (0, rxjs_1.firstValueFrom)((0, ajax_1.ajax)({
74
- url: `${this.apiBase}/events/tickets/${id}`,
75
- method: "GET",
76
- headers: getHeaders(effectiveLocale),
77
- }));
78
- return res.response.data;
79
- }
80
- catch (error) {
81
- const status = error instanceof ajax_1.AjaxError ? error.status : 0;
82
- throw new Error(`${this.messages.fetchTicketById} (${status})`, { cause: error });
83
- }
230
+ return this.cachedGet(`${this.apiBase}/events/tickets/${id}/public`, effectiveLocale, this.messages.fetchTicketById);
231
+ }
232
+ async fetchPublicTicket(id, locale) {
233
+ const effectiveLocale = locale ?? this.locale;
234
+ return this.cachedGet(`${this.apiBase}/tickets/${id}/public`, effectiveLocale, this.messages.fetchPublicTicket);
84
235
  }
85
236
  async fetchLanguages() {
237
+ const urlStr = `${this.apiBase}/events/onboarding/main-info/${this.apiKey}/languages`;
238
+ const cached = this.getCached(urlStr);
239
+ if (cached)
240
+ return cached;
86
241
  try {
87
- const res = await (0, rxjs_1.firstValueFrom)((0, ajax_1.ajax)({
88
- url: `${this.apiBase}/events/onboarding/main-info/${this.apiKey}/languages`,
242
+ const res = await this.executeRequest({
243
+ url: urlStr,
89
244
  method: "GET",
90
- }));
91
- const sorted = res.response.data.sort((a, b) => a.isDefault === b.isDefault ? 0 : a.isDefault ? -1 : 1);
92
- return sorted.map((l) => l.languageCode);
245
+ timeout: this.timeout,
246
+ headers: getHeaders(undefined, this.origin, this.noCache),
247
+ });
248
+ const sorted = res.data.sort((a, b) => a.isDefault === b.isDefault ? 0 : a.isDefault ? -1 : 1);
249
+ const data = this.applyResponseInterceptor(sorted.map((l) => l.languageCode));
250
+ this.setCache(urlStr, data);
251
+ return data;
93
252
  }
94
253
  catch (error) {
95
- const status = error instanceof ajax_1.AjaxError ? error.status : 0;
96
- throw new Error(`${this.messages.fetchLanguages} (${status})`, { cause: error });
254
+ this.throwMapped(error, this.messages.fetchLanguages);
97
255
  }
98
256
  }
99
257
  async fetchForm(ticketId, locale) {
100
258
  const effectiveLocale = locale ?? this.locale;
101
- try {
102
- const res = await (0, rxjs_1.firstValueFrom)((0, ajax_1.ajax)({
103
- url: `${this.apiBase}/application/forms/ticketing/${ticketId}/public`,
104
- method: "GET",
105
- headers: getHeaders(effectiveLocale),
106
- }));
107
- return res.response.data;
108
- }
109
- catch (error) {
110
- const status = error instanceof ajax_1.AjaxError ? error.status : 0;
111
- throw new Error(`${this.messages.fetchForm} (${status})`, { cause: error });
112
- }
259
+ return this.cachedGet(`${this.apiBase}/application/forms/ticketing/${ticketId}/public`, effectiveLocale, this.messages.fetchForm);
113
260
  }
114
261
  async authorizeUpload(formId, fieldId, file, locale) {
115
262
  const effectiveLocale = locale ?? this.locale;
116
263
  try {
117
- const res = await (0, rxjs_1.firstValueFrom)((0, ajax_1.ajax)({
264
+ const res = await this.executeRequest({
118
265
  url: `${this.apiBase}/application/forms/${formId}/submissions/authorize-upload`,
119
266
  method: "POST",
120
267
  headers: {
121
- ...getHeaders(effectiveLocale),
268
+ ...getHeaders(effectiveLocale, this.origin, this.noCache),
122
269
  "Content-Type": "application/json",
123
270
  },
124
271
  body: {
@@ -127,11 +274,12 @@ class EventFormClient {
127
274
  fileSize: file.size,
128
275
  fileName: file.name,
129
276
  },
130
- }));
131
- return res.response.data.uploadToken;
277
+ timeout: this.timeout,
278
+ });
279
+ return this.applyResponseInterceptor(res.data.uploadToken);
132
280
  }
133
281
  catch (error) {
134
- throw new Error(extractErrorMessage(error, this.messages.authorizeUpload), { cause: error });
282
+ this.throwMapped(error, this.messages.authorizeUpload);
135
283
  }
136
284
  }
137
285
  async uploadFile(formId, token, file, locale) {
@@ -140,39 +288,92 @@ class EventFormClient {
140
288
  body.append("file", file);
141
289
  body.append("uploadToken", token);
142
290
  try {
143
- const res = await (0, rxjs_1.firstValueFrom)((0, ajax_1.ajax)({
291
+ const res = await this.executeRequest({
144
292
  url: `${this.apiBase}/application/forms/${formId}/submissions/upload`,
145
293
  method: "POST",
146
- headers: getHeaders(effectiveLocale),
294
+ headers: getHeaders(effectiveLocale, this.origin, this.noCache),
147
295
  body,
148
- }));
149
- return res.response.data.url;
296
+ timeout: this.timeout,
297
+ });
298
+ return this.applyResponseInterceptor(res.data.url);
150
299
  }
151
300
  catch (error) {
152
- throw new Error(this.messages.uploadFile, { cause: error });
301
+ this.throwMapped(error, this.messages.uploadFile);
153
302
  }
154
303
  }
155
- async submitForm(formId, data, context) {
304
+ /**
305
+ * Submits the form to the backend first, then conditionally runs payment
306
+ * integrations if the response indicates payment is required.
307
+ *
308
+ * If an integration fails after submission, the failure is returned in the
309
+ * result (not thrown), since the submission is already saved on the backend.
310
+ */
311
+ async submitForm(form, data, context) {
156
312
  const effectiveLocale = context.locale ?? this.locale;
313
+ const headers = getHeaders(effectiveLocale, this.origin, this.noCache);
314
+ const settled = [];
315
+ let submission;
157
316
  try {
158
- await (0, rxjs_1.firstValueFrom)((0, ajax_1.ajax)({
159
- url: `${this.apiBase}/application/forms/${formId}/submissions`,
317
+ const res = await this.executeRequest({
318
+ url: `${this.apiBase}/application/forms/${form.id}/submissions`,
160
319
  method: "POST",
161
- headers: {
162
- ...getHeaders(effectiveLocale),
163
- "Content-Type": "application/json",
164
- },
320
+ headers: { ...headers, "Content-Type": "application/json" },
165
321
  body: {
166
322
  data,
167
323
  eventId: context.eventId,
168
324
  resourceType: this.resourceType,
169
325
  resourceId: context.ticketId,
326
+ attendanceType: context.attendanceType,
170
327
  },
171
- }));
328
+ timeout: this.timeout,
329
+ });
330
+ submission = this.applyResponseInterceptor(res.data);
172
331
  }
173
332
  catch (error) {
174
- throw new Error(extractErrorMessage(error, this.messages.submitForm), { cause: error });
333
+ this.throwMapped(error, this.messages.submitForm);
334
+ }
335
+ if (submission.payment?.requiresPayment) {
336
+ const allFields = (0, index_js_1.getAllFields)(form.schema);
337
+ const visibleIds = (0, index_js_1.getVisibleFieldIds)(allFields, data);
338
+ const visibleFields = allFields.filter((f) => visibleIds.has(f.id));
339
+ const pending = (0, index_js_1.resolveIntegrations)(visibleFields, data);
340
+ for (const entry of pending) {
341
+ const handler = await (0, index_js_2.getIntegrationHandler)(entry.methodName);
342
+ if (!handler) {
343
+ settled.push({
344
+ ...entry,
345
+ result: { success: false, error: `Unknown integration method: ${entry.methodName}` },
346
+ });
347
+ continue;
348
+ }
349
+ try {
350
+ const result = await handler({
351
+ apiBase: this.apiBase,
352
+ headers,
353
+ methodName: entry.methodName,
354
+ formData: data,
355
+ eventId: context.eventId,
356
+ resourceId: context.ticketId,
357
+ resourceType: this.resourceType,
358
+ locale: effectiveLocale,
359
+ sessionId: submission.payment.session_id,
360
+ orderId: submission.payment.order_id,
361
+ containerId: context.containerId,
362
+ checkoutUrl: this.mastercardCheckoutUrl,
363
+ merchantName: this.merchantName,
364
+ });
365
+ settled.push({ ...entry, result });
366
+ }
367
+ catch (err) {
368
+ const errorMessage = err instanceof Error ? err.message : "Integration failed";
369
+ settled.push({
370
+ ...entry,
371
+ result: { success: false, error: errorMessage },
372
+ });
373
+ }
374
+ }
175
375
  }
376
+ return { submission, integrations: settled };
176
377
  }
177
378
  }
178
379
  exports.EventFormClient = EventFormClient;
@@ -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":"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"}
@@ -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,15 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.t = t;
7
+ const en_json_1 = __importDefault(require("./en.json"));
8
+ const fr_json_1 = __importDefault(require("./fr.json"));
9
+ const rw_json_1 = __importDefault(require("./rw.json"));
10
+ const catalogs = { en: en_json_1.default, fr: fr_json_1.default, rw: rw_json_1.default };
11
+ function t(key, locale) {
12
+ const lang = locale ?? "en";
13
+ return catalogs[lang]?.[key] ?? catalogs.en[key] ?? key;
14
+ }
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/i18n/index.ts"],"names":[],"mappings":";;;;;AAMA,cAGC;AATD,wDAA2B;AAC3B,wDAA2B;AAC3B,wDAA2B;AAE3B,MAAM,QAAQ,GAA2C,EAAE,EAAE,EAAF,iBAAE,EAAE,EAAE,EAAF,iBAAE,EAAE,EAAE,EAAF,iBAAE,EAAE,CAAC;AAExE,SAAgB,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/cjs/index.js CHANGED
@@ -1,10 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getVisibleFieldIds = exports.isFieldVisible = exports.getAllFields = exports.EventFormClient = void 0;
3
+ exports.loadCheckoutScript = exports.FormStateManager = exports.resolveIntegrations = exports.getIntegrationMethod = exports.hasIntegration = exports.validateForm = exports.validateField = exports.getVisibleFieldIds = exports.isFieldVisible = exports.getAllFields = exports.EventFormClient = void 0;
4
4
  var index_js_1 = require("./client/index.js");
5
5
  Object.defineProperty(exports, "EventFormClient", { enumerable: true, get: function () { return index_js_1.EventFormClient; } });
6
6
  var index_js_2 = require("./utils/index.js");
7
7
  Object.defineProperty(exports, "getAllFields", { enumerable: true, get: function () { return index_js_2.getAllFields; } });
8
8
  Object.defineProperty(exports, "isFieldVisible", { enumerable: true, get: function () { return index_js_2.isFieldVisible; } });
9
9
  Object.defineProperty(exports, "getVisibleFieldIds", { enumerable: true, get: function () { return index_js_2.getVisibleFieldIds; } });
10
+ Object.defineProperty(exports, "validateField", { enumerable: true, get: function () { return index_js_2.validateField; } });
11
+ Object.defineProperty(exports, "validateForm", { enumerable: true, get: function () { return index_js_2.validateForm; } });
12
+ Object.defineProperty(exports, "hasIntegration", { enumerable: true, get: function () { return index_js_2.hasIntegration; } });
13
+ Object.defineProperty(exports, "getIntegrationMethod", { enumerable: true, get: function () { return index_js_2.getIntegrationMethod; } });
14
+ Object.defineProperty(exports, "resolveIntegrations", { enumerable: true, get: function () { return index_js_2.resolveIntegrations; } });
15
+ var index_js_3 = require("./state/index.js");
16
+ Object.defineProperty(exports, "FormStateManager", { enumerable: true, get: function () { return index_js_3.FormStateManager; } });
17
+ var index_js_4 = require("./integrations/index.js");
18
+ Object.defineProperty(exports, "loadCheckoutScript", { enumerable: true, get: function () { return index_js_4.loadCheckoutScript; } });
10
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,8CAAoD;AAA3C,2GAAA,eAAe,OAAA;AAExB,6CAI0B;AAHxB,wGAAA,YAAY,OAAA;AACZ,0GAAA,cAAc,OAAA;AACd,8GAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,8CAAoD;AAA3C,2GAAA,eAAe,OAAA;AAExB,6CAS0B;AARxB,wGAAA,YAAY,OAAA;AACZ,0GAAA,cAAc,OAAA;AACd,8GAAA,kBAAkB,OAAA;AAClB,yGAAA,aAAa,OAAA;AACb,wGAAA,YAAY,OAAA;AACZ,0GAAA,cAAc,OAAA;AACd,gHAAA,oBAAoB,OAAA;AACpB,+GAAA,mBAAmB,OAAA;AAGrB,6CAAoD;AAA3C,4GAAA,gBAAgB,OAAA;AAEzB,oDAA6D;AAApD,8GAAA,kBAAkB,OAAA"}
@@ -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,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadCheckoutScript = loadCheckoutScript;
4
+ const SCRIPT_LOAD_TIMEOUT_MS = 15_000;
5
+ let scriptLoadPromise = null;
6
+ function loadCheckoutScript(scriptUrl) {
7
+ if (scriptLoadPromise)
8
+ return scriptLoadPromise;
9
+ if (window.Checkout)
10
+ return Promise.resolve();
11
+ scriptLoadPromise = new Promise((resolve, reject) => {
12
+ if (typeof document === "undefined") {
13
+ reject(new Error("Cannot load script in non-browser environment"));
14
+ return;
15
+ }
16
+ const script = document.createElement("script");
17
+ script.src = scriptUrl;
18
+ script.setAttribute("data-error", "errorCallback");
19
+ script.setAttribute("data-cancel", "cancelCallback");
20
+ script.setAttribute("data-complete", "completeCallback");
21
+ const timeout = setTimeout(() => {
22
+ scriptLoadPromise = null;
23
+ reject(new Error("Script load timed out"));
24
+ }, SCRIPT_LOAD_TIMEOUT_MS);
25
+ script.onload = () => {
26
+ clearTimeout(timeout);
27
+ resolve();
28
+ };
29
+ script.onerror = () => {
30
+ clearTimeout(timeout);
31
+ scriptLoadPromise = null;
32
+ reject(new Error("Failed to load Mastercard Checkout script"));
33
+ };
34
+ document.head.appendChild(script);
35
+ });
36
+ return scriptLoadPromise;
37
+ }
38
+ //# sourceMappingURL=checkout-script.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkout-script.js","sourceRoot":"","sources":["../../../src/integrations/checkout-script.ts"],"names":[],"mappings":";;AAaA,gDAoCC;AAxCD,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAEtC,IAAI,iBAAiB,GAAyB,IAAI,CAAC;AAEnD,SAAgB,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"}