@aptpod/iscp-ts
Version:
iSCP 2.0 client library for TypeScript
136 lines • 4.28 kB
JavaScript
import { ISCPMalformedMessageError } from '../../exceptions';
import { DataId, RESULT_CODE, UpstreamChunkAck, UpstreamChunkAckExtensionFields, UpstreamChunkResult, } from '../../message';
import { ResultCode as ResultCodePb } from '../codegen/result_code';
const WIRE_UPSTREAM_CHUNK_ACK = new UpstreamChunkAck({
streamIdAlias: 1234,
results: [
new UpstreamChunkResult({
sequenceNumber: 100,
resultCode: RESULT_CODE.SUCCEEDED,
resultString: 'result-100',
extensionFields: undefined,
}),
new UpstreamChunkResult({
sequenceNumber: 100,
resultCode: RESULT_CODE.ACK_TIMEOUT,
resultString: 'result-101',
extensionFields: undefined,
}),
],
dataIdAliases: {
200: new DataId({ name: 'name-200', type: 'type-200' }),
201: new DataId({ name: 'name-201', type: 'type-201' }),
},
extensionFields: undefined,
});
const PROTO_UPSTREAM_CHUNK_ACK = {
streamIdAlias: 1234,
results: [
{
sequenceNumber: 100,
resultCode: ResultCodePb.SUCCEEDED,
resultString: 'result-100',
extensionFields: undefined,
},
{
sequenceNumber: 100,
resultCode: ResultCodePb.ACK_TIMEOUT,
resultString: 'result-101',
extensionFields: undefined,
},
],
dataIdAliases: {
200: { name: 'name-200', type: 'type-200' },
201: { name: 'name-201', type: 'type-201' },
},
extensionFields: undefined,
};
export const withoutExtensionFields = {
toWire: () => {
return new UpstreamChunkAck({
...WIRE_UPSTREAM_CHUNK_ACK,
});
},
toProto: () => {
return {
message: {
oneofKind: 'upstreamChunkAck',
upstreamChunkAck: {
...PROTO_UPSTREAM_CHUNK_ACK,
},
},
};
},
};
export const withExtensionFields = {
toWire: () => {
return new UpstreamChunkAck({
...WIRE_UPSTREAM_CHUNK_ACK,
extensionFields: new UpstreamChunkAckExtensionFields(),
});
},
toProto: () => {
return {
message: {
oneofKind: 'upstreamChunkAck',
upstreamChunkAck: {
...PROTO_UPSTREAM_CHUNK_ACK,
extensionFields: {},
},
},
};
},
};
export const invalidWire = {
resultUpstreamChunkResultCode: {
toWire: () => {
return new UpstreamChunkAck({
...WIRE_UPSTREAM_CHUNK_ACK,
results: [
new UpstreamChunkResult({
sequenceNumber: 100,
// @ts-ignore
resultCode: 9999,
resultString: 'result-100',
extensionFields: undefined,
}),
],
});
},
toErrorClass: () => {
return ISCPMalformedMessageError;
},
toError: () => {
return new (invalidWire.resultUpstreamChunkResultCode.toErrorClass())('Unrecognized resultCode.');
},
},
};
export const invalidProto = {
resultUpstreamChunkResultCode: {
toProto: () => {
return {
message: {
oneofKind: 'upstreamChunkAck',
upstreamChunkAck: {
...PROTO_UPSTREAM_CHUNK_ACK,
results: [
{
sequenceNumber: 100,
resultCode: 9999,
resultString: 'result-100',
extensionFields: undefined,
},
],
},
},
};
},
toErrorClass: () => {
return ISCPMalformedMessageError;
},
toError: () => {
return new (invalidProto.resultUpstreamChunkResultCode.toErrorClass())('Unrecognized resultCode.');
},
},
};
//# sourceMappingURL=upstream-chunk-ack.js.map