@wildboar/pkcs
Version:
Public Key Cryptography Standard PDUs in TypeScript
53 lines • 2.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports._encode_ECPublicKeyChoice = exports._decode_ECPublicKeyChoice = void 0;
/* eslint-disable */
const ECPoint_ta_1 = require("@wildboar/ansi-x9-62/src/lib/modules/ANSI-X9-62/ECPoint.ta");
const $ = require("asn1-ts/dist/node/functional");
const SubjectPublicKeyInfo_ta_1 = require("@wildboar/x500/src/lib/modules/AuthenticationFramework/SubjectPublicKeyInfo.ta");
/* END_OF_SYMBOL_DEFINITION ECPublicKeyChoice */
/* START_OF_SYMBOL_DEFINITION _cached_decoder_for_ECPublicKeyChoice */
let _cached_decoder_for_ECPublicKeyChoice = null;
/* END_OF_SYMBOL_DEFINITION _cached_decoder_for_ECPublicKeyChoice */
/* START_OF_SYMBOL_DEFINITION _decode_ECPublicKeyChoice */
/**
* @summary Decodes an ASN.1 element into a(n) ECPublicKeyChoice
* @function
* @param {_Element} el The element being decoded.
* @returns {ECPublicKeyChoice} The decoded data structure.
*/
function _decode_ECPublicKeyChoice(el) {
if (!_cached_decoder_for_ECPublicKeyChoice) {
_cached_decoder_for_ECPublicKeyChoice = $._decode_extensible_choice({
"UNIVERSAL 4": ["raw", ECPoint_ta_1._decode_ECPoint],
"UNIVERSAL 16": ["spki", SubjectPublicKeyInfo_ta_1._decode_SubjectPublicKeyInfo],
});
}
return _cached_decoder_for_ECPublicKeyChoice(el);
}
exports._decode_ECPublicKeyChoice = _decode_ECPublicKeyChoice;
/* END_OF_SYMBOL_DEFINITION _decode_ECPublicKeyChoice */
/* START_OF_SYMBOL_DEFINITION _cached_encoder_for_ECPublicKeyChoice */
let _cached_encoder_for_ECPublicKeyChoice = null;
/* END_OF_SYMBOL_DEFINITION _cached_encoder_for_ECPublicKeyChoice */
/* START_OF_SYMBOL_DEFINITION _encode_ECPublicKeyChoice */
/**
* @summary Encodes a(n) ECPublicKeyChoice into an ASN.1 Element.
* @function
* @param {value} el The element being decoded.
* @param elGetter A function that can be used to get new ASN.1 elements.
* @returns {_Element} The ECPublicKeyChoice, encoded as an ASN.1 Element.
*/
function _encode_ECPublicKeyChoice(value, elGetter) {
if (!_cached_encoder_for_ECPublicKeyChoice) {
_cached_encoder_for_ECPublicKeyChoice = $._encode_choice({
raw: ECPoint_ta_1._encode_ECPoint,
spki: SubjectPublicKeyInfo_ta_1._encode_SubjectPublicKeyInfo,
}, $.BER);
}
return _cached_encoder_for_ECPublicKeyChoice(value, elGetter);
}
exports._encode_ECPublicKeyChoice = _encode_ECPublicKeyChoice;
/* END_OF_SYMBOL_DEFINITION _encode_ECPublicKeyChoice */
/* eslint-enable */
//# sourceMappingURL=ECPublicKeyChoice.ta.js.map