@zpg6-test-pkgs/better-auth
Version:
The most comprehensive authentication library for TypeScript.
111 lines (107 loc) • 3.43 kB
JavaScript
;
require('better-call');
require('../shared/better-auth.afydZyFs.cjs');
const session = require('../shared/better-auth.DmBU2Klq.cjs');
require('zod/v4');
require('../shared/better-auth.B6fIklBU.cjs');
require('@better-auth/utils/base64');
require('@better-auth/utils/hmac');
require('../shared/better-auth.B3274wGK.cjs');
require('@better-auth/utils/binary');
const cookies_index = require('../shared/better-auth.l2-e84v_.cjs');
require('../shared/better-auth.BIMq4RPW.cjs');
require('../shared/better-auth.C1hdVENX.cjs');
require('@better-auth/utils/hash');
require('../crypto/index.cjs');
require('@noble/ciphers/chacha');
require('@noble/ciphers/utils');
require('@noble/ciphers/webcrypto');
require('jose');
require('@noble/hashes/scrypt');
require('@better-auth/utils');
require('@better-auth/utils/hex');
require('@noble/hashes/utils');
require('../shared/better-auth.CYeOI8C-.cjs');
require('@better-auth/utils/random');
require('@better-fetch/fetch');
require('../shared/better-auth.DRmln2Nr.cjs');
require('../shared/better-auth.ANpbi45u.cjs');
require('jose/errors');
require('../shared/better-auth.vPQBmXQL.cjs');
require('../shared/better-auth.Bg6iw3ig.cjs');
require('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: session.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 = cookies_index.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) {
}
}
}
})
}
]
}
};
};
exports.isAuthPath = isAuthPath;
exports.svelteKitHandler = svelteKitHandler;
exports.sveltekitCookies = sveltekitCookies;
exports.toSvelteKitHandler = toSvelteKitHandler;