@wildboar/pkcs
Version:
Public Key Cryptography Standard PDUs in TypeScript
80 lines • 4.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports._encode_DataType = exports._decode_DataType = exports._encode_Opaque = exports._decode_Opaque = exports._encode_OidDO = exports._decode_OidDO = exports.OidDO = exports._encode_ExternalIDO = exports._decode_ExternalIDO = exports._get_encoder_for_DataObject = exports._get_decoder_for_DataObject = void 0;
/* eslint-disable */
const asn1_ts_1 = require("asn1-ts");
const $ = require("asn1-ts/dist/node/functional");
const DataObject_ta_1 = require("../PKCS-15/DataObject.ta");
const ExternalIDO_ta_1 = require("../PKCS-15/ExternalIDO.ta");
const OidDO_ta_1 = require("../PKCS-15/OidDO.ta");
const Opaque_ta_1 = require("../PKCS-15/Opaque.ta");
var DataObject_ta_2 = require("../PKCS-15/DataObject.ta");
Object.defineProperty(exports, "_get_decoder_for_DataObject", { enumerable: true, get: function () { return DataObject_ta_2._get_decoder_for_DataObject; } });
Object.defineProperty(exports, "_get_encoder_for_DataObject", { enumerable: true, get: function () { return DataObject_ta_2._get_encoder_for_DataObject; } });
var ExternalIDO_ta_2 = require("../PKCS-15/ExternalIDO.ta");
Object.defineProperty(exports, "_decode_ExternalIDO", { enumerable: true, get: function () { return ExternalIDO_ta_2._decode_ExternalIDO; } });
Object.defineProperty(exports, "_encode_ExternalIDO", { enumerable: true, get: function () { return ExternalIDO_ta_2._encode_ExternalIDO; } });
var OidDO_ta_2 = require("../PKCS-15/OidDO.ta");
Object.defineProperty(exports, "OidDO", { enumerable: true, get: function () { return OidDO_ta_2.OidDO; } });
Object.defineProperty(exports, "_decode_OidDO", { enumerable: true, get: function () { return OidDO_ta_2._decode_OidDO; } });
Object.defineProperty(exports, "_encode_OidDO", { enumerable: true, get: function () { return OidDO_ta_2._encode_OidDO; } });
var Opaque_ta_2 = require("../PKCS-15/Opaque.ta");
Object.defineProperty(exports, "_decode_Opaque", { enumerable: true, get: function () { return Opaque_ta_2._decode_Opaque; } });
Object.defineProperty(exports, "_encode_Opaque", { enumerable: true, get: function () { return Opaque_ta_2._encode_Opaque; } });
/* END_OF_SYMBOL_DEFINITION DataType */
/* START_OF_SYMBOL_DEFINITION _cached_decoder_for_DataType */
let _cached_decoder_for_DataType = null;
/* END_OF_SYMBOL_DEFINITION _cached_decoder_for_DataType */
/* START_OF_SYMBOL_DEFINITION _decode_DataType */
/**
* @summary Decodes an ASN.1 element into a(n) DataType
* @function
* @param {_Element} el The element being decoded.
* @returns {DataType} The decoded data structure.
*/
function _decode_DataType(el) {
if (!_cached_decoder_for_DataType) {
_cached_decoder_for_DataType = $._decode_extensible_choice({
"UNIVERSAL 16": [
"opaqueDO",
DataObject_ta_1._get_decoder_for_DataObject(Opaque_ta_1._decode_Opaque),
],
"CONTEXT 0": [
"externalIDO",
$._decode_implicit(() => DataObject_ta_1._get_decoder_for_DataObject(ExternalIDO_ta_1._decode_ExternalIDO)),
],
"CONTEXT 1": [
"oidDO",
$._decode_implicit(() => DataObject_ta_1._get_decoder_for_DataObject(OidDO_ta_1._decode_OidDO)),
],
});
}
return _cached_decoder_for_DataType(el);
}
exports._decode_DataType = _decode_DataType;
/* END_OF_SYMBOL_DEFINITION _decode_DataType */
/* START_OF_SYMBOL_DEFINITION _cached_encoder_for_DataType */
let _cached_encoder_for_DataType = null;
/* END_OF_SYMBOL_DEFINITION _cached_encoder_for_DataType */
/* START_OF_SYMBOL_DEFINITION _encode_DataType */
/**
* @summary Encodes a(n) DataType 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 DataType, encoded as an ASN.1 Element.
*/
function _encode_DataType(value, elGetter) {
if (!_cached_encoder_for_DataType) {
_cached_encoder_for_DataType = $._encode_choice({
opaqueDO: DataObject_ta_1._get_encoder_for_DataObject(Opaque_ta_1._encode_Opaque),
externalIDO: $._encode_implicit(asn1_ts_1.ASN1TagClass.context, 0, () => DataObject_ta_1._get_encoder_for_DataObject(ExternalIDO_ta_1._encode_ExternalIDO), $.BER),
oidDO: $._encode_implicit(asn1_ts_1.ASN1TagClass.context, 1, () => DataObject_ta_1._get_encoder_for_DataObject(OidDO_ta_1._encode_OidDO), $.BER),
}, $.BER);
}
return _cached_encoder_for_DataType(value, elGetter);
}
exports._encode_DataType = _encode_DataType;
/* END_OF_SYMBOL_DEFINITION _encode_DataType */
/* eslint-enable */
//# sourceMappingURL=DataType.ta.js.map