UNPKG

@aptpod/iscp-ts

Version:

iSCP 2.0 client library for TypeScript

985 lines 34.8 kB
import { ISCPMalformedMessageError } from '../../exceptions'; import { QOS, DownstreamMetadata, DownstreamMetadataExtensionFields, DownstreamFilter, DataFilter, BaseTime, UpstreamOpen, UpstreamAbnormalClose, UpstreamResume, UpstreamNormalClose, DownstreamOpen, DownstreamAbnormalClose, DownstreamResume, DownstreamNormalClose, } from '../../message'; import { QoS as QoSPb } from '../codegen/common'; const WIRE_DOWNSTREAM_METADATA = new DownstreamMetadata({ requestId: 123, sourceNodeId: 'sourceNodeId', streamIdAlias: 200, metadata: new BaseTime({ sessionId: 'sessionId', name: 'name', priority: 100, elapsedTime: 1234n, baseTime: 4567n, }), extensionFields: undefined, }); const PROTO_DOWNSTREAM_METADATA = { requestId: 123, sourceNodeId: 'sourceNodeId', streamIdAlias: 200, metadata: { oneofKind: 'baseTime', baseTime: { sessionId: 'sessionId', name: 'name', priority: 100, elapsedTime: 1234n, baseTime: 4567n, }, }, extensionFields: undefined, }; export const withoutExtensionFields = { toWire: () => { return new DownstreamMetadata({ ...WIRE_DOWNSTREAM_METADATA, }); }, toProto: () => { return { message: { oneofKind: 'downstreamMetadata', downstreamMetadata: { ...PROTO_DOWNSTREAM_METADATA, }, }, }; }, }; export const withExtensionFields = { toWire: () => { return new DownstreamMetadata({ ...WIRE_DOWNSTREAM_METADATA, extensionFields: new DownstreamMetadataExtensionFields(), }); }, toProto: () => { return { message: { oneofKind: 'downstreamMetadata', downstreamMetadata: { ...PROTO_DOWNSTREAM_METADATA, extensionFields: {}, }, }, }; }, }; export const withMetadataBaseTime = { toWire: () => { return new DownstreamMetadata({ ...WIRE_DOWNSTREAM_METADATA, metadata: new BaseTime({ sessionId: 'sessionId', name: 'name', priority: 100, elapsedTime: 1234n, baseTime: 4567n, }), }); }, toProto: () => { return { message: { oneofKind: 'downstreamMetadata', downstreamMetadata: { ...PROTO_DOWNSTREAM_METADATA, metadata: { oneofKind: 'baseTime', baseTime: { sessionId: 'sessionId', name: 'name', priority: 100, elapsedTime: 1234n, baseTime: 4567n, }, }, }, }, }; }, }; export const withMetadataUpstreamOpen = { toWire: () => { return new DownstreamMetadata({ ...WIRE_DOWNSTREAM_METADATA, metadata: new UpstreamOpen({ streamId: '01020304-0506-4708-890a-111213141516', sessionId: 'SessionId', qos: QOS.RELIABLE, }), }); }, toProto: () => { return { message: { oneofKind: 'downstreamMetadata', downstreamMetadata: { ...PROTO_DOWNSTREAM_METADATA, metadata: { oneofKind: 'upstreamOpen', upstreamOpen: { streamId: new Uint8Array([ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x47, 0x08, 0x89, 0x0a, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, ]), sessionId: 'SessionId', qos: QoSPb.RELIABLE, }, }, }, }, }; }, }; export const withMetadataUpstreamAbnormalClose = { toWire: () => { return new DownstreamMetadata({ ...WIRE_DOWNSTREAM_METADATA, metadata: new UpstreamAbnormalClose({ streamId: '01020304-0506-4708-890a-111213141516', sessionId: 'SessionId', }), }); }, toProto: () => { return { message: { oneofKind: 'downstreamMetadata', downstreamMetadata: { ...PROTO_DOWNSTREAM_METADATA, metadata: { oneofKind: 'upstreamAbnormalClose', upstreamAbnormalClose: { streamId: new Uint8Array([ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x47, 0x08, 0x89, 0x0a, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, ]), sessionId: 'SessionId', }, }, }, }, }; }, }; export const withMetadataUpstreamResume = { toWire: () => { return new DownstreamMetadata({ ...WIRE_DOWNSTREAM_METADATA, metadata: new UpstreamResume({ streamId: '01020304-0506-4708-890a-111213141516', sessionId: 'SessionId', qos: QOS.RELIABLE, }), }); }, toProto: () => { return { message: { oneofKind: 'downstreamMetadata', downstreamMetadata: { ...PROTO_DOWNSTREAM_METADATA, metadata: { oneofKind: 'upstreamResume', upstreamResume: { streamId: new Uint8Array([ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x47, 0x08, 0x89, 0x0a, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, ]), sessionId: 'SessionId', qos: QoSPb.RELIABLE, }, }, }, }, }; }, }; export const withMetadataUpstreamNormalClose = { toWire: () => { return new DownstreamMetadata({ ...WIRE_DOWNSTREAM_METADATA, metadata: new UpstreamNormalClose({ streamId: '01020304-0506-4708-890a-111213141516', sessionId: 'sessionId', totalDataPoints: 10n, finalSequenceNumber: 3, }), }); }, toProto: () => { return { message: { oneofKind: 'downstreamMetadata', downstreamMetadata: { ...PROTO_DOWNSTREAM_METADATA, metadata: { oneofKind: 'upstreamNormalClose', upstreamNormalClose: { streamId: new Uint8Array([ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x47, 0x08, 0x89, 0x0a, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, ]), sessionId: 'sessionId', totalDataPoints: 10n, finalSequenceNumber: 3, }, }, }, }, }; }, }; export const withMetadataDownstreamOpen = { toWire: () => { return new DownstreamMetadata({ ...WIRE_DOWNSTREAM_METADATA, metadata: new DownstreamOpen({ streamId: '01020304-0506-4708-890a-111213141516', downstreamFilters: [ new DownstreamFilter({ sourceNodeId: '100', dataFilters: [ new DataFilter({ name: 'name-100', type: 'type-100', }), ], }), new DownstreamFilter({ sourceNodeId: '200', dataFilters: [ new DataFilter({ name: 'name-200', type: 'type-200', }), ], }), ], qos: QOS.RELIABLE, }), }); }, toProto: () => { return { message: { oneofKind: 'downstreamMetadata', downstreamMetadata: { ...PROTO_DOWNSTREAM_METADATA, metadata: { oneofKind: 'downstreamOpen', downstreamOpen: { streamId: new Uint8Array([ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x47, 0x08, 0x89, 0x0a, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, ]), downstreamFilters: [ { sourceNodeId: '100', dataFilters: [ { name: 'name-100', type: 'type-100', }, ], }, { sourceNodeId: '200', dataFilters: [ { name: 'name-200', type: 'type-200', }, ], }, ], qos: QoSPb.RELIABLE, }, }, }, }, }; }, }; export const withMetadataDownstreamAbnormalClose = { toWire: () => { return new DownstreamMetadata({ ...WIRE_DOWNSTREAM_METADATA, metadata: new DownstreamAbnormalClose({ streamId: '01020304-0506-4708-890a-111213141516', }), }); }, toProto: () => { return { message: { oneofKind: 'downstreamMetadata', downstreamMetadata: { ...PROTO_DOWNSTREAM_METADATA, metadata: { oneofKind: 'downstreamAbnormalClose', downstreamAbnormalClose: { streamId: new Uint8Array([ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x47, 0x08, 0x89, 0x0a, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, ]), }, }, }, }, }; }, }; export const withMetadataDownstreamResume = { toWire: () => { return new DownstreamMetadata({ ...WIRE_DOWNSTREAM_METADATA, metadata: new DownstreamResume({ streamId: '01020304-0506-4708-890a-111213141516', downstreamFilters: [ new DownstreamFilter({ sourceNodeId: '100', dataFilters: [ new DataFilter({ name: 'name-100', type: 'type-100', }), ], }), new DownstreamFilter({ sourceNodeId: '200', dataFilters: [ new DataFilter({ name: 'name-200', type: 'type-200', }), ], }), ], qos: QOS.RELIABLE, }), }); }, toProto: () => { return { message: { oneofKind: 'downstreamMetadata', downstreamMetadata: { ...PROTO_DOWNSTREAM_METADATA, metadata: { oneofKind: 'downstreamResume', downstreamResume: { streamId: new Uint8Array([ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x47, 0x08, 0x89, 0x0a, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, ]), downstreamFilters: [ { sourceNodeId: '100', dataFilters: [ { name: 'name-100', type: 'type-100', }, ], }, { sourceNodeId: '200', dataFilters: [ { name: 'name-200', type: 'type-200', }, ], }, ], qos: QoSPb.RELIABLE, }, }, }, }, }; }, }; export const withMetadataDownstreamNormalClose = { toWire: () => { return new DownstreamMetadata({ ...WIRE_DOWNSTREAM_METADATA, metadata: new DownstreamNormalClose({ streamId: '01020304-0506-4708-890a-111213141516', }), }); }, toProto: () => { return { message: { oneofKind: 'downstreamMetadata', downstreamMetadata: { ...PROTO_DOWNSTREAM_METADATA, metadata: { oneofKind: 'downstreamNormalClose', downstreamNormalClose: { streamId: new Uint8Array([ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x47, 0x08, 0x89, 0x0a, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, ]), }, }, }, }, }; }, }; export const invalidWire = { metadataUpstreamOpenStreamId: { toWire: () => { return new DownstreamMetadata({ ...WIRE_DOWNSTREAM_METADATA, metadata: new UpstreamOpen({ streamId: '00010203', sessionId: 'sessionId', qos: QOS.UNRELIABLE, }), }); }, toErrorClass: () => { return TypeError; }, toError: () => { return new (invalidWire.metadataUpstreamOpenStreamId.toErrorClass())('Invalid UUID'); }, }, metadataUpstreamOpenQos: { toWire: () => { return new DownstreamMetadata({ ...WIRE_DOWNSTREAM_METADATA, metadata: new UpstreamOpen({ streamId: '01020304-0506-4708-890a-111213141516', sessionId: 'sessionId', // @ts-ignore qos: 9999, }), }); }, toErrorClass: () => { return ISCPMalformedMessageError; }, toError: () => { return new (invalidWire.metadataUpstreamOpenQos.toErrorClass())('Unrecognized qos.'); }, }, metadataUpstreamAbnormalCloseStreamId: { toWire: () => { return new DownstreamMetadata({ ...WIRE_DOWNSTREAM_METADATA, metadata: new UpstreamAbnormalClose({ streamId: '00010203', sessionId: 'sessionId', }), }); }, toErrorClass: () => { return TypeError; }, toError: () => { return new (invalidWire.metadataUpstreamAbnormalCloseStreamId.toErrorClass())('Invalid UUID'); }, }, metadataUpstreamResumeStreamId: { toWire: () => { return new DownstreamMetadata({ ...WIRE_DOWNSTREAM_METADATA, metadata: new UpstreamResume({ streamId: '00010203', sessionId: 'sessionId', qos: QOS.UNRELIABLE, }), }); }, toErrorClass: () => { return TypeError; }, toError: () => { return new (invalidWire.metadataUpstreamResumeStreamId.toErrorClass())('Invalid UUID'); }, }, metadataUpstreamResumeQos: { toWire: () => { return new DownstreamMetadata({ ...WIRE_DOWNSTREAM_METADATA, metadata: new UpstreamResume({ streamId: '01020304-0506-4708-890a-111213141516', sessionId: 'sessionId', // @ts-ignore qos: 9999, }), }); }, toErrorClass: () => { return ISCPMalformedMessageError; }, toError: () => { return new (invalidWire.metadataUpstreamResumeQos.toErrorClass())('Unrecognized qos.'); }, }, metadataUpstreamNormalCloseStreamId: { toWire: () => { return new DownstreamMetadata({ ...WIRE_DOWNSTREAM_METADATA, metadata: new UpstreamNormalClose({ streamId: '00010203', sessionId: 'sessionId', totalDataPoints: 123n, finalSequenceNumber: 456, }), }); }, toErrorClass: () => { return TypeError; }, toError: () => { return new (invalidWire.metadataUpstreamNormalCloseStreamId.toErrorClass())('Invalid UUID'); }, }, metadataDownstreamOpenStreamId: { toWire: () => { return new DownstreamMetadata({ ...WIRE_DOWNSTREAM_METADATA, metadata: new DownstreamOpen({ streamId: '00010203', downstreamFilters: [], qos: QOS.UNRELIABLE, }), }); }, toErrorClass: () => { return TypeError; }, toError: () => { return new (invalidWire.metadataDownstreamOpenStreamId.toErrorClass())('Invalid UUID'); }, }, metadataDownstreamOpenQos: { toWire: () => { return new DownstreamMetadata({ ...WIRE_DOWNSTREAM_METADATA, metadata: new DownstreamOpen({ streamId: '01020304-0506-4708-890a-111213141516', downstreamFilters: [], // @ts-ignore qos: 9999, }), }); }, toErrorClass: () => { return ISCPMalformedMessageError; }, toError: () => { return new (invalidWire.metadataDownstreamOpenQos.toErrorClass())('Unrecognized qos.'); }, }, metadataDownstreamAbnormalCloseStreamId: { toWire: () => { return new DownstreamMetadata({ ...WIRE_DOWNSTREAM_METADATA, metadata: new DownstreamAbnormalClose({ streamId: '00010203', }), }); }, toErrorClass: () => { return TypeError; }, toError: () => { return new (invalidWire.metadataDownstreamAbnormalCloseStreamId.toErrorClass())('Invalid UUID'); }, }, metadataDownstreamResumeStreamId: { toWire: () => { return new DownstreamMetadata({ ...WIRE_DOWNSTREAM_METADATA, metadata: new UpstreamResume({ streamId: '00010203', sessionId: 'sessionId', qos: QOS.UNRELIABLE, }), }); }, toErrorClass: () => { return TypeError; }, toError: () => { return new (invalidWire.metadataUpstreamNormalCloseStreamId.toErrorClass())('Invalid UUID'); }, }, metadataDownstreamResumeQos: { toWire: () => { return new DownstreamMetadata({ ...WIRE_DOWNSTREAM_METADATA, metadata: new UpstreamResume({ streamId: '01020304-0506-4708-890a-111213141516', sessionId: 'sessionId', // @ts-ignore qos: 9999, }), }); }, toErrorClass: () => { return ISCPMalformedMessageError; }, toError: () => { return new (invalidWire.metadataDownstreamResumeQos.toErrorClass())('Unrecognized qos.'); }, }, metadataDownstreamNormalCloseStreamId: { toWire: () => { return new DownstreamMetadata({ ...WIRE_DOWNSTREAM_METADATA, metadata: new DownstreamNormalClose({ streamId: '00010203', }), }); }, toErrorClass: () => { return TypeError; }, toError: () => { return new (invalidWire.metadataDownstreamNormalCloseStreamId.toErrorClass())('Invalid UUID'); }, }, }; export const invalidProto = { metadataUpstreamOpenStreamId: { toProto: () => { return { message: { oneofKind: 'downstreamMetadata', downstreamMetadata: { ...PROTO_DOWNSTREAM_METADATA, metadata: { oneofKind: 'upstreamOpen', upstreamOpen: { streamId: new Uint8Array([0x01, 0x02, 0x03, 0x04]), sessionId: 'SessionId', qos: QoSPb.UNRELIABLE, }, }, }, }, }; }, toErrorClass: () => { return TypeError; }, toError: () => { return new (invalidProto.metadataUpstreamOpenStreamId.toErrorClass())('Stringified UUID is invalid'); }, }, metadataUpstreamOpenQos: { toProto: () => { return { message: { oneofKind: 'downstreamMetadata', downstreamMetadata: { ...PROTO_DOWNSTREAM_METADATA, metadata: { oneofKind: 'upstreamOpen', upstreamOpen: { streamId: new Uint8Array([ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x47, 0x08, 0x89, 0x0a, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, ]), sessionId: 'SessionId', qos: 9999, }, }, }, }, }; }, toErrorClass: () => { return ISCPMalformedMessageError; }, toError: () => { return new (invalidWire.metadataUpstreamOpenQos.toErrorClass())('Unrecognized qos.'); }, }, metadataUpstreamAbnormalCloseStreamId: { toProto: () => { return { message: { oneofKind: 'downstreamMetadata', downstreamMetadata: { ...PROTO_DOWNSTREAM_METADATA, metadata: { oneofKind: 'upstreamAbnormalClose', upstreamAbnormalClose: { streamId: new Uint8Array([0x01, 0x02, 0x03, 0x04]), sessionId: 'SessionId', }, }, }, }, }; }, toErrorClass: () => { return TypeError; }, toError: () => { return new (invalidProto.metadataUpstreamAbnormalCloseStreamId.toErrorClass())('Stringified UUID is invalid'); }, }, metadataUpstreamResumeStreamId: { toProto: () => { return { message: { oneofKind: 'downstreamMetadata', downstreamMetadata: { ...PROTO_DOWNSTREAM_METADATA, metadata: { oneofKind: 'upstreamResume', upstreamResume: { streamId: new Uint8Array([0x01, 0x02, 0x03, 0x04]), sessionId: 'SessionId', qos: QoSPb.UNRELIABLE, }, }, }, }, }; }, toErrorClass: () => { return TypeError; }, toError: () => { return new (invalidProto.metadataUpstreamResumeStreamId.toErrorClass())('Stringified UUID is invalid'); }, }, metadataUpstreamResumeQos: { toProto: () => { return { message: { oneofKind: 'downstreamMetadata', downstreamMetadata: { ...PROTO_DOWNSTREAM_METADATA, metadata: { oneofKind: 'upstreamResume', upstreamResume: { streamId: new Uint8Array([ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x47, 0x08, 0x89, 0x0a, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, ]), sessionId: 'SessionId', qos: 9999, }, }, }, }, }; }, toErrorClass: () => { return ISCPMalformedMessageError; }, toError: () => { return new (invalidWire.metadataUpstreamResumeQos.toErrorClass())('Unrecognized qos.'); }, }, metadataUpstreamNormalCloseStreamId: { toProto: () => { return { message: { oneofKind: 'downstreamMetadata', downstreamMetadata: { ...PROTO_DOWNSTREAM_METADATA, metadata: { oneofKind: 'upstreamNormalClose', upstreamNormalClose: { streamId: new Uint8Array([0x01, 0x02, 0x03, 0x04]), sessionId: 'SessionId', totalDataPoints: 123n, finalSequenceNumber: 456, }, }, }, }, }; }, toErrorClass: () => { return TypeError; }, toError: () => { return new (invalidProto.metadataUpstreamNormalCloseStreamId.toErrorClass())('Stringified UUID is invalid'); }, }, metadataDownstreamOpenStreamId: { toProto: () => { return { message: { oneofKind: 'downstreamMetadata', downstreamMetadata: { ...PROTO_DOWNSTREAM_METADATA, metadata: { oneofKind: 'downstreamOpen', downstreamOpen: { streamId: new Uint8Array([0x01, 0x02, 0x03, 0x04]), downstreamFilters: [], qos: QoSPb.UNRELIABLE, }, }, }, }, }; }, toErrorClass: () => { return TypeError; }, toError: () => { return new (invalidProto.metadataDownstreamOpenStreamId.toErrorClass())('Stringified UUID is invalid'); }, }, metadataDownstreamOpenQos: { toProto: () => { return { message: { oneofKind: 'downstreamMetadata', downstreamMetadata: { ...PROTO_DOWNSTREAM_METADATA, metadata: { oneofKind: 'downstreamOpen', downstreamOpen: { streamId: new Uint8Array([ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x47, 0x08, 0x89, 0x0a, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, ]), downstreamFilters: [], qos: 9999, }, }, }, }, }; }, toErrorClass: () => { return ISCPMalformedMessageError; }, toError: () => { return new (invalidWire.metadataDownstreamOpenQos.toErrorClass())('Unrecognized qos.'); }, }, metadataDownstreamAbnormalCloseStreamId: { toProto: () => { return { message: { oneofKind: 'downstreamMetadata', downstreamMetadata: { ...PROTO_DOWNSTREAM_METADATA, metadata: { oneofKind: 'downstreamAbnormalClose', downstreamAbnormalClose: { streamId: new Uint8Array([0x01, 0x02, 0x03, 0x04]), }, }, }, }, }; }, toErrorClass: () => { return TypeError; }, toError: () => { return new (invalidProto.metadataDownstreamAbnormalCloseStreamId.toErrorClass())('Stringified UUID is invalid'); }, }, metadataDownstreamResumeStreamId: { toProto: () => { return { message: { oneofKind: 'downstreamMetadata', downstreamMetadata: { ...PROTO_DOWNSTREAM_METADATA, metadata: { oneofKind: 'downstreamResume', downstreamResume: { streamId: new Uint8Array([0x01, 0x02, 0x03, 0x04]), downstreamFilters: [], qos: QoSPb.UNRELIABLE, }, }, }, }, }; }, toErrorClass: () => { return TypeError; }, toError: () => { return new (invalidProto.metadataDownstreamResumeStreamId.toErrorClass())('Stringified UUID is invalid'); }, }, metadataDownstreamResumeQos: { toProto: () => { return { message: { oneofKind: 'downstreamMetadata', downstreamMetadata: { ...PROTO_DOWNSTREAM_METADATA, metadata: { oneofKind: 'downstreamResume', downstreamResume: { streamId: new Uint8Array([ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x47, 0x08, 0x89, 0x0a, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, ]), downstreamFilters: [], qos: 9999, }, }, }, }, }; }, toErrorClass: () => { return ISCPMalformedMessageError; }, toError: () => { return new (invalidWire.metadataDownstreamResumeQos.toErrorClass())('Unrecognized qos.'); }, }, metadataDownstreamNormalCloseStreamId: { toProto: () => { return { message: { oneofKind: 'downstreamMetadata', downstreamMetadata: { ...PROTO_DOWNSTREAM_METADATA, metadata: { oneofKind: 'downstreamNormalClose', downstreamNormalClose: { streamId: new Uint8Array([0x01, 0x02, 0x03, 0x04]), }, }, }, }, }; }, toErrorClass: () => { return TypeError; }, toError: () => { return new (invalidProto.metadataDownstreamNormalCloseStreamId.toErrorClass())('Stringified UUID is invalid'); }, }, metadataOneOf: { toProto: () => { return { message: { oneofKind: 'downstreamMetadata', downstreamMetadata: { ...PROTO_DOWNSTREAM_METADATA, metadata: { // @ts-ignore oneofKind: '__unrecognized__', }, }, }, }; }, toErrorClass: () => { return ISCPMalformedMessageError; }, toError: () => { return new (invalidProto.metadataOneOf.toErrorClass())('Unrecognized metadata.'); }, }, }; //# sourceMappingURL=downstream-metadata.js.map