"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PQCNotSupportedError = exports.SimpleWebAuthnError = void 0; const mapCoseAlgToWebCryptoKeyAlgName_js_1 = require("../helpers/iso/isoCrypto/mapCoseAlgToWebCryptoKeyAlgName.js"); /** * Base error class that helps disambiguate SimpleWebAuthn library errors from other library errors */ class SimpleWebAuthnError extends Error { constructor({ message, code, cause }) { super(message, { cause }); Object.defineProperty(this, "code", { enumerable: true, configurable: true, writable: true, value: void 0 }); this.name = 'SimpleWebAuthnError'; this.code = code; } } exports.SimpleWebAuthnError = SimpleWebAuthnError; class PQCNotSupportedError extends SimpleWebAuthnError { constructor(alg) { const webCryptoAlg = (0, mapCoseAlgToWebCryptoKeyAlgName_js_1.mapCoseAlgToWebCryptoKeyAlgName)(alg); const message = `This runtime's WebCrypto.subtle does not support use of ${webCryptoAlg}`; super({ message, code: 'RUNTIME_NO_PQC_SUPPORT' }); } } exports.PQCNotSupportedError = PQCNotSupportedError;