cose-kit
Version:
**DEPRECATED:** Use [@auth0/cose](https://www.npmjs.com/package/@auth0/cose).
18 lines (17 loc) • 649 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.decode = void 0;
const cbor_js_1 = require("../cbor.js");
const errors_js_1 = require("../util/errors.js");
const decode = (cose, expectedType) => {
let decoded = cbor_js_1.encoder.decode(cose);
if (Array.isArray(decoded)) {
const params = decoded;
decoded = new expectedType(...params);
}
if (!(decoded instanceof expectedType)) {
throw new errors_js_1.COSEInvalid(`Unexpected CBOR tag. Expected tag ${expectedType.tag} (${expectedType.name}) but got ${decoded.tag}`);
}
return decoded;
};
exports.decode = decode;