Files
DevToysWeb/lib/jwt.ts
2023-06-15 20:00:07 +09:00

17 lines
475 B
TypeScript

import jwt_decode from "jwt-decode";
import { err, fromThrowable, Result } from "neverthrow";
const safeJwtDecode = fromThrowable(jwt_decode);
export const decode = (token: string) => {
let header: Result<unknown, unknown> = err("");
let payload: Result<unknown, unknown> = err("");
if (token.split(".").length === 3) {
header = safeJwtDecode(token, { header: true });
payload = safeJwtDecode(token, { header: false });
}
return { header, payload };
};