@wildboar/rose
Version:
Remote Operation Service Element PDUs in TypeScript
58 lines (57 loc) • 2.71 kB
JavaScript
/* eslint-disable */
import { ASN1TagClass as _TagClass, } from '@wildboar/asn1';
import * as $ from '@wildboar/asn1/functional';
import { _decode_GeneralProblem, _encode_GeneralProblem, } from '../Remote-Operations-Generic-ROS-PDUs/GeneralProblem.ta.mjs';
import { _decode_InvokeProblem, _encode_InvokeProblem, } from '../Remote-Operations-Generic-ROS-PDUs/InvokeProblem.ta.mjs';
import { _decode_ReturnResultProblem, _encode_ReturnResultProblem, } from '../Remote-Operations-Generic-ROS-PDUs/ReturnResultProblem.ta.mjs';
import { _decode_ReturnErrorProblem, _encode_ReturnErrorProblem, } from '../Remote-Operations-Generic-ROS-PDUs/ReturnErrorProblem.ta.mjs';
let _cached_decoder_for_Reject_problem = null;
/**
* @summary Decodes an ASN.1 element into a(n) Reject_problem
* @function
* @param {_Element} el The element being decoded.
* @returns {Reject_problem} The decoded data structure.
*/
export function _decode_Reject_problem(el) {
if (!_cached_decoder_for_Reject_problem) {
_cached_decoder_for_Reject_problem = $._decode_inextensible_choice({
'CONTEXT 0': [
'general',
$._decode_implicit(() => _decode_GeneralProblem),
],
'CONTEXT 1': [
'invoke',
$._decode_implicit(() => _decode_InvokeProblem),
],
'CONTEXT 2': [
'returnResult',
$._decode_implicit(() => _decode_ReturnResultProblem),
],
'CONTEXT 3': [
'returnError',
$._decode_implicit(() => _decode_ReturnErrorProblem),
],
});
}
return _cached_decoder_for_Reject_problem(el);
}
let _cached_encoder_for_Reject_problem = null;
/**
* @summary Encodes a(n) Reject_problem 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 Reject_problem, encoded as an ASN.1 Element.
*/
export function _encode_Reject_problem(value, elGetter) {
if (!_cached_encoder_for_Reject_problem) {
_cached_encoder_for_Reject_problem = $._encode_choice({
general: $._encode_implicit(_TagClass.context, 0, () => _encode_GeneralProblem, $.BER),
invoke: $._encode_implicit(_TagClass.context, 1, () => _encode_InvokeProblem, $.BER),
returnResult: $._encode_implicit(_TagClass.context, 2, () => _encode_ReturnResultProblem, $.BER),
returnError: $._encode_implicit(_TagClass.context, 3, () => _encode_ReturnErrorProblem, $.BER),
}, $.BER);
}
return _cached_encoder_for_Reject_problem(value, elGetter);
}
/* eslint-enable */