@cimplify/sdk 0.16.0 → 0.16.2
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 +1 -1
- package/dist/advanced.d.ts +1 -1
- package/dist/advanced.js +97 -230
- package/dist/advanced.mjs +97 -230
- package/dist/{client-wOQ8P1Ks.d.mts → client-Cb7r8u6t.d.mts} +1 -0
- package/dist/{client-NdvQpCxU.d.ts → client-DTTtSSmQ.d.ts} +1 -0
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +97 -230
- package/dist/index.mjs +97 -230
- package/dist/react.d.mts +1 -1
- package/dist/react.d.ts +1 -1
- package/dist/react.js +97 -230
- package/dist/react.mjs +97 -230
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -285,7 +285,7 @@ function combineObject(results) {
|
|
|
285
285
|
return ok(values);
|
|
286
286
|
}
|
|
287
287
|
|
|
288
|
-
// src/
|
|
288
|
+
// src/internal/safe.ts
|
|
289
289
|
function toCimplifyError(error) {
|
|
290
290
|
if (error instanceof CimplifyError) return enrichError(error);
|
|
291
291
|
if (error instanceof Error) {
|
|
@@ -300,6 +300,8 @@ async function safe(promise) {
|
|
|
300
300
|
return err(toCimplifyError(error));
|
|
301
301
|
}
|
|
302
302
|
}
|
|
303
|
+
|
|
304
|
+
// src/catalogue.ts
|
|
303
305
|
function withQuery(path, params) {
|
|
304
306
|
const query2 = new URLSearchParams();
|
|
305
307
|
for (const [key, value] of Object.entries(params)) {
|
|
@@ -669,20 +671,6 @@ var CatalogueQueries = class {
|
|
|
669
671
|
};
|
|
670
672
|
|
|
671
673
|
// src/cart.ts
|
|
672
|
-
function toCimplifyError2(error) {
|
|
673
|
-
if (error instanceof CimplifyError) return enrichError(error);
|
|
674
|
-
if (error instanceof Error) {
|
|
675
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
|
|
676
|
-
}
|
|
677
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
|
|
678
|
-
}
|
|
679
|
-
async function safe2(promise) {
|
|
680
|
-
try {
|
|
681
|
-
return ok(await promise);
|
|
682
|
-
} catch (error) {
|
|
683
|
-
return err(toCimplifyError2(error));
|
|
684
|
-
}
|
|
685
|
-
}
|
|
686
674
|
function isUICartResponse(value) {
|
|
687
675
|
return "cart" in value;
|
|
688
676
|
}
|
|
@@ -694,21 +682,21 @@ var CartOperations = class {
|
|
|
694
682
|
this.client = client;
|
|
695
683
|
}
|
|
696
684
|
async get() {
|
|
697
|
-
const result = await
|
|
685
|
+
const result = await safe(this.client.get("/api/v1/cart"));
|
|
698
686
|
if (!result.ok) return result;
|
|
699
687
|
return ok(unwrapEnrichedCart(result.value));
|
|
700
688
|
}
|
|
701
689
|
async getRaw() {
|
|
702
|
-
return
|
|
690
|
+
return safe(this.client.get("/api/v1/cart"));
|
|
703
691
|
}
|
|
704
692
|
async getItems() {
|
|
705
|
-
return
|
|
693
|
+
return safe(this.client.get("/api/v1/cart/items"));
|
|
706
694
|
}
|
|
707
695
|
async getCount() {
|
|
708
|
-
return
|
|
696
|
+
return safe(this.client.get("/api/v1/cart/count"));
|
|
709
697
|
}
|
|
710
698
|
async getTotal() {
|
|
711
|
-
return
|
|
699
|
+
return safe(this.client.get("/api/v1/cart/total"));
|
|
712
700
|
}
|
|
713
701
|
async getSummary() {
|
|
714
702
|
const cartResult = await this.get();
|
|
@@ -725,18 +713,18 @@ var CartOperations = class {
|
|
|
725
713
|
});
|
|
726
714
|
}
|
|
727
715
|
async addItem(input) {
|
|
728
|
-
return
|
|
716
|
+
return safe(this.client.post("/api/v1/cart/items", input));
|
|
729
717
|
}
|
|
730
718
|
async updateItem(cartItemId, updates) {
|
|
731
719
|
if (typeof updates.quantity === "number") {
|
|
732
720
|
return this.updateQuantity(cartItemId, updates.quantity);
|
|
733
721
|
}
|
|
734
722
|
const encodedId = encodeURIComponent(cartItemId);
|
|
735
|
-
return
|
|
723
|
+
return safe(this.client.patch(`/api/v1/cart/items/${encodedId}`, updates));
|
|
736
724
|
}
|
|
737
725
|
async updateQuantity(cartItemId, quantity) {
|
|
738
726
|
const encodedId = encodeURIComponent(cartItemId);
|
|
739
|
-
return
|
|
727
|
+
return safe(
|
|
740
728
|
this.client.patch(`/api/v1/cart/items/${encodedId}`, {
|
|
741
729
|
quantity
|
|
742
730
|
})
|
|
@@ -744,20 +732,20 @@ var CartOperations = class {
|
|
|
744
732
|
}
|
|
745
733
|
async removeItem(cartItemId) {
|
|
746
734
|
const encodedId = encodeURIComponent(cartItemId);
|
|
747
|
-
return
|
|
735
|
+
return safe(this.client.delete(`/api/v1/cart/items/${encodedId}`));
|
|
748
736
|
}
|
|
749
737
|
async clear() {
|
|
750
|
-
return
|
|
738
|
+
return safe(this.client.delete("/api/v1/cart"));
|
|
751
739
|
}
|
|
752
740
|
async applyCoupon(code) {
|
|
753
|
-
return
|
|
741
|
+
return safe(
|
|
754
742
|
this.client.post("/api/v1/cart/coupons", {
|
|
755
743
|
coupon_code: code
|
|
756
744
|
})
|
|
757
745
|
);
|
|
758
746
|
}
|
|
759
747
|
async removeCoupon() {
|
|
760
|
-
return
|
|
748
|
+
return safe(this.client.delete("/api/v1/cart/coupons/current"));
|
|
761
749
|
}
|
|
762
750
|
async isEmpty() {
|
|
763
751
|
const countResult = await this.getCount();
|
|
@@ -2038,20 +2026,6 @@ var CheckoutResolver = class {
|
|
|
2038
2026
|
};
|
|
2039
2027
|
|
|
2040
2028
|
// src/checkout.ts
|
|
2041
|
-
function toCimplifyError3(error) {
|
|
2042
|
-
if (error instanceof CimplifyError) return enrichError(error);
|
|
2043
|
-
if (error instanceof Error) {
|
|
2044
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
|
|
2045
|
-
}
|
|
2046
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
|
|
2047
|
-
}
|
|
2048
|
-
async function safe3(promise) {
|
|
2049
|
-
try {
|
|
2050
|
-
return ok(await promise);
|
|
2051
|
-
} catch (error) {
|
|
2052
|
-
return err(toCimplifyError3(error));
|
|
2053
|
-
}
|
|
2054
|
-
}
|
|
2055
2029
|
function toTerminalFailure(code, message, recoverable) {
|
|
2056
2030
|
return {
|
|
2057
2031
|
success: false,
|
|
@@ -2083,7 +2057,7 @@ var CheckoutService = class {
|
|
|
2083
2057
|
...data,
|
|
2084
2058
|
idempotency_key: data.idempotency_key || generateIdempotencyKey()
|
|
2085
2059
|
};
|
|
2086
|
-
const result = await
|
|
2060
|
+
const result = await safe(
|
|
2087
2061
|
this.client.post("/api/v1/checkout", {
|
|
2088
2062
|
checkout_data: checkoutData
|
|
2089
2063
|
})
|
|
@@ -2103,22 +2077,22 @@ var CheckoutService = class {
|
|
|
2103
2077
|
);
|
|
2104
2078
|
}
|
|
2105
2079
|
async submitAuthorization(input) {
|
|
2106
|
-
return
|
|
2080
|
+
return safe(this.client.post("/api/v1/payments/authorization", input));
|
|
2107
2081
|
}
|
|
2108
2082
|
async pollPaymentStatus(orderId) {
|
|
2109
2083
|
const encodedId = encodeURIComponent(orderId);
|
|
2110
2084
|
const tokenParam = this.orderTokenParam(orderId);
|
|
2111
|
-
return
|
|
2085
|
+
return safe(this.client.get(`/api/v1/orders/${encodedId}/payment-status${tokenParam}`));
|
|
2112
2086
|
}
|
|
2113
2087
|
async updateOrderCustomer(orderId, customer) {
|
|
2114
2088
|
const encodedId = encodeURIComponent(orderId);
|
|
2115
2089
|
const tokenParam = this.orderTokenParam(orderId);
|
|
2116
|
-
return
|
|
2090
|
+
return safe(this.client.post(`/api/v1/orders/${encodedId}/customer${tokenParam}`, customer));
|
|
2117
2091
|
}
|
|
2118
2092
|
async verifyPayment(orderId) {
|
|
2119
2093
|
const encodedId = encodeURIComponent(orderId);
|
|
2120
2094
|
const tokenParam = this.orderTokenParam(orderId);
|
|
2121
|
-
return
|
|
2095
|
+
return safe(this.client.post(`/api/v1/orders/${encodedId}/verify-payment${tokenParam}`));
|
|
2122
2096
|
}
|
|
2123
2097
|
async processAndResolve(data) {
|
|
2124
2098
|
data.on_status_change?.("preparing", {});
|
|
@@ -2223,20 +2197,6 @@ var CheckoutService = class {
|
|
|
2223
2197
|
};
|
|
2224
2198
|
|
|
2225
2199
|
// src/orders.ts
|
|
2226
|
-
function toCimplifyError4(error) {
|
|
2227
|
-
if (error instanceof CimplifyError) return enrichError(error);
|
|
2228
|
-
if (error instanceof Error) {
|
|
2229
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
|
|
2230
|
-
}
|
|
2231
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
|
|
2232
|
-
}
|
|
2233
|
-
async function safe4(promise) {
|
|
2234
|
-
try {
|
|
2235
|
-
return ok(await promise);
|
|
2236
|
-
} catch (error) {
|
|
2237
|
-
return err(toCimplifyError4(error));
|
|
2238
|
-
}
|
|
2239
|
-
}
|
|
2240
2200
|
var OrderQueries = class {
|
|
2241
2201
|
constructor(client) {
|
|
2242
2202
|
this.client = client;
|
|
@@ -2251,12 +2211,12 @@ var OrderQueries = class {
|
|
|
2251
2211
|
if (options?.limit) params.set("limit", String(options.limit));
|
|
2252
2212
|
if (options?.offset) params.set("offset", String(options.offset));
|
|
2253
2213
|
const path = params.toString() ? `/api/v1/orders?${params.toString()}` : "/api/v1/orders";
|
|
2254
|
-
return
|
|
2214
|
+
return safe(this.client.get(path));
|
|
2255
2215
|
}
|
|
2256
2216
|
async get(orderId) {
|
|
2257
2217
|
const encodedId = encodeURIComponent(orderId);
|
|
2258
2218
|
const tokenParam = this.orderTokenParam(orderId);
|
|
2259
|
-
return
|
|
2219
|
+
return safe(this.client.get(`/api/v1/orders/${encodedId}${tokenParam}`));
|
|
2260
2220
|
}
|
|
2261
2221
|
async getRecent(limit = 5) {
|
|
2262
2222
|
return this.list({ limit });
|
|
@@ -2267,7 +2227,7 @@ var OrderQueries = class {
|
|
|
2267
2227
|
async cancel(orderId, reason) {
|
|
2268
2228
|
const encodedId = encodeURIComponent(orderId);
|
|
2269
2229
|
const tokenParam = this.orderTokenParam(orderId);
|
|
2270
|
-
return
|
|
2230
|
+
return safe(
|
|
2271
2231
|
this.client.post(`/api/v1/orders/${encodedId}/cancel${tokenParam}`, {
|
|
2272
2232
|
reason
|
|
2273
2233
|
})
|
|
@@ -2276,20 +2236,6 @@ var OrderQueries = class {
|
|
|
2276
2236
|
};
|
|
2277
2237
|
|
|
2278
2238
|
// src/link.ts
|
|
2279
|
-
function toCimplifyError5(error) {
|
|
2280
|
-
if (error instanceof CimplifyError) return error;
|
|
2281
|
-
if (error instanceof Error) {
|
|
2282
|
-
return new CimplifyError("UNKNOWN_ERROR", error.message, false);
|
|
2283
|
-
}
|
|
2284
|
-
return new CimplifyError("UNKNOWN_ERROR", String(error), false);
|
|
2285
|
-
}
|
|
2286
|
-
async function safe5(promise) {
|
|
2287
|
-
try {
|
|
2288
|
-
return ok(await promise);
|
|
2289
|
-
} catch (error) {
|
|
2290
|
-
return err(toCimplifyError5(error));
|
|
2291
|
-
}
|
|
2292
|
-
}
|
|
2293
2239
|
function encodePathSegment(value) {
|
|
2294
2240
|
return encodeURIComponent(value);
|
|
2295
2241
|
}
|
|
@@ -2327,13 +2273,13 @@ var LinkService = class {
|
|
|
2327
2273
|
this.client = client;
|
|
2328
2274
|
}
|
|
2329
2275
|
async getProfile() {
|
|
2330
|
-
return
|
|
2276
|
+
return safe(this.client.linkGet("/v1/link/profile"));
|
|
2331
2277
|
}
|
|
2332
2278
|
async requestOtp(input) {
|
|
2333
|
-
return
|
|
2279
|
+
return safe(this.client.linkPost("/v1/link/auth/request-otp", input));
|
|
2334
2280
|
}
|
|
2335
2281
|
async verifyOtp(input) {
|
|
2336
|
-
const result = await
|
|
2282
|
+
const result = await safe(
|
|
2337
2283
|
this.client.linkPost("/v1/link/auth/verify-otp", input)
|
|
2338
2284
|
);
|
|
2339
2285
|
if (result.ok && result.value.session_token) {
|
|
@@ -2342,45 +2288,45 @@ var LinkService = class {
|
|
|
2342
2288
|
return result;
|
|
2343
2289
|
}
|
|
2344
2290
|
async logout() {
|
|
2345
|
-
const result = await
|
|
2291
|
+
const result = await safe(this.client.linkPost("/v1/link/auth/logout"));
|
|
2346
2292
|
if (result.ok) {
|
|
2347
2293
|
this.client.clearSession();
|
|
2348
2294
|
}
|
|
2349
2295
|
return result;
|
|
2350
2296
|
}
|
|
2351
2297
|
async checkStatus(contact) {
|
|
2352
|
-
return
|
|
2298
|
+
return safe(this.client.linkPost("/v1/link/check-status", { contact }));
|
|
2353
2299
|
}
|
|
2354
2300
|
async getLinkData() {
|
|
2355
|
-
return
|
|
2301
|
+
return safe(this.client.linkGet("/v1/link/data"));
|
|
2356
2302
|
}
|
|
2357
2303
|
async getAddresses() {
|
|
2358
|
-
return
|
|
2304
|
+
return safe(this.client.linkGet("/v1/link/addresses"));
|
|
2359
2305
|
}
|
|
2360
2306
|
async getMobileMoney() {
|
|
2361
|
-
return
|
|
2307
|
+
return safe(this.client.linkGet("/v1/link/mobile-money"));
|
|
2362
2308
|
}
|
|
2363
2309
|
async getPreferences() {
|
|
2364
|
-
return
|
|
2310
|
+
return safe(this.client.linkGet("/v1/link/preferences"));
|
|
2365
2311
|
}
|
|
2366
2312
|
async enroll(data) {
|
|
2367
|
-
return
|
|
2313
|
+
return safe(this.client.linkPost("/v1/link/enroll", data));
|
|
2368
2314
|
}
|
|
2369
2315
|
async enrollAndLinkOrder(data) {
|
|
2370
|
-
return
|
|
2316
|
+
return safe(
|
|
2371
2317
|
this.client.linkPost("/v1/link/enroll-and-link-order", data)
|
|
2372
2318
|
);
|
|
2373
2319
|
}
|
|
2374
2320
|
async updatePreferences(preferences) {
|
|
2375
|
-
return
|
|
2321
|
+
return safe(this.client.linkPost("/v1/link/preferences", preferences));
|
|
2376
2322
|
}
|
|
2377
2323
|
async createAddress(input) {
|
|
2378
|
-
return
|
|
2324
|
+
return safe(
|
|
2379
2325
|
this.client.linkPost("/v1/link/addresses", toCreateAddressPayload(input))
|
|
2380
2326
|
);
|
|
2381
2327
|
}
|
|
2382
2328
|
async updateAddress(input) {
|
|
2383
|
-
return
|
|
2329
|
+
return safe(
|
|
2384
2330
|
this.client.linkPost(
|
|
2385
2331
|
`/v1/link/addresses/${encodePathSegment(input.address_id)}`,
|
|
2386
2332
|
toUpdateAddressPayload(input)
|
|
@@ -2388,26 +2334,26 @@ var LinkService = class {
|
|
|
2388
2334
|
);
|
|
2389
2335
|
}
|
|
2390
2336
|
async deleteAddress(addressId) {
|
|
2391
|
-
return
|
|
2337
|
+
return safe(
|
|
2392
2338
|
this.client.linkDelete(`/v1/link/addresses/${encodePathSegment(addressId)}`)
|
|
2393
2339
|
);
|
|
2394
2340
|
}
|
|
2395
2341
|
async setDefaultAddress(addressId) {
|
|
2396
|
-
return
|
|
2342
|
+
return safe(
|
|
2397
2343
|
this.client.linkPost(
|
|
2398
2344
|
`/v1/link/addresses/${encodePathSegment(addressId)}/default`
|
|
2399
2345
|
)
|
|
2400
2346
|
);
|
|
2401
2347
|
}
|
|
2402
2348
|
async trackAddressUsage(addressId) {
|
|
2403
|
-
return
|
|
2349
|
+
return safe(
|
|
2404
2350
|
this.client.linkPost(
|
|
2405
2351
|
`/v1/link/addresses/${encodePathSegment(addressId)}/track-usage`
|
|
2406
2352
|
)
|
|
2407
2353
|
);
|
|
2408
2354
|
}
|
|
2409
2355
|
async createMobileMoney(input) {
|
|
2410
|
-
return
|
|
2356
|
+
return safe(
|
|
2411
2357
|
this.client.linkPost(
|
|
2412
2358
|
"/v1/link/mobile-money",
|
|
2413
2359
|
toCreateMobileMoneyPayload(input)
|
|
@@ -2415,65 +2361,51 @@ var LinkService = class {
|
|
|
2415
2361
|
);
|
|
2416
2362
|
}
|
|
2417
2363
|
async deleteMobileMoney(mobileMoneyId) {
|
|
2418
|
-
return
|
|
2364
|
+
return safe(
|
|
2419
2365
|
this.client.linkDelete(
|
|
2420
2366
|
`/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}`
|
|
2421
2367
|
)
|
|
2422
2368
|
);
|
|
2423
2369
|
}
|
|
2424
2370
|
async setDefaultMobileMoney(mobileMoneyId) {
|
|
2425
|
-
return
|
|
2371
|
+
return safe(
|
|
2426
2372
|
this.client.linkPost(
|
|
2427
2373
|
`/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}/default`
|
|
2428
2374
|
)
|
|
2429
2375
|
);
|
|
2430
2376
|
}
|
|
2431
2377
|
async trackMobileMoneyUsage(mobileMoneyId) {
|
|
2432
|
-
return
|
|
2378
|
+
return safe(
|
|
2433
2379
|
this.client.linkPost(
|
|
2434
2380
|
`/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}/track-usage`
|
|
2435
2381
|
)
|
|
2436
2382
|
);
|
|
2437
2383
|
}
|
|
2438
2384
|
async verifyMobileMoney(mobileMoneyId) {
|
|
2439
|
-
return
|
|
2385
|
+
return safe(
|
|
2440
2386
|
this.client.linkPost(
|
|
2441
2387
|
`/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}/verify`
|
|
2442
2388
|
)
|
|
2443
2389
|
);
|
|
2444
2390
|
}
|
|
2445
2391
|
async getSessions() {
|
|
2446
|
-
return
|
|
2392
|
+
return safe(this.client.linkGet("/v1/link/sessions"));
|
|
2447
2393
|
}
|
|
2448
2394
|
async revokeSession(sessionId) {
|
|
2449
|
-
return
|
|
2395
|
+
return safe(this.client.linkDelete(`/v1/link/sessions/${sessionId}`));
|
|
2450
2396
|
}
|
|
2451
2397
|
async revokeAllSessions() {
|
|
2452
|
-
return
|
|
2398
|
+
return safe(this.client.linkDelete("/v1/link/sessions"));
|
|
2453
2399
|
}
|
|
2454
2400
|
};
|
|
2455
2401
|
|
|
2456
2402
|
// src/auth.ts
|
|
2457
|
-
function toCimplifyError6(error) {
|
|
2458
|
-
if (error instanceof CimplifyError) return error;
|
|
2459
|
-
if (error instanceof Error) {
|
|
2460
|
-
return new CimplifyError("UNKNOWN_ERROR", error.message, false);
|
|
2461
|
-
}
|
|
2462
|
-
return new CimplifyError("UNKNOWN_ERROR", String(error), false);
|
|
2463
|
-
}
|
|
2464
|
-
async function safe6(promise) {
|
|
2465
|
-
try {
|
|
2466
|
-
return ok(await promise);
|
|
2467
|
-
} catch (error) {
|
|
2468
|
-
return err(toCimplifyError6(error));
|
|
2469
|
-
}
|
|
2470
|
-
}
|
|
2471
2403
|
var AuthService = class {
|
|
2472
2404
|
constructor(client) {
|
|
2473
2405
|
this.client = client;
|
|
2474
2406
|
}
|
|
2475
2407
|
async getStatus() {
|
|
2476
|
-
return
|
|
2408
|
+
return safe(this.client.get("/api/v1/auth/status"));
|
|
2477
2409
|
}
|
|
2478
2410
|
async getCurrentUser() {
|
|
2479
2411
|
const result = await this.getStatus();
|
|
@@ -2486,7 +2418,7 @@ var AuthService = class {
|
|
|
2486
2418
|
return ok(result.value.is_authenticated);
|
|
2487
2419
|
}
|
|
2488
2420
|
async requestOtp(contact, contactType) {
|
|
2489
|
-
return
|
|
2421
|
+
return safe(
|
|
2490
2422
|
this.client.post("/api/v1/auth/request-otp", {
|
|
2491
2423
|
contact,
|
|
2492
2424
|
contact_type: contactType
|
|
@@ -2494,7 +2426,7 @@ var AuthService = class {
|
|
|
2494
2426
|
);
|
|
2495
2427
|
}
|
|
2496
2428
|
async verifyOtp(code, contact) {
|
|
2497
|
-
return
|
|
2429
|
+
return safe(
|
|
2498
2430
|
this.client.post("/api/v1/auth/verify-otp", {
|
|
2499
2431
|
otp_code: code,
|
|
2500
2432
|
contact
|
|
@@ -2502,48 +2434,34 @@ var AuthService = class {
|
|
|
2502
2434
|
);
|
|
2503
2435
|
}
|
|
2504
2436
|
async logout() {
|
|
2505
|
-
return
|
|
2437
|
+
return safe(this.client.post("/api/v1/auth/logout"));
|
|
2506
2438
|
}
|
|
2507
2439
|
async updateProfile(input) {
|
|
2508
|
-
return
|
|
2440
|
+
return safe(this.client.post("/api/v1/auth/profile", input));
|
|
2509
2441
|
}
|
|
2510
2442
|
};
|
|
2511
2443
|
|
|
2512
2444
|
// src/business.ts
|
|
2513
|
-
function toCimplifyError7(error) {
|
|
2514
|
-
if (error instanceof CimplifyError) return enrichError(error);
|
|
2515
|
-
if (error instanceof Error) {
|
|
2516
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
|
|
2517
|
-
}
|
|
2518
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
|
|
2519
|
-
}
|
|
2520
|
-
async function safe7(promise) {
|
|
2521
|
-
try {
|
|
2522
|
-
return ok(await promise);
|
|
2523
|
-
} catch (error) {
|
|
2524
|
-
return err(toCimplifyError7(error));
|
|
2525
|
-
}
|
|
2526
|
-
}
|
|
2527
2445
|
var BusinessService = class {
|
|
2528
2446
|
constructor(client) {
|
|
2529
2447
|
this.client = client;
|
|
2530
2448
|
}
|
|
2531
2449
|
async getInfo() {
|
|
2532
|
-
return
|
|
2450
|
+
return safe(this.client.get("/api/v1/business"));
|
|
2533
2451
|
}
|
|
2534
2452
|
async getByHandle(handle) {
|
|
2535
2453
|
const encodedHandle = encodeURIComponent(handle);
|
|
2536
|
-
return
|
|
2454
|
+
return safe(this.client.get(`/api/v1/business/by-handle/${encodedHandle}`));
|
|
2537
2455
|
}
|
|
2538
2456
|
async getByDomain(domain) {
|
|
2539
2457
|
const encodedDomain = encodeURIComponent(domain);
|
|
2540
|
-
return
|
|
2458
|
+
return safe(this.client.get(`/api/v1/business/by-domain?domain=${encodedDomain}`));
|
|
2541
2459
|
}
|
|
2542
2460
|
async getSettings() {
|
|
2543
|
-
return
|
|
2461
|
+
return safe(this.client.get("/api/v1/business/settings"));
|
|
2544
2462
|
}
|
|
2545
2463
|
async getLocations() {
|
|
2546
|
-
return
|
|
2464
|
+
return safe(this.client.get("/api/v1/business/locations"));
|
|
2547
2465
|
}
|
|
2548
2466
|
async getLocation(locationId) {
|
|
2549
2467
|
const result = await this.getLocations();
|
|
@@ -2555,7 +2473,7 @@ var BusinessService = class {
|
|
|
2555
2473
|
return ok(location);
|
|
2556
2474
|
}
|
|
2557
2475
|
async getHours() {
|
|
2558
|
-
return
|
|
2476
|
+
return safe(this.client.get("/api/v1/business/hours"));
|
|
2559
2477
|
}
|
|
2560
2478
|
async getLocationHours(locationId) {
|
|
2561
2479
|
const result = await this.getHours();
|
|
@@ -2563,25 +2481,11 @@ var BusinessService = class {
|
|
|
2563
2481
|
return ok(result.value.filter((hour) => hour.location_id === locationId));
|
|
2564
2482
|
}
|
|
2565
2483
|
async getBootstrap() {
|
|
2566
|
-
return
|
|
2484
|
+
return safe(this.client.get("/api/v1/bootstrap"));
|
|
2567
2485
|
}
|
|
2568
2486
|
};
|
|
2569
2487
|
|
|
2570
2488
|
// src/inventory.ts
|
|
2571
|
-
function toCimplifyError8(error) {
|
|
2572
|
-
if (error instanceof CimplifyError) return error;
|
|
2573
|
-
if (error instanceof Error) {
|
|
2574
|
-
return new CimplifyError("UNKNOWN_ERROR", error.message, false);
|
|
2575
|
-
}
|
|
2576
|
-
return new CimplifyError("UNKNOWN_ERROR", String(error), false);
|
|
2577
|
-
}
|
|
2578
|
-
async function safe8(promise) {
|
|
2579
|
-
try {
|
|
2580
|
-
return ok(await promise);
|
|
2581
|
-
} catch (error) {
|
|
2582
|
-
return err(toCimplifyError8(error));
|
|
2583
|
-
}
|
|
2584
|
-
}
|
|
2585
2489
|
var InventoryService = class {
|
|
2586
2490
|
constructor(client) {
|
|
2587
2491
|
this.client = client;
|
|
@@ -2600,14 +2504,14 @@ var InventoryService = class {
|
|
|
2600
2504
|
const path = this.withQuery(`/api/v1/inventory/products/${encodedId}/stock`, {
|
|
2601
2505
|
location_id: locationId
|
|
2602
2506
|
});
|
|
2603
|
-
return
|
|
2507
|
+
return safe(this.client.get(path));
|
|
2604
2508
|
}
|
|
2605
2509
|
async getVariantStock(variantId, locationId) {
|
|
2606
2510
|
const encodedId = encodeURIComponent(variantId);
|
|
2607
2511
|
const path = this.withQuery(`/api/v1/inventory/variants/${encodedId}/stock`, {
|
|
2608
2512
|
location_id: locationId
|
|
2609
2513
|
});
|
|
2610
|
-
return
|
|
2514
|
+
return safe(this.client.get(path));
|
|
2611
2515
|
}
|
|
2612
2516
|
async checkProductAvailability(productId, quantity, locationId) {
|
|
2613
2517
|
const encodedId = encodeURIComponent(productId);
|
|
@@ -2615,7 +2519,7 @@ var InventoryService = class {
|
|
|
2615
2519
|
quantity,
|
|
2616
2520
|
location_id: locationId
|
|
2617
2521
|
});
|
|
2618
|
-
return
|
|
2522
|
+
return safe(this.client.get(path));
|
|
2619
2523
|
}
|
|
2620
2524
|
async checkVariantAvailability(variantId, quantity, locationId) {
|
|
2621
2525
|
const encodedId = encodeURIComponent(variantId);
|
|
@@ -2623,7 +2527,7 @@ var InventoryService = class {
|
|
|
2623
2527
|
quantity,
|
|
2624
2528
|
location_id: locationId
|
|
2625
2529
|
});
|
|
2626
|
-
return
|
|
2530
|
+
return safe(this.client.get(path));
|
|
2627
2531
|
}
|
|
2628
2532
|
async checkMultipleAvailability(items, locationId) {
|
|
2629
2533
|
const results = await Promise.all(
|
|
@@ -2649,20 +2553,6 @@ var InventoryService = class {
|
|
|
2649
2553
|
};
|
|
2650
2554
|
|
|
2651
2555
|
// src/scheduling.ts
|
|
2652
|
-
function toCimplifyError9(error) {
|
|
2653
|
-
if (error instanceof CimplifyError) return error;
|
|
2654
|
-
if (error instanceof Error) {
|
|
2655
|
-
return new CimplifyError("UNKNOWN_ERROR", error.message, false);
|
|
2656
|
-
}
|
|
2657
|
-
return new CimplifyError("UNKNOWN_ERROR", String(error), false);
|
|
2658
|
-
}
|
|
2659
|
-
async function safe9(promise) {
|
|
2660
|
-
try {
|
|
2661
|
-
return ok(await promise);
|
|
2662
|
-
} catch (error) {
|
|
2663
|
-
return err(toCimplifyError9(error));
|
|
2664
|
-
}
|
|
2665
|
-
}
|
|
2666
2556
|
function withQuery2(path, params) {
|
|
2667
2557
|
const searchParams = new URLSearchParams();
|
|
2668
2558
|
for (const [key, value] of Object.entries(params)) {
|
|
@@ -2680,11 +2570,11 @@ var SchedulingService = class {
|
|
|
2680
2570
|
this.client = client;
|
|
2681
2571
|
}
|
|
2682
2572
|
async getServices() {
|
|
2683
|
-
return
|
|
2573
|
+
return safe(this.client.get("/api/v1/scheduling/services"));
|
|
2684
2574
|
}
|
|
2685
2575
|
async getService(serviceId) {
|
|
2686
2576
|
const encodedId = encodeURIComponent(serviceId);
|
|
2687
|
-
return
|
|
2577
|
+
return safe(this.client.get(`/api/v1/scheduling/services/${encodedId}`));
|
|
2688
2578
|
}
|
|
2689
2579
|
async getAvailableSlots(input) {
|
|
2690
2580
|
const path = withQuery2("/api/v1/scheduling/slots", {
|
|
@@ -2693,7 +2583,7 @@ var SchedulingService = class {
|
|
|
2693
2583
|
participant_count: input.participant_count,
|
|
2694
2584
|
duration_minutes: input.duration_minutes
|
|
2695
2585
|
});
|
|
2696
|
-
return
|
|
2586
|
+
return safe(this.client.get(path));
|
|
2697
2587
|
}
|
|
2698
2588
|
async checkSlotAvailability(input) {
|
|
2699
2589
|
const path = withQuery2("/api/v1/scheduling/slots/check", {
|
|
@@ -2702,7 +2592,7 @@ var SchedulingService = class {
|
|
|
2702
2592
|
duration_minutes: input.duration_minutes,
|
|
2703
2593
|
participant_count: input.participant_count
|
|
2704
2594
|
});
|
|
2705
|
-
return
|
|
2595
|
+
return safe(this.client.get(path));
|
|
2706
2596
|
}
|
|
2707
2597
|
async getServiceAvailability(params) {
|
|
2708
2598
|
const path = withQuery2("/api/v1/scheduling/availability", {
|
|
@@ -2712,17 +2602,17 @@ var SchedulingService = class {
|
|
|
2712
2602
|
location_id: params.location_id,
|
|
2713
2603
|
participant_count: params.participant_count
|
|
2714
2604
|
});
|
|
2715
|
-
return
|
|
2605
|
+
return safe(this.client.get(path));
|
|
2716
2606
|
}
|
|
2717
2607
|
async getBooking(bookingId) {
|
|
2718
2608
|
const encodedId = encodeURIComponent(bookingId);
|
|
2719
|
-
return
|
|
2609
|
+
return safe(this.client.get(`/api/v1/scheduling/bookings/${encodedId}`));
|
|
2720
2610
|
}
|
|
2721
2611
|
async getCustomerBookings(customerId) {
|
|
2722
2612
|
const path = withQuery2("/api/v1/scheduling/bookings", {
|
|
2723
2613
|
customer_id: customerId
|
|
2724
2614
|
});
|
|
2725
|
-
return
|
|
2615
|
+
return safe(this.client.get(path));
|
|
2726
2616
|
}
|
|
2727
2617
|
async getUpcomingBookings() {
|
|
2728
2618
|
const result = await this.getCustomerBookings();
|
|
@@ -2741,14 +2631,14 @@ var SchedulingService = class {
|
|
|
2741
2631
|
}
|
|
2742
2632
|
async cancelBooking(input) {
|
|
2743
2633
|
const encodedId = encodeURIComponent(input.booking_id);
|
|
2744
|
-
return
|
|
2634
|
+
return safe(
|
|
2745
2635
|
this.client.post(`/api/v1/scheduling/bookings/${encodedId}/cancel`, {
|
|
2746
2636
|
reason: input.reason
|
|
2747
2637
|
})
|
|
2748
2638
|
);
|
|
2749
2639
|
}
|
|
2750
2640
|
async rescheduleBooking(input) {
|
|
2751
|
-
return
|
|
2641
|
+
return safe(
|
|
2752
2642
|
this.client.post("/api/v1/scheduling/bookings/reschedule", input)
|
|
2753
2643
|
);
|
|
2754
2644
|
}
|
|
@@ -2772,65 +2662,37 @@ var SchedulingService = class {
|
|
|
2772
2662
|
};
|
|
2773
2663
|
|
|
2774
2664
|
// src/lite.ts
|
|
2775
|
-
function toCimplifyError10(error) {
|
|
2776
|
-
if (error instanceof CimplifyError) return error;
|
|
2777
|
-
if (error instanceof Error) {
|
|
2778
|
-
return new CimplifyError("UNKNOWN_ERROR", error.message, false);
|
|
2779
|
-
}
|
|
2780
|
-
return new CimplifyError("UNKNOWN_ERROR", String(error), false);
|
|
2781
|
-
}
|
|
2782
|
-
async function safe10(promise) {
|
|
2783
|
-
try {
|
|
2784
|
-
return ok(await promise);
|
|
2785
|
-
} catch (error) {
|
|
2786
|
-
return err(toCimplifyError10(error));
|
|
2787
|
-
}
|
|
2788
|
-
}
|
|
2789
2665
|
var LiteService = class {
|
|
2790
2666
|
constructor(client) {
|
|
2791
2667
|
this.client = client;
|
|
2792
2668
|
}
|
|
2793
2669
|
async getBootstrap() {
|
|
2794
|
-
return
|
|
2670
|
+
return safe(this.client.get("/api/v1/lite/bootstrap"));
|
|
2795
2671
|
}
|
|
2796
2672
|
async getTable(tableId) {
|
|
2797
2673
|
const encodedId = encodeURIComponent(tableId);
|
|
2798
|
-
return
|
|
2674
|
+
return safe(this.client.get(`/api/v1/lite/tables/${encodedId}`));
|
|
2799
2675
|
}
|
|
2800
2676
|
async getMenu() {
|
|
2801
|
-
return
|
|
2677
|
+
return safe(this.client.get("/api/v1/lite/menu"));
|
|
2802
2678
|
}
|
|
2803
2679
|
async getMenuByCategory(categoryId) {
|
|
2804
2680
|
const encodedId = encodeURIComponent(categoryId);
|
|
2805
|
-
return
|
|
2681
|
+
return safe(this.client.get(`/api/v1/lite/menu/categories/${encodedId}`));
|
|
2806
2682
|
}
|
|
2807
2683
|
};
|
|
2808
2684
|
|
|
2809
2685
|
// src/fx.ts
|
|
2810
|
-
function toCimplifyError11(error) {
|
|
2811
|
-
if (error instanceof CimplifyError) return error;
|
|
2812
|
-
if (error instanceof Error) {
|
|
2813
|
-
return new CimplifyError("UNKNOWN_ERROR", error.message, false);
|
|
2814
|
-
}
|
|
2815
|
-
return new CimplifyError("UNKNOWN_ERROR", String(error), false);
|
|
2816
|
-
}
|
|
2817
|
-
async function safe11(promise) {
|
|
2818
|
-
try {
|
|
2819
|
-
return ok(await promise);
|
|
2820
|
-
} catch (error) {
|
|
2821
|
-
return err(toCimplifyError11(error));
|
|
2822
|
-
}
|
|
2823
|
-
}
|
|
2824
2686
|
var FxService = class {
|
|
2825
2687
|
constructor(client) {
|
|
2826
2688
|
this.client = client;
|
|
2827
2689
|
}
|
|
2828
2690
|
async getRate(from, to) {
|
|
2829
2691
|
const path = `/api/v1/fx/rate?from=${encodeURIComponent(from)}&to=${encodeURIComponent(to)}`;
|
|
2830
|
-
return
|
|
2692
|
+
return safe(this.client.get(path));
|
|
2831
2693
|
}
|
|
2832
2694
|
async lockQuote(request) {
|
|
2833
|
-
return
|
|
2695
|
+
return safe(this.client.post("/api/v1/fx/quotes", request));
|
|
2834
2696
|
}
|
|
2835
2697
|
};
|
|
2836
2698
|
|
|
@@ -2985,6 +2847,11 @@ var CimplifyElements = class {
|
|
|
2985
2847
|
window.addEventListener("message", this.boundHandleMessage);
|
|
2986
2848
|
}
|
|
2987
2849
|
}
|
|
2850
|
+
debug(...args) {
|
|
2851
|
+
if (this.client.isTestMode()) {
|
|
2852
|
+
console.debug(...args);
|
|
2853
|
+
}
|
|
2854
|
+
}
|
|
2988
2855
|
create(type, options = {}) {
|
|
2989
2856
|
const existing = this.elements.get(type);
|
|
2990
2857
|
if (existing) return existing;
|
|
@@ -3039,9 +2906,9 @@ var CimplifyElements = class {
|
|
|
3039
2906
|
processCheckout(options) {
|
|
3040
2907
|
let abortFn = null;
|
|
3041
2908
|
const task = (async () => {
|
|
3042
|
-
|
|
2909
|
+
this.debug("[cimplify:checkout] processCheckout called", { cart_id: options.cart_id, order_type: options.order_type, location_id: options.location_id });
|
|
3043
2910
|
if (this.checkoutInProgress) {
|
|
3044
|
-
|
|
2911
|
+
this.debug("[cimplify:checkout] BLOCKED: already processing");
|
|
3045
2912
|
return toCheckoutError(
|
|
3046
2913
|
"ALREADY_PROCESSING",
|
|
3047
2914
|
"Checkout is already in progress.",
|
|
@@ -3050,7 +2917,7 @@ var CimplifyElements = class {
|
|
|
3050
2917
|
}
|
|
3051
2918
|
this.checkoutInProgress = true;
|
|
3052
2919
|
if (!options.cart_id) {
|
|
3053
|
-
|
|
2920
|
+
this.debug("[cimplify:checkout] BLOCKED: no cart_id");
|
|
3054
2921
|
this.checkoutInProgress = false;
|
|
3055
2922
|
return toCheckoutError(
|
|
3056
2923
|
"INVALID_CART",
|
|
@@ -3059,7 +2926,7 @@ var CimplifyElements = class {
|
|
|
3059
2926
|
);
|
|
3060
2927
|
}
|
|
3061
2928
|
if (!options.order_type) {
|
|
3062
|
-
|
|
2929
|
+
this.debug("[cimplify:checkout] BLOCKED: no order_type");
|
|
3063
2930
|
this.checkoutInProgress = false;
|
|
3064
2931
|
return toCheckoutError(
|
|
3065
2932
|
"ORDER_TYPE_REQUIRED",
|
|
@@ -3069,7 +2936,7 @@ var CimplifyElements = class {
|
|
|
3069
2936
|
}
|
|
3070
2937
|
const checkoutElement = this.elements.get(ELEMENT_TYPES.CHECKOUT) || this.elements.get(ELEMENT_TYPES.PAYMENT);
|
|
3071
2938
|
if (!checkoutElement) {
|
|
3072
|
-
|
|
2939
|
+
this.debug("[cimplify:checkout] BLOCKED: no checkout element");
|
|
3073
2940
|
this.checkoutInProgress = false;
|
|
3074
2941
|
return toCheckoutError(
|
|
3075
2942
|
"NO_PAYMENT_ELEMENT",
|
|
@@ -3078,7 +2945,7 @@ var CimplifyElements = class {
|
|
|
3078
2945
|
);
|
|
3079
2946
|
}
|
|
3080
2947
|
if (!checkoutElement.isMounted()) {
|
|
3081
|
-
|
|
2948
|
+
this.debug("[cimplify:checkout] BLOCKED: checkout element not mounted");
|
|
3082
2949
|
this.checkoutInProgress = false;
|
|
3083
2950
|
return toCheckoutError(
|
|
3084
2951
|
"PAYMENT_NOT_MOUNTED",
|
|
@@ -3090,7 +2957,7 @@ var CimplifyElements = class {
|
|
|
3090
2957
|
if (!isUnifiedCheckout) {
|
|
3091
2958
|
const authElement = this.elements.get(ELEMENT_TYPES.AUTH);
|
|
3092
2959
|
if (authElement && !this.accessToken) {
|
|
3093
|
-
|
|
2960
|
+
this.debug("[cimplify:checkout] BLOCKED: auth incomplete");
|
|
3094
2961
|
this.checkoutInProgress = false;
|
|
3095
2962
|
return toCheckoutError(
|
|
3096
2963
|
"AUTH_INCOMPLETE",
|
|
@@ -3100,13 +2967,13 @@ var CimplifyElements = class {
|
|
|
3100
2967
|
}
|
|
3101
2968
|
const addressElement = this.elements.get(ELEMENT_TYPES.ADDRESS);
|
|
3102
2969
|
if (addressElement) {
|
|
3103
|
-
|
|
2970
|
+
this.debug("[cimplify:checkout] getting address data...");
|
|
3104
2971
|
await addressElement.getData();
|
|
3105
|
-
|
|
2972
|
+
this.debug("[cimplify:checkout] address data resolved", this.addressData);
|
|
3106
2973
|
}
|
|
3107
2974
|
await this.hydrateCustomerData();
|
|
3108
2975
|
}
|
|
3109
|
-
|
|
2976
|
+
this.debug("[cimplify:checkout] customer data hydrated", { customerData: this.customerData, accountId: this.accountId, isUnifiedCheckout });
|
|
3110
2977
|
const processMessage = {
|
|
3111
2978
|
type: MESSAGE_TYPES.PROCESS_CHECKOUT,
|
|
3112
2979
|
cart_id: options.cart_id,
|
|
@@ -3182,7 +3049,7 @@ var CimplifyElements = class {
|
|
|
3182
3049
|
return;
|
|
3183
3050
|
}
|
|
3184
3051
|
if (message.type === MESSAGE_TYPES.CHECKOUT_COMPLETE) {
|
|
3185
|
-
|
|
3052
|
+
this.debug("[cimplify:checkout] received checkout_complete", { success: message.success, error: message.error });
|
|
3186
3053
|
settle({
|
|
3187
3054
|
success: message.success,
|
|
3188
3055
|
order: message.order,
|
|
@@ -3205,9 +3072,9 @@ var CimplifyElements = class {
|
|
|
3205
3072
|
);
|
|
3206
3073
|
};
|
|
3207
3074
|
this.activeCheckoutAbort = abortFn;
|
|
3208
|
-
|
|
3075
|
+
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 });
|
|
3209
3076
|
checkoutElement.sendMessage(processMessage);
|
|
3210
|
-
|
|
3077
|
+
this.debug("[cimplify:checkout] postMessage sent, waiting for checkout_complete...");
|
|
3211
3078
|
});
|
|
3212
3079
|
})();
|
|
3213
3080
|
const abortable = task;
|