UNPKG

authrix

Version:

Lightweight, flexible authentication library for Node.js and TypeScript.

1 lines 1.71 kB
'use strict';var chunkPTWJCNT6_cjs=require('./chunk-PTWJCNT6.cjs'),chunkIRGTWVM7_cjs=require('./chunk-IRGTWVM7.cjs');async function k(r,e){try{return await chunkPTWJCNT6_cjs.a(r,e)}catch(t){return {success:false,error:{message:t instanceof Error?t.message:"Unknown error"}}}}async function A(r,e){try{return await chunkPTWJCNT6_cjs.c(r,e)}catch(t){return {success:false,error:{message:t instanceof Error?t.message:"Unknown error"}}}}function d(){return chunkPTWJCNT6_cjs.e()}async function C(r){return chunkPTWJCNT6_cjs.h(r)}async function y(r){return chunkPTWJCNT6_cjs.j(r)}function R(r,e,t){let n=`${r}=${e}`;return t.maxAge&&(n+=`; Max-Age=${t.maxAge}`),t.expires&&(n+=`; Expires=${t.expires.toUTCString()}`),t.path&&(n+=`; Path=${t.path}`),t.secure&&(n+="; Secure"),t.httpOnly&&(n+="; HttpOnly"),t.sameSite&&(n+=`; SameSite=${t.sameSite}`),n}function S(r){let e={};return r&&r.split(";").forEach(t=>{let[n,...g]=t.split("="),s=g.join("=");n&&s&&(e[n.trim()]=s.trim());}),e}function U(r){return r[chunkIRGTWVM7_cjs.a.cookieName]||null}async function v(r){try{if(!r)return {isValid:!1,user:null,error:"No token provided"};let e=await chunkPTWJCNT6_cjs.h(r);return e?{isValid:!0,user:e,error:null}:{isValid:!1,user:null,error:"Invalid or expired token"}}catch(e){return {isValid:false,user:null,error:e instanceof Error?e.message:"Authentication failed"}}}function O(r){return {Authorization:`Bearer ${r}`,"Content-Type":"application/json"}}function E(r,e=401){return {success:false,error:{message:r},status:e}}function T(r,e=200){return {success:true,data:r,status:e}}exports.a=k;exports.b=A;exports.c=d;exports.d=C;exports.e=y;exports.f=R;exports.g=S;exports.h=U;exports.i=v;exports.j=O;exports.k=E;exports.l=T;