@zpg6-test-pkgs/better-auth
Version:
The most comprehensive authentication library for TypeScript.
106 lines (103 loc) • 3.27 kB
JavaScript
import 'better-call';
import '../shared/better-auth.D7aTFyWE.mjs';
import { c as createAuthMiddleware } from '../shared/better-auth.BfeJWAMn.mjs';
import 'zod/v4';
import '../shared/better-auth.CMQ3rA-I.mjs';
import '@better-auth/utils/base64';
import '@better-auth/utils/hmac';
import '../shared/better-auth.BjBlybv-.mjs';
import '@better-auth/utils/binary';
import { p as parseSetCookieHeader } from '../shared/better-auth.DF-MUmVw.mjs';
import '../shared/better-auth.n2KFGwjY.mjs';
import '../shared/better-auth.CW6D9eSx.mjs';
import '@better-auth/utils/hash';
import '../crypto/index.mjs';
import '@noble/ciphers/chacha';
import '@noble/ciphers/utils';
import '@noble/ciphers/webcrypto';
import 'jose';
import '@noble/hashes/scrypt';
import '@better-auth/utils';
import '@better-auth/utils/hex';
import '@noble/hashes/utils';
import '../shared/better-auth.B4Qoxdgc.mjs';
import '@better-auth/utils/random';
import '@better-fetch/fetch';
import '../shared/better-auth.CuS_eDdK.mjs';
import '../shared/better-auth.DdzSJf-n.mjs';
import 'jose/errors';
import '../shared/better-auth.BZZKN1g7.mjs';
import '../shared/better-auth.BUPPRXfK.mjs';
import 'defu';
const toSvelteKitHandler = (auth) => {
return (event) => auth.handler(event.request);
};
const svelteKitHandler = async ({
auth,
event,
resolve,
building
}) => {
if (building) {
return resolve(event);
}
const { request, url } = event;
if (isAuthPath(url.toString(), auth.options)) {
return auth.handler(request);
}
return resolve(event);
};
function isAuthPath(url, options) {
const _url = new URL(url);
const baseURL = new URL(
`${options.baseURL || _url.origin}${options.basePath || "/api/auth"}`
);
if (_url.origin !== baseURL.origin) return false;
if (!_url.pathname.startsWith(
baseURL.pathname.endsWith("/") ? baseURL.pathname : `${baseURL.pathname}/`
))
return false;
return true;
}
const sveltekitCookies = (getRequestEvent) => {
return {
id: "sveltekit-cookies",
hooks: {
after: [
{
matcher() {
return true;
},
handler: createAuthMiddleware(async (ctx) => {
const returned = ctx.context.responseHeaders;
if ("_flag" in ctx && ctx._flag === "router") {
return;
}
if (returned instanceof Headers) {
const setCookies = returned?.get("set-cookie");
if (!setCookies) return;
const event = getRequestEvent();
if (!event) return;
const parsed = parseSetCookieHeader(setCookies);
for (const [name, { value, ...ops }] of parsed) {
try {
event.cookies.set(name, decodeURIComponent(value), {
sameSite: ops.samesite,
path: ops.path || "/",
expires: ops.expires,
secure: ops.secure,
httpOnly: ops.httponly,
domain: ops.domain,
maxAge: ops["max-age"]
});
} catch (e) {
}
}
}
})
}
]
}
};
};
export { isAuthPath, svelteKitHandler, sveltekitCookies, toSvelteKitHandler };