UNPKG

@wildboar/acse

Version:
44 lines (43 loc) 2.14 kB
import * as $ from '@wildboar/asn1/functional'; import { _decode_ASO_qualifier_form1, _encode_ASO_qualifier_form1, } from '../ACSE-1/ASO-qualifier-form1.ta.mjs'; import { _decode_ASO_qualifier_form2, _encode_ASO_qualifier_form2, } from '../ACSE-1/ASO-qualifier-form2.ta.mjs'; import { _decode_ASO_qualifier_form3, _encode_ASO_qualifier_form3, } from '../ACSE-1/ASO-qualifier-form3.ta.mjs'; import { _decode_ASO_qualifier_form4, _encode_ASO_qualifier_form4, } from '../ACSE-1/ASO-qualifier-form4.ta.mjs'; let _cached_decoder_for_ASO_qualifier = null; /** * @summary Decodes an ASN.1 element into a(n) ASO_qualifier * @function * @param {_Element} el The element being decoded. * @returns {ASO_qualifier} The decoded data structure. */ export function _decode_ASO_qualifier(el) { if (!_cached_decoder_for_ASO_qualifier) { _cached_decoder_for_ASO_qualifier = $._decode_extensible_choice({ 'UNIVERSAL 17': ['aso_qualifier_form1', _decode_ASO_qualifier_form1], 'UNIVERSAL 2': ['aso_qualifier_form2', _decode_ASO_qualifier_form2], 'UNIVERSAL 19': ['aso_qualifier_form3', _decode_ASO_qualifier_form3], 'CONTEXT 0': ['aso_qualifier_form4', _decode_ASO_qualifier_form4], }); } return _cached_decoder_for_ASO_qualifier(el); } let _cached_encoder_for_ASO_qualifier = null; /** * @summary Encodes a(n) ASO_qualifier into an ASN.1 Element. * @function * @param value The element being encoded. * @param elGetter A function that can be used to get new ASN.1 elements. * @returns {_Element} The ASO_qualifier, encoded as an ASN.1 Element. */ export function _encode_ASO_qualifier(value, elGetter) { if (!_cached_encoder_for_ASO_qualifier) { _cached_encoder_for_ASO_qualifier = $._encode_choice({ aso_qualifier_form1: _encode_ASO_qualifier_form1, aso_qualifier_form2: _encode_ASO_qualifier_form2, aso_qualifier_form3: _encode_ASO_qualifier_form3, aso_qualifier_form4: _encode_ASO_qualifier_form4, }, $.BER); } return _cached_encoder_for_ASO_qualifier(value, elGetter); } /* eslint-enable */