@cimplify/sdk 0.22.3 → 0.22.5
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.
- package/dist/advanced.js +21 -21
- package/dist/advanced.mjs +2 -2
- package/dist/{chunk-JFT63H34.mjs → chunk-4Z74TIJP.mjs} +4 -4
- package/dist/{chunk-64OCG2TJ.js → chunk-5FK7MDHS.js} +4 -4
- package/dist/{chunk-X7FRCS2Q.mjs → chunk-DNN5VN64.mjs} +15 -2
- package/dist/{chunk-7QQOYYEB.js → chunk-KLRTWBDF.js} +39 -39
- package/dist/{chunk-KBKAYGMI.mjs → chunk-Y2BD2XFJ.mjs} +2 -2
- package/dist/{chunk-RETQI2CJ.js → chunk-YMXFVI3N.js} +34 -21
- package/dist/index.js +98 -98
- package/dist/index.mjs +3 -3
- package/dist/react.js +63 -63
- package/dist/react.mjs +4 -4
- package/dist/utils.js +28 -28
- package/dist/utils.mjs +1 -1
- package/package.json +1 -1
package/dist/advanced.js
CHANGED
|
@@ -1,83 +1,83 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./chunk-
|
|
3
|
+
var chunkYMXFVI3N_js = require('./chunk-YMXFVI3N.js');
|
|
4
|
+
require('./chunk-5FK7MDHS.js');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
Object.defineProperty(exports, "AuthService", {
|
|
9
9
|
enumerable: true,
|
|
10
|
-
get: function () { return
|
|
10
|
+
get: function () { return chunkYMXFVI3N_js.AuthService; }
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, "BusinessService", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return chunkYMXFVI3N_js.BusinessService; }
|
|
15
15
|
});
|
|
16
16
|
Object.defineProperty(exports, "CartOperations", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return chunkYMXFVI3N_js.CartOperations; }
|
|
19
19
|
});
|
|
20
20
|
Object.defineProperty(exports, "CatalogueQueries", {
|
|
21
21
|
enumerable: true,
|
|
22
|
-
get: function () { return
|
|
22
|
+
get: function () { return chunkYMXFVI3N_js.CatalogueQueries; }
|
|
23
23
|
});
|
|
24
24
|
Object.defineProperty(exports, "CheckoutOperations", {
|
|
25
25
|
enumerable: true,
|
|
26
|
-
get: function () { return
|
|
26
|
+
get: function () { return chunkYMXFVI3N_js.CheckoutService; }
|
|
27
27
|
});
|
|
28
28
|
Object.defineProperty(exports, "CheckoutService", {
|
|
29
29
|
enumerable: true,
|
|
30
|
-
get: function () { return
|
|
30
|
+
get: function () { return chunkYMXFVI3N_js.CheckoutService; }
|
|
31
31
|
});
|
|
32
32
|
Object.defineProperty(exports, "CimplifyElement", {
|
|
33
33
|
enumerable: true,
|
|
34
|
-
get: function () { return
|
|
34
|
+
get: function () { return chunkYMXFVI3N_js.CimplifyElement; }
|
|
35
35
|
});
|
|
36
36
|
Object.defineProperty(exports, "CimplifyElements", {
|
|
37
37
|
enumerable: true,
|
|
38
|
-
get: function () { return
|
|
38
|
+
get: function () { return chunkYMXFVI3N_js.CimplifyElements; }
|
|
39
39
|
});
|
|
40
40
|
Object.defineProperty(exports, "ELEMENT_TYPES", {
|
|
41
41
|
enumerable: true,
|
|
42
|
-
get: function () { return
|
|
42
|
+
get: function () { return chunkYMXFVI3N_js.ELEMENT_TYPES; }
|
|
43
43
|
});
|
|
44
44
|
Object.defineProperty(exports, "EVENT_TYPES", {
|
|
45
45
|
enumerable: true,
|
|
46
|
-
get: function () { return
|
|
46
|
+
get: function () { return chunkYMXFVI3N_js.EVENT_TYPES; }
|
|
47
47
|
});
|
|
48
48
|
Object.defineProperty(exports, "FxService", {
|
|
49
49
|
enumerable: true,
|
|
50
|
-
get: function () { return
|
|
50
|
+
get: function () { return chunkYMXFVI3N_js.FxService; }
|
|
51
51
|
});
|
|
52
52
|
Object.defineProperty(exports, "InventoryService", {
|
|
53
53
|
enumerable: true,
|
|
54
|
-
get: function () { return
|
|
54
|
+
get: function () { return chunkYMXFVI3N_js.InventoryService; }
|
|
55
55
|
});
|
|
56
56
|
Object.defineProperty(exports, "LinkService", {
|
|
57
57
|
enumerable: true,
|
|
58
|
-
get: function () { return
|
|
58
|
+
get: function () { return chunkYMXFVI3N_js.LinkService; }
|
|
59
59
|
});
|
|
60
60
|
Object.defineProperty(exports, "LiteService", {
|
|
61
61
|
enumerable: true,
|
|
62
|
-
get: function () { return
|
|
62
|
+
get: function () { return chunkYMXFVI3N_js.LiteService; }
|
|
63
63
|
});
|
|
64
64
|
Object.defineProperty(exports, "MESSAGE_TYPES", {
|
|
65
65
|
enumerable: true,
|
|
66
|
-
get: function () { return
|
|
66
|
+
get: function () { return chunkYMXFVI3N_js.MESSAGE_TYPES; }
|
|
67
67
|
});
|
|
68
68
|
Object.defineProperty(exports, "OrderQueries", {
|
|
69
69
|
enumerable: true,
|
|
70
|
-
get: function () { return
|
|
70
|
+
get: function () { return chunkYMXFVI3N_js.OrderQueries; }
|
|
71
71
|
});
|
|
72
72
|
Object.defineProperty(exports, "SchedulingService", {
|
|
73
73
|
enumerable: true,
|
|
74
|
-
get: function () { return
|
|
74
|
+
get: function () { return chunkYMXFVI3N_js.SchedulingService; }
|
|
75
75
|
});
|
|
76
76
|
Object.defineProperty(exports, "createElements", {
|
|
77
77
|
enumerable: true,
|
|
78
|
-
get: function () { return
|
|
78
|
+
get: function () { return chunkYMXFVI3N_js.createElements; }
|
|
79
79
|
});
|
|
80
80
|
Object.defineProperty(exports, "generateIdempotencyKey", {
|
|
81
81
|
enumerable: true,
|
|
82
|
-
get: function () { return
|
|
82
|
+
get: function () { return chunkYMXFVI3N_js.generateIdempotencyKey; }
|
|
83
83
|
});
|
package/dist/advanced.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { AuthService, BusinessService, CartOperations, CatalogueQueries, CheckoutService as CheckoutOperations, CheckoutService, CimplifyElement, CimplifyElements, ELEMENT_TYPES, EVENT_TYPES, FxService, InventoryService, LinkService, LiteService, MESSAGE_TYPES, OrderQueries, SchedulingService, createElements, generateIdempotencyKey } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { AuthService, BusinessService, CartOperations, CatalogueQueries, CheckoutService as CheckoutOperations, CheckoutService, CimplifyElement, CimplifyElements, ELEMENT_TYPES, EVENT_TYPES, FxService, InventoryService, LinkService, LiteService, MESSAGE_TYPES, OrderQueries, SchedulingService, createElements, generateIdempotencyKey } from './chunk-DNN5VN64.mjs';
|
|
2
|
+
import './chunk-4Z74TIJP.mjs';
|
|
@@ -307,15 +307,15 @@ function formatPrice(amount, currency = "GHS", locale = "en-US") {
|
|
|
307
307
|
if (isNaN(numAmount)) {
|
|
308
308
|
return `${getCurrencySymbol(currency)}0.00`;
|
|
309
309
|
}
|
|
310
|
+
const symbol = getCurrencySymbol(currency);
|
|
310
311
|
try {
|
|
311
|
-
|
|
312
|
-
style: "currency",
|
|
313
|
-
currency: currency.toUpperCase(),
|
|
312
|
+
const formatted = new Intl.NumberFormat(locale, {
|
|
314
313
|
minimumFractionDigits: 2,
|
|
315
314
|
maximumFractionDigits: 2
|
|
316
315
|
}).format(numAmount);
|
|
316
|
+
return `${symbol}${formatted}`;
|
|
317
317
|
} catch {
|
|
318
|
-
return `${
|
|
318
|
+
return `${symbol}${numAmount.toFixed(2)}`;
|
|
319
319
|
}
|
|
320
320
|
}
|
|
321
321
|
function formatPriceAdjustment(amount, currency = "GHS", locale = "en-US") {
|
|
@@ -309,15 +309,15 @@ function formatPrice(amount, currency = "GHS", locale = "en-US") {
|
|
|
309
309
|
if (isNaN(numAmount)) {
|
|
310
310
|
return `${getCurrencySymbol(currency)}0.00`;
|
|
311
311
|
}
|
|
312
|
+
const symbol = getCurrencySymbol(currency);
|
|
312
313
|
try {
|
|
313
|
-
|
|
314
|
-
style: "currency",
|
|
315
|
-
currency: currency.toUpperCase(),
|
|
314
|
+
const formatted = new Intl.NumberFormat(locale, {
|
|
316
315
|
minimumFractionDigits: 2,
|
|
317
316
|
maximumFractionDigits: 2
|
|
318
317
|
}).format(numAmount);
|
|
318
|
+
return `${symbol}${formatted}`;
|
|
319
319
|
} catch {
|
|
320
|
-
return `${
|
|
320
|
+
return `${symbol}${numAmount.toFixed(2)}`;
|
|
321
321
|
}
|
|
322
322
|
}
|
|
323
323
|
function formatPriceAdjustment(amount, currency = "GHS", locale = "en-US") {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CimplifyError, currencyCode, ErrorCode, enrichError, isPaymentStatusRequiresAction, normalizeStatusResponse, isPaymentStatusSuccess, isPaymentStatusFailure, getErrorHint } from './chunk-
|
|
1
|
+
import { CimplifyError, currencyCode, ErrorCode, enrichError, isPaymentStatusRequiresAction, normalizeStatusResponse, isPaymentStatusSuccess, isPaymentStatusFailure, getErrorHint } from './chunk-4Z74TIJP.mjs';
|
|
2
2
|
|
|
3
3
|
// src/types/result.ts
|
|
4
4
|
function ok(value) {
|
|
@@ -272,7 +272,20 @@ var CatalogueQueries = class {
|
|
|
272
272
|
const encodedId = encodeURIComponent(id);
|
|
273
273
|
const result = await safe(this.client.get(`/api/v1/catalogue/products/${encodedId}`));
|
|
274
274
|
if (!result.ok) return result;
|
|
275
|
-
|
|
275
|
+
const payload = result.value;
|
|
276
|
+
const rawProduct = isRecord(payload.item) ? payload.item : payload;
|
|
277
|
+
const product = normalizeCatalogueProductPayload(rawProduct);
|
|
278
|
+
if (isRecord(payload.category)) {
|
|
279
|
+
product.category = payload.category;
|
|
280
|
+
}
|
|
281
|
+
const addOnIds = rawProduct.add_on_ids;
|
|
282
|
+
if (Array.isArray(addOnIds) && addOnIds.length > 0) {
|
|
283
|
+
const addOnsResult = await this.getAddOns(product.id);
|
|
284
|
+
if (addOnsResult.ok) {
|
|
285
|
+
product.add_ons = addOnsResult.value;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
return ok(product);
|
|
276
289
|
}
|
|
277
290
|
async getProductBySlug(slug) {
|
|
278
291
|
return this.getProduct(slug);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkYMXFVI3N_js = require('./chunk-YMXFVI3N.js');
|
|
4
|
+
var chunk5FK7MDHS_js = require('./chunk-5FK7MDHS.js');
|
|
5
5
|
|
|
6
6
|
// src/activity.ts
|
|
7
7
|
var ActivityService = class {
|
|
@@ -29,7 +29,7 @@ var ActivityService = class {
|
|
|
29
29
|
this.sendEvents([event]);
|
|
30
30
|
}
|
|
31
31
|
async getState() {
|
|
32
|
-
return
|
|
32
|
+
return chunkYMXFVI3N_js.safe(this.client.get("/api/v1/activity/state"));
|
|
33
33
|
}
|
|
34
34
|
async getRecommendations(options) {
|
|
35
35
|
const params = new URLSearchParams();
|
|
@@ -37,10 +37,10 @@ var ActivityService = class {
|
|
|
37
37
|
if (options?.limit) params.set("limit", String(options.limit));
|
|
38
38
|
const query = params.toString();
|
|
39
39
|
const path = query ? `/api/v1/activity/recommendations?${query}` : "/api/v1/activity/recommendations";
|
|
40
|
-
return
|
|
40
|
+
return chunkYMXFVI3N_js.safe(this.client.get(path));
|
|
41
41
|
}
|
|
42
42
|
async dismissMessage(code) {
|
|
43
|
-
return
|
|
43
|
+
return chunkYMXFVI3N_js.safe(
|
|
44
44
|
this.client.post("/api/v1/activity/messages/dismiss", { code })
|
|
45
45
|
);
|
|
46
46
|
}
|
|
@@ -66,7 +66,7 @@ var DeliveryService = class {
|
|
|
66
66
|
params.set("dropoff_lat", String(dropoffLat));
|
|
67
67
|
params.set("dropoff_lng", String(dropoffLng));
|
|
68
68
|
if (country) params.set("country", country);
|
|
69
|
-
return
|
|
69
|
+
return chunkYMXFVI3N_js.safe(
|
|
70
70
|
this.client.get(`/api/v1/delivery/fee?${params.toString()}`)
|
|
71
71
|
);
|
|
72
72
|
}
|
|
@@ -91,16 +91,16 @@ function isRetryable(error) {
|
|
|
91
91
|
if (error instanceof DOMException && error.name === "AbortError") {
|
|
92
92
|
return true;
|
|
93
93
|
}
|
|
94
|
-
if (error instanceof
|
|
94
|
+
if (error instanceof chunk5FK7MDHS_js.CimplifyError) {
|
|
95
95
|
return error.retryable;
|
|
96
96
|
}
|
|
97
97
|
return false;
|
|
98
98
|
}
|
|
99
99
|
function toNetworkError(error, isTestMode) {
|
|
100
100
|
if (error instanceof DOMException && error.name === "AbortError") {
|
|
101
|
-
return
|
|
102
|
-
new
|
|
103
|
-
|
|
101
|
+
return chunk5FK7MDHS_js.enrichError(
|
|
102
|
+
new chunk5FK7MDHS_js.CimplifyError(
|
|
103
|
+
chunk5FK7MDHS_js.ErrorCode.TIMEOUT,
|
|
104
104
|
"Request timed out. Please check your connection and try again.",
|
|
105
105
|
true
|
|
106
106
|
),
|
|
@@ -108,21 +108,21 @@ function toNetworkError(error, isTestMode) {
|
|
|
108
108
|
);
|
|
109
109
|
}
|
|
110
110
|
if (error instanceof TypeError && error.message.includes("fetch")) {
|
|
111
|
-
return
|
|
112
|
-
new
|
|
113
|
-
|
|
111
|
+
return chunk5FK7MDHS_js.enrichError(
|
|
112
|
+
new chunk5FK7MDHS_js.CimplifyError(
|
|
113
|
+
chunk5FK7MDHS_js.ErrorCode.NETWORK_ERROR,
|
|
114
114
|
"Network error. Please check your internet connection.",
|
|
115
115
|
true
|
|
116
116
|
),
|
|
117
117
|
{ isTestMode }
|
|
118
118
|
);
|
|
119
119
|
}
|
|
120
|
-
if (error instanceof
|
|
121
|
-
return
|
|
120
|
+
if (error instanceof chunk5FK7MDHS_js.CimplifyError) {
|
|
121
|
+
return chunk5FK7MDHS_js.enrichError(error, { isTestMode });
|
|
122
122
|
}
|
|
123
|
-
return
|
|
124
|
-
new
|
|
125
|
-
|
|
123
|
+
return chunk5FK7MDHS_js.enrichError(
|
|
124
|
+
new chunk5FK7MDHS_js.CimplifyError(
|
|
125
|
+
chunk5FK7MDHS_js.ErrorCode.UNKNOWN_ERROR,
|
|
126
126
|
error instanceof Error ? error.message : "An unknown error occurred",
|
|
127
127
|
false
|
|
128
128
|
),
|
|
@@ -289,8 +289,8 @@ var CimplifyClient = class {
|
|
|
289
289
|
this.businessIdResolvePromise = (async () => {
|
|
290
290
|
const result = await this.business.getInfo();
|
|
291
291
|
if (!result.ok || !result.value?.id) {
|
|
292
|
-
throw new
|
|
293
|
-
|
|
292
|
+
throw new chunk5FK7MDHS_js.CimplifyError(
|
|
293
|
+
chunk5FK7MDHS_js.ErrorCode.NOT_FOUND,
|
|
294
294
|
"Unable to resolve business ID from the current public key.",
|
|
295
295
|
true
|
|
296
296
|
);
|
|
@@ -407,7 +407,7 @@ var CimplifyClient = class {
|
|
|
407
407
|
if (response.status >= 400 && response.status < 500) {
|
|
408
408
|
this.hooks.onRequestError?.({
|
|
409
409
|
...context,
|
|
410
|
-
error: new
|
|
410
|
+
error: new chunk5FK7MDHS_js.CimplifyError(
|
|
411
411
|
`HTTP_${response.status}`,
|
|
412
412
|
`Request failed with status ${response.status}`,
|
|
413
413
|
false
|
|
@@ -433,7 +433,7 @@ var CimplifyClient = class {
|
|
|
433
433
|
}
|
|
434
434
|
this.hooks.onRequestError?.({
|
|
435
435
|
...context,
|
|
436
|
-
error: new
|
|
436
|
+
error: new chunk5FK7MDHS_js.CimplifyError(
|
|
437
437
|
"SERVER_ERROR",
|
|
438
438
|
`Server error ${response.status} after ${retryCount} retries`,
|
|
439
439
|
false
|
|
@@ -564,15 +564,15 @@ var CimplifyClient = class {
|
|
|
564
564
|
const errorCode = typeof json.error === "object" && json.error?.error_code || typeof json.error === "object" && json.error?.code || "API_ERROR";
|
|
565
565
|
const errorMessage = typeof json.error === "object" && json.error?.error_message || typeof json.error === "object" && json.error?.message || typeof json.error === "string" && json.error || typeof json.message === "string" && json.message || "An error occurred";
|
|
566
566
|
const retryable = typeof json.error === "object" && typeof json.error?.retryable === "boolean" ? json.error.retryable : false;
|
|
567
|
-
const error =
|
|
568
|
-
new
|
|
567
|
+
const error = chunk5FK7MDHS_js.enrichError(
|
|
568
|
+
new chunk5FK7MDHS_js.CimplifyError(
|
|
569
569
|
errorCode,
|
|
570
570
|
errorMessage,
|
|
571
571
|
retryable
|
|
572
572
|
),
|
|
573
573
|
{ isTestMode: this.isTestMode() }
|
|
574
574
|
);
|
|
575
|
-
if (response.status === 401 || error.code ===
|
|
575
|
+
if (response.status === 401 || error.code === chunk5FK7MDHS_js.ErrorCode.UNAUTHORIZED) {
|
|
576
576
|
console.warn(
|
|
577
577
|
"[Cimplify] Received 401 Unauthorized. Access token may be missing/expired. Refresh authentication and retry the request."
|
|
578
578
|
);
|
|
@@ -580,8 +580,8 @@ var CimplifyClient = class {
|
|
|
580
580
|
throw error;
|
|
581
581
|
}
|
|
582
582
|
if (json?.success === false || json?.error?.code || json?.error?.message) {
|
|
583
|
-
const error =
|
|
584
|
-
new
|
|
583
|
+
const error = chunk5FK7MDHS_js.enrichError(
|
|
584
|
+
new chunk5FK7MDHS_js.CimplifyError(
|
|
585
585
|
json.error?.code || "API_ERROR",
|
|
586
586
|
json.error?.message || "An error occurred",
|
|
587
587
|
json.error?.retryable || false
|
|
@@ -597,67 +597,67 @@ var CimplifyClient = class {
|
|
|
597
597
|
}
|
|
598
598
|
get catalogue() {
|
|
599
599
|
if (!this._catalogue) {
|
|
600
|
-
this._catalogue = new
|
|
600
|
+
this._catalogue = new chunkYMXFVI3N_js.CatalogueQueries(this);
|
|
601
601
|
}
|
|
602
602
|
return this._catalogue;
|
|
603
603
|
}
|
|
604
604
|
get cart() {
|
|
605
605
|
if (!this._cart) {
|
|
606
|
-
this._cart = new
|
|
606
|
+
this._cart = new chunkYMXFVI3N_js.CartOperations(this);
|
|
607
607
|
}
|
|
608
608
|
return this._cart;
|
|
609
609
|
}
|
|
610
610
|
get checkout() {
|
|
611
611
|
if (!this._checkout) {
|
|
612
|
-
this._checkout = new
|
|
612
|
+
this._checkout = new chunkYMXFVI3N_js.CheckoutService(this);
|
|
613
613
|
}
|
|
614
614
|
return this._checkout;
|
|
615
615
|
}
|
|
616
616
|
get orders() {
|
|
617
617
|
if (!this._orders) {
|
|
618
|
-
this._orders = new
|
|
618
|
+
this._orders = new chunkYMXFVI3N_js.OrderQueries(this);
|
|
619
619
|
}
|
|
620
620
|
return this._orders;
|
|
621
621
|
}
|
|
622
622
|
get link() {
|
|
623
623
|
if (!this._link) {
|
|
624
|
-
this._link = new
|
|
624
|
+
this._link = new chunkYMXFVI3N_js.LinkService(this);
|
|
625
625
|
}
|
|
626
626
|
return this._link;
|
|
627
627
|
}
|
|
628
628
|
get auth() {
|
|
629
629
|
if (!this._auth) {
|
|
630
|
-
this._auth = new
|
|
630
|
+
this._auth = new chunkYMXFVI3N_js.AuthService(this);
|
|
631
631
|
}
|
|
632
632
|
return this._auth;
|
|
633
633
|
}
|
|
634
634
|
get business() {
|
|
635
635
|
if (!this._business) {
|
|
636
|
-
this._business = new
|
|
636
|
+
this._business = new chunkYMXFVI3N_js.BusinessService(this);
|
|
637
637
|
}
|
|
638
638
|
return this._business;
|
|
639
639
|
}
|
|
640
640
|
get inventory() {
|
|
641
641
|
if (!this._inventory) {
|
|
642
|
-
this._inventory = new
|
|
642
|
+
this._inventory = new chunkYMXFVI3N_js.InventoryService(this);
|
|
643
643
|
}
|
|
644
644
|
return this._inventory;
|
|
645
645
|
}
|
|
646
646
|
get scheduling() {
|
|
647
647
|
if (!this._scheduling) {
|
|
648
|
-
this._scheduling = new
|
|
648
|
+
this._scheduling = new chunkYMXFVI3N_js.SchedulingService(this);
|
|
649
649
|
}
|
|
650
650
|
return this._scheduling;
|
|
651
651
|
}
|
|
652
652
|
get lite() {
|
|
653
653
|
if (!this._lite) {
|
|
654
|
-
this._lite = new
|
|
654
|
+
this._lite = new chunkYMXFVI3N_js.LiteService(this);
|
|
655
655
|
}
|
|
656
656
|
return this._lite;
|
|
657
657
|
}
|
|
658
658
|
get fx() {
|
|
659
659
|
if (!this._fx) {
|
|
660
|
-
this._fx = new
|
|
660
|
+
this._fx = new chunkYMXFVI3N_js.FxService(this);
|
|
661
661
|
}
|
|
662
662
|
return this._fx;
|
|
663
663
|
}
|
|
@@ -677,7 +677,7 @@ var CimplifyClient = class {
|
|
|
677
677
|
if (businessId) {
|
|
678
678
|
this.setBusinessId(businessId);
|
|
679
679
|
}
|
|
680
|
-
return
|
|
680
|
+
return chunkYMXFVI3N_js.createElements(this, businessId ?? this.businessId ?? void 0, options);
|
|
681
681
|
}
|
|
682
682
|
};
|
|
683
683
|
function createCimplifyClient(config = {}) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { safe, CatalogueQueries, CartOperations, CheckoutService, OrderQueries, LinkService, AuthService, BusinessService, InventoryService, SchedulingService, LiteService, FxService, createElements } from './chunk-
|
|
2
|
-
import { CimplifyError, ErrorCode, enrichError } from './chunk-
|
|
1
|
+
import { safe, CatalogueQueries, CartOperations, CheckoutService, OrderQueries, LinkService, AuthService, BusinessService, InventoryService, SchedulingService, LiteService, FxService, createElements } from './chunk-DNN5VN64.mjs';
|
|
2
|
+
import { CimplifyError, ErrorCode, enrichError } from './chunk-4Z74TIJP.mjs';
|
|
3
3
|
|
|
4
4
|
// src/activity.ts
|
|
5
5
|
var ActivityService = class {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunk5FK7MDHS_js = require('./chunk-5FK7MDHS.js');
|
|
4
4
|
|
|
5
5
|
// src/types/result.ts
|
|
6
6
|
function ok(value) {
|
|
@@ -74,11 +74,11 @@ function combineObject(results) {
|
|
|
74
74
|
|
|
75
75
|
// src/internal/safe.ts
|
|
76
76
|
function toCimplifyError(error) {
|
|
77
|
-
if (error instanceof
|
|
77
|
+
if (error instanceof chunk5FK7MDHS_js.CimplifyError) return chunk5FK7MDHS_js.enrichError(error);
|
|
78
78
|
if (error instanceof Error) {
|
|
79
|
-
return
|
|
79
|
+
return chunk5FK7MDHS_js.enrichError(new chunk5FK7MDHS_js.CimplifyError(chunk5FK7MDHS_js.ErrorCode.UNKNOWN_ERROR, error.message, false));
|
|
80
80
|
}
|
|
81
|
-
return
|
|
81
|
+
return chunk5FK7MDHS_js.enrichError(new chunk5FK7MDHS_js.CimplifyError(chunk5FK7MDHS_js.ErrorCode.UNKNOWN_ERROR, String(error), false));
|
|
82
82
|
}
|
|
83
83
|
async function safe(promise) {
|
|
84
84
|
try {
|
|
@@ -274,7 +274,20 @@ var CatalogueQueries = class {
|
|
|
274
274
|
const encodedId = encodeURIComponent(id);
|
|
275
275
|
const result = await safe(this.client.get(`/api/v1/catalogue/products/${encodedId}`));
|
|
276
276
|
if (!result.ok) return result;
|
|
277
|
-
|
|
277
|
+
const payload = result.value;
|
|
278
|
+
const rawProduct = isRecord(payload.item) ? payload.item : payload;
|
|
279
|
+
const product = normalizeCatalogueProductPayload(rawProduct);
|
|
280
|
+
if (isRecord(payload.category)) {
|
|
281
|
+
product.category = payload.category;
|
|
282
|
+
}
|
|
283
|
+
const addOnIds = rawProduct.add_on_ids;
|
|
284
|
+
if (Array.isArray(addOnIds) && addOnIds.length > 0) {
|
|
285
|
+
const addOnsResult = await this.getAddOns(product.id);
|
|
286
|
+
if (addOnsResult.ok) {
|
|
287
|
+
product.add_ons = addOnsResult.value;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
return ok(product);
|
|
278
291
|
}
|
|
279
292
|
async getProductBySlug(slug) {
|
|
280
293
|
return this.getProduct(slug);
|
|
@@ -1058,7 +1071,7 @@ var CheckoutResolver = class {
|
|
|
1058
1071
|
}
|
|
1059
1072
|
}
|
|
1060
1073
|
}
|
|
1061
|
-
if (checkoutResult.requires_authorization ||
|
|
1074
|
+
if (checkoutResult.requires_authorization || chunk5FK7MDHS_js.isPaymentStatusRequiresAction(checkoutResult.payment_status)) {
|
|
1062
1075
|
const authorization = await this.handleAuthorization({
|
|
1063
1076
|
authorizationType,
|
|
1064
1077
|
paymentReference,
|
|
@@ -1232,18 +1245,18 @@ var CheckoutResolver = class {
|
|
|
1232
1245
|
if (statusResult.value.reference) {
|
|
1233
1246
|
paymentReference = statusResult.value.reference;
|
|
1234
1247
|
}
|
|
1235
|
-
const normalized =
|
|
1236
|
-
if (normalized.paid ||
|
|
1248
|
+
const normalized = chunk5FK7MDHS_js.normalizeStatusResponse(statusResult.value);
|
|
1249
|
+
if (normalized.paid || chunk5FK7MDHS_js.isPaymentStatusSuccess(normalized.status)) {
|
|
1237
1250
|
return this.finalizeSuccess(latestCheckoutResult);
|
|
1238
1251
|
}
|
|
1239
|
-
if (
|
|
1252
|
+
if (chunk5FK7MDHS_js.isPaymentStatusFailure(normalized.status)) {
|
|
1240
1253
|
return this.fail(
|
|
1241
1254
|
normalized.status ? normalized.status.toUpperCase() : "PAYMENT_FAILED",
|
|
1242
1255
|
normalized.message || "Payment failed during confirmation.",
|
|
1243
1256
|
false
|
|
1244
1257
|
);
|
|
1245
1258
|
}
|
|
1246
|
-
if (
|
|
1259
|
+
if (chunk5FK7MDHS_js.isPaymentStatusRequiresAction(normalized.status)) {
|
|
1247
1260
|
const authorization = await this.handleAuthorization({
|
|
1248
1261
|
authorizationType,
|
|
1249
1262
|
paymentReference,
|
|
@@ -1274,8 +1287,8 @@ var CheckoutResolver = class {
|
|
|
1274
1287
|
try {
|
|
1275
1288
|
const finalResult = await this.client.checkout.pollPaymentStatus(input.orderId);
|
|
1276
1289
|
if (finalResult.ok) {
|
|
1277
|
-
const normalized =
|
|
1278
|
-
if (normalized.paid ||
|
|
1290
|
+
const normalized = chunk5FK7MDHS_js.normalizeStatusResponse(finalResult.value);
|
|
1291
|
+
if (normalized.paid || chunk5FK7MDHS_js.isPaymentStatusSuccess(normalized.status)) {
|
|
1279
1292
|
return this.finalizeSuccess(latestCheckoutResult);
|
|
1280
1293
|
}
|
|
1281
1294
|
}
|
|
@@ -1471,12 +1484,12 @@ var CheckoutResolver = class {
|
|
|
1471
1484
|
};
|
|
1472
1485
|
}
|
|
1473
1486
|
isSuccessfulStatus(status) {
|
|
1474
|
-
const normalized =
|
|
1475
|
-
return normalized.paid ||
|
|
1487
|
+
const normalized = chunk5FK7MDHS_js.normalizeStatusResponse({ status, paid: false });
|
|
1488
|
+
return normalized.paid || chunk5FK7MDHS_js.isPaymentStatusSuccess(normalized.status);
|
|
1476
1489
|
}
|
|
1477
1490
|
isFailureStatus(status) {
|
|
1478
|
-
const normalized =
|
|
1479
|
-
return
|
|
1491
|
+
const normalized = chunk5FK7MDHS_js.normalizeStatusResponse({ status, paid: false });
|
|
1492
|
+
return chunk5FK7MDHS_js.isPaymentStatusFailure(normalized.status);
|
|
1480
1493
|
}
|
|
1481
1494
|
ensureNotAborted() {
|
|
1482
1495
|
if (this.signal?.aborted) {
|
|
@@ -1547,7 +1560,7 @@ var CheckoutService = class {
|
|
|
1547
1560
|
}
|
|
1548
1561
|
async initializePayment(_orderId, _method) {
|
|
1549
1562
|
return err(
|
|
1550
|
-
new
|
|
1563
|
+
new chunk5FK7MDHS_js.CimplifyError(
|
|
1551
1564
|
"NOT_IMPLEMENTED",
|
|
1552
1565
|
"initializePayment is not available in REST mode.",
|
|
1553
1566
|
false
|
|
@@ -1619,11 +1632,11 @@ var CheckoutService = class {
|
|
|
1619
1632
|
pay_currency: data.pay_currency,
|
|
1620
1633
|
fx_quote_id: data.fx_quote_id
|
|
1621
1634
|
};
|
|
1622
|
-
const baseCurrency =
|
|
1635
|
+
const baseCurrency = chunk5FK7MDHS_js.currencyCode(
|
|
1623
1636
|
(cart.pricing.currency || checkoutData.pay_currency || "GHS").toUpperCase()
|
|
1624
1637
|
);
|
|
1625
1638
|
const payCurrency = data.pay_currency?.trim().toUpperCase();
|
|
1626
|
-
const payCurrencyCode = payCurrency ?
|
|
1639
|
+
const payCurrencyCode = payCurrency ? chunk5FK7MDHS_js.currencyCode(payCurrency) : void 0;
|
|
1627
1640
|
const cartTotalAmount = typeof cart.pricing.total_price === "number" ? cart.pricing.total_price : Number.parseFloat(cart.pricing.total_price || "0");
|
|
1628
1641
|
if (payCurrencyCode && payCurrencyCode !== baseCurrency && !checkoutData.fx_quote_id && Number.isFinite(cartTotalAmount) && cartTotalAmount > 0) {
|
|
1629
1642
|
const fxQuoteResult = await this.client.fx.lockQuote({
|
|
@@ -1946,7 +1959,7 @@ var BusinessService = class {
|
|
|
1946
1959
|
if (!result.ok) return err(result.error);
|
|
1947
1960
|
const location = result.value.find((item) => item.id === locationId);
|
|
1948
1961
|
if (!location) {
|
|
1949
|
-
return err(new
|
|
1962
|
+
return err(new chunk5FK7MDHS_js.CimplifyError(chunk5FK7MDHS_js.ErrorCode.NOT_FOUND, `Location not found: ${locationId}`, false));
|
|
1950
1963
|
}
|
|
1951
1964
|
return ok(location);
|
|
1952
1965
|
}
|
|
@@ -2220,7 +2233,7 @@ var EVENT_TYPES = {
|
|
|
2220
2233
|
|
|
2221
2234
|
// src/elements.ts
|
|
2222
2235
|
function toCheckoutError(code, message, recoverable) {
|
|
2223
|
-
const hint =
|
|
2236
|
+
const hint = chunk5FK7MDHS_js.getErrorHint(code);
|
|
2224
2237
|
return {
|
|
2225
2238
|
success: false,
|
|
2226
2239
|
error: {
|