@light-auth/astro
Version:
light auth framework for astro, using arctic
47 lines (43 loc) • 1.95 kB
JavaScript
/*! @light-auth/astro v0.3.1 2025-06-13 */
'use client';
import { resolveBasePath, createSignoutClientFunction, createSigninClientFunction, createSetUserClientFunction, createFetchUserClientFunction, createSetSessionClientFunction, createFetchSessionClientFunction } from '@light-auth/core/client';
const createGetAuthSession = (config) => {
const getSession = createFetchSessionClientFunction(config);
return async () => await getSession();
};
const createSetAuthSession = (config) => {
const setSession = createSetSessionClientFunction(config);
return async (session) => await setSession(session, config);
};
const createGetUser = (config) => {
const getUser = createFetchUserClientFunction(config);
return async (providerUserId) => await getUser({ providerUserId });
};
const createSetUser = (config) => {
const setUser = createSetUserClientFunction(config);
return async (user) => await setUser(user, config);
};
const createSignin = (config) => {
const signInFunction = createSigninClientFunction(config);
return async (providerName, callbackUrl = "/") => await signInFunction({ providerName, callbackUrl });
};
const createSignout = (config) => {
const signOutFunction = createSignoutClientFunction(config);
return async (revokeToken = false, callbackUrl = "/") => await signOutFunction({ revokeToken, callbackUrl });
};
function CreateLightAuthClient(config = {}) {
// @ts-ignore
config.env = config.env || import.meta;
config.basePath = resolveBasePath(config.basePath, config.env);
return {
basePath: config.basePath,
getAuthSession: createGetAuthSession(config),
setAuthSession: createSetAuthSession(config),
getUser: createGetUser(config),
setUser: createSetUser(config),
signIn: createSignin(config),
signOut: createSignout(config),
};
}
export { CreateLightAuthClient };
//# sourceMappingURL=index.mjs.map