UNPKG

@aptpod/iscp-ts

Version:

iSCP 2.0 client library for TypeScript

90 lines 2.73 kB
import { ISCPMalformedMessageError } from '../../exceptions'; import { RESULT_CODE, DownstreamMetadataAck, DownstreamMetadataAckExtensionFields } from '../../message'; import { ResultCode as ResultCodePb } from '../codegen/result_code'; const WIRE_DOWNSTREAM_METADATA_ACK = new DownstreamMetadataAck({ requestId: 1234, resultCode: RESULT_CODE.SUCCEEDED, resultString: 'resultString', extensionFields: undefined, }); const PROTO_DOWNSTREAM_METADATA_ACK = { requestId: 1234, resultCode: ResultCodePb.SUCCEEDED, resultString: 'resultString', extensionFields: undefined, }; export const withoutExtensionFields = { toWire: () => { return new DownstreamMetadataAck({ ...WIRE_DOWNSTREAM_METADATA_ACK, }); }, toProto: () => { return { message: { oneofKind: 'downstreamMetadataAck', downstreamMetadataAck: { ...PROTO_DOWNSTREAM_METADATA_ACK, }, }, }; }, }; export const withExtensionFields = { toWire: () => { return new DownstreamMetadataAck({ ...WIRE_DOWNSTREAM_METADATA_ACK, extensionFields: new DownstreamMetadataAckExtensionFields(), }); }, toProto: () => { return { message: { oneofKind: 'downstreamMetadataAck', downstreamMetadataAck: { ...PROTO_DOWNSTREAM_METADATA_ACK, extensionFields: {}, }, }, }; }, }; export const invalidWire = { resultCode: { toWire: () => { return new DownstreamMetadataAck({ ...WIRE_DOWNSTREAM_METADATA_ACK, // @ts-ignore resultCode: 9999, }); }, toErrorClass: () => { return ISCPMalformedMessageError; }, toError: () => { return new (invalidWire.resultCode.toErrorClass())('Unrecognized resultCode.'); }, }, }; export const invalidProto = { resultCode: { toProto: () => { return { message: { oneofKind: 'downstreamResumeResponse', downstreamResumeResponse: { ...PROTO_DOWNSTREAM_METADATA_ACK, resultCode: 9999, }, }, }; }, toErrorClass: () => { return ISCPMalformedMessageError; }, toError: () => { return new (invalidProto.resultCode.toErrorClass())('Unrecognized resultCode.'); }, }, }; //# sourceMappingURL=downstream-metadata-ack.js.map