better-call 1.0.18 → 1.0.19

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/index.js CHANGED
@@ -349,11 +349,14 @@ function fromError(error, validating) {
349
349
  }
350
350
 
351
351
  // src/crypto.ts
352
- import { subtle } from "uncrypto";
352
+ import { getWebcryptoSubtle } from "@better-auth/utils";
353
353
  var algorithm = { name: "HMAC", hash: "SHA-256" };
354
354
  var getCryptoKey = async (secret) => {
355
355
  const secretBuf = typeof secret === "string" ? new TextEncoder().encode(secret) : secret;
356
- return await subtle.importKey("raw", secretBuf, algorithm, false, ["sign", "verify"]);
356
+ return await getWebcryptoSubtle().importKey("raw", secretBuf, algorithm, false, [
357
+ "sign",
358
+ "verify"
359
+ ]);
357
360
  };
358
361
  var verifySignature = async (base64Signature, value, secret) => {
359
362
  try {
@@ -362,14 +365,23 @@ var verifySignature = async (base64Signature, value, secret) => {
362
365
  for (let i = 0, len = signatureBinStr.length; i < len; i++) {
363
366
  signature[i] = signatureBinStr.charCodeAt(i);
364
367
  }
365
- return await subtle.verify(algorithm, secret, signature, new TextEncoder().encode(value));
368
+ return await getWebcryptoSubtle().verify(
369
+ algorithm,
370
+ secret,
371
+ signature,
372
+ new TextEncoder().encode(value)
373
+ );
366
374
  } catch (e) {
367
375
  return false;
368
376
  }
369
377
  };
370
378
  var makeSignature = async (value, secret) => {
371
379
  const key = await getCryptoKey(secret);
372
- const signature = await subtle.sign(algorithm.name, key, new TextEncoder().encode(value));
380
+ const signature = await getWebcryptoSubtle().sign(
381
+ algorithm.name,
382
+ key,
383
+ new TextEncoder().encode(value)
384
+ );
373
385
  return btoa(String.fromCharCode(...new Uint8Array(signature)));
374
386
  };
375
387
  var signCookieValue = async (value, secret) => {
@@ -699,7 +711,7 @@ createEndpoint2.create = (opts) => {
699
711
  };
700
712
 
701
713
  // src/router.ts
702
- import { createRouter as createRou3Router, addRoute, findRoute, findAllRoutes } from "rou3";
714
+ import { addRoute, createRouter as createRou3Router, findAllRoutes, findRoute } from "rou3";
703
715
 
704
716
  // node_modules/.pnpm/zod@4.0.1/node_modules/zod/v4/core/core.js
705
717
  var NEVER = Object.freeze({
@@ -3140,6 +3152,22 @@ var createRouter = (endpoints, config2) => {
3140
3152
  const response = await handler(context);
3141
3153
  return response;
3142
3154
  } catch (error) {
3155
+ if (config2?.onError) {
3156
+ try {
3157
+ const errorResponse = await config2.onError(error);
3158
+ if (errorResponse instanceof Response) {
3159
+ return toResponse(errorResponse);
3160
+ }
3161
+ } catch (error2) {
3162
+ if (isAPIError(error2)) {
3163
+ return toResponse(error2);
3164
+ }
3165
+ throw error2;
3166
+ }
3167
+ }
3168
+ if (config2?.throwError) {
3169
+ throw error;
3170
+ }
3143
3171
  if (isAPIError(error)) {
3144
3172
  return toResponse(error);
3145
3173
  }