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