@aptpod/iscp-ts
Version:
iSCP 2.0 client library for TypeScript
225 lines • 7.34 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.invalidProto = exports.invalidWire = exports.withAliasId = exports.withExtensionFields = exports.withoutExtensionFields = void 0;
const exceptions_1 = require("../../exceptions");
const message_1 = require("../../message");
const WIRE_DOWNSTREAM_CHUNK = new message_1.DownstreamChunk({
streamIdAlias: 123,
upstreamOrAlias: new message_1.UpstreamInfo({
sessionId: 'sessionId',
streamId: '01020304-0506-4708-890a-111213141516',
sourceNodeId: 'sourceNodeId',
}),
streamChunk: new message_1.StreamChunk({
sequenceNumber: 4567,
dataPointGroups: [
new message_1.DataPointGroup({
dataIdOrAlias: new message_1.DataId({
name: 'name',
type: 'type',
}),
dataPoints: [
new message_1.DataPoint({
elapsedTime: 123n,
payload: new Uint8Array([0x00, 0x01, 0x02, 0x03]),
}),
],
}),
],
}),
extensionFields: undefined,
});
const PROTO_DOWNSTREAM_CHUNK = {
streamIdAlias: 123,
upstreamOrAlias: {
oneofKind: 'upstreamInfo',
upstreamInfo: {
sessionId: 'sessionId',
streamId: new Uint8Array([
0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x47, 0x08, 0x89, 0x0a, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,
]),
sourceNodeId: 'sourceNodeId',
},
},
streamChunk: {
sequenceNumber: 4567,
dataPointGroups: [
{
dataIdOrAlias: {
oneofKind: 'dataId',
dataId: {
name: 'name',
type: 'type',
},
},
dataPoints: [
{
elapsedTime: 123n,
payload: new Uint8Array([0x00, 0x01, 0x02, 0x03]),
},
],
},
],
},
extensionFields: undefined,
};
exports.withoutExtensionFields = {
toWire: () => {
return new message_1.DownstreamChunk({
...WIRE_DOWNSTREAM_CHUNK,
});
},
toProto: () => {
return {
message: {
oneofKind: 'downstreamChunk',
downstreamChunk: {
...PROTO_DOWNSTREAM_CHUNK,
},
},
};
},
};
exports.withExtensionFields = {
toWire: () => {
return new message_1.DownstreamChunk({
...WIRE_DOWNSTREAM_CHUNK,
extensionFields: new message_1.DownstreamChunkExtensionFields(),
});
},
toProto: () => {
return {
message: {
oneofKind: 'downstreamChunk',
downstreamChunk: {
...PROTO_DOWNSTREAM_CHUNK,
extensionFields: {},
},
},
};
},
};
exports.withAliasId = {
toWire: () => {
return new message_1.DownstreamChunk({
...WIRE_DOWNSTREAM_CHUNK,
upstreamOrAlias: 123,
streamChunk: {
sequenceNumber: 4567,
dataPointGroups: [
new message_1.DataPointGroup({
dataIdOrAlias: 9901,
dataPoints: [
new message_1.DataPoint({
elapsedTime: 123n,
payload: new Uint8Array([0x00, 0x01, 0x02, 0x03]),
}),
],
}),
],
},
});
},
toProto: () => {
return {
message: {
oneofKind: 'downstreamChunk',
downstreamChunk: {
...PROTO_DOWNSTREAM_CHUNK,
upstreamOrAlias: {
oneofKind: 'upstreamAlias',
upstreamAlias: 123,
},
streamChunk: {
sequenceNumber: 4567,
dataPointGroups: [
{
dataIdOrAlias: {
oneofKind: 'dataIdAlias',
dataIdAlias: 9901,
},
dataPoints: [
{
elapsedTime: 123n,
payload: new Uint8Array([0x00, 0x01, 0x02, 0x03]),
},
],
},
],
},
},
},
};
},
};
exports.invalidWire = {
upstreamInfoStreamId: {
toWire: () => {
return new message_1.DownstreamChunk({
...WIRE_DOWNSTREAM_CHUNK,
upstreamOrAlias: new message_1.UpstreamInfo({
sessionId: 'sessionId',
streamId: '00010203',
sourceNodeId: 'sourceNodeId',
}),
});
},
toErrorClass: () => {
return TypeError;
},
toError: () => {
return new (exports.invalidWire.upstreamInfoStreamId.toErrorClass())('Invalid UUID');
},
},
};
exports.invalidProto = {
upstreamInfoStreamId: {
toProto: () => {
return {
message: {
oneofKind: 'downstreamChunk',
downstreamChunk: {
...PROTO_DOWNSTREAM_CHUNK,
upstreamOrAlias: {
oneofKind: 'upstreamInfo',
upstreamInfo: {
sessionId: 'sessionId',
streamId: new Uint8Array([0x00, 0x01, 0x02, 0x03]),
sourceNodeId: 'sourceNodeId',
},
},
},
},
};
},
toErrorClass: () => {
return TypeError;
},
toError: () => {
return new (exports.invalidProto.upstreamInfoStreamId.toErrorClass())('Stringified UUID is invalid');
},
},
upstreamOrAliasOneOf: {
toProto: () => {
return {
message: {
oneofKind: 'downstreamChunk',
downstreamChunk: {
...PROTO_DOWNSTREAM_CHUNK,
upstreamOrAlias: {
// @ts-ignore
oneofKind: '__unrecognized__',
},
},
},
};
},
toErrorClass: () => {
return exceptions_1.ISCPMalformedMessageError;
},
toError: () => {
return new (exports.invalidProto.upstreamInfoStreamId.toErrorClass())('Unrecognized upstreamOrAlias.');
},
},
};
//# sourceMappingURL=downstream-chunk.js.map