UNPKG

@wildboar/rose

Version:
117 lines 3.42 kB
import { BOOLEAN } from '@wildboar/asn1'; import * as $ from '@wildboar/asn1/functional'; import { type ERROR } from '../Remote-Operations-Information-Objects/ERROR.oca.mjs'; import { Priority } from '../Remote-Operations-Information-Objects/Priority.ta.mjs'; import { Code } from '../Remote-Operations-Information-Objects/Code.ta.mjs'; /** * @summary OPERATION * @description * * ### ASN.1 Definition: * * ```asn1 * OPERATION ::= CLASS { * &ArgumentType OPTIONAL, * &argumentTypeOptional BOOLEAN OPTIONAL, * &returnResult BOOLEAN DEFAULT TRUE, * &ResultType OPTIONAL, * &resultTypeOptional BOOLEAN OPTIONAL, * &Errors ERROR OPTIONAL, * &Linked OPERATION OPTIONAL, * &synchronous BOOLEAN DEFAULT FALSE, * &idempotent BOOLEAN DEFAULT FALSE, * &alwaysReturns BOOLEAN DEFAULT TRUE, * &InvokePriority Priority OPTIONAL, * &ResultPriority Priority OPTIONAL, * &operationCode Code UNIQUE OPTIONAL * } * WITH SYNTAX { * [ARGUMENT &ArgumentType * [OPTIONAL &argumentTypeOptional]] * [RESULT &ResultType * [OPTIONAL &resultTypeOptional]] * [RETURN RESULT &returnResult] * [ERRORS &Errors] * [LINKED &Linked] * [SYNCHRONOUS &synchronous] * [IDEMPOTENT &idempotent] * [ALWAYS RESPONDS &alwaysReturns] * [INVOKE PRIORITY &InvokePriority] * [RESULT-PRIORITY &ResultPriority] * [CODE &operationCode] * } * ``` * * @interface */ export interface OPERATION<ArgumentType = any, ResultType = any> { /** * @summary A fixed string that can be used for external programs to determine the object class of this object. */ readonly class: 'OPERATION'; /** * @summary A map of type fields to their corresponding decoders. */ readonly decoderFor: Partial<{ [_K in keyof OPERATION<ArgumentType, ResultType>]: $.ASN1Decoder<OPERATION<ArgumentType, ResultType>[_K]>; }>; /** * @summary A map of type fields to their corresponding encoders. */ readonly encoderFor: Partial<{ [_K in keyof OPERATION<ArgumentType, ResultType>]: $.ASN1Encoder<OPERATION<ArgumentType, ResultType>[_K]>; }>; /** * @summary &ArgumentType */ readonly '&ArgumentType': ArgumentType; /** * @summary &argumentTypeOptional */ readonly '&argumentTypeOptional'?: BOOLEAN; /** * @summary &returnResult */ readonly '&returnResult'?: BOOLEAN; /** * @summary &ResultType */ readonly '&ResultType': ResultType; /** * @summary &resultTypeOptional */ readonly '&resultTypeOptional'?: BOOLEAN; /** * @summary &Errors */ readonly '&Errors'?: ERROR[]; /** * @summary &Linked */ readonly '&Linked'?: OPERATION[]; /** * @summary &synchronous */ readonly '&synchronous'?: BOOLEAN; /** * @summary &idempotent */ readonly '&idempotent'?: BOOLEAN; /** * @summary &alwaysReturns */ readonly '&alwaysReturns'?: BOOLEAN; /** * @summary &InvokePriority */ readonly '&InvokePriority'?: Priority; /** * @summary &ResultPriority */ readonly '&ResultPriority'?: Priority; /** * @summary &operationCode */ readonly '&operationCode'?: Code; } //# sourceMappingURL=OPERATION.oca.d.mts.map