@aptpod/iscp-ts
Version:
iSCP 2.0 client library for TypeScript
154 lines • 4.17 kB
JavaScript
import { ISCPMalformedMessageError } from '../../exceptions';
import { DownstreamOpenRequest, DownstreamOpenRequestExtensionFields, QOS, DownstreamFilter, DataFilter, DataId, } from '../../message';
import { QoS as QoSPb } from '../codegen/common';
const WIRE_DOWNSTREAM_OPEN_REQUEST = new DownstreamOpenRequest({
requestId: 123,
desiredStreamIdAlias: 1024,
downstreamFilters: [
new DownstreamFilter({
sourceNodeId: '001',
dataFilters: [
new DataFilter({
name: 'name-001',
type: 'type-001',
}),
],
}),
new DownstreamFilter({
sourceNodeId: '002',
dataFilters: [
new DataFilter({
name: 'name-002',
type: 'type-002',
}),
],
}),
],
expiryInterval: 100,
dataIdAliases: {
123: new DataId({
name: 'name-123',
type: 'type-123',
}),
456: new DataId({
name: 'name-456',
type: 'type-456',
}),
},
qos: QOS.RELIABLE,
omitEmptyChunk: false,
extensionFields: undefined,
});
const PROTO_DOWNSTREAM_OPEN_REQUEST = {
requestId: 123,
desiredStreamIdAlias: 1024,
downstreamFilters: [
{
sourceNodeId: '001',
dataFilters: [
{
name: 'name-001',
type: 'type-001',
},
],
},
{
sourceNodeId: '002',
dataFilters: [
{
name: 'name-002',
type: 'type-002',
},
],
},
],
expiryInterval: 100,
dataIdAliases: {
123: {
name: 'name-123',
type: 'type-123',
},
456: {
name: 'name-456',
type: 'type-456',
},
},
qos: QoSPb.RELIABLE,
omitEmptyChunk: false,
extensionFields: undefined,
};
export const withoutExtensionFields = {
toWire: () => {
return new DownstreamOpenRequest({
...WIRE_DOWNSTREAM_OPEN_REQUEST,
});
},
toProto: () => {
return {
message: {
oneofKind: 'downstreamOpenRequest',
downstreamOpenRequest: {
...PROTO_DOWNSTREAM_OPEN_REQUEST,
},
},
};
},
};
export const withExtensionFields = {
toWire: () => {
return new DownstreamOpenRequest({
...WIRE_DOWNSTREAM_OPEN_REQUEST,
extensionFields: new DownstreamOpenRequestExtensionFields(),
});
},
toProto: () => {
return {
message: {
oneofKind: 'downstreamOpenRequest',
downstreamOpenRequest: {
...PROTO_DOWNSTREAM_OPEN_REQUEST,
extensionFields: {},
},
},
};
},
};
export const invalidWire = {
resultCode: {
toWire: () => {
return new DownstreamOpenRequest({
...WIRE_DOWNSTREAM_OPEN_REQUEST,
// @ts-ignore
qos: 9999,
});
},
toErrorClass: () => {
return ISCPMalformedMessageError;
},
toError: () => {
return new (invalidWire.resultCode.toErrorClass())('Unrecognized qos.');
},
},
};
export const invalidProto = {
resultCode: {
toProto: () => {
return {
message: {
oneofKind: 'downstreamOpenRequest',
downstreamOpenRequest: {
...PROTO_DOWNSTREAM_OPEN_REQUEST,
qos: 9999,
},
},
};
},
toErrorClass: () => {
return ISCPMalformedMessageError;
},
toError: () => {
return new (invalidWire.resultCode.toErrorClass())('Unrecognized qos.');
},
},
};
//# sourceMappingURL=downstream-open-request.js.map