@aptpod/iscp-ts
Version:
iSCP 2.0 client library for TypeScript
105 lines • 2.91 kB
JavaScript
import { ISCPMalformedMessageError } from '../../exceptions';
import { DataId, QOS, UpstreamOpenRequest, UpstreamOpenRequestExtensionFields } from '../../message';
import { QoS as QoSPb } from '../codegen/common';
const WIRE_UPSTREAM_OPEN_REQUEST = new UpstreamOpenRequest({
requestId: 100,
sessionId: 'sessionId',
expiryInterval: 200,
dataIds: [new DataId({ name: 'name', type: 'type' })],
qos: QOS.RELIABLE,
ackInterval: 300,
extensionFields: undefined,
});
const PROTO_UPSTREAM_OPEN_REQUEST = {
requestId: 100,
sessionId: 'sessionId',
expiryInterval: 200,
dataIds: [
{
name: 'name',
type: 'type',
},
],
qos: QoSPb.RELIABLE,
ackInterval: 300,
extensionFields: undefined,
};
export const withoutExtensionFields = {
toWire: () => {
return new UpstreamOpenRequest({
...WIRE_UPSTREAM_OPEN_REQUEST,
});
},
toProto: () => {
return {
message: {
oneofKind: 'upstreamOpenRequest',
upstreamOpenRequest: {
...PROTO_UPSTREAM_OPEN_REQUEST,
},
},
};
},
};
export const withExtensionFields = {
toWire: () => {
return new UpstreamOpenRequest({
...WIRE_UPSTREAM_OPEN_REQUEST,
extensionFields: new UpstreamOpenRequestExtensionFields({
persist: true,
}),
});
},
toProto: () => {
return {
message: {
oneofKind: 'upstreamOpenRequest',
upstreamOpenRequest: {
...PROTO_UPSTREAM_OPEN_REQUEST,
extensionFields: {
persist: true,
},
},
},
};
},
};
export const invalidWire = {
qos: {
toWire: () => {
return new UpstreamOpenRequest({
...WIRE_UPSTREAM_OPEN_REQUEST,
// @ts-ignore
qos: 9999,
});
},
toErrorClass: () => {
return ISCPMalformedMessageError;
},
toError: () => {
return new (invalidWire.qos.toErrorClass())('Unrecognized qos.');
},
},
};
export const invalidProto = {
qos: {
toProto: () => {
return {
message: {
oneofKind: 'upstreamOpenRequest',
upstreamOpenRequest: {
...PROTO_UPSTREAM_OPEN_REQUEST,
qos: 9999,
},
},
};
},
toErrorClass: () => {
return ISCPMalformedMessageError;
},
toError: () => {
return new (invalidWire.qos.toErrorClass())('Unrecognized qos.');
},
},
};
//# sourceMappingURL=upstream-open-request.js.map