Spaces:
Sleeping
Sleeping
| import { decode } from '../util/base64url.js'; | |
| export const unprotected = Symbol(); | |
| export function assertNotSet(value, name) { | |
| if (value) { | |
| throw new TypeError(`${name} can only be called once`); | |
| } | |
| } | |
| export function decodeBase64url(value, label, ErrorClass) { | |
| try { | |
| return decode(value); | |
| } | |
| catch { | |
| throw new ErrorClass(`Failed to base64url decode the ${label}`); | |
| } | |
| } | |
| export async function digest(algorithm, data) { | |
| const subtleDigest = `SHA-${algorithm.slice(-3)}`; | |
| return new Uint8Array(await crypto.subtle.digest(subtleDigest, data)); | |
| } | |