@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/react.mjs
CHANGED
|
@@ -548,7 +548,7 @@ function err(error) {
|
|
|
548
548
|
return { ok: false, error };
|
|
549
549
|
}
|
|
550
550
|
|
|
551
|
-
// src/
|
|
551
|
+
// src/internal/safe.ts
|
|
552
552
|
function toCimplifyError(error) {
|
|
553
553
|
if (error instanceof CimplifyError) return enrichError(error);
|
|
554
554
|
if (error instanceof Error) {
|
|
@@ -563,6 +563,8 @@ async function safe(promise) {
|
|
|
563
563
|
return err(toCimplifyError(error));
|
|
564
564
|
}
|
|
565
565
|
}
|
|
566
|
+
|
|
567
|
+
// src/catalogue.ts
|
|
566
568
|
function withQuery(path, params) {
|
|
567
569
|
const query = new URLSearchParams();
|
|
568
570
|
for (const [key, value] of Object.entries(params)) {
|
|
@@ -932,20 +934,6 @@ var CatalogueQueries = class {
|
|
|
932
934
|
};
|
|
933
935
|
|
|
934
936
|
// src/cart.ts
|
|
935
|
-
function toCimplifyError2(error) {
|
|
936
|
-
if (error instanceof CimplifyError) return enrichError(error);
|
|
937
|
-
if (error instanceof Error) {
|
|
938
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
|
|
939
|
-
}
|
|
940
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
|
|
941
|
-
}
|
|
942
|
-
async function safe2(promise) {
|
|
943
|
-
try {
|
|
944
|
-
return ok(await promise);
|
|
945
|
-
} catch (error) {
|
|
946
|
-
return err(toCimplifyError2(error));
|
|
947
|
-
}
|
|
948
|
-
}
|
|
949
937
|
function isUICartResponse(value) {
|
|
950
938
|
return "cart" in value;
|
|
951
939
|
}
|
|
@@ -957,21 +945,21 @@ var CartOperations = class {
|
|
|
957
945
|
this.client = client;
|
|
958
946
|
}
|
|
959
947
|
async get() {
|
|
960
|
-
const result = await
|
|
948
|
+
const result = await safe(this.client.get("/api/v1/cart"));
|
|
961
949
|
if (!result.ok) return result;
|
|
962
950
|
return ok(unwrapEnrichedCart(result.value));
|
|
963
951
|
}
|
|
964
952
|
async getRaw() {
|
|
965
|
-
return
|
|
953
|
+
return safe(this.client.get("/api/v1/cart"));
|
|
966
954
|
}
|
|
967
955
|
async getItems() {
|
|
968
|
-
return
|
|
956
|
+
return safe(this.client.get("/api/v1/cart/items"));
|
|
969
957
|
}
|
|
970
958
|
async getCount() {
|
|
971
|
-
return
|
|
959
|
+
return safe(this.client.get("/api/v1/cart/count"));
|
|
972
960
|
}
|
|
973
961
|
async getTotal() {
|
|
974
|
-
return
|
|
962
|
+
return safe(this.client.get("/api/v1/cart/total"));
|
|
975
963
|
}
|
|
976
964
|
async getSummary() {
|
|
977
965
|
const cartResult = await this.get();
|
|
@@ -988,18 +976,18 @@ var CartOperations = class {
|
|
|
988
976
|
});
|
|
989
977
|
}
|
|
990
978
|
async addItem(input) {
|
|
991
|
-
return
|
|
979
|
+
return safe(this.client.post("/api/v1/cart/items", input));
|
|
992
980
|
}
|
|
993
981
|
async updateItem(cartItemId, updates) {
|
|
994
982
|
if (typeof updates.quantity === "number") {
|
|
995
983
|
return this.updateQuantity(cartItemId, updates.quantity);
|
|
996
984
|
}
|
|
997
985
|
const encodedId = encodeURIComponent(cartItemId);
|
|
998
|
-
return
|
|
986
|
+
return safe(this.client.patch(`/api/v1/cart/items/${encodedId}`, updates));
|
|
999
987
|
}
|
|
1000
988
|
async updateQuantity(cartItemId, quantity) {
|
|
1001
989
|
const encodedId = encodeURIComponent(cartItemId);
|
|
1002
|
-
return
|
|
990
|
+
return safe(
|
|
1003
991
|
this.client.patch(`/api/v1/cart/items/${encodedId}`, {
|
|
1004
992
|
quantity
|
|
1005
993
|
})
|
|
@@ -1007,20 +995,20 @@ var CartOperations = class {
|
|
|
1007
995
|
}
|
|
1008
996
|
async removeItem(cartItemId) {
|
|
1009
997
|
const encodedId = encodeURIComponent(cartItemId);
|
|
1010
|
-
return
|
|
998
|
+
return safe(this.client.delete(`/api/v1/cart/items/${encodedId}`));
|
|
1011
999
|
}
|
|
1012
1000
|
async clear() {
|
|
1013
|
-
return
|
|
1001
|
+
return safe(this.client.delete("/api/v1/cart"));
|
|
1014
1002
|
}
|
|
1015
1003
|
async applyCoupon(code) {
|
|
1016
|
-
return
|
|
1004
|
+
return safe(
|
|
1017
1005
|
this.client.post("/api/v1/cart/coupons", {
|
|
1018
1006
|
coupon_code: code
|
|
1019
1007
|
})
|
|
1020
1008
|
);
|
|
1021
1009
|
}
|
|
1022
1010
|
async removeCoupon() {
|
|
1023
|
-
return
|
|
1011
|
+
return safe(this.client.delete("/api/v1/cart/coupons/current"));
|
|
1024
1012
|
}
|
|
1025
1013
|
async isEmpty() {
|
|
1026
1014
|
const countResult = await this.getCount();
|
|
@@ -1445,9 +1433,16 @@ function isValidMobileMoneyProvider(value) {
|
|
|
1445
1433
|
return VALID_MOBILE_MONEY_PROVIDERS.has(value);
|
|
1446
1434
|
}
|
|
1447
1435
|
function normalizeAuthorizationType(value) {
|
|
1436
|
+
if (value && typeof value === "object" && "address" in value) {
|
|
1437
|
+
return "address";
|
|
1438
|
+
}
|
|
1448
1439
|
if (typeof value !== "string") return void 0;
|
|
1449
|
-
const
|
|
1450
|
-
|
|
1440
|
+
const normalized = value.trim().toLowerCase().replace(/[\s-]+/g, "_");
|
|
1441
|
+
if (normalized === "otp" || normalized === "pin") return normalized;
|
|
1442
|
+
if (normalized === "phone" || normalized === "birthday" || normalized === "address") {
|
|
1443
|
+
return normalized;
|
|
1444
|
+
}
|
|
1445
|
+
return void 0;
|
|
1451
1446
|
}
|
|
1452
1447
|
function formatMoney2(value) {
|
|
1453
1448
|
if (typeof value === "number" && Number.isFinite(value)) {
|
|
@@ -2018,20 +2013,6 @@ var CheckoutResolver = class {
|
|
|
2018
2013
|
};
|
|
2019
2014
|
|
|
2020
2015
|
// src/checkout.ts
|
|
2021
|
-
function toCimplifyError3(error) {
|
|
2022
|
-
if (error instanceof CimplifyError) return enrichError(error);
|
|
2023
|
-
if (error instanceof Error) {
|
|
2024
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
|
|
2025
|
-
}
|
|
2026
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
|
|
2027
|
-
}
|
|
2028
|
-
async function safe3(promise) {
|
|
2029
|
-
try {
|
|
2030
|
-
return ok(await promise);
|
|
2031
|
-
} catch (error) {
|
|
2032
|
-
return err(toCimplifyError3(error));
|
|
2033
|
-
}
|
|
2034
|
-
}
|
|
2035
2016
|
function toTerminalFailure(code, message, recoverable) {
|
|
2036
2017
|
return {
|
|
2037
2018
|
success: false,
|
|
@@ -2063,7 +2044,7 @@ var CheckoutService = class {
|
|
|
2063
2044
|
...data,
|
|
2064
2045
|
idempotency_key: data.idempotency_key || generateIdempotencyKey()
|
|
2065
2046
|
};
|
|
2066
|
-
const result = await
|
|
2047
|
+
const result = await safe(
|
|
2067
2048
|
this.client.post("/api/v1/checkout", {
|
|
2068
2049
|
checkout_data: checkoutData
|
|
2069
2050
|
})
|
|
@@ -2083,22 +2064,22 @@ var CheckoutService = class {
|
|
|
2083
2064
|
);
|
|
2084
2065
|
}
|
|
2085
2066
|
async submitAuthorization(input) {
|
|
2086
|
-
return
|
|
2067
|
+
return safe(this.client.post("/api/v1/payments/authorization", input));
|
|
2087
2068
|
}
|
|
2088
2069
|
async pollPaymentStatus(orderId) {
|
|
2089
2070
|
const encodedId = encodeURIComponent(orderId);
|
|
2090
2071
|
const tokenParam = this.orderTokenParam(orderId);
|
|
2091
|
-
return
|
|
2072
|
+
return safe(this.client.get(`/api/v1/orders/${encodedId}/payment-status${tokenParam}`));
|
|
2092
2073
|
}
|
|
2093
2074
|
async updateOrderCustomer(orderId, customer) {
|
|
2094
2075
|
const encodedId = encodeURIComponent(orderId);
|
|
2095
2076
|
const tokenParam = this.orderTokenParam(orderId);
|
|
2096
|
-
return
|
|
2077
|
+
return safe(this.client.post(`/api/v1/orders/${encodedId}/customer${tokenParam}`, customer));
|
|
2097
2078
|
}
|
|
2098
2079
|
async verifyPayment(orderId) {
|
|
2099
2080
|
const encodedId = encodeURIComponent(orderId);
|
|
2100
2081
|
const tokenParam = this.orderTokenParam(orderId);
|
|
2101
|
-
return
|
|
2082
|
+
return safe(this.client.post(`/api/v1/orders/${encodedId}/verify-payment${tokenParam}`));
|
|
2102
2083
|
}
|
|
2103
2084
|
async processAndResolve(data) {
|
|
2104
2085
|
data.on_status_change?.("preparing", {});
|
|
@@ -2203,20 +2184,6 @@ var CheckoutService = class {
|
|
|
2203
2184
|
};
|
|
2204
2185
|
|
|
2205
2186
|
// src/orders.ts
|
|
2206
|
-
function toCimplifyError4(error) {
|
|
2207
|
-
if (error instanceof CimplifyError) return enrichError(error);
|
|
2208
|
-
if (error instanceof Error) {
|
|
2209
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
|
|
2210
|
-
}
|
|
2211
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
|
|
2212
|
-
}
|
|
2213
|
-
async function safe4(promise) {
|
|
2214
|
-
try {
|
|
2215
|
-
return ok(await promise);
|
|
2216
|
-
} catch (error) {
|
|
2217
|
-
return err(toCimplifyError4(error));
|
|
2218
|
-
}
|
|
2219
|
-
}
|
|
2220
2187
|
var OrderQueries = class {
|
|
2221
2188
|
constructor(client) {
|
|
2222
2189
|
this.client = client;
|
|
@@ -2231,12 +2198,12 @@ var OrderQueries = class {
|
|
|
2231
2198
|
if (options?.limit) params.set("limit", String(options.limit));
|
|
2232
2199
|
if (options?.offset) params.set("offset", String(options.offset));
|
|
2233
2200
|
const path = params.toString() ? `/api/v1/orders?${params.toString()}` : "/api/v1/orders";
|
|
2234
|
-
return
|
|
2201
|
+
return safe(this.client.get(path));
|
|
2235
2202
|
}
|
|
2236
2203
|
async get(orderId) {
|
|
2237
2204
|
const encodedId = encodeURIComponent(orderId);
|
|
2238
2205
|
const tokenParam = this.orderTokenParam(orderId);
|
|
2239
|
-
return
|
|
2206
|
+
return safe(this.client.get(`/api/v1/orders/${encodedId}${tokenParam}`));
|
|
2240
2207
|
}
|
|
2241
2208
|
async getRecent(limit = 5) {
|
|
2242
2209
|
return this.list({ limit });
|
|
@@ -2247,7 +2214,7 @@ var OrderQueries = class {
|
|
|
2247
2214
|
async cancel(orderId, reason) {
|
|
2248
2215
|
const encodedId = encodeURIComponent(orderId);
|
|
2249
2216
|
const tokenParam = this.orderTokenParam(orderId);
|
|
2250
|
-
return
|
|
2217
|
+
return safe(
|
|
2251
2218
|
this.client.post(`/api/v1/orders/${encodedId}/cancel${tokenParam}`, {
|
|
2252
2219
|
reason
|
|
2253
2220
|
})
|
|
@@ -2256,20 +2223,6 @@ var OrderQueries = class {
|
|
|
2256
2223
|
};
|
|
2257
2224
|
|
|
2258
2225
|
// src/link.ts
|
|
2259
|
-
function toCimplifyError5(error) {
|
|
2260
|
-
if (error instanceof CimplifyError) return error;
|
|
2261
|
-
if (error instanceof Error) {
|
|
2262
|
-
return new CimplifyError("UNKNOWN_ERROR", error.message, false);
|
|
2263
|
-
}
|
|
2264
|
-
return new CimplifyError("UNKNOWN_ERROR", String(error), false);
|
|
2265
|
-
}
|
|
2266
|
-
async function safe5(promise) {
|
|
2267
|
-
try {
|
|
2268
|
-
return ok(await promise);
|
|
2269
|
-
} catch (error) {
|
|
2270
|
-
return err(toCimplifyError5(error));
|
|
2271
|
-
}
|
|
2272
|
-
}
|
|
2273
2226
|
function encodePathSegment(value) {
|
|
2274
2227
|
return encodeURIComponent(value);
|
|
2275
2228
|
}
|
|
@@ -2307,13 +2260,13 @@ var LinkService = class {
|
|
|
2307
2260
|
this.client = client;
|
|
2308
2261
|
}
|
|
2309
2262
|
async getProfile() {
|
|
2310
|
-
return
|
|
2263
|
+
return safe(this.client.linkGet("/v1/link/profile"));
|
|
2311
2264
|
}
|
|
2312
2265
|
async requestOtp(input) {
|
|
2313
|
-
return
|
|
2266
|
+
return safe(this.client.linkPost("/v1/link/auth/request-otp", input));
|
|
2314
2267
|
}
|
|
2315
2268
|
async verifyOtp(input) {
|
|
2316
|
-
const result = await
|
|
2269
|
+
const result = await safe(
|
|
2317
2270
|
this.client.linkPost("/v1/link/auth/verify-otp", input)
|
|
2318
2271
|
);
|
|
2319
2272
|
if (result.ok && result.value.session_token) {
|
|
@@ -2322,45 +2275,45 @@ var LinkService = class {
|
|
|
2322
2275
|
return result;
|
|
2323
2276
|
}
|
|
2324
2277
|
async logout() {
|
|
2325
|
-
const result = await
|
|
2278
|
+
const result = await safe(this.client.linkPost("/v1/link/auth/logout"));
|
|
2326
2279
|
if (result.ok) {
|
|
2327
2280
|
this.client.clearSession();
|
|
2328
2281
|
}
|
|
2329
2282
|
return result;
|
|
2330
2283
|
}
|
|
2331
2284
|
async checkStatus(contact) {
|
|
2332
|
-
return
|
|
2285
|
+
return safe(this.client.linkPost("/v1/link/check-status", { contact }));
|
|
2333
2286
|
}
|
|
2334
2287
|
async getLinkData() {
|
|
2335
|
-
return
|
|
2288
|
+
return safe(this.client.linkGet("/v1/link/data"));
|
|
2336
2289
|
}
|
|
2337
2290
|
async getAddresses() {
|
|
2338
|
-
return
|
|
2291
|
+
return safe(this.client.linkGet("/v1/link/addresses"));
|
|
2339
2292
|
}
|
|
2340
2293
|
async getMobileMoney() {
|
|
2341
|
-
return
|
|
2294
|
+
return safe(this.client.linkGet("/v1/link/mobile-money"));
|
|
2342
2295
|
}
|
|
2343
2296
|
async getPreferences() {
|
|
2344
|
-
return
|
|
2297
|
+
return safe(this.client.linkGet("/v1/link/preferences"));
|
|
2345
2298
|
}
|
|
2346
2299
|
async enroll(data) {
|
|
2347
|
-
return
|
|
2300
|
+
return safe(this.client.linkPost("/v1/link/enroll", data));
|
|
2348
2301
|
}
|
|
2349
2302
|
async enrollAndLinkOrder(data) {
|
|
2350
|
-
return
|
|
2303
|
+
return safe(
|
|
2351
2304
|
this.client.linkPost("/v1/link/enroll-and-link-order", data)
|
|
2352
2305
|
);
|
|
2353
2306
|
}
|
|
2354
2307
|
async updatePreferences(preferences) {
|
|
2355
|
-
return
|
|
2308
|
+
return safe(this.client.linkPost("/v1/link/preferences", preferences));
|
|
2356
2309
|
}
|
|
2357
2310
|
async createAddress(input) {
|
|
2358
|
-
return
|
|
2311
|
+
return safe(
|
|
2359
2312
|
this.client.linkPost("/v1/link/addresses", toCreateAddressPayload(input))
|
|
2360
2313
|
);
|
|
2361
2314
|
}
|
|
2362
2315
|
async updateAddress(input) {
|
|
2363
|
-
return
|
|
2316
|
+
return safe(
|
|
2364
2317
|
this.client.linkPost(
|
|
2365
2318
|
`/v1/link/addresses/${encodePathSegment(input.address_id)}`,
|
|
2366
2319
|
toUpdateAddressPayload(input)
|
|
@@ -2368,26 +2321,26 @@ var LinkService = class {
|
|
|
2368
2321
|
);
|
|
2369
2322
|
}
|
|
2370
2323
|
async deleteAddress(addressId) {
|
|
2371
|
-
return
|
|
2324
|
+
return safe(
|
|
2372
2325
|
this.client.linkDelete(`/v1/link/addresses/${encodePathSegment(addressId)}`)
|
|
2373
2326
|
);
|
|
2374
2327
|
}
|
|
2375
2328
|
async setDefaultAddress(addressId) {
|
|
2376
|
-
return
|
|
2329
|
+
return safe(
|
|
2377
2330
|
this.client.linkPost(
|
|
2378
2331
|
`/v1/link/addresses/${encodePathSegment(addressId)}/default`
|
|
2379
2332
|
)
|
|
2380
2333
|
);
|
|
2381
2334
|
}
|
|
2382
2335
|
async trackAddressUsage(addressId) {
|
|
2383
|
-
return
|
|
2336
|
+
return safe(
|
|
2384
2337
|
this.client.linkPost(
|
|
2385
2338
|
`/v1/link/addresses/${encodePathSegment(addressId)}/track-usage`
|
|
2386
2339
|
)
|
|
2387
2340
|
);
|
|
2388
2341
|
}
|
|
2389
2342
|
async createMobileMoney(input) {
|
|
2390
|
-
return
|
|
2343
|
+
return safe(
|
|
2391
2344
|
this.client.linkPost(
|
|
2392
2345
|
"/v1/link/mobile-money",
|
|
2393
2346
|
toCreateMobileMoneyPayload(input)
|
|
@@ -2395,65 +2348,51 @@ var LinkService = class {
|
|
|
2395
2348
|
);
|
|
2396
2349
|
}
|
|
2397
2350
|
async deleteMobileMoney(mobileMoneyId) {
|
|
2398
|
-
return
|
|
2351
|
+
return safe(
|
|
2399
2352
|
this.client.linkDelete(
|
|
2400
2353
|
`/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}`
|
|
2401
2354
|
)
|
|
2402
2355
|
);
|
|
2403
2356
|
}
|
|
2404
2357
|
async setDefaultMobileMoney(mobileMoneyId) {
|
|
2405
|
-
return
|
|
2358
|
+
return safe(
|
|
2406
2359
|
this.client.linkPost(
|
|
2407
2360
|
`/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}/default`
|
|
2408
2361
|
)
|
|
2409
2362
|
);
|
|
2410
2363
|
}
|
|
2411
2364
|
async trackMobileMoneyUsage(mobileMoneyId) {
|
|
2412
|
-
return
|
|
2365
|
+
return safe(
|
|
2413
2366
|
this.client.linkPost(
|
|
2414
2367
|
`/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}/track-usage`
|
|
2415
2368
|
)
|
|
2416
2369
|
);
|
|
2417
2370
|
}
|
|
2418
2371
|
async verifyMobileMoney(mobileMoneyId) {
|
|
2419
|
-
return
|
|
2372
|
+
return safe(
|
|
2420
2373
|
this.client.linkPost(
|
|
2421
2374
|
`/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}/verify`
|
|
2422
2375
|
)
|
|
2423
2376
|
);
|
|
2424
2377
|
}
|
|
2425
2378
|
async getSessions() {
|
|
2426
|
-
return
|
|
2379
|
+
return safe(this.client.linkGet("/v1/link/sessions"));
|
|
2427
2380
|
}
|
|
2428
2381
|
async revokeSession(sessionId) {
|
|
2429
|
-
return
|
|
2382
|
+
return safe(this.client.linkDelete(`/v1/link/sessions/${sessionId}`));
|
|
2430
2383
|
}
|
|
2431
2384
|
async revokeAllSessions() {
|
|
2432
|
-
return
|
|
2385
|
+
return safe(this.client.linkDelete("/v1/link/sessions"));
|
|
2433
2386
|
}
|
|
2434
2387
|
};
|
|
2435
2388
|
|
|
2436
2389
|
// src/auth.ts
|
|
2437
|
-
function toCimplifyError6(error) {
|
|
2438
|
-
if (error instanceof CimplifyError) return error;
|
|
2439
|
-
if (error instanceof Error) {
|
|
2440
|
-
return new CimplifyError("UNKNOWN_ERROR", error.message, false);
|
|
2441
|
-
}
|
|
2442
|
-
return new CimplifyError("UNKNOWN_ERROR", String(error), false);
|
|
2443
|
-
}
|
|
2444
|
-
async function safe6(promise) {
|
|
2445
|
-
try {
|
|
2446
|
-
return ok(await promise);
|
|
2447
|
-
} catch (error) {
|
|
2448
|
-
return err(toCimplifyError6(error));
|
|
2449
|
-
}
|
|
2450
|
-
}
|
|
2451
2390
|
var AuthService = class {
|
|
2452
2391
|
constructor(client) {
|
|
2453
2392
|
this.client = client;
|
|
2454
2393
|
}
|
|
2455
2394
|
async getStatus() {
|
|
2456
|
-
return
|
|
2395
|
+
return safe(this.client.get("/api/v1/auth/status"));
|
|
2457
2396
|
}
|
|
2458
2397
|
async getCurrentUser() {
|
|
2459
2398
|
const result = await this.getStatus();
|
|
@@ -2466,7 +2405,7 @@ var AuthService = class {
|
|
|
2466
2405
|
return ok(result.value.is_authenticated);
|
|
2467
2406
|
}
|
|
2468
2407
|
async requestOtp(contact, contactType) {
|
|
2469
|
-
return
|
|
2408
|
+
return safe(
|
|
2470
2409
|
this.client.post("/api/v1/auth/request-otp", {
|
|
2471
2410
|
contact,
|
|
2472
2411
|
contact_type: contactType
|
|
@@ -2474,7 +2413,7 @@ var AuthService = class {
|
|
|
2474
2413
|
);
|
|
2475
2414
|
}
|
|
2476
2415
|
async verifyOtp(code, contact) {
|
|
2477
|
-
return
|
|
2416
|
+
return safe(
|
|
2478
2417
|
this.client.post("/api/v1/auth/verify-otp", {
|
|
2479
2418
|
otp_code: code,
|
|
2480
2419
|
contact
|
|
@@ -2482,48 +2421,34 @@ var AuthService = class {
|
|
|
2482
2421
|
);
|
|
2483
2422
|
}
|
|
2484
2423
|
async logout() {
|
|
2485
|
-
return
|
|
2424
|
+
return safe(this.client.post("/api/v1/auth/logout"));
|
|
2486
2425
|
}
|
|
2487
2426
|
async updateProfile(input) {
|
|
2488
|
-
return
|
|
2427
|
+
return safe(this.client.post("/api/v1/auth/profile", input));
|
|
2489
2428
|
}
|
|
2490
2429
|
};
|
|
2491
2430
|
|
|
2492
2431
|
// src/business.ts
|
|
2493
|
-
function toCimplifyError7(error) {
|
|
2494
|
-
if (error instanceof CimplifyError) return enrichError(error);
|
|
2495
|
-
if (error instanceof Error) {
|
|
2496
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
|
|
2497
|
-
}
|
|
2498
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
|
|
2499
|
-
}
|
|
2500
|
-
async function safe7(promise) {
|
|
2501
|
-
try {
|
|
2502
|
-
return ok(await promise);
|
|
2503
|
-
} catch (error) {
|
|
2504
|
-
return err(toCimplifyError7(error));
|
|
2505
|
-
}
|
|
2506
|
-
}
|
|
2507
2432
|
var BusinessService = class {
|
|
2508
2433
|
constructor(client) {
|
|
2509
2434
|
this.client = client;
|
|
2510
2435
|
}
|
|
2511
2436
|
async getInfo() {
|
|
2512
|
-
return
|
|
2437
|
+
return safe(this.client.get("/api/v1/business"));
|
|
2513
2438
|
}
|
|
2514
2439
|
async getByHandle(handle) {
|
|
2515
2440
|
const encodedHandle = encodeURIComponent(handle);
|
|
2516
|
-
return
|
|
2441
|
+
return safe(this.client.get(`/api/v1/business/by-handle/${encodedHandle}`));
|
|
2517
2442
|
}
|
|
2518
2443
|
async getByDomain(domain) {
|
|
2519
2444
|
const encodedDomain = encodeURIComponent(domain);
|
|
2520
|
-
return
|
|
2445
|
+
return safe(this.client.get(`/api/v1/business/by-domain?domain=${encodedDomain}`));
|
|
2521
2446
|
}
|
|
2522
2447
|
async getSettings() {
|
|
2523
|
-
return
|
|
2448
|
+
return safe(this.client.get("/api/v1/business/settings"));
|
|
2524
2449
|
}
|
|
2525
2450
|
async getLocations() {
|
|
2526
|
-
return
|
|
2451
|
+
return safe(this.client.get("/api/v1/business/locations"));
|
|
2527
2452
|
}
|
|
2528
2453
|
async getLocation(locationId) {
|
|
2529
2454
|
const result = await this.getLocations();
|
|
@@ -2535,7 +2460,7 @@ var BusinessService = class {
|
|
|
2535
2460
|
return ok(location);
|
|
2536
2461
|
}
|
|
2537
2462
|
async getHours() {
|
|
2538
|
-
return
|
|
2463
|
+
return safe(this.client.get("/api/v1/business/hours"));
|
|
2539
2464
|
}
|
|
2540
2465
|
async getLocationHours(locationId) {
|
|
2541
2466
|
const result = await this.getHours();
|
|
@@ -2543,25 +2468,11 @@ var BusinessService = class {
|
|
|
2543
2468
|
return ok(result.value.filter((hour) => hour.location_id === locationId));
|
|
2544
2469
|
}
|
|
2545
2470
|
async getBootstrap() {
|
|
2546
|
-
return
|
|
2471
|
+
return safe(this.client.get("/api/v1/bootstrap"));
|
|
2547
2472
|
}
|
|
2548
2473
|
};
|
|
2549
2474
|
|
|
2550
2475
|
// src/inventory.ts
|
|
2551
|
-
function toCimplifyError8(error) {
|
|
2552
|
-
if (error instanceof CimplifyError) return error;
|
|
2553
|
-
if (error instanceof Error) {
|
|
2554
|
-
return new CimplifyError("UNKNOWN_ERROR", error.message, false);
|
|
2555
|
-
}
|
|
2556
|
-
return new CimplifyError("UNKNOWN_ERROR", String(error), false);
|
|
2557
|
-
}
|
|
2558
|
-
async function safe8(promise) {
|
|
2559
|
-
try {
|
|
2560
|
-
return ok(await promise);
|
|
2561
|
-
} catch (error) {
|
|
2562
|
-
return err(toCimplifyError8(error));
|
|
2563
|
-
}
|
|
2564
|
-
}
|
|
2565
2476
|
var InventoryService = class {
|
|
2566
2477
|
constructor(client) {
|
|
2567
2478
|
this.client = client;
|
|
@@ -2580,14 +2491,14 @@ var InventoryService = class {
|
|
|
2580
2491
|
const path = this.withQuery(`/api/v1/inventory/products/${encodedId}/stock`, {
|
|
2581
2492
|
location_id: locationId
|
|
2582
2493
|
});
|
|
2583
|
-
return
|
|
2494
|
+
return safe(this.client.get(path));
|
|
2584
2495
|
}
|
|
2585
2496
|
async getVariantStock(variantId, locationId) {
|
|
2586
2497
|
const encodedId = encodeURIComponent(variantId);
|
|
2587
2498
|
const path = this.withQuery(`/api/v1/inventory/variants/${encodedId}/stock`, {
|
|
2588
2499
|
location_id: locationId
|
|
2589
2500
|
});
|
|
2590
|
-
return
|
|
2501
|
+
return safe(this.client.get(path));
|
|
2591
2502
|
}
|
|
2592
2503
|
async checkProductAvailability(productId, quantity, locationId) {
|
|
2593
2504
|
const encodedId = encodeURIComponent(productId);
|
|
@@ -2595,7 +2506,7 @@ var InventoryService = class {
|
|
|
2595
2506
|
quantity,
|
|
2596
2507
|
location_id: locationId
|
|
2597
2508
|
});
|
|
2598
|
-
return
|
|
2509
|
+
return safe(this.client.get(path));
|
|
2599
2510
|
}
|
|
2600
2511
|
async checkVariantAvailability(variantId, quantity, locationId) {
|
|
2601
2512
|
const encodedId = encodeURIComponent(variantId);
|
|
@@ -2603,7 +2514,7 @@ var InventoryService = class {
|
|
|
2603
2514
|
quantity,
|
|
2604
2515
|
location_id: locationId
|
|
2605
2516
|
});
|
|
2606
|
-
return
|
|
2517
|
+
return safe(this.client.get(path));
|
|
2607
2518
|
}
|
|
2608
2519
|
async checkMultipleAvailability(items, locationId) {
|
|
2609
2520
|
const results = await Promise.all(
|
|
@@ -2629,20 +2540,6 @@ var InventoryService = class {
|
|
|
2629
2540
|
};
|
|
2630
2541
|
|
|
2631
2542
|
// src/scheduling.ts
|
|
2632
|
-
function toCimplifyError9(error) {
|
|
2633
|
-
if (error instanceof CimplifyError) return error;
|
|
2634
|
-
if (error instanceof Error) {
|
|
2635
|
-
return new CimplifyError("UNKNOWN_ERROR", error.message, false);
|
|
2636
|
-
}
|
|
2637
|
-
return new CimplifyError("UNKNOWN_ERROR", String(error), false);
|
|
2638
|
-
}
|
|
2639
|
-
async function safe9(promise) {
|
|
2640
|
-
try {
|
|
2641
|
-
return ok(await promise);
|
|
2642
|
-
} catch (error) {
|
|
2643
|
-
return err(toCimplifyError9(error));
|
|
2644
|
-
}
|
|
2645
|
-
}
|
|
2646
2543
|
function withQuery2(path, params) {
|
|
2647
2544
|
const searchParams = new URLSearchParams();
|
|
2648
2545
|
for (const [key, value] of Object.entries(params)) {
|
|
@@ -2660,11 +2557,11 @@ var SchedulingService = class {
|
|
|
2660
2557
|
this.client = client;
|
|
2661
2558
|
}
|
|
2662
2559
|
async getServices() {
|
|
2663
|
-
return
|
|
2560
|
+
return safe(this.client.get("/api/v1/scheduling/services"));
|
|
2664
2561
|
}
|
|
2665
2562
|
async getService(serviceId) {
|
|
2666
2563
|
const encodedId = encodeURIComponent(serviceId);
|
|
2667
|
-
return
|
|
2564
|
+
return safe(this.client.get(`/api/v1/scheduling/services/${encodedId}`));
|
|
2668
2565
|
}
|
|
2669
2566
|
async getAvailableSlots(input) {
|
|
2670
2567
|
const path = withQuery2("/api/v1/scheduling/slots", {
|
|
@@ -2673,7 +2570,7 @@ var SchedulingService = class {
|
|
|
2673
2570
|
participant_count: input.participant_count,
|
|
2674
2571
|
duration_minutes: input.duration_minutes
|
|
2675
2572
|
});
|
|
2676
|
-
return
|
|
2573
|
+
return safe(this.client.get(path));
|
|
2677
2574
|
}
|
|
2678
2575
|
async checkSlotAvailability(input) {
|
|
2679
2576
|
const path = withQuery2("/api/v1/scheduling/slots/check", {
|
|
@@ -2682,7 +2579,7 @@ var SchedulingService = class {
|
|
|
2682
2579
|
duration_minutes: input.duration_minutes,
|
|
2683
2580
|
participant_count: input.participant_count
|
|
2684
2581
|
});
|
|
2685
|
-
return
|
|
2582
|
+
return safe(this.client.get(path));
|
|
2686
2583
|
}
|
|
2687
2584
|
async getServiceAvailability(params) {
|
|
2688
2585
|
const path = withQuery2("/api/v1/scheduling/availability", {
|
|
@@ -2692,17 +2589,17 @@ var SchedulingService = class {
|
|
|
2692
2589
|
location_id: params.location_id,
|
|
2693
2590
|
participant_count: params.participant_count
|
|
2694
2591
|
});
|
|
2695
|
-
return
|
|
2592
|
+
return safe(this.client.get(path));
|
|
2696
2593
|
}
|
|
2697
2594
|
async getBooking(bookingId) {
|
|
2698
2595
|
const encodedId = encodeURIComponent(bookingId);
|
|
2699
|
-
return
|
|
2596
|
+
return safe(this.client.get(`/api/v1/scheduling/bookings/${encodedId}`));
|
|
2700
2597
|
}
|
|
2701
2598
|
async getCustomerBookings(customerId) {
|
|
2702
2599
|
const path = withQuery2("/api/v1/scheduling/bookings", {
|
|
2703
2600
|
customer_id: customerId
|
|
2704
2601
|
});
|
|
2705
|
-
return
|
|
2602
|
+
return safe(this.client.get(path));
|
|
2706
2603
|
}
|
|
2707
2604
|
async getUpcomingBookings() {
|
|
2708
2605
|
const result = await this.getCustomerBookings();
|
|
@@ -2721,14 +2618,14 @@ var SchedulingService = class {
|
|
|
2721
2618
|
}
|
|
2722
2619
|
async cancelBooking(input) {
|
|
2723
2620
|
const encodedId = encodeURIComponent(input.booking_id);
|
|
2724
|
-
return
|
|
2621
|
+
return safe(
|
|
2725
2622
|
this.client.post(`/api/v1/scheduling/bookings/${encodedId}/cancel`, {
|
|
2726
2623
|
reason: input.reason
|
|
2727
2624
|
})
|
|
2728
2625
|
);
|
|
2729
2626
|
}
|
|
2730
2627
|
async rescheduleBooking(input) {
|
|
2731
|
-
return
|
|
2628
|
+
return safe(
|
|
2732
2629
|
this.client.post("/api/v1/scheduling/bookings/reschedule", input)
|
|
2733
2630
|
);
|
|
2734
2631
|
}
|
|
@@ -2752,65 +2649,37 @@ var SchedulingService = class {
|
|
|
2752
2649
|
};
|
|
2753
2650
|
|
|
2754
2651
|
// src/lite.ts
|
|
2755
|
-
function toCimplifyError10(error) {
|
|
2756
|
-
if (error instanceof CimplifyError) return error;
|
|
2757
|
-
if (error instanceof Error) {
|
|
2758
|
-
return new CimplifyError("UNKNOWN_ERROR", error.message, false);
|
|
2759
|
-
}
|
|
2760
|
-
return new CimplifyError("UNKNOWN_ERROR", String(error), false);
|
|
2761
|
-
}
|
|
2762
|
-
async function safe10(promise) {
|
|
2763
|
-
try {
|
|
2764
|
-
return ok(await promise);
|
|
2765
|
-
} catch (error) {
|
|
2766
|
-
return err(toCimplifyError10(error));
|
|
2767
|
-
}
|
|
2768
|
-
}
|
|
2769
2652
|
var LiteService = class {
|
|
2770
2653
|
constructor(client) {
|
|
2771
2654
|
this.client = client;
|
|
2772
2655
|
}
|
|
2773
2656
|
async getBootstrap() {
|
|
2774
|
-
return
|
|
2657
|
+
return safe(this.client.get("/api/v1/lite/bootstrap"));
|
|
2775
2658
|
}
|
|
2776
2659
|
async getTable(tableId) {
|
|
2777
2660
|
const encodedId = encodeURIComponent(tableId);
|
|
2778
|
-
return
|
|
2661
|
+
return safe(this.client.get(`/api/v1/lite/tables/${encodedId}`));
|
|
2779
2662
|
}
|
|
2780
2663
|
async getMenu() {
|
|
2781
|
-
return
|
|
2664
|
+
return safe(this.client.get("/api/v1/lite/menu"));
|
|
2782
2665
|
}
|
|
2783
2666
|
async getMenuByCategory(categoryId) {
|
|
2784
2667
|
const encodedId = encodeURIComponent(categoryId);
|
|
2785
|
-
return
|
|
2668
|
+
return safe(this.client.get(`/api/v1/lite/menu/categories/${encodedId}`));
|
|
2786
2669
|
}
|
|
2787
2670
|
};
|
|
2788
2671
|
|
|
2789
2672
|
// src/fx.ts
|
|
2790
|
-
function toCimplifyError11(error) {
|
|
2791
|
-
if (error instanceof CimplifyError) return error;
|
|
2792
|
-
if (error instanceof Error) {
|
|
2793
|
-
return new CimplifyError("UNKNOWN_ERROR", error.message, false);
|
|
2794
|
-
}
|
|
2795
|
-
return new CimplifyError("UNKNOWN_ERROR", String(error), false);
|
|
2796
|
-
}
|
|
2797
|
-
async function safe11(promise) {
|
|
2798
|
-
try {
|
|
2799
|
-
return ok(await promise);
|
|
2800
|
-
} catch (error) {
|
|
2801
|
-
return err(toCimplifyError11(error));
|
|
2802
|
-
}
|
|
2803
|
-
}
|
|
2804
2673
|
var FxService = class {
|
|
2805
2674
|
constructor(client) {
|
|
2806
2675
|
this.client = client;
|
|
2807
2676
|
}
|
|
2808
2677
|
async getRate(from, to) {
|
|
2809
2678
|
const path = `/api/v1/fx/rate?from=${encodeURIComponent(from)}&to=${encodeURIComponent(to)}`;
|
|
2810
|
-
return
|
|
2679
|
+
return safe(this.client.get(path));
|
|
2811
2680
|
}
|
|
2812
2681
|
async lockQuote(request) {
|
|
2813
|
-
return
|
|
2682
|
+
return safe(this.client.post("/api/v1/fx/quotes", request));
|
|
2814
2683
|
}
|
|
2815
2684
|
};
|
|
2816
2685
|
|
|
@@ -2961,6 +2830,11 @@ var CimplifyElements = class {
|
|
|
2961
2830
|
window.addEventListener("message", this.boundHandleMessage);
|
|
2962
2831
|
}
|
|
2963
2832
|
}
|
|
2833
|
+
debug(...args) {
|
|
2834
|
+
if (this.client.isTestMode()) {
|
|
2835
|
+
console.debug(...args);
|
|
2836
|
+
}
|
|
2837
|
+
}
|
|
2964
2838
|
create(type, options = {}) {
|
|
2965
2839
|
const existing = this.elements.get(type);
|
|
2966
2840
|
if (existing) return existing;
|
|
@@ -3015,9 +2889,9 @@ var CimplifyElements = class {
|
|
|
3015
2889
|
processCheckout(options) {
|
|
3016
2890
|
let abortFn = null;
|
|
3017
2891
|
const task = (async () => {
|
|
3018
|
-
|
|
2892
|
+
this.debug("[cimplify:checkout] processCheckout called", { cart_id: options.cart_id, order_type: options.order_type, location_id: options.location_id });
|
|
3019
2893
|
if (this.checkoutInProgress) {
|
|
3020
|
-
|
|
2894
|
+
this.debug("[cimplify:checkout] BLOCKED: already processing");
|
|
3021
2895
|
return toCheckoutError(
|
|
3022
2896
|
"ALREADY_PROCESSING",
|
|
3023
2897
|
"Checkout is already in progress.",
|
|
@@ -3026,7 +2900,7 @@ var CimplifyElements = class {
|
|
|
3026
2900
|
}
|
|
3027
2901
|
this.checkoutInProgress = true;
|
|
3028
2902
|
if (!options.cart_id) {
|
|
3029
|
-
|
|
2903
|
+
this.debug("[cimplify:checkout] BLOCKED: no cart_id");
|
|
3030
2904
|
this.checkoutInProgress = false;
|
|
3031
2905
|
return toCheckoutError(
|
|
3032
2906
|
"INVALID_CART",
|
|
@@ -3035,7 +2909,7 @@ var CimplifyElements = class {
|
|
|
3035
2909
|
);
|
|
3036
2910
|
}
|
|
3037
2911
|
if (!options.order_type) {
|
|
3038
|
-
|
|
2912
|
+
this.debug("[cimplify:checkout] BLOCKED: no order_type");
|
|
3039
2913
|
this.checkoutInProgress = false;
|
|
3040
2914
|
return toCheckoutError(
|
|
3041
2915
|
"ORDER_TYPE_REQUIRED",
|
|
@@ -3045,7 +2919,7 @@ var CimplifyElements = class {
|
|
|
3045
2919
|
}
|
|
3046
2920
|
const checkoutElement = this.elements.get(ELEMENT_TYPES.CHECKOUT) || this.elements.get(ELEMENT_TYPES.PAYMENT);
|
|
3047
2921
|
if (!checkoutElement) {
|
|
3048
|
-
|
|
2922
|
+
this.debug("[cimplify:checkout] BLOCKED: no checkout element");
|
|
3049
2923
|
this.checkoutInProgress = false;
|
|
3050
2924
|
return toCheckoutError(
|
|
3051
2925
|
"NO_PAYMENT_ELEMENT",
|
|
@@ -3054,7 +2928,7 @@ var CimplifyElements = class {
|
|
|
3054
2928
|
);
|
|
3055
2929
|
}
|
|
3056
2930
|
if (!checkoutElement.isMounted()) {
|
|
3057
|
-
|
|
2931
|
+
this.debug("[cimplify:checkout] BLOCKED: checkout element not mounted");
|
|
3058
2932
|
this.checkoutInProgress = false;
|
|
3059
2933
|
return toCheckoutError(
|
|
3060
2934
|
"PAYMENT_NOT_MOUNTED",
|
|
@@ -3066,7 +2940,7 @@ var CimplifyElements = class {
|
|
|
3066
2940
|
if (!isUnifiedCheckout) {
|
|
3067
2941
|
const authElement = this.elements.get(ELEMENT_TYPES.AUTH);
|
|
3068
2942
|
if (authElement && !this.accessToken) {
|
|
3069
|
-
|
|
2943
|
+
this.debug("[cimplify:checkout] BLOCKED: auth incomplete");
|
|
3070
2944
|
this.checkoutInProgress = false;
|
|
3071
2945
|
return toCheckoutError(
|
|
3072
2946
|
"AUTH_INCOMPLETE",
|
|
@@ -3076,13 +2950,13 @@ var CimplifyElements = class {
|
|
|
3076
2950
|
}
|
|
3077
2951
|
const addressElement = this.elements.get(ELEMENT_TYPES.ADDRESS);
|
|
3078
2952
|
if (addressElement) {
|
|
3079
|
-
|
|
2953
|
+
this.debug("[cimplify:checkout] getting address data...");
|
|
3080
2954
|
await addressElement.getData();
|
|
3081
|
-
|
|
2955
|
+
this.debug("[cimplify:checkout] address data resolved", this.addressData);
|
|
3082
2956
|
}
|
|
3083
2957
|
await this.hydrateCustomerData();
|
|
3084
2958
|
}
|
|
3085
|
-
|
|
2959
|
+
this.debug("[cimplify:checkout] customer data hydrated", { customerData: this.customerData, accountId: this.accountId, isUnifiedCheckout });
|
|
3086
2960
|
const processMessage = {
|
|
3087
2961
|
type: MESSAGE_TYPES.PROCESS_CHECKOUT,
|
|
3088
2962
|
cart_id: options.cart_id,
|
|
@@ -3158,7 +3032,7 @@ var CimplifyElements = class {
|
|
|
3158
3032
|
return;
|
|
3159
3033
|
}
|
|
3160
3034
|
if (message.type === MESSAGE_TYPES.CHECKOUT_COMPLETE) {
|
|
3161
|
-
|
|
3035
|
+
this.debug("[cimplify:checkout] received checkout_complete", { success: message.success, error: message.error });
|
|
3162
3036
|
settle({
|
|
3163
3037
|
success: message.success,
|
|
3164
3038
|
order: message.order,
|
|
@@ -3181,9 +3055,9 @@ var CimplifyElements = class {
|
|
|
3181
3055
|
);
|
|
3182
3056
|
};
|
|
3183
3057
|
this.activeCheckoutAbort = abortFn;
|
|
3184
|
-
|
|
3058
|
+
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 });
|
|
3185
3059
|
checkoutElement.sendMessage(processMessage);
|
|
3186
|
-
|
|
3060
|
+
this.debug("[cimplify:checkout] postMessage sent, waiting for checkout_complete...");
|
|
3187
3061
|
});
|
|
3188
3062
|
})();
|
|
3189
3063
|
const abortable = task;
|