cose-kit
Version:
**DEPRECATED:** Use [@auth0/cose](https://www.npmjs.com/package/@auth0/cose).
14 lines (13 loc) • 503 B
JavaScript
import { encoder } from '../cbor.js';
import { COSEInvalid } from '../util/errors.js';
export const decode = (cose, expectedType) => {
let decoded = encoder.decode(cose);
if (Array.isArray(decoded)) {
const params = decoded;
decoded = new expectedType(...params);
}
if (!(decoded instanceof expectedType)) {
throw new COSEInvalid(`Unexpected CBOR tag. Expected tag ${expectedType.tag} (${expectedType.name}) but got ${decoded.tag}`);
}
return decoded;
};