@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.js
CHANGED
|
@@ -554,7 +554,7 @@ function err(error) {
|
|
|
554
554
|
return { ok: false, error };
|
|
555
555
|
}
|
|
556
556
|
|
|
557
|
-
// src/
|
|
557
|
+
// src/internal/safe.ts
|
|
558
558
|
function toCimplifyError(error) {
|
|
559
559
|
if (error instanceof CimplifyError) return enrichError(error);
|
|
560
560
|
if (error instanceof Error) {
|
|
@@ -569,6 +569,8 @@ async function safe(promise) {
|
|
|
569
569
|
return err(toCimplifyError(error));
|
|
570
570
|
}
|
|
571
571
|
}
|
|
572
|
+
|
|
573
|
+
// src/catalogue.ts
|
|
572
574
|
function withQuery(path, params) {
|
|
573
575
|
const query = new URLSearchParams();
|
|
574
576
|
for (const [key, value] of Object.entries(params)) {
|
|
@@ -938,20 +940,6 @@ var CatalogueQueries = class {
|
|
|
938
940
|
};
|
|
939
941
|
|
|
940
942
|
// src/cart.ts
|
|
941
|
-
function toCimplifyError2(error) {
|
|
942
|
-
if (error instanceof CimplifyError) return enrichError(error);
|
|
943
|
-
if (error instanceof Error) {
|
|
944
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
|
|
945
|
-
}
|
|
946
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
|
|
947
|
-
}
|
|
948
|
-
async function safe2(promise) {
|
|
949
|
-
try {
|
|
950
|
-
return ok(await promise);
|
|
951
|
-
} catch (error) {
|
|
952
|
-
return err(toCimplifyError2(error));
|
|
953
|
-
}
|
|
954
|
-
}
|
|
955
943
|
function isUICartResponse(value) {
|
|
956
944
|
return "cart" in value;
|
|
957
945
|
}
|
|
@@ -963,21 +951,21 @@ var CartOperations = class {
|
|
|
963
951
|
this.client = client;
|
|
964
952
|
}
|
|
965
953
|
async get() {
|
|
966
|
-
const result = await
|
|
954
|
+
const result = await safe(this.client.get("/api/v1/cart"));
|
|
967
955
|
if (!result.ok) return result;
|
|
968
956
|
return ok(unwrapEnrichedCart(result.value));
|
|
969
957
|
}
|
|
970
958
|
async getRaw() {
|
|
971
|
-
return
|
|
959
|
+
return safe(this.client.get("/api/v1/cart"));
|
|
972
960
|
}
|
|
973
961
|
async getItems() {
|
|
974
|
-
return
|
|
962
|
+
return safe(this.client.get("/api/v1/cart/items"));
|
|
975
963
|
}
|
|
976
964
|
async getCount() {
|
|
977
|
-
return
|
|
965
|
+
return safe(this.client.get("/api/v1/cart/count"));
|
|
978
966
|
}
|
|
979
967
|
async getTotal() {
|
|
980
|
-
return
|
|
968
|
+
return safe(this.client.get("/api/v1/cart/total"));
|
|
981
969
|
}
|
|
982
970
|
async getSummary() {
|
|
983
971
|
const cartResult = await this.get();
|
|
@@ -994,18 +982,18 @@ var CartOperations = class {
|
|
|
994
982
|
});
|
|
995
983
|
}
|
|
996
984
|
async addItem(input) {
|
|
997
|
-
return
|
|
985
|
+
return safe(this.client.post("/api/v1/cart/items", input));
|
|
998
986
|
}
|
|
999
987
|
async updateItem(cartItemId, updates) {
|
|
1000
988
|
if (typeof updates.quantity === "number") {
|
|
1001
989
|
return this.updateQuantity(cartItemId, updates.quantity);
|
|
1002
990
|
}
|
|
1003
991
|
const encodedId = encodeURIComponent(cartItemId);
|
|
1004
|
-
return
|
|
992
|
+
return safe(this.client.patch(`/api/v1/cart/items/${encodedId}`, updates));
|
|
1005
993
|
}
|
|
1006
994
|
async updateQuantity(cartItemId, quantity) {
|
|
1007
995
|
const encodedId = encodeURIComponent(cartItemId);
|
|
1008
|
-
return
|
|
996
|
+
return safe(
|
|
1009
997
|
this.client.patch(`/api/v1/cart/items/${encodedId}`, {
|
|
1010
998
|
quantity
|
|
1011
999
|
})
|
|
@@ -1013,20 +1001,20 @@ var CartOperations = class {
|
|
|
1013
1001
|
}
|
|
1014
1002
|
async removeItem(cartItemId) {
|
|
1015
1003
|
const encodedId = encodeURIComponent(cartItemId);
|
|
1016
|
-
return
|
|
1004
|
+
return safe(this.client.delete(`/api/v1/cart/items/${encodedId}`));
|
|
1017
1005
|
}
|
|
1018
1006
|
async clear() {
|
|
1019
|
-
return
|
|
1007
|
+
return safe(this.client.delete("/api/v1/cart"));
|
|
1020
1008
|
}
|
|
1021
1009
|
async applyCoupon(code) {
|
|
1022
|
-
return
|
|
1010
|
+
return safe(
|
|
1023
1011
|
this.client.post("/api/v1/cart/coupons", {
|
|
1024
1012
|
coupon_code: code
|
|
1025
1013
|
})
|
|
1026
1014
|
);
|
|
1027
1015
|
}
|
|
1028
1016
|
async removeCoupon() {
|
|
1029
|
-
return
|
|
1017
|
+
return safe(this.client.delete("/api/v1/cart/coupons/current"));
|
|
1030
1018
|
}
|
|
1031
1019
|
async isEmpty() {
|
|
1032
1020
|
const countResult = await this.getCount();
|
|
@@ -1451,9 +1439,16 @@ function isValidMobileMoneyProvider(value) {
|
|
|
1451
1439
|
return VALID_MOBILE_MONEY_PROVIDERS.has(value);
|
|
1452
1440
|
}
|
|
1453
1441
|
function normalizeAuthorizationType(value) {
|
|
1442
|
+
if (value && typeof value === "object" && "address" in value) {
|
|
1443
|
+
return "address";
|
|
1444
|
+
}
|
|
1454
1445
|
if (typeof value !== "string") return void 0;
|
|
1455
|
-
const
|
|
1456
|
-
|
|
1446
|
+
const normalized = value.trim().toLowerCase().replace(/[\s-]+/g, "_");
|
|
1447
|
+
if (normalized === "otp" || normalized === "pin") return normalized;
|
|
1448
|
+
if (normalized === "phone" || normalized === "birthday" || normalized === "address") {
|
|
1449
|
+
return normalized;
|
|
1450
|
+
}
|
|
1451
|
+
return void 0;
|
|
1457
1452
|
}
|
|
1458
1453
|
function formatMoney2(value) {
|
|
1459
1454
|
if (typeof value === "number" && Number.isFinite(value)) {
|
|
@@ -2024,20 +2019,6 @@ var CheckoutResolver = class {
|
|
|
2024
2019
|
};
|
|
2025
2020
|
|
|
2026
2021
|
// src/checkout.ts
|
|
2027
|
-
function toCimplifyError3(error) {
|
|
2028
|
-
if (error instanceof CimplifyError) return enrichError(error);
|
|
2029
|
-
if (error instanceof Error) {
|
|
2030
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
|
|
2031
|
-
}
|
|
2032
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
|
|
2033
|
-
}
|
|
2034
|
-
async function safe3(promise) {
|
|
2035
|
-
try {
|
|
2036
|
-
return ok(await promise);
|
|
2037
|
-
} catch (error) {
|
|
2038
|
-
return err(toCimplifyError3(error));
|
|
2039
|
-
}
|
|
2040
|
-
}
|
|
2041
2022
|
function toTerminalFailure(code, message, recoverable) {
|
|
2042
2023
|
return {
|
|
2043
2024
|
success: false,
|
|
@@ -2069,7 +2050,7 @@ var CheckoutService = class {
|
|
|
2069
2050
|
...data,
|
|
2070
2051
|
idempotency_key: data.idempotency_key || generateIdempotencyKey()
|
|
2071
2052
|
};
|
|
2072
|
-
const result = await
|
|
2053
|
+
const result = await safe(
|
|
2073
2054
|
this.client.post("/api/v1/checkout", {
|
|
2074
2055
|
checkout_data: checkoutData
|
|
2075
2056
|
})
|
|
@@ -2089,22 +2070,22 @@ var CheckoutService = class {
|
|
|
2089
2070
|
);
|
|
2090
2071
|
}
|
|
2091
2072
|
async submitAuthorization(input) {
|
|
2092
|
-
return
|
|
2073
|
+
return safe(this.client.post("/api/v1/payments/authorization", input));
|
|
2093
2074
|
}
|
|
2094
2075
|
async pollPaymentStatus(orderId) {
|
|
2095
2076
|
const encodedId = encodeURIComponent(orderId);
|
|
2096
2077
|
const tokenParam = this.orderTokenParam(orderId);
|
|
2097
|
-
return
|
|
2078
|
+
return safe(this.client.get(`/api/v1/orders/${encodedId}/payment-status${tokenParam}`));
|
|
2098
2079
|
}
|
|
2099
2080
|
async updateOrderCustomer(orderId, customer) {
|
|
2100
2081
|
const encodedId = encodeURIComponent(orderId);
|
|
2101
2082
|
const tokenParam = this.orderTokenParam(orderId);
|
|
2102
|
-
return
|
|
2083
|
+
return safe(this.client.post(`/api/v1/orders/${encodedId}/customer${tokenParam}`, customer));
|
|
2103
2084
|
}
|
|
2104
2085
|
async verifyPayment(orderId) {
|
|
2105
2086
|
const encodedId = encodeURIComponent(orderId);
|
|
2106
2087
|
const tokenParam = this.orderTokenParam(orderId);
|
|
2107
|
-
return
|
|
2088
|
+
return safe(this.client.post(`/api/v1/orders/${encodedId}/verify-payment${tokenParam}`));
|
|
2108
2089
|
}
|
|
2109
2090
|
async processAndResolve(data) {
|
|
2110
2091
|
data.on_status_change?.("preparing", {});
|
|
@@ -2209,20 +2190,6 @@ var CheckoutService = class {
|
|
|
2209
2190
|
};
|
|
2210
2191
|
|
|
2211
2192
|
// src/orders.ts
|
|
2212
|
-
function toCimplifyError4(error) {
|
|
2213
|
-
if (error instanceof CimplifyError) return enrichError(error);
|
|
2214
|
-
if (error instanceof Error) {
|
|
2215
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
|
|
2216
|
-
}
|
|
2217
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
|
|
2218
|
-
}
|
|
2219
|
-
async function safe4(promise) {
|
|
2220
|
-
try {
|
|
2221
|
-
return ok(await promise);
|
|
2222
|
-
} catch (error) {
|
|
2223
|
-
return err(toCimplifyError4(error));
|
|
2224
|
-
}
|
|
2225
|
-
}
|
|
2226
2193
|
var OrderQueries = class {
|
|
2227
2194
|
constructor(client) {
|
|
2228
2195
|
this.client = client;
|
|
@@ -2237,12 +2204,12 @@ var OrderQueries = class {
|
|
|
2237
2204
|
if (options?.limit) params.set("limit", String(options.limit));
|
|
2238
2205
|
if (options?.offset) params.set("offset", String(options.offset));
|
|
2239
2206
|
const path = params.toString() ? `/api/v1/orders?${params.toString()}` : "/api/v1/orders";
|
|
2240
|
-
return
|
|
2207
|
+
return safe(this.client.get(path));
|
|
2241
2208
|
}
|
|
2242
2209
|
async get(orderId) {
|
|
2243
2210
|
const encodedId = encodeURIComponent(orderId);
|
|
2244
2211
|
const tokenParam = this.orderTokenParam(orderId);
|
|
2245
|
-
return
|
|
2212
|
+
return safe(this.client.get(`/api/v1/orders/${encodedId}${tokenParam}`));
|
|
2246
2213
|
}
|
|
2247
2214
|
async getRecent(limit = 5) {
|
|
2248
2215
|
return this.list({ limit });
|
|
@@ -2253,7 +2220,7 @@ var OrderQueries = class {
|
|
|
2253
2220
|
async cancel(orderId, reason) {
|
|
2254
2221
|
const encodedId = encodeURIComponent(orderId);
|
|
2255
2222
|
const tokenParam = this.orderTokenParam(orderId);
|
|
2256
|
-
return
|
|
2223
|
+
return safe(
|
|
2257
2224
|
this.client.post(`/api/v1/orders/${encodedId}/cancel${tokenParam}`, {
|
|
2258
2225
|
reason
|
|
2259
2226
|
})
|
|
@@ -2262,20 +2229,6 @@ var OrderQueries = class {
|
|
|
2262
2229
|
};
|
|
2263
2230
|
|
|
2264
2231
|
// src/link.ts
|
|
2265
|
-
function toCimplifyError5(error) {
|
|
2266
|
-
if (error instanceof CimplifyError) return error;
|
|
2267
|
-
if (error instanceof Error) {
|
|
2268
|
-
return new CimplifyError("UNKNOWN_ERROR", error.message, false);
|
|
2269
|
-
}
|
|
2270
|
-
return new CimplifyError("UNKNOWN_ERROR", String(error), false);
|
|
2271
|
-
}
|
|
2272
|
-
async function safe5(promise) {
|
|
2273
|
-
try {
|
|
2274
|
-
return ok(await promise);
|
|
2275
|
-
} catch (error) {
|
|
2276
|
-
return err(toCimplifyError5(error));
|
|
2277
|
-
}
|
|
2278
|
-
}
|
|
2279
2232
|
function encodePathSegment(value) {
|
|
2280
2233
|
return encodeURIComponent(value);
|
|
2281
2234
|
}
|
|
@@ -2313,13 +2266,13 @@ var LinkService = class {
|
|
|
2313
2266
|
this.client = client;
|
|
2314
2267
|
}
|
|
2315
2268
|
async getProfile() {
|
|
2316
|
-
return
|
|
2269
|
+
return safe(this.client.linkGet("/v1/link/profile"));
|
|
2317
2270
|
}
|
|
2318
2271
|
async requestOtp(input) {
|
|
2319
|
-
return
|
|
2272
|
+
return safe(this.client.linkPost("/v1/link/auth/request-otp", input));
|
|
2320
2273
|
}
|
|
2321
2274
|
async verifyOtp(input) {
|
|
2322
|
-
const result = await
|
|
2275
|
+
const result = await safe(
|
|
2323
2276
|
this.client.linkPost("/v1/link/auth/verify-otp", input)
|
|
2324
2277
|
);
|
|
2325
2278
|
if (result.ok && result.value.session_token) {
|
|
@@ -2328,45 +2281,45 @@ var LinkService = class {
|
|
|
2328
2281
|
return result;
|
|
2329
2282
|
}
|
|
2330
2283
|
async logout() {
|
|
2331
|
-
const result = await
|
|
2284
|
+
const result = await safe(this.client.linkPost("/v1/link/auth/logout"));
|
|
2332
2285
|
if (result.ok) {
|
|
2333
2286
|
this.client.clearSession();
|
|
2334
2287
|
}
|
|
2335
2288
|
return result;
|
|
2336
2289
|
}
|
|
2337
2290
|
async checkStatus(contact) {
|
|
2338
|
-
return
|
|
2291
|
+
return safe(this.client.linkPost("/v1/link/check-status", { contact }));
|
|
2339
2292
|
}
|
|
2340
2293
|
async getLinkData() {
|
|
2341
|
-
return
|
|
2294
|
+
return safe(this.client.linkGet("/v1/link/data"));
|
|
2342
2295
|
}
|
|
2343
2296
|
async getAddresses() {
|
|
2344
|
-
return
|
|
2297
|
+
return safe(this.client.linkGet("/v1/link/addresses"));
|
|
2345
2298
|
}
|
|
2346
2299
|
async getMobileMoney() {
|
|
2347
|
-
return
|
|
2300
|
+
return safe(this.client.linkGet("/v1/link/mobile-money"));
|
|
2348
2301
|
}
|
|
2349
2302
|
async getPreferences() {
|
|
2350
|
-
return
|
|
2303
|
+
return safe(this.client.linkGet("/v1/link/preferences"));
|
|
2351
2304
|
}
|
|
2352
2305
|
async enroll(data) {
|
|
2353
|
-
return
|
|
2306
|
+
return safe(this.client.linkPost("/v1/link/enroll", data));
|
|
2354
2307
|
}
|
|
2355
2308
|
async enrollAndLinkOrder(data) {
|
|
2356
|
-
return
|
|
2309
|
+
return safe(
|
|
2357
2310
|
this.client.linkPost("/v1/link/enroll-and-link-order", data)
|
|
2358
2311
|
);
|
|
2359
2312
|
}
|
|
2360
2313
|
async updatePreferences(preferences) {
|
|
2361
|
-
return
|
|
2314
|
+
return safe(this.client.linkPost("/v1/link/preferences", preferences));
|
|
2362
2315
|
}
|
|
2363
2316
|
async createAddress(input) {
|
|
2364
|
-
return
|
|
2317
|
+
return safe(
|
|
2365
2318
|
this.client.linkPost("/v1/link/addresses", toCreateAddressPayload(input))
|
|
2366
2319
|
);
|
|
2367
2320
|
}
|
|
2368
2321
|
async updateAddress(input) {
|
|
2369
|
-
return
|
|
2322
|
+
return safe(
|
|
2370
2323
|
this.client.linkPost(
|
|
2371
2324
|
`/v1/link/addresses/${encodePathSegment(input.address_id)}`,
|
|
2372
2325
|
toUpdateAddressPayload(input)
|
|
@@ -2374,26 +2327,26 @@ var LinkService = class {
|
|
|
2374
2327
|
);
|
|
2375
2328
|
}
|
|
2376
2329
|
async deleteAddress(addressId) {
|
|
2377
|
-
return
|
|
2330
|
+
return safe(
|
|
2378
2331
|
this.client.linkDelete(`/v1/link/addresses/${encodePathSegment(addressId)}`)
|
|
2379
2332
|
);
|
|
2380
2333
|
}
|
|
2381
2334
|
async setDefaultAddress(addressId) {
|
|
2382
|
-
return
|
|
2335
|
+
return safe(
|
|
2383
2336
|
this.client.linkPost(
|
|
2384
2337
|
`/v1/link/addresses/${encodePathSegment(addressId)}/default`
|
|
2385
2338
|
)
|
|
2386
2339
|
);
|
|
2387
2340
|
}
|
|
2388
2341
|
async trackAddressUsage(addressId) {
|
|
2389
|
-
return
|
|
2342
|
+
return safe(
|
|
2390
2343
|
this.client.linkPost(
|
|
2391
2344
|
`/v1/link/addresses/${encodePathSegment(addressId)}/track-usage`
|
|
2392
2345
|
)
|
|
2393
2346
|
);
|
|
2394
2347
|
}
|
|
2395
2348
|
async createMobileMoney(input) {
|
|
2396
|
-
return
|
|
2349
|
+
return safe(
|
|
2397
2350
|
this.client.linkPost(
|
|
2398
2351
|
"/v1/link/mobile-money",
|
|
2399
2352
|
toCreateMobileMoneyPayload(input)
|
|
@@ -2401,65 +2354,51 @@ var LinkService = class {
|
|
|
2401
2354
|
);
|
|
2402
2355
|
}
|
|
2403
2356
|
async deleteMobileMoney(mobileMoneyId) {
|
|
2404
|
-
return
|
|
2357
|
+
return safe(
|
|
2405
2358
|
this.client.linkDelete(
|
|
2406
2359
|
`/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}`
|
|
2407
2360
|
)
|
|
2408
2361
|
);
|
|
2409
2362
|
}
|
|
2410
2363
|
async setDefaultMobileMoney(mobileMoneyId) {
|
|
2411
|
-
return
|
|
2364
|
+
return safe(
|
|
2412
2365
|
this.client.linkPost(
|
|
2413
2366
|
`/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}/default`
|
|
2414
2367
|
)
|
|
2415
2368
|
);
|
|
2416
2369
|
}
|
|
2417
2370
|
async trackMobileMoneyUsage(mobileMoneyId) {
|
|
2418
|
-
return
|
|
2371
|
+
return safe(
|
|
2419
2372
|
this.client.linkPost(
|
|
2420
2373
|
`/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}/track-usage`
|
|
2421
2374
|
)
|
|
2422
2375
|
);
|
|
2423
2376
|
}
|
|
2424
2377
|
async verifyMobileMoney(mobileMoneyId) {
|
|
2425
|
-
return
|
|
2378
|
+
return safe(
|
|
2426
2379
|
this.client.linkPost(
|
|
2427
2380
|
`/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}/verify`
|
|
2428
2381
|
)
|
|
2429
2382
|
);
|
|
2430
2383
|
}
|
|
2431
2384
|
async getSessions() {
|
|
2432
|
-
return
|
|
2385
|
+
return safe(this.client.linkGet("/v1/link/sessions"));
|
|
2433
2386
|
}
|
|
2434
2387
|
async revokeSession(sessionId) {
|
|
2435
|
-
return
|
|
2388
|
+
return safe(this.client.linkDelete(`/v1/link/sessions/${sessionId}`));
|
|
2436
2389
|
}
|
|
2437
2390
|
async revokeAllSessions() {
|
|
2438
|
-
return
|
|
2391
|
+
return safe(this.client.linkDelete("/v1/link/sessions"));
|
|
2439
2392
|
}
|
|
2440
2393
|
};
|
|
2441
2394
|
|
|
2442
2395
|
// src/auth.ts
|
|
2443
|
-
function toCimplifyError6(error) {
|
|
2444
|
-
if (error instanceof CimplifyError) return error;
|
|
2445
|
-
if (error instanceof Error) {
|
|
2446
|
-
return new CimplifyError("UNKNOWN_ERROR", error.message, false);
|
|
2447
|
-
}
|
|
2448
|
-
return new CimplifyError("UNKNOWN_ERROR", String(error), false);
|
|
2449
|
-
}
|
|
2450
|
-
async function safe6(promise) {
|
|
2451
|
-
try {
|
|
2452
|
-
return ok(await promise);
|
|
2453
|
-
} catch (error) {
|
|
2454
|
-
return err(toCimplifyError6(error));
|
|
2455
|
-
}
|
|
2456
|
-
}
|
|
2457
2396
|
var AuthService = class {
|
|
2458
2397
|
constructor(client) {
|
|
2459
2398
|
this.client = client;
|
|
2460
2399
|
}
|
|
2461
2400
|
async getStatus() {
|
|
2462
|
-
return
|
|
2401
|
+
return safe(this.client.get("/api/v1/auth/status"));
|
|
2463
2402
|
}
|
|
2464
2403
|
async getCurrentUser() {
|
|
2465
2404
|
const result = await this.getStatus();
|
|
@@ -2472,7 +2411,7 @@ var AuthService = class {
|
|
|
2472
2411
|
return ok(result.value.is_authenticated);
|
|
2473
2412
|
}
|
|
2474
2413
|
async requestOtp(contact, contactType) {
|
|
2475
|
-
return
|
|
2414
|
+
return safe(
|
|
2476
2415
|
this.client.post("/api/v1/auth/request-otp", {
|
|
2477
2416
|
contact,
|
|
2478
2417
|
contact_type: contactType
|
|
@@ -2480,7 +2419,7 @@ var AuthService = class {
|
|
|
2480
2419
|
);
|
|
2481
2420
|
}
|
|
2482
2421
|
async verifyOtp(code, contact) {
|
|
2483
|
-
return
|
|
2422
|
+
return safe(
|
|
2484
2423
|
this.client.post("/api/v1/auth/verify-otp", {
|
|
2485
2424
|
otp_code: code,
|
|
2486
2425
|
contact
|
|
@@ -2488,48 +2427,34 @@ var AuthService = class {
|
|
|
2488
2427
|
);
|
|
2489
2428
|
}
|
|
2490
2429
|
async logout() {
|
|
2491
|
-
return
|
|
2430
|
+
return safe(this.client.post("/api/v1/auth/logout"));
|
|
2492
2431
|
}
|
|
2493
2432
|
async updateProfile(input) {
|
|
2494
|
-
return
|
|
2433
|
+
return safe(this.client.post("/api/v1/auth/profile", input));
|
|
2495
2434
|
}
|
|
2496
2435
|
};
|
|
2497
2436
|
|
|
2498
2437
|
// src/business.ts
|
|
2499
|
-
function toCimplifyError7(error) {
|
|
2500
|
-
if (error instanceof CimplifyError) return enrichError(error);
|
|
2501
|
-
if (error instanceof Error) {
|
|
2502
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
|
|
2503
|
-
}
|
|
2504
|
-
return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
|
|
2505
|
-
}
|
|
2506
|
-
async function safe7(promise) {
|
|
2507
|
-
try {
|
|
2508
|
-
return ok(await promise);
|
|
2509
|
-
} catch (error) {
|
|
2510
|
-
return err(toCimplifyError7(error));
|
|
2511
|
-
}
|
|
2512
|
-
}
|
|
2513
2438
|
var BusinessService = class {
|
|
2514
2439
|
constructor(client) {
|
|
2515
2440
|
this.client = client;
|
|
2516
2441
|
}
|
|
2517
2442
|
async getInfo() {
|
|
2518
|
-
return
|
|
2443
|
+
return safe(this.client.get("/api/v1/business"));
|
|
2519
2444
|
}
|
|
2520
2445
|
async getByHandle(handle) {
|
|
2521
2446
|
const encodedHandle = encodeURIComponent(handle);
|
|
2522
|
-
return
|
|
2447
|
+
return safe(this.client.get(`/api/v1/business/by-handle/${encodedHandle}`));
|
|
2523
2448
|
}
|
|
2524
2449
|
async getByDomain(domain) {
|
|
2525
2450
|
const encodedDomain = encodeURIComponent(domain);
|
|
2526
|
-
return
|
|
2451
|
+
return safe(this.client.get(`/api/v1/business/by-domain?domain=${encodedDomain}`));
|
|
2527
2452
|
}
|
|
2528
2453
|
async getSettings() {
|
|
2529
|
-
return
|
|
2454
|
+
return safe(this.client.get("/api/v1/business/settings"));
|
|
2530
2455
|
}
|
|
2531
2456
|
async getLocations() {
|
|
2532
|
-
return
|
|
2457
|
+
return safe(this.client.get("/api/v1/business/locations"));
|
|
2533
2458
|
}
|
|
2534
2459
|
async getLocation(locationId) {
|
|
2535
2460
|
const result = await this.getLocations();
|
|
@@ -2541,7 +2466,7 @@ var BusinessService = class {
|
|
|
2541
2466
|
return ok(location);
|
|
2542
2467
|
}
|
|
2543
2468
|
async getHours() {
|
|
2544
|
-
return
|
|
2469
|
+
return safe(this.client.get("/api/v1/business/hours"));
|
|
2545
2470
|
}
|
|
2546
2471
|
async getLocationHours(locationId) {
|
|
2547
2472
|
const result = await this.getHours();
|
|
@@ -2549,25 +2474,11 @@ var BusinessService = class {
|
|
|
2549
2474
|
return ok(result.value.filter((hour) => hour.location_id === locationId));
|
|
2550
2475
|
}
|
|
2551
2476
|
async getBootstrap() {
|
|
2552
|
-
return
|
|
2477
|
+
return safe(this.client.get("/api/v1/bootstrap"));
|
|
2553
2478
|
}
|
|
2554
2479
|
};
|
|
2555
2480
|
|
|
2556
2481
|
// src/inventory.ts
|
|
2557
|
-
function toCimplifyError8(error) {
|
|
2558
|
-
if (error instanceof CimplifyError) return error;
|
|
2559
|
-
if (error instanceof Error) {
|
|
2560
|
-
return new CimplifyError("UNKNOWN_ERROR", error.message, false);
|
|
2561
|
-
}
|
|
2562
|
-
return new CimplifyError("UNKNOWN_ERROR", String(error), false);
|
|
2563
|
-
}
|
|
2564
|
-
async function safe8(promise) {
|
|
2565
|
-
try {
|
|
2566
|
-
return ok(await promise);
|
|
2567
|
-
} catch (error) {
|
|
2568
|
-
return err(toCimplifyError8(error));
|
|
2569
|
-
}
|
|
2570
|
-
}
|
|
2571
2482
|
var InventoryService = class {
|
|
2572
2483
|
constructor(client) {
|
|
2573
2484
|
this.client = client;
|
|
@@ -2586,14 +2497,14 @@ var InventoryService = class {
|
|
|
2586
2497
|
const path = this.withQuery(`/api/v1/inventory/products/${encodedId}/stock`, {
|
|
2587
2498
|
location_id: locationId
|
|
2588
2499
|
});
|
|
2589
|
-
return
|
|
2500
|
+
return safe(this.client.get(path));
|
|
2590
2501
|
}
|
|
2591
2502
|
async getVariantStock(variantId, locationId) {
|
|
2592
2503
|
const encodedId = encodeURIComponent(variantId);
|
|
2593
2504
|
const path = this.withQuery(`/api/v1/inventory/variants/${encodedId}/stock`, {
|
|
2594
2505
|
location_id: locationId
|
|
2595
2506
|
});
|
|
2596
|
-
return
|
|
2507
|
+
return safe(this.client.get(path));
|
|
2597
2508
|
}
|
|
2598
2509
|
async checkProductAvailability(productId, quantity, locationId) {
|
|
2599
2510
|
const encodedId = encodeURIComponent(productId);
|
|
@@ -2601,7 +2512,7 @@ var InventoryService = class {
|
|
|
2601
2512
|
quantity,
|
|
2602
2513
|
location_id: locationId
|
|
2603
2514
|
});
|
|
2604
|
-
return
|
|
2515
|
+
return safe(this.client.get(path));
|
|
2605
2516
|
}
|
|
2606
2517
|
async checkVariantAvailability(variantId, quantity, locationId) {
|
|
2607
2518
|
const encodedId = encodeURIComponent(variantId);
|
|
@@ -2609,7 +2520,7 @@ var InventoryService = class {
|
|
|
2609
2520
|
quantity,
|
|
2610
2521
|
location_id: locationId
|
|
2611
2522
|
});
|
|
2612
|
-
return
|
|
2523
|
+
return safe(this.client.get(path));
|
|
2613
2524
|
}
|
|
2614
2525
|
async checkMultipleAvailability(items, locationId) {
|
|
2615
2526
|
const results = await Promise.all(
|
|
@@ -2635,20 +2546,6 @@ var InventoryService = class {
|
|
|
2635
2546
|
};
|
|
2636
2547
|
|
|
2637
2548
|
// src/scheduling.ts
|
|
2638
|
-
function toCimplifyError9(error) {
|
|
2639
|
-
if (error instanceof CimplifyError) return error;
|
|
2640
|
-
if (error instanceof Error) {
|
|
2641
|
-
return new CimplifyError("UNKNOWN_ERROR", error.message, false);
|
|
2642
|
-
}
|
|
2643
|
-
return new CimplifyError("UNKNOWN_ERROR", String(error), false);
|
|
2644
|
-
}
|
|
2645
|
-
async function safe9(promise) {
|
|
2646
|
-
try {
|
|
2647
|
-
return ok(await promise);
|
|
2648
|
-
} catch (error) {
|
|
2649
|
-
return err(toCimplifyError9(error));
|
|
2650
|
-
}
|
|
2651
|
-
}
|
|
2652
2549
|
function withQuery2(path, params) {
|
|
2653
2550
|
const searchParams = new URLSearchParams();
|
|
2654
2551
|
for (const [key, value] of Object.entries(params)) {
|
|
@@ -2666,11 +2563,11 @@ var SchedulingService = class {
|
|
|
2666
2563
|
this.client = client;
|
|
2667
2564
|
}
|
|
2668
2565
|
async getServices() {
|
|
2669
|
-
return
|
|
2566
|
+
return safe(this.client.get("/api/v1/scheduling/services"));
|
|
2670
2567
|
}
|
|
2671
2568
|
async getService(serviceId) {
|
|
2672
2569
|
const encodedId = encodeURIComponent(serviceId);
|
|
2673
|
-
return
|
|
2570
|
+
return safe(this.client.get(`/api/v1/scheduling/services/${encodedId}`));
|
|
2674
2571
|
}
|
|
2675
2572
|
async getAvailableSlots(input) {
|
|
2676
2573
|
const path = withQuery2("/api/v1/scheduling/slots", {
|
|
@@ -2679,7 +2576,7 @@ var SchedulingService = class {
|
|
|
2679
2576
|
participant_count: input.participant_count,
|
|
2680
2577
|
duration_minutes: input.duration_minutes
|
|
2681
2578
|
});
|
|
2682
|
-
return
|
|
2579
|
+
return safe(this.client.get(path));
|
|
2683
2580
|
}
|
|
2684
2581
|
async checkSlotAvailability(input) {
|
|
2685
2582
|
const path = withQuery2("/api/v1/scheduling/slots/check", {
|
|
@@ -2688,7 +2585,7 @@ var SchedulingService = class {
|
|
|
2688
2585
|
duration_minutes: input.duration_minutes,
|
|
2689
2586
|
participant_count: input.participant_count
|
|
2690
2587
|
});
|
|
2691
|
-
return
|
|
2588
|
+
return safe(this.client.get(path));
|
|
2692
2589
|
}
|
|
2693
2590
|
async getServiceAvailability(params) {
|
|
2694
2591
|
const path = withQuery2("/api/v1/scheduling/availability", {
|
|
@@ -2698,17 +2595,17 @@ var SchedulingService = class {
|
|
|
2698
2595
|
location_id: params.location_id,
|
|
2699
2596
|
participant_count: params.participant_count
|
|
2700
2597
|
});
|
|
2701
|
-
return
|
|
2598
|
+
return safe(this.client.get(path));
|
|
2702
2599
|
}
|
|
2703
2600
|
async getBooking(bookingId) {
|
|
2704
2601
|
const encodedId = encodeURIComponent(bookingId);
|
|
2705
|
-
return
|
|
2602
|
+
return safe(this.client.get(`/api/v1/scheduling/bookings/${encodedId}`));
|
|
2706
2603
|
}
|
|
2707
2604
|
async getCustomerBookings(customerId) {
|
|
2708
2605
|
const path = withQuery2("/api/v1/scheduling/bookings", {
|
|
2709
2606
|
customer_id: customerId
|
|
2710
2607
|
});
|
|
2711
|
-
return
|
|
2608
|
+
return safe(this.client.get(path));
|
|
2712
2609
|
}
|
|
2713
2610
|
async getUpcomingBookings() {
|
|
2714
2611
|
const result = await this.getCustomerBookings();
|
|
@@ -2727,14 +2624,14 @@ var SchedulingService = class {
|
|
|
2727
2624
|
}
|
|
2728
2625
|
async cancelBooking(input) {
|
|
2729
2626
|
const encodedId = encodeURIComponent(input.booking_id);
|
|
2730
|
-
return
|
|
2627
|
+
return safe(
|
|
2731
2628
|
this.client.post(`/api/v1/scheduling/bookings/${encodedId}/cancel`, {
|
|
2732
2629
|
reason: input.reason
|
|
2733
2630
|
})
|
|
2734
2631
|
);
|
|
2735
2632
|
}
|
|
2736
2633
|
async rescheduleBooking(input) {
|
|
2737
|
-
return
|
|
2634
|
+
return safe(
|
|
2738
2635
|
this.client.post("/api/v1/scheduling/bookings/reschedule", input)
|
|
2739
2636
|
);
|
|
2740
2637
|
}
|
|
@@ -2758,65 +2655,37 @@ var SchedulingService = class {
|
|
|
2758
2655
|
};
|
|
2759
2656
|
|
|
2760
2657
|
// src/lite.ts
|
|
2761
|
-
function toCimplifyError10(error) {
|
|
2762
|
-
if (error instanceof CimplifyError) return error;
|
|
2763
|
-
if (error instanceof Error) {
|
|
2764
|
-
return new CimplifyError("UNKNOWN_ERROR", error.message, false);
|
|
2765
|
-
}
|
|
2766
|
-
return new CimplifyError("UNKNOWN_ERROR", String(error), false);
|
|
2767
|
-
}
|
|
2768
|
-
async function safe10(promise) {
|
|
2769
|
-
try {
|
|
2770
|
-
return ok(await promise);
|
|
2771
|
-
} catch (error) {
|
|
2772
|
-
return err(toCimplifyError10(error));
|
|
2773
|
-
}
|
|
2774
|
-
}
|
|
2775
2658
|
var LiteService = class {
|
|
2776
2659
|
constructor(client) {
|
|
2777
2660
|
this.client = client;
|
|
2778
2661
|
}
|
|
2779
2662
|
async getBootstrap() {
|
|
2780
|
-
return
|
|
2663
|
+
return safe(this.client.get("/api/v1/lite/bootstrap"));
|
|
2781
2664
|
}
|
|
2782
2665
|
async getTable(tableId) {
|
|
2783
2666
|
const encodedId = encodeURIComponent(tableId);
|
|
2784
|
-
return
|
|
2667
|
+
return safe(this.client.get(`/api/v1/lite/tables/${encodedId}`));
|
|
2785
2668
|
}
|
|
2786
2669
|
async getMenu() {
|
|
2787
|
-
return
|
|
2670
|
+
return safe(this.client.get("/api/v1/lite/menu"));
|
|
2788
2671
|
}
|
|
2789
2672
|
async getMenuByCategory(categoryId) {
|
|
2790
2673
|
const encodedId = encodeURIComponent(categoryId);
|
|
2791
|
-
return
|
|
2674
|
+
return safe(this.client.get(`/api/v1/lite/menu/categories/${encodedId}`));
|
|
2792
2675
|
}
|
|
2793
2676
|
};
|
|
2794
2677
|
|
|
2795
2678
|
// src/fx.ts
|
|
2796
|
-
function toCimplifyError11(error) {
|
|
2797
|
-
if (error instanceof CimplifyError) return error;
|
|
2798
|
-
if (error instanceof Error) {
|
|
2799
|
-
return new CimplifyError("UNKNOWN_ERROR", error.message, false);
|
|
2800
|
-
}
|
|
2801
|
-
return new CimplifyError("UNKNOWN_ERROR", String(error), false);
|
|
2802
|
-
}
|
|
2803
|
-
async function safe11(promise) {
|
|
2804
|
-
try {
|
|
2805
|
-
return ok(await promise);
|
|
2806
|
-
} catch (error) {
|
|
2807
|
-
return err(toCimplifyError11(error));
|
|
2808
|
-
}
|
|
2809
|
-
}
|
|
2810
2679
|
var FxService = class {
|
|
2811
2680
|
constructor(client) {
|
|
2812
2681
|
this.client = client;
|
|
2813
2682
|
}
|
|
2814
2683
|
async getRate(from, to) {
|
|
2815
2684
|
const path = `/api/v1/fx/rate?from=${encodeURIComponent(from)}&to=${encodeURIComponent(to)}`;
|
|
2816
|
-
return
|
|
2685
|
+
return safe(this.client.get(path));
|
|
2817
2686
|
}
|
|
2818
2687
|
async lockQuote(request) {
|
|
2819
|
-
return
|
|
2688
|
+
return safe(this.client.post("/api/v1/fx/quotes", request));
|
|
2820
2689
|
}
|
|
2821
2690
|
};
|
|
2822
2691
|
|
|
@@ -2967,6 +2836,11 @@ var CimplifyElements = class {
|
|
|
2967
2836
|
window.addEventListener("message", this.boundHandleMessage);
|
|
2968
2837
|
}
|
|
2969
2838
|
}
|
|
2839
|
+
debug(...args) {
|
|
2840
|
+
if (this.client.isTestMode()) {
|
|
2841
|
+
console.debug(...args);
|
|
2842
|
+
}
|
|
2843
|
+
}
|
|
2970
2844
|
create(type, options = {}) {
|
|
2971
2845
|
const existing = this.elements.get(type);
|
|
2972
2846
|
if (existing) return existing;
|
|
@@ -3021,9 +2895,9 @@ var CimplifyElements = class {
|
|
|
3021
2895
|
processCheckout(options) {
|
|
3022
2896
|
let abortFn = null;
|
|
3023
2897
|
const task = (async () => {
|
|
3024
|
-
|
|
2898
|
+
this.debug("[cimplify:checkout] processCheckout called", { cart_id: options.cart_id, order_type: options.order_type, location_id: options.location_id });
|
|
3025
2899
|
if (this.checkoutInProgress) {
|
|
3026
|
-
|
|
2900
|
+
this.debug("[cimplify:checkout] BLOCKED: already processing");
|
|
3027
2901
|
return toCheckoutError(
|
|
3028
2902
|
"ALREADY_PROCESSING",
|
|
3029
2903
|
"Checkout is already in progress.",
|
|
@@ -3032,7 +2906,7 @@ var CimplifyElements = class {
|
|
|
3032
2906
|
}
|
|
3033
2907
|
this.checkoutInProgress = true;
|
|
3034
2908
|
if (!options.cart_id) {
|
|
3035
|
-
|
|
2909
|
+
this.debug("[cimplify:checkout] BLOCKED: no cart_id");
|
|
3036
2910
|
this.checkoutInProgress = false;
|
|
3037
2911
|
return toCheckoutError(
|
|
3038
2912
|
"INVALID_CART",
|
|
@@ -3041,7 +2915,7 @@ var CimplifyElements = class {
|
|
|
3041
2915
|
);
|
|
3042
2916
|
}
|
|
3043
2917
|
if (!options.order_type) {
|
|
3044
|
-
|
|
2918
|
+
this.debug("[cimplify:checkout] BLOCKED: no order_type");
|
|
3045
2919
|
this.checkoutInProgress = false;
|
|
3046
2920
|
return toCheckoutError(
|
|
3047
2921
|
"ORDER_TYPE_REQUIRED",
|
|
@@ -3051,7 +2925,7 @@ var CimplifyElements = class {
|
|
|
3051
2925
|
}
|
|
3052
2926
|
const checkoutElement = this.elements.get(ELEMENT_TYPES.CHECKOUT) || this.elements.get(ELEMENT_TYPES.PAYMENT);
|
|
3053
2927
|
if (!checkoutElement) {
|
|
3054
|
-
|
|
2928
|
+
this.debug("[cimplify:checkout] BLOCKED: no checkout element");
|
|
3055
2929
|
this.checkoutInProgress = false;
|
|
3056
2930
|
return toCheckoutError(
|
|
3057
2931
|
"NO_PAYMENT_ELEMENT",
|
|
@@ -3060,7 +2934,7 @@ var CimplifyElements = class {
|
|
|
3060
2934
|
);
|
|
3061
2935
|
}
|
|
3062
2936
|
if (!checkoutElement.isMounted()) {
|
|
3063
|
-
|
|
2937
|
+
this.debug("[cimplify:checkout] BLOCKED: checkout element not mounted");
|
|
3064
2938
|
this.checkoutInProgress = false;
|
|
3065
2939
|
return toCheckoutError(
|
|
3066
2940
|
"PAYMENT_NOT_MOUNTED",
|
|
@@ -3072,7 +2946,7 @@ var CimplifyElements = class {
|
|
|
3072
2946
|
if (!isUnifiedCheckout) {
|
|
3073
2947
|
const authElement = this.elements.get(ELEMENT_TYPES.AUTH);
|
|
3074
2948
|
if (authElement && !this.accessToken) {
|
|
3075
|
-
|
|
2949
|
+
this.debug("[cimplify:checkout] BLOCKED: auth incomplete");
|
|
3076
2950
|
this.checkoutInProgress = false;
|
|
3077
2951
|
return toCheckoutError(
|
|
3078
2952
|
"AUTH_INCOMPLETE",
|
|
@@ -3082,13 +2956,13 @@ var CimplifyElements = class {
|
|
|
3082
2956
|
}
|
|
3083
2957
|
const addressElement = this.elements.get(ELEMENT_TYPES.ADDRESS);
|
|
3084
2958
|
if (addressElement) {
|
|
3085
|
-
|
|
2959
|
+
this.debug("[cimplify:checkout] getting address data...");
|
|
3086
2960
|
await addressElement.getData();
|
|
3087
|
-
|
|
2961
|
+
this.debug("[cimplify:checkout] address data resolved", this.addressData);
|
|
3088
2962
|
}
|
|
3089
2963
|
await this.hydrateCustomerData();
|
|
3090
2964
|
}
|
|
3091
|
-
|
|
2965
|
+
this.debug("[cimplify:checkout] customer data hydrated", { customerData: this.customerData, accountId: this.accountId, isUnifiedCheckout });
|
|
3092
2966
|
const processMessage = {
|
|
3093
2967
|
type: MESSAGE_TYPES.PROCESS_CHECKOUT,
|
|
3094
2968
|
cart_id: options.cart_id,
|
|
@@ -3164,7 +3038,7 @@ var CimplifyElements = class {
|
|
|
3164
3038
|
return;
|
|
3165
3039
|
}
|
|
3166
3040
|
if (message.type === MESSAGE_TYPES.CHECKOUT_COMPLETE) {
|
|
3167
|
-
|
|
3041
|
+
this.debug("[cimplify:checkout] received checkout_complete", { success: message.success, error: message.error });
|
|
3168
3042
|
settle({
|
|
3169
3043
|
success: message.success,
|
|
3170
3044
|
order: message.order,
|
|
@@ -3187,9 +3061,9 @@ var CimplifyElements = class {
|
|
|
3187
3061
|
);
|
|
3188
3062
|
};
|
|
3189
3063
|
this.activeCheckoutAbort = abortFn;
|
|
3190
|
-
|
|
3064
|
+
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 });
|
|
3191
3065
|
checkoutElement.sendMessage(processMessage);
|
|
3192
|
-
|
|
3066
|
+
this.debug("[cimplify:checkout] postMessage sent, waiting for checkout_complete...");
|
|
3193
3067
|
});
|
|
3194
3068
|
})();
|
|
3195
3069
|
const abortable = task;
|