@aptpod/iscp-ts
Version:
iSCP 2.0 client library for TypeScript
90 lines • 2.73 kB
JavaScript
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