@cimplify/sdk 0.16.1 → 0.16.3
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.d.mts +2 -2
- package/dist/advanced.d.ts +2 -2
- package/dist/advanced.js +106 -232
- package/dist/advanced.mjs +106 -232
- package/dist/{client-wOQ8P1Ks.d.mts → client-BaolRdB4.d.mts} +4 -3
- package/dist/{client-NdvQpCxU.d.ts → client-C59R79gx.d.ts} +4 -3
- package/dist/index.d.mts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +110 -235
- package/dist/index.mjs +110 -235
- package/dist/{payment-Dvd7nRmk.d.mts → payment-C6ULw3K-.d.mts} +1 -1
- package/dist/{payment-Dvd7nRmk.d.ts → payment-C6ULw3K-.d.ts} +1 -1
- package/dist/{price-DrfhwHpw.d.ts → price-Bd6JBV8W.d.ts} +1 -1
- package/dist/{price-BDZNXiLS.d.mts → price-CbR6DCt0.d.mts} +1 -1
- package/dist/react.d.mts +3 -3
- package/dist/react.d.ts +3 -3
- package/dist/react.js +106 -232
- package/dist/react.mjs +106 -232
- package/dist/utils.d.mts +2 -2
- package/dist/utils.d.ts +2 -2
- package/dist/utils.js +4 -3
- package/dist/utils.mjs +4 -3
- package/package.json +1 -1
package/dist/advanced.mjs
CHANGED
|
@@ -118,7 +118,7 @@ function enrichError(error, options = {}) {
|
|
|
118
118
|
return error;
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
-
// src/
|
|
121
|
+
// src/internal/safe.ts
|
|
122
122
|
function toCimplifyError(error) {
|
|
123
123
|
if (error instanceof CimplifyError) return enrichError(error);
|
|
124
124
|
if (error instanceof Error) {
|
|
@@ -133,6 +133,8 @@ async function safe(promise) {
|
|
|
133
133
|
return err(toCimplifyError(error));
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
|
+
|
|
137
|
+
// src/catalogue.ts
|
|
136
138
|
function withQuery(path, params) {
|
|
137
139
|
const query2 = new URLSearchParams();
|
|
138
140
|
for (const [key, value] of Object.entries(params)) {
|
|
@@ -502,20 +504,6 @@ var CatalogueQueries = class {
|
|
|
502
504
|
};
|
|
503
505
|
|
|
504
506
|
// src/cart.ts
|
|
505
|
-
function toCimplifyError2(error) {
|
|
506
|
-
if (error instanceof CimplifyError) return enrichError(error);
|
|
507
|
-
if (error instanceof Error) {
|
|
508
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
|
|
509
|
-
}
|
|
510
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
|
|
511
|
-
}
|
|
512
|
-
async function safe2(promise) {
|
|
513
|
-
try {
|
|
514
|
-
return ok(await promise);
|
|
515
|
-
} catch (error) {
|
|
516
|
-
return err(toCimplifyError2(error));
|
|
517
|
-
}
|
|
518
|
-
}
|
|
519
507
|
function isUICartResponse(value) {
|
|
520
508
|
return "cart" in value;
|
|
521
509
|
}
|
|
@@ -527,21 +515,21 @@ var CartOperations = class {
|
|
|
527
515
|
this.client = client;
|
|
528
516
|
}
|
|
529
517
|
async get() {
|
|
530
|
-
const result = await
|
|
518
|
+
const result = await safe(this.client.get("/api/v1/cart"));
|
|
531
519
|
if (!result.ok) return result;
|
|
532
520
|
return ok(unwrapEnrichedCart(result.value));
|
|
533
521
|
}
|
|
534
522
|
async getRaw() {
|
|
535
|
-
return
|
|
523
|
+
return safe(this.client.get("/api/v1/cart"));
|
|
536
524
|
}
|
|
537
525
|
async getItems() {
|
|
538
|
-
return
|
|
526
|
+
return safe(this.client.get("/api/v1/cart/items"));
|
|
539
527
|
}
|
|
540
528
|
async getCount() {
|
|
541
|
-
return
|
|
529
|
+
return safe(this.client.get("/api/v1/cart/count"));
|
|
542
530
|
}
|
|
543
531
|
async getTotal() {
|
|
544
|
-
return
|
|
532
|
+
return safe(this.client.get("/api/v1/cart/total"));
|
|
545
533
|
}
|
|
546
534
|
async getSummary() {
|
|
547
535
|
const cartResult = await this.get();
|
|
@@ -558,18 +546,18 @@ var CartOperations = class {
|
|
|
558
546
|
});
|
|
559
547
|
}
|
|
560
548
|
async addItem(input) {
|
|
561
|
-
return
|
|
549
|
+
return safe(this.client.post("/api/v1/cart/items", input));
|
|
562
550
|
}
|
|
563
551
|
async updateItem(cartItemId, updates) {
|
|
564
552
|
if (typeof updates.quantity === "number") {
|
|
565
553
|
return this.updateQuantity(cartItemId, updates.quantity);
|
|
566
554
|
}
|
|
567
555
|
const encodedId = encodeURIComponent(cartItemId);
|
|
568
|
-
return
|
|
556
|
+
return safe(this.client.patch(`/api/v1/cart/items/${encodedId}`, updates));
|
|
569
557
|
}
|
|
570
558
|
async updateQuantity(cartItemId, quantity) {
|
|
571
559
|
const encodedId = encodeURIComponent(cartItemId);
|
|
572
|
-
return
|
|
560
|
+
return safe(
|
|
573
561
|
this.client.patch(`/api/v1/cart/items/${encodedId}`, {
|
|
574
562
|
quantity
|
|
575
563
|
})
|
|
@@ -577,20 +565,20 @@ var CartOperations = class {
|
|
|
577
565
|
}
|
|
578
566
|
async removeItem(cartItemId) {
|
|
579
567
|
const encodedId = encodeURIComponent(cartItemId);
|
|
580
|
-
return
|
|
568
|
+
return safe(this.client.delete(`/api/v1/cart/items/${encodedId}`));
|
|
581
569
|
}
|
|
582
570
|
async clear() {
|
|
583
|
-
return
|
|
571
|
+
return safe(this.client.delete("/api/v1/cart"));
|
|
584
572
|
}
|
|
585
573
|
async applyCoupon(code) {
|
|
586
|
-
return
|
|
574
|
+
return safe(
|
|
587
575
|
this.client.post("/api/v1/cart/coupons", {
|
|
588
576
|
coupon_code: code
|
|
589
577
|
})
|
|
590
578
|
);
|
|
591
579
|
}
|
|
592
580
|
async removeCoupon() {
|
|
593
|
-
return
|
|
581
|
+
return safe(this.client.delete("/api/v1/cart/coupons/current"));
|
|
594
582
|
}
|
|
595
583
|
async isEmpty() {
|
|
596
584
|
const countResult = await this.getCount();
|
|
@@ -876,9 +864,16 @@ function isValidMobileMoneyProvider(value) {
|
|
|
876
864
|
return VALID_MOBILE_MONEY_PROVIDERS.has(value);
|
|
877
865
|
}
|
|
878
866
|
function normalizeAuthorizationType(value) {
|
|
867
|
+
if (value && typeof value === "object" && "address" in value) {
|
|
868
|
+
return "address";
|
|
869
|
+
}
|
|
879
870
|
if (typeof value !== "string") return void 0;
|
|
880
|
-
const
|
|
881
|
-
|
|
871
|
+
const normalized = value.trim().toLowerCase().replace(/[\s-]+/g, "_");
|
|
872
|
+
if (normalized === "otp" || normalized === "pin") return normalized;
|
|
873
|
+
if (normalized === "phone" || normalized === "birthday" || normalized === "address") {
|
|
874
|
+
return normalized;
|
|
875
|
+
}
|
|
876
|
+
return void 0;
|
|
882
877
|
}
|
|
883
878
|
function formatMoney2(value) {
|
|
884
879
|
if (typeof value === "number" && Number.isFinite(value)) {
|
|
@@ -1449,20 +1444,6 @@ var CheckoutResolver = class {
|
|
|
1449
1444
|
};
|
|
1450
1445
|
|
|
1451
1446
|
// src/checkout.ts
|
|
1452
|
-
function toCimplifyError3(error) {
|
|
1453
|
-
if (error instanceof CimplifyError) return enrichError(error);
|
|
1454
|
-
if (error instanceof Error) {
|
|
1455
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
|
|
1456
|
-
}
|
|
1457
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
|
|
1458
|
-
}
|
|
1459
|
-
async function safe3(promise) {
|
|
1460
|
-
try {
|
|
1461
|
-
return ok(await promise);
|
|
1462
|
-
} catch (error) {
|
|
1463
|
-
return err(toCimplifyError3(error));
|
|
1464
|
-
}
|
|
1465
|
-
}
|
|
1466
1447
|
function toTerminalFailure(code, message, recoverable) {
|
|
1467
1448
|
return {
|
|
1468
1449
|
success: false,
|
|
@@ -1494,7 +1475,7 @@ var CheckoutService = class {
|
|
|
1494
1475
|
...data,
|
|
1495
1476
|
idempotency_key: data.idempotency_key || generateIdempotencyKey()
|
|
1496
1477
|
};
|
|
1497
|
-
const result = await
|
|
1478
|
+
const result = await safe(
|
|
1498
1479
|
this.client.post("/api/v1/checkout", {
|
|
1499
1480
|
checkout_data: checkoutData
|
|
1500
1481
|
})
|
|
@@ -1514,22 +1495,22 @@ var CheckoutService = class {
|
|
|
1514
1495
|
);
|
|
1515
1496
|
}
|
|
1516
1497
|
async submitAuthorization(input) {
|
|
1517
|
-
return
|
|
1498
|
+
return safe(this.client.post("/api/v1/payments/authorization", input));
|
|
1518
1499
|
}
|
|
1519
1500
|
async pollPaymentStatus(orderId) {
|
|
1520
1501
|
const encodedId = encodeURIComponent(orderId);
|
|
1521
1502
|
const tokenParam = this.orderTokenParam(orderId);
|
|
1522
|
-
return
|
|
1503
|
+
return safe(this.client.get(`/api/v1/orders/${encodedId}/payment-status${tokenParam}`));
|
|
1523
1504
|
}
|
|
1524
1505
|
async updateOrderCustomer(orderId, customer) {
|
|
1525
1506
|
const encodedId = encodeURIComponent(orderId);
|
|
1526
1507
|
const tokenParam = this.orderTokenParam(orderId);
|
|
1527
|
-
return
|
|
1508
|
+
return safe(this.client.post(`/api/v1/orders/${encodedId}/customer${tokenParam}`, customer));
|
|
1528
1509
|
}
|
|
1529
1510
|
async verifyPayment(orderId) {
|
|
1530
1511
|
const encodedId = encodeURIComponent(orderId);
|
|
1531
1512
|
const tokenParam = this.orderTokenParam(orderId);
|
|
1532
|
-
return
|
|
1513
|
+
return safe(this.client.post(`/api/v1/orders/${encodedId}/verify-payment${tokenParam}`));
|
|
1533
1514
|
}
|
|
1534
1515
|
async processAndResolve(data) {
|
|
1535
1516
|
data.on_status_change?.("preparing", {});
|
|
@@ -1634,20 +1615,6 @@ var CheckoutService = class {
|
|
|
1634
1615
|
};
|
|
1635
1616
|
|
|
1636
1617
|
// src/orders.ts
|
|
1637
|
-
function toCimplifyError4(error) {
|
|
1638
|
-
if (error instanceof CimplifyError) return enrichError(error);
|
|
1639
|
-
if (error instanceof Error) {
|
|
1640
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
|
|
1641
|
-
}
|
|
1642
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
|
|
1643
|
-
}
|
|
1644
|
-
async function safe4(promise) {
|
|
1645
|
-
try {
|
|
1646
|
-
return ok(await promise);
|
|
1647
|
-
} catch (error) {
|
|
1648
|
-
return err(toCimplifyError4(error));
|
|
1649
|
-
}
|
|
1650
|
-
}
|
|
1651
1618
|
var OrderQueries = class {
|
|
1652
1619
|
constructor(client) {
|
|
1653
1620
|
this.client = client;
|
|
@@ -1662,12 +1629,12 @@ var OrderQueries = class {
|
|
|
1662
1629
|
if (options?.limit) params.set("limit", String(options.limit));
|
|
1663
1630
|
if (options?.offset) params.set("offset", String(options.offset));
|
|
1664
1631
|
const path = params.toString() ? `/api/v1/orders?${params.toString()}` : "/api/v1/orders";
|
|
1665
|
-
return
|
|
1632
|
+
return safe(this.client.get(path));
|
|
1666
1633
|
}
|
|
1667
1634
|
async get(orderId) {
|
|
1668
1635
|
const encodedId = encodeURIComponent(orderId);
|
|
1669
1636
|
const tokenParam = this.orderTokenParam(orderId);
|
|
1670
|
-
return
|
|
1637
|
+
return safe(this.client.get(`/api/v1/orders/${encodedId}${tokenParam}`));
|
|
1671
1638
|
}
|
|
1672
1639
|
async getRecent(limit = 5) {
|
|
1673
1640
|
return this.list({ limit });
|
|
@@ -1678,7 +1645,7 @@ var OrderQueries = class {
|
|
|
1678
1645
|
async cancel(orderId, reason) {
|
|
1679
1646
|
const encodedId = encodeURIComponent(orderId);
|
|
1680
1647
|
const tokenParam = this.orderTokenParam(orderId);
|
|
1681
|
-
return
|
|
1648
|
+
return safe(
|
|
1682
1649
|
this.client.post(`/api/v1/orders/${encodedId}/cancel${tokenParam}`, {
|
|
1683
1650
|
reason
|
|
1684
1651
|
})
|
|
@@ -1687,20 +1654,6 @@ var OrderQueries = class {
|
|
|
1687
1654
|
};
|
|
1688
1655
|
|
|
1689
1656
|
// src/link.ts
|
|
1690
|
-
function toCimplifyError5(error) {
|
|
1691
|
-
if (error instanceof CimplifyError) return error;
|
|
1692
|
-
if (error instanceof Error) {
|
|
1693
|
-
return new CimplifyError("UNKNOWN_ERROR", error.message, false);
|
|
1694
|
-
}
|
|
1695
|
-
return new CimplifyError("UNKNOWN_ERROR", String(error), false);
|
|
1696
|
-
}
|
|
1697
|
-
async function safe5(promise) {
|
|
1698
|
-
try {
|
|
1699
|
-
return ok(await promise);
|
|
1700
|
-
} catch (error) {
|
|
1701
|
-
return err(toCimplifyError5(error));
|
|
1702
|
-
}
|
|
1703
|
-
}
|
|
1704
1657
|
function encodePathSegment(value) {
|
|
1705
1658
|
return encodeURIComponent(value);
|
|
1706
1659
|
}
|
|
@@ -1738,13 +1691,13 @@ var LinkService = class {
|
|
|
1738
1691
|
this.client = client;
|
|
1739
1692
|
}
|
|
1740
1693
|
async getProfile() {
|
|
1741
|
-
return
|
|
1694
|
+
return safe(this.client.linkGet("/v1/link/profile"));
|
|
1742
1695
|
}
|
|
1743
1696
|
async requestOtp(input) {
|
|
1744
|
-
return
|
|
1697
|
+
return safe(this.client.linkPost("/v1/link/auth/request-otp", input));
|
|
1745
1698
|
}
|
|
1746
1699
|
async verifyOtp(input) {
|
|
1747
|
-
const result = await
|
|
1700
|
+
const result = await safe(
|
|
1748
1701
|
this.client.linkPost("/v1/link/auth/verify-otp", input)
|
|
1749
1702
|
);
|
|
1750
1703
|
if (result.ok && result.value.session_token) {
|
|
@@ -1753,45 +1706,45 @@ var LinkService = class {
|
|
|
1753
1706
|
return result;
|
|
1754
1707
|
}
|
|
1755
1708
|
async logout() {
|
|
1756
|
-
const result = await
|
|
1709
|
+
const result = await safe(this.client.linkPost("/v1/link/auth/logout"));
|
|
1757
1710
|
if (result.ok) {
|
|
1758
1711
|
this.client.clearSession();
|
|
1759
1712
|
}
|
|
1760
1713
|
return result;
|
|
1761
1714
|
}
|
|
1762
1715
|
async checkStatus(contact) {
|
|
1763
|
-
return
|
|
1716
|
+
return safe(this.client.linkPost("/v1/link/check-status", { contact }));
|
|
1764
1717
|
}
|
|
1765
1718
|
async getLinkData() {
|
|
1766
|
-
return
|
|
1719
|
+
return safe(this.client.linkGet("/v1/link/data"));
|
|
1767
1720
|
}
|
|
1768
1721
|
async getAddresses() {
|
|
1769
|
-
return
|
|
1722
|
+
return safe(this.client.linkGet("/v1/link/addresses"));
|
|
1770
1723
|
}
|
|
1771
1724
|
async getMobileMoney() {
|
|
1772
|
-
return
|
|
1725
|
+
return safe(this.client.linkGet("/v1/link/mobile-money"));
|
|
1773
1726
|
}
|
|
1774
1727
|
async getPreferences() {
|
|
1775
|
-
return
|
|
1728
|
+
return safe(this.client.linkGet("/v1/link/preferences"));
|
|
1776
1729
|
}
|
|
1777
1730
|
async enroll(data) {
|
|
1778
|
-
return
|
|
1731
|
+
return safe(this.client.linkPost("/v1/link/enroll", data));
|
|
1779
1732
|
}
|
|
1780
1733
|
async enrollAndLinkOrder(data) {
|
|
1781
|
-
return
|
|
1734
|
+
return safe(
|
|
1782
1735
|
this.client.linkPost("/v1/link/enroll-and-link-order", data)
|
|
1783
1736
|
);
|
|
1784
1737
|
}
|
|
1785
1738
|
async updatePreferences(preferences) {
|
|
1786
|
-
return
|
|
1739
|
+
return safe(this.client.linkPost("/v1/link/preferences", preferences));
|
|
1787
1740
|
}
|
|
1788
1741
|
async createAddress(input) {
|
|
1789
|
-
return
|
|
1742
|
+
return safe(
|
|
1790
1743
|
this.client.linkPost("/v1/link/addresses", toCreateAddressPayload(input))
|
|
1791
1744
|
);
|
|
1792
1745
|
}
|
|
1793
1746
|
async updateAddress(input) {
|
|
1794
|
-
return
|
|
1747
|
+
return safe(
|
|
1795
1748
|
this.client.linkPost(
|
|
1796
1749
|
`/v1/link/addresses/${encodePathSegment(input.address_id)}`,
|
|
1797
1750
|
toUpdateAddressPayload(input)
|
|
@@ -1799,26 +1752,26 @@ var LinkService = class {
|
|
|
1799
1752
|
);
|
|
1800
1753
|
}
|
|
1801
1754
|
async deleteAddress(addressId) {
|
|
1802
|
-
return
|
|
1755
|
+
return safe(
|
|
1803
1756
|
this.client.linkDelete(`/v1/link/addresses/${encodePathSegment(addressId)}`)
|
|
1804
1757
|
);
|
|
1805
1758
|
}
|
|
1806
1759
|
async setDefaultAddress(addressId) {
|
|
1807
|
-
return
|
|
1760
|
+
return safe(
|
|
1808
1761
|
this.client.linkPost(
|
|
1809
1762
|
`/v1/link/addresses/${encodePathSegment(addressId)}/default`
|
|
1810
1763
|
)
|
|
1811
1764
|
);
|
|
1812
1765
|
}
|
|
1813
1766
|
async trackAddressUsage(addressId) {
|
|
1814
|
-
return
|
|
1767
|
+
return safe(
|
|
1815
1768
|
this.client.linkPost(
|
|
1816
1769
|
`/v1/link/addresses/${encodePathSegment(addressId)}/track-usage`
|
|
1817
1770
|
)
|
|
1818
1771
|
);
|
|
1819
1772
|
}
|
|
1820
1773
|
async createMobileMoney(input) {
|
|
1821
|
-
return
|
|
1774
|
+
return safe(
|
|
1822
1775
|
this.client.linkPost(
|
|
1823
1776
|
"/v1/link/mobile-money",
|
|
1824
1777
|
toCreateMobileMoneyPayload(input)
|
|
@@ -1826,65 +1779,51 @@ var LinkService = class {
|
|
|
1826
1779
|
);
|
|
1827
1780
|
}
|
|
1828
1781
|
async deleteMobileMoney(mobileMoneyId) {
|
|
1829
|
-
return
|
|
1782
|
+
return safe(
|
|
1830
1783
|
this.client.linkDelete(
|
|
1831
1784
|
`/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}`
|
|
1832
1785
|
)
|
|
1833
1786
|
);
|
|
1834
1787
|
}
|
|
1835
1788
|
async setDefaultMobileMoney(mobileMoneyId) {
|
|
1836
|
-
return
|
|
1789
|
+
return safe(
|
|
1837
1790
|
this.client.linkPost(
|
|
1838
1791
|
`/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}/default`
|
|
1839
1792
|
)
|
|
1840
1793
|
);
|
|
1841
1794
|
}
|
|
1842
1795
|
async trackMobileMoneyUsage(mobileMoneyId) {
|
|
1843
|
-
return
|
|
1796
|
+
return safe(
|
|
1844
1797
|
this.client.linkPost(
|
|
1845
1798
|
`/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}/track-usage`
|
|
1846
1799
|
)
|
|
1847
1800
|
);
|
|
1848
1801
|
}
|
|
1849
1802
|
async verifyMobileMoney(mobileMoneyId) {
|
|
1850
|
-
return
|
|
1803
|
+
return safe(
|
|
1851
1804
|
this.client.linkPost(
|
|
1852
1805
|
`/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}/verify`
|
|
1853
1806
|
)
|
|
1854
1807
|
);
|
|
1855
1808
|
}
|
|
1856
1809
|
async getSessions() {
|
|
1857
|
-
return
|
|
1810
|
+
return safe(this.client.linkGet("/v1/link/sessions"));
|
|
1858
1811
|
}
|
|
1859
1812
|
async revokeSession(sessionId) {
|
|
1860
|
-
return
|
|
1813
|
+
return safe(this.client.linkDelete(`/v1/link/sessions/${sessionId}`));
|
|
1861
1814
|
}
|
|
1862
1815
|
async revokeAllSessions() {
|
|
1863
|
-
return
|
|
1816
|
+
return safe(this.client.linkDelete("/v1/link/sessions"));
|
|
1864
1817
|
}
|
|
1865
1818
|
};
|
|
1866
1819
|
|
|
1867
1820
|
// src/auth.ts
|
|
1868
|
-
function toCimplifyError6(error) {
|
|
1869
|
-
if (error instanceof CimplifyError) return error;
|
|
1870
|
-
if (error instanceof Error) {
|
|
1871
|
-
return new CimplifyError("UNKNOWN_ERROR", error.message, false);
|
|
1872
|
-
}
|
|
1873
|
-
return new CimplifyError("UNKNOWN_ERROR", String(error), false);
|
|
1874
|
-
}
|
|
1875
|
-
async function safe6(promise) {
|
|
1876
|
-
try {
|
|
1877
|
-
return ok(await promise);
|
|
1878
|
-
} catch (error) {
|
|
1879
|
-
return err(toCimplifyError6(error));
|
|
1880
|
-
}
|
|
1881
|
-
}
|
|
1882
1821
|
var AuthService = class {
|
|
1883
1822
|
constructor(client) {
|
|
1884
1823
|
this.client = client;
|
|
1885
1824
|
}
|
|
1886
1825
|
async getStatus() {
|
|
1887
|
-
return
|
|
1826
|
+
return safe(this.client.get("/api/v1/auth/status"));
|
|
1888
1827
|
}
|
|
1889
1828
|
async getCurrentUser() {
|
|
1890
1829
|
const result = await this.getStatus();
|
|
@@ -1897,7 +1836,7 @@ var AuthService = class {
|
|
|
1897
1836
|
return ok(result.value.is_authenticated);
|
|
1898
1837
|
}
|
|
1899
1838
|
async requestOtp(contact, contactType) {
|
|
1900
|
-
return
|
|
1839
|
+
return safe(
|
|
1901
1840
|
this.client.post("/api/v1/auth/request-otp", {
|
|
1902
1841
|
contact,
|
|
1903
1842
|
contact_type: contactType
|
|
@@ -1905,7 +1844,7 @@ var AuthService = class {
|
|
|
1905
1844
|
);
|
|
1906
1845
|
}
|
|
1907
1846
|
async verifyOtp(code, contact) {
|
|
1908
|
-
return
|
|
1847
|
+
return safe(
|
|
1909
1848
|
this.client.post("/api/v1/auth/verify-otp", {
|
|
1910
1849
|
otp_code: code,
|
|
1911
1850
|
contact
|
|
@@ -1913,48 +1852,34 @@ var AuthService = class {
|
|
|
1913
1852
|
);
|
|
1914
1853
|
}
|
|
1915
1854
|
async logout() {
|
|
1916
|
-
return
|
|
1855
|
+
return safe(this.client.post("/api/v1/auth/logout"));
|
|
1917
1856
|
}
|
|
1918
1857
|
async updateProfile(input) {
|
|
1919
|
-
return
|
|
1858
|
+
return safe(this.client.post("/api/v1/auth/profile", input));
|
|
1920
1859
|
}
|
|
1921
1860
|
};
|
|
1922
1861
|
|
|
1923
1862
|
// src/business.ts
|
|
1924
|
-
function toCimplifyError7(error) {
|
|
1925
|
-
if (error instanceof CimplifyError) return enrichError(error);
|
|
1926
|
-
if (error instanceof Error) {
|
|
1927
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
|
|
1928
|
-
}
|
|
1929
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
|
|
1930
|
-
}
|
|
1931
|
-
async function safe7(promise) {
|
|
1932
|
-
try {
|
|
1933
|
-
return ok(await promise);
|
|
1934
|
-
} catch (error) {
|
|
1935
|
-
return err(toCimplifyError7(error));
|
|
1936
|
-
}
|
|
1937
|
-
}
|
|
1938
1863
|
var BusinessService = class {
|
|
1939
1864
|
constructor(client) {
|
|
1940
1865
|
this.client = client;
|
|
1941
1866
|
}
|
|
1942
1867
|
async getInfo() {
|
|
1943
|
-
return
|
|
1868
|
+
return safe(this.client.get("/api/v1/business"));
|
|
1944
1869
|
}
|
|
1945
1870
|
async getByHandle(handle) {
|
|
1946
1871
|
const encodedHandle = encodeURIComponent(handle);
|
|
1947
|
-
return
|
|
1872
|
+
return safe(this.client.get(`/api/v1/business/by-handle/${encodedHandle}`));
|
|
1948
1873
|
}
|
|
1949
1874
|
async getByDomain(domain) {
|
|
1950
1875
|
const encodedDomain = encodeURIComponent(domain);
|
|
1951
|
-
return
|
|
1876
|
+
return safe(this.client.get(`/api/v1/business/by-domain?domain=${encodedDomain}`));
|
|
1952
1877
|
}
|
|
1953
1878
|
async getSettings() {
|
|
1954
|
-
return
|
|
1879
|
+
return safe(this.client.get("/api/v1/business/settings"));
|
|
1955
1880
|
}
|
|
1956
1881
|
async getLocations() {
|
|
1957
|
-
return
|
|
1882
|
+
return safe(this.client.get("/api/v1/business/locations"));
|
|
1958
1883
|
}
|
|
1959
1884
|
async getLocation(locationId) {
|
|
1960
1885
|
const result = await this.getLocations();
|
|
@@ -1966,7 +1891,7 @@ var BusinessService = class {
|
|
|
1966
1891
|
return ok(location);
|
|
1967
1892
|
}
|
|
1968
1893
|
async getHours() {
|
|
1969
|
-
return
|
|
1894
|
+
return safe(this.client.get("/api/v1/business/hours"));
|
|
1970
1895
|
}
|
|
1971
1896
|
async getLocationHours(locationId) {
|
|
1972
1897
|
const result = await this.getHours();
|
|
@@ -1974,25 +1899,11 @@ var BusinessService = class {
|
|
|
1974
1899
|
return ok(result.value.filter((hour) => hour.location_id === locationId));
|
|
1975
1900
|
}
|
|
1976
1901
|
async getBootstrap() {
|
|
1977
|
-
return
|
|
1902
|
+
return safe(this.client.get("/api/v1/bootstrap"));
|
|
1978
1903
|
}
|
|
1979
1904
|
};
|
|
1980
1905
|
|
|
1981
1906
|
// src/inventory.ts
|
|
1982
|
-
function toCimplifyError8(error) {
|
|
1983
|
-
if (error instanceof CimplifyError) return error;
|
|
1984
|
-
if (error instanceof Error) {
|
|
1985
|
-
return new CimplifyError("UNKNOWN_ERROR", error.message, false);
|
|
1986
|
-
}
|
|
1987
|
-
return new CimplifyError("UNKNOWN_ERROR", String(error), false);
|
|
1988
|
-
}
|
|
1989
|
-
async function safe8(promise) {
|
|
1990
|
-
try {
|
|
1991
|
-
return ok(await promise);
|
|
1992
|
-
} catch (error) {
|
|
1993
|
-
return err(toCimplifyError8(error));
|
|
1994
|
-
}
|
|
1995
|
-
}
|
|
1996
1907
|
var InventoryService = class {
|
|
1997
1908
|
constructor(client) {
|
|
1998
1909
|
this.client = client;
|
|
@@ -2011,14 +1922,14 @@ var InventoryService = class {
|
|
|
2011
1922
|
const path = this.withQuery(`/api/v1/inventory/products/${encodedId}/stock`, {
|
|
2012
1923
|
location_id: locationId
|
|
2013
1924
|
});
|
|
2014
|
-
return
|
|
1925
|
+
return safe(this.client.get(path));
|
|
2015
1926
|
}
|
|
2016
1927
|
async getVariantStock(variantId, locationId) {
|
|
2017
1928
|
const encodedId = encodeURIComponent(variantId);
|
|
2018
1929
|
const path = this.withQuery(`/api/v1/inventory/variants/${encodedId}/stock`, {
|
|
2019
1930
|
location_id: locationId
|
|
2020
1931
|
});
|
|
2021
|
-
return
|
|
1932
|
+
return safe(this.client.get(path));
|
|
2022
1933
|
}
|
|
2023
1934
|
async checkProductAvailability(productId, quantity, locationId) {
|
|
2024
1935
|
const encodedId = encodeURIComponent(productId);
|
|
@@ -2026,7 +1937,7 @@ var InventoryService = class {
|
|
|
2026
1937
|
quantity,
|
|
2027
1938
|
location_id: locationId
|
|
2028
1939
|
});
|
|
2029
|
-
return
|
|
1940
|
+
return safe(this.client.get(path));
|
|
2030
1941
|
}
|
|
2031
1942
|
async checkVariantAvailability(variantId, quantity, locationId) {
|
|
2032
1943
|
const encodedId = encodeURIComponent(variantId);
|
|
@@ -2034,7 +1945,7 @@ var InventoryService = class {
|
|
|
2034
1945
|
quantity,
|
|
2035
1946
|
location_id: locationId
|
|
2036
1947
|
});
|
|
2037
|
-
return
|
|
1948
|
+
return safe(this.client.get(path));
|
|
2038
1949
|
}
|
|
2039
1950
|
async checkMultipleAvailability(items, locationId) {
|
|
2040
1951
|
const results = await Promise.all(
|
|
@@ -2060,20 +1971,6 @@ var InventoryService = class {
|
|
|
2060
1971
|
};
|
|
2061
1972
|
|
|
2062
1973
|
// src/scheduling.ts
|
|
2063
|
-
function toCimplifyError9(error) {
|
|
2064
|
-
if (error instanceof CimplifyError) return error;
|
|
2065
|
-
if (error instanceof Error) {
|
|
2066
|
-
return new CimplifyError("UNKNOWN_ERROR", error.message, false);
|
|
2067
|
-
}
|
|
2068
|
-
return new CimplifyError("UNKNOWN_ERROR", String(error), false);
|
|
2069
|
-
}
|
|
2070
|
-
async function safe9(promise) {
|
|
2071
|
-
try {
|
|
2072
|
-
return ok(await promise);
|
|
2073
|
-
} catch (error) {
|
|
2074
|
-
return err(toCimplifyError9(error));
|
|
2075
|
-
}
|
|
2076
|
-
}
|
|
2077
1974
|
function withQuery2(path, params) {
|
|
2078
1975
|
const searchParams = new URLSearchParams();
|
|
2079
1976
|
for (const [key, value] of Object.entries(params)) {
|
|
@@ -2091,11 +1988,11 @@ var SchedulingService = class {
|
|
|
2091
1988
|
this.client = client;
|
|
2092
1989
|
}
|
|
2093
1990
|
async getServices() {
|
|
2094
|
-
return
|
|
1991
|
+
return safe(this.client.get("/api/v1/scheduling/services"));
|
|
2095
1992
|
}
|
|
2096
1993
|
async getService(serviceId) {
|
|
2097
1994
|
const encodedId = encodeURIComponent(serviceId);
|
|
2098
|
-
return
|
|
1995
|
+
return safe(this.client.get(`/api/v1/scheduling/services/${encodedId}`));
|
|
2099
1996
|
}
|
|
2100
1997
|
async getAvailableSlots(input) {
|
|
2101
1998
|
const path = withQuery2("/api/v1/scheduling/slots", {
|
|
@@ -2104,7 +2001,7 @@ var SchedulingService = class {
|
|
|
2104
2001
|
participant_count: input.participant_count,
|
|
2105
2002
|
duration_minutes: input.duration_minutes
|
|
2106
2003
|
});
|
|
2107
|
-
return
|
|
2004
|
+
return safe(this.client.get(path));
|
|
2108
2005
|
}
|
|
2109
2006
|
async checkSlotAvailability(input) {
|
|
2110
2007
|
const path = withQuery2("/api/v1/scheduling/slots/check", {
|
|
@@ -2113,7 +2010,7 @@ var SchedulingService = class {
|
|
|
2113
2010
|
duration_minutes: input.duration_minutes,
|
|
2114
2011
|
participant_count: input.participant_count
|
|
2115
2012
|
});
|
|
2116
|
-
return
|
|
2013
|
+
return safe(this.client.get(path));
|
|
2117
2014
|
}
|
|
2118
2015
|
async getServiceAvailability(params) {
|
|
2119
2016
|
const path = withQuery2("/api/v1/scheduling/availability", {
|
|
@@ -2123,17 +2020,17 @@ var SchedulingService = class {
|
|
|
2123
2020
|
location_id: params.location_id,
|
|
2124
2021
|
participant_count: params.participant_count
|
|
2125
2022
|
});
|
|
2126
|
-
return
|
|
2023
|
+
return safe(this.client.get(path));
|
|
2127
2024
|
}
|
|
2128
2025
|
async getBooking(bookingId) {
|
|
2129
2026
|
const encodedId = encodeURIComponent(bookingId);
|
|
2130
|
-
return
|
|
2027
|
+
return safe(this.client.get(`/api/v1/scheduling/bookings/${encodedId}`));
|
|
2131
2028
|
}
|
|
2132
2029
|
async getCustomerBookings(customerId) {
|
|
2133
2030
|
const path = withQuery2("/api/v1/scheduling/bookings", {
|
|
2134
2031
|
customer_id: customerId
|
|
2135
2032
|
});
|
|
2136
|
-
return
|
|
2033
|
+
return safe(this.client.get(path));
|
|
2137
2034
|
}
|
|
2138
2035
|
async getUpcomingBookings() {
|
|
2139
2036
|
const result = await this.getCustomerBookings();
|
|
@@ -2152,14 +2049,14 @@ var SchedulingService = class {
|
|
|
2152
2049
|
}
|
|
2153
2050
|
async cancelBooking(input) {
|
|
2154
2051
|
const encodedId = encodeURIComponent(input.booking_id);
|
|
2155
|
-
return
|
|
2052
|
+
return safe(
|
|
2156
2053
|
this.client.post(`/api/v1/scheduling/bookings/${encodedId}/cancel`, {
|
|
2157
2054
|
reason: input.reason
|
|
2158
2055
|
})
|
|
2159
2056
|
);
|
|
2160
2057
|
}
|
|
2161
2058
|
async rescheduleBooking(input) {
|
|
2162
|
-
return
|
|
2059
|
+
return safe(
|
|
2163
2060
|
this.client.post("/api/v1/scheduling/bookings/reschedule", input)
|
|
2164
2061
|
);
|
|
2165
2062
|
}
|
|
@@ -2183,65 +2080,37 @@ var SchedulingService = class {
|
|
|
2183
2080
|
};
|
|
2184
2081
|
|
|
2185
2082
|
// src/lite.ts
|
|
2186
|
-
function toCimplifyError10(error) {
|
|
2187
|
-
if (error instanceof CimplifyError) return error;
|
|
2188
|
-
if (error instanceof Error) {
|
|
2189
|
-
return new CimplifyError("UNKNOWN_ERROR", error.message, false);
|
|
2190
|
-
}
|
|
2191
|
-
return new CimplifyError("UNKNOWN_ERROR", String(error), false);
|
|
2192
|
-
}
|
|
2193
|
-
async function safe10(promise) {
|
|
2194
|
-
try {
|
|
2195
|
-
return ok(await promise);
|
|
2196
|
-
} catch (error) {
|
|
2197
|
-
return err(toCimplifyError10(error));
|
|
2198
|
-
}
|
|
2199
|
-
}
|
|
2200
2083
|
var LiteService = class {
|
|
2201
2084
|
constructor(client) {
|
|
2202
2085
|
this.client = client;
|
|
2203
2086
|
}
|
|
2204
2087
|
async getBootstrap() {
|
|
2205
|
-
return
|
|
2088
|
+
return safe(this.client.get("/api/v1/lite/bootstrap"));
|
|
2206
2089
|
}
|
|
2207
2090
|
async getTable(tableId) {
|
|
2208
2091
|
const encodedId = encodeURIComponent(tableId);
|
|
2209
|
-
return
|
|
2092
|
+
return safe(this.client.get(`/api/v1/lite/tables/${encodedId}`));
|
|
2210
2093
|
}
|
|
2211
2094
|
async getMenu() {
|
|
2212
|
-
return
|
|
2095
|
+
return safe(this.client.get("/api/v1/lite/menu"));
|
|
2213
2096
|
}
|
|
2214
2097
|
async getMenuByCategory(categoryId) {
|
|
2215
2098
|
const encodedId = encodeURIComponent(categoryId);
|
|
2216
|
-
return
|
|
2099
|
+
return safe(this.client.get(`/api/v1/lite/menu/categories/${encodedId}`));
|
|
2217
2100
|
}
|
|
2218
2101
|
};
|
|
2219
2102
|
|
|
2220
2103
|
// src/fx.ts
|
|
2221
|
-
function toCimplifyError11(error) {
|
|
2222
|
-
if (error instanceof CimplifyError) return error;
|
|
2223
|
-
if (error instanceof Error) {
|
|
2224
|
-
return new CimplifyError("UNKNOWN_ERROR", error.message, false);
|
|
2225
|
-
}
|
|
2226
|
-
return new CimplifyError("UNKNOWN_ERROR", String(error), false);
|
|
2227
|
-
}
|
|
2228
|
-
async function safe11(promise) {
|
|
2229
|
-
try {
|
|
2230
|
-
return ok(await promise);
|
|
2231
|
-
} catch (error) {
|
|
2232
|
-
return err(toCimplifyError11(error));
|
|
2233
|
-
}
|
|
2234
|
-
}
|
|
2235
2104
|
var FxService = class {
|
|
2236
2105
|
constructor(client) {
|
|
2237
2106
|
this.client = client;
|
|
2238
2107
|
}
|
|
2239
2108
|
async getRate(from, to) {
|
|
2240
2109
|
const path = `/api/v1/fx/rate?from=${encodeURIComponent(from)}&to=${encodeURIComponent(to)}`;
|
|
2241
|
-
return
|
|
2110
|
+
return safe(this.client.get(path));
|
|
2242
2111
|
}
|
|
2243
2112
|
async lockQuote(request) {
|
|
2244
|
-
return
|
|
2113
|
+
return safe(this.client.post("/api/v1/fx/quotes", request));
|
|
2245
2114
|
}
|
|
2246
2115
|
};
|
|
2247
2116
|
|
|
@@ -2356,6 +2225,11 @@ var CimplifyElements = class {
|
|
|
2356
2225
|
window.addEventListener("message", this.boundHandleMessage);
|
|
2357
2226
|
}
|
|
2358
2227
|
}
|
|
2228
|
+
debug(...args) {
|
|
2229
|
+
if (this.client.isTestMode()) {
|
|
2230
|
+
console.debug(...args);
|
|
2231
|
+
}
|
|
2232
|
+
}
|
|
2359
2233
|
create(type, options = {}) {
|
|
2360
2234
|
const existing = this.elements.get(type);
|
|
2361
2235
|
if (existing) return existing;
|
|
@@ -2410,9 +2284,9 @@ var CimplifyElements = class {
|
|
|
2410
2284
|
processCheckout(options) {
|
|
2411
2285
|
let abortFn = null;
|
|
2412
2286
|
const task = (async () => {
|
|
2413
|
-
|
|
2287
|
+
this.debug("[cimplify:checkout] processCheckout called", { cart_id: options.cart_id, order_type: options.order_type, location_id: options.location_id });
|
|
2414
2288
|
if (this.checkoutInProgress) {
|
|
2415
|
-
|
|
2289
|
+
this.debug("[cimplify:checkout] BLOCKED: already processing");
|
|
2416
2290
|
return toCheckoutError(
|
|
2417
2291
|
"ALREADY_PROCESSING",
|
|
2418
2292
|
"Checkout is already in progress.",
|
|
@@ -2421,7 +2295,7 @@ var CimplifyElements = class {
|
|
|
2421
2295
|
}
|
|
2422
2296
|
this.checkoutInProgress = true;
|
|
2423
2297
|
if (!options.cart_id) {
|
|
2424
|
-
|
|
2298
|
+
this.debug("[cimplify:checkout] BLOCKED: no cart_id");
|
|
2425
2299
|
this.checkoutInProgress = false;
|
|
2426
2300
|
return toCheckoutError(
|
|
2427
2301
|
"INVALID_CART",
|
|
@@ -2430,7 +2304,7 @@ var CimplifyElements = class {
|
|
|
2430
2304
|
);
|
|
2431
2305
|
}
|
|
2432
2306
|
if (!options.order_type) {
|
|
2433
|
-
|
|
2307
|
+
this.debug("[cimplify:checkout] BLOCKED: no order_type");
|
|
2434
2308
|
this.checkoutInProgress = false;
|
|
2435
2309
|
return toCheckoutError(
|
|
2436
2310
|
"ORDER_TYPE_REQUIRED",
|
|
@@ -2440,7 +2314,7 @@ var CimplifyElements = class {
|
|
|
2440
2314
|
}
|
|
2441
2315
|
const checkoutElement = this.elements.get(ELEMENT_TYPES.CHECKOUT) || this.elements.get(ELEMENT_TYPES.PAYMENT);
|
|
2442
2316
|
if (!checkoutElement) {
|
|
2443
|
-
|
|
2317
|
+
this.debug("[cimplify:checkout] BLOCKED: no checkout element");
|
|
2444
2318
|
this.checkoutInProgress = false;
|
|
2445
2319
|
return toCheckoutError(
|
|
2446
2320
|
"NO_PAYMENT_ELEMENT",
|
|
@@ -2449,7 +2323,7 @@ var CimplifyElements = class {
|
|
|
2449
2323
|
);
|
|
2450
2324
|
}
|
|
2451
2325
|
if (!checkoutElement.isMounted()) {
|
|
2452
|
-
|
|
2326
|
+
this.debug("[cimplify:checkout] BLOCKED: checkout element not mounted");
|
|
2453
2327
|
this.checkoutInProgress = false;
|
|
2454
2328
|
return toCheckoutError(
|
|
2455
2329
|
"PAYMENT_NOT_MOUNTED",
|
|
@@ -2461,7 +2335,7 @@ var CimplifyElements = class {
|
|
|
2461
2335
|
if (!isUnifiedCheckout) {
|
|
2462
2336
|
const authElement = this.elements.get(ELEMENT_TYPES.AUTH);
|
|
2463
2337
|
if (authElement && !this.accessToken) {
|
|
2464
|
-
|
|
2338
|
+
this.debug("[cimplify:checkout] BLOCKED: auth incomplete");
|
|
2465
2339
|
this.checkoutInProgress = false;
|
|
2466
2340
|
return toCheckoutError(
|
|
2467
2341
|
"AUTH_INCOMPLETE",
|
|
@@ -2471,13 +2345,13 @@ var CimplifyElements = class {
|
|
|
2471
2345
|
}
|
|
2472
2346
|
const addressElement = this.elements.get(ELEMENT_TYPES.ADDRESS);
|
|
2473
2347
|
if (addressElement) {
|
|
2474
|
-
|
|
2348
|
+
this.debug("[cimplify:checkout] getting address data...");
|
|
2475
2349
|
await addressElement.getData();
|
|
2476
|
-
|
|
2350
|
+
this.debug("[cimplify:checkout] address data resolved", this.addressData);
|
|
2477
2351
|
}
|
|
2478
2352
|
await this.hydrateCustomerData();
|
|
2479
2353
|
}
|
|
2480
|
-
|
|
2354
|
+
this.debug("[cimplify:checkout] customer data hydrated", { customerData: this.customerData, accountId: this.accountId, isUnifiedCheckout });
|
|
2481
2355
|
const processMessage = {
|
|
2482
2356
|
type: MESSAGE_TYPES.PROCESS_CHECKOUT,
|
|
2483
2357
|
cart_id: options.cart_id,
|
|
@@ -2553,7 +2427,7 @@ var CimplifyElements = class {
|
|
|
2553
2427
|
return;
|
|
2554
2428
|
}
|
|
2555
2429
|
if (message.type === MESSAGE_TYPES.CHECKOUT_COMPLETE) {
|
|
2556
|
-
|
|
2430
|
+
this.debug("[cimplify:checkout] received checkout_complete", { success: message.success, error: message.error });
|
|
2557
2431
|
settle({
|
|
2558
2432
|
success: message.success,
|
|
2559
2433
|
order: message.order,
|
|
@@ -2576,9 +2450,9 @@ var CimplifyElements = class {
|
|
|
2576
2450
|
);
|
|
2577
2451
|
};
|
|
2578
2452
|
this.activeCheckoutAbort = abortFn;
|
|
2579
|
-
|
|
2453
|
+
this.debug("[cimplify:checkout] sending process_checkout to checkout iframe", { cart_id: processMessage.cart_id, order_type: processMessage.order_type, hasCustomer: !!processMessage.customer, hasAddress: !!processMessage.address, isUnifiedCheckout });
|
|
2580
2454
|
checkoutElement.sendMessage(processMessage);
|
|
2581
|
-
|
|
2455
|
+
this.debug("[cimplify:checkout] postMessage sent, waiting for checkout_complete...");
|
|
2582
2456
|
});
|
|
2583
2457
|
})();
|
|
2584
2458
|
const abortable = task;
|