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