UNPKG

@wildboar/acse

Version:
44 lines (43 loc) 1.93 kB
import * as $ from '@wildboar/asn1/functional'; import { _decode_AP_title_form1, _encode_AP_title_form1, } from '../ACSE-1/AP-title-form1.ta.mjs'; import { _decode_AP_title_form2, _encode_AP_title_form2, } from '../ACSE-1/AP-title-form2.ta.mjs'; import { _decode_AP_title_form3, _encode_AP_title_form3, } from '../ACSE-1/AP-title-form3.ta.mjs'; import { _decode_AP_title_form4, _encode_AP_title_form4, } from '../ACSE-1/AP-title-form4.ta.mjs'; let _cached_decoder_for_AP_title = null; /** * @summary Decodes an ASN.1 element into a(n) AP_title * @function * @param {_Element} el The element being decoded. * @returns {AP_title} The decoded data structure. */ export function _decode_AP_title(el) { if (!_cached_decoder_for_AP_title) { _cached_decoder_for_AP_title = $._decode_extensible_choice({ 'UNIVERSAL 16': ['ap_title_form1', _decode_AP_title_form1], 'UNIVERSAL 6': ['ap_title_form2', _decode_AP_title_form2], 'UNIVERSAL 19': ['ap_title_form3', _decode_AP_title_form3], 'CONTEXT 0': ['ap_title_form4', _decode_AP_title_form4], }); } return _cached_decoder_for_AP_title(el); } let _cached_encoder_for_AP_title = null; /** * @summary Encodes a(n) AP_title 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 AP_title, encoded as an ASN.1 Element. */ export function _encode_AP_title(value, elGetter) { if (!_cached_encoder_for_AP_title) { _cached_encoder_for_AP_title = $._encode_choice({ ap_title_form1: _encode_AP_title_form1, ap_title_form2: _encode_AP_title_form2, ap_title_form3: _encode_AP_title_form3, ap_title_form4: _encode_AP_title_form4, }, $.BER); } return _cached_encoder_for_AP_title(value, elGetter); } /* eslint-enable */