UNPKG

@aptpod/iscp-ts

Version:

iSCP 2.0 client library for TypeScript

504 lines 22.3 kB
import { stringToBytes as UUID$stringToBytes, bytesToString as UUID$bytesToString } from '../../utils/uuid'; import { map as Object$map } from '../../utils/object'; import { ISCPMalformedMessageError } from '../../exceptions'; import { UpstreamInfo, DownstreamOpenRequestExtensionFields, DownstreamOpenResponseExtensionFields, DownstreamResumeRequestExtensionFields, DownstreamResumeResponseExtensionFields, DownstreamCloseRequestExtensionFields, DownstreamCloseResponseExtensionFields, DownstreamChunkExtensionFields, DownstreamChunkAckExtensionFields, DownstreamChunkAckCompleteExtensionFields, DownstreamMetadataExtensionFields, DownstreamMetadataAckExtensionFields, DownstreamChunkResultExtensionFields, DownstreamChunkResult, DownstreamOpenRequest, DownstreamOpenResponse, DownstreamResumeRequest, DownstreamResumeResponse, DownstreamCloseRequest, DownstreamCloseResponse, DownstreamChunk, DownstreamChunkAck, DownstreamChunkAckComplete, DownstreamMetadata, DownstreamMetadataAck, DataId, } from '../../message'; import { BaseTime, UpstreamOpen, UpstreamAbnormalClose, UpstreamResume, UpstreamNormalClose, DownstreamOpen, DownstreamAbnormalClose, DownstreamResume, DownstreamNormalClose, } from '../../message/metadata'; import { WireToProto as Common$WireToProto, ProtoToWire as Common$ProtoToWire } from './common'; import { WireToProto as ResultCode$WireToProto, ProtoToWire as ResultCode$ProtoToWire } from './result-code'; import { WireToProto as Metadata$WireToProto, ProtoToWire as Metadata$ProtoToWire } from './metadata'; export class WireToProto { static upstreamInfo(wire) { return { sessionId: wire.sessionId, streamId: UUID$stringToBytes(wire.streamId), sourceNodeId: wire.sourceNodeId, }; } static downstreamOpenRequestExtensionFields(_wire) { return {}; } static downstreamOpenResponseExtensionFields(_wire) { return {}; } static downstreamResumeRequestExtensionFields(_wire) { return {}; } static downstreamResumeResponseExtensionFields(_wire) { return {}; } static downstreamCloseRequestExtensionFields(_wire) { return {}; } static downstreamCloseResponseExtensionFields(_wire) { return {}; } static downstreamChunkExtensionFields(_wire) { return {}; } static downstreamChunkAckExtensionFields(_wire) { return {}; } static downstreamChunkAckCompleteExtensionFields(_wire) { return {}; } static downstreamMetadataExtensionFields(_wire) { return {}; } static downstreamMetadataAckExtensionFields(_wire) { return {}; } static downstreamChunkResultExtensionFields(_wire) { return {}; } static downstreamChunkResult(wire) { return { streamIdOfUpstream: UUID$stringToBytes(wire.streamIdOfUpstream), sequenceNumberInUpstream: wire.sequenceNumberInUpstream, resultCode: ResultCode$WireToProto.resultCode(wire.resultCode), resultString: wire.resultString, extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.downstreamChunkResultExtensionFields(wire.extensionFields), }; } static downstreamOpenRequest(wire) { return { requestId: wire.requestId, desiredStreamIdAlias: wire.desiredStreamIdAlias, downstreamFilters: wire.downstreamFilters.map((downstreamFilter) => { return Common$WireToProto.downstreamFilter(downstreamFilter); }), expiryInterval: wire.expiryInterval, dataIdAliases: Object$map({ source: wire.dataIdAliases, keyConverter: (alias) => Number(alias), valueConverter: (dataId) => ({ name: dataId.name, type: dataId.type, }), }), qos: Common$WireToProto.qos(wire.qos), omitEmptyChunk: wire.omitEmptyChunk, extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.downstreamOpenRequestExtensionFields(wire.extensionFields), }; } static downstreamOpenResponse(wire) { return { requestId: wire.requestId, assignedStreamId: UUID$stringToBytes(wire.assignedStreamId), serverTime: wire.serverTime, resultCode: ResultCode$WireToProto.resultCode(wire.resultCode), resultString: wire.resultString, extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.downstreamOpenResponseExtensionFields(wire.extensionFields), }; } static downstreamResumeRequest(wire) { return { requestId: wire.requestId, streamId: UUID$stringToBytes(wire.streamId), desiredStreamIdAlias: wire.desiredStreamIdAlias, extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.downstreamResumeRequestExtensionFields(wire.extensionFields), }; } static downstreamResumeResponse(wire) { return { requestId: wire.requestId, resultCode: ResultCode$WireToProto.resultCode(wire.resultCode), resultString: wire.resultString, extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.downstreamResumeResponseExtensionFields(wire.extensionFields), }; } static downstreamCloseRequest(wire) { return { requestId: wire.requestId, streamId: UUID$stringToBytes(wire.streamId), extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.downstreamCloseRequestExtensionFields(wire.extensionFields), }; } static downstreamCloseResponse(wire) { return { requestId: wire.requestId, resultCode: ResultCode$WireToProto.resultCode(wire.resultCode), resultString: wire.resultString, extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.downstreamCloseResponseExtensionFields(wire.extensionFields), }; } static upstreamOrAlias(wire) { if (wire instanceof UpstreamInfo) { return { oneofKind: 'upstreamInfo', upstreamInfo: WireToProto.upstreamInfo(wire), }; } else if (typeof wire === 'number') { return { oneofKind: 'upstreamAlias', upstreamAlias: wire, }; } throw new ISCPMalformedMessageError('Unrecognized upstreamOrAlias.'); } static downstreamChunk(wire) { return { streamIdAlias: wire.streamIdAlias, upstreamOrAlias: WireToProto.upstreamOrAlias(wire.upstreamOrAlias), streamChunk: Common$WireToProto.streamChunk(wire.streamChunk), extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.downstreamChunkExtensionFields(wire.extensionFields), }; } static downstreamChunkAck(wire) { return { streamIdAlias: wire.streamIdAlias, ackId: wire.ackId, results: wire.results.map((result) => WireToProto.downstreamChunkResult(result)), upstreamAliases: Object$map({ source: wire.upstreamAliases, keyConverter: (key) => Number(key), valueConverter: (value) => WireToProto.upstreamInfo(value), }), dataIdAliases: Object$map({ source: wire.dataIdAliases, keyConverter: (key) => Number(key), valueConverter: (value) => Common$WireToProto.dataId(value), }), extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.downstreamChunkAckExtensionFields(wire.extensionFields), }; } static downstreamChunkAckComplete(wire) { return { streamIdAlias: wire.streamIdAlias, ackId: wire.ackId, resultCode: ResultCode$WireToProto.resultCode(wire.resultCode), resultString: wire.resultString, extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.downstreamChunkAckCompleteExtensionFields(wire.extensionFields), }; } static metadata(wire) { if (wire instanceof BaseTime) { return { oneofKind: 'baseTime', baseTime: Metadata$WireToProto.baseTime(wire), }; } else if (wire instanceof UpstreamOpen) { return { oneofKind: 'upstreamOpen', upstreamOpen: Metadata$WireToProto.upstreamOpen(wire), }; } else if (wire instanceof UpstreamAbnormalClose) { return { oneofKind: 'upstreamAbnormalClose', upstreamAbnormalClose: Metadata$WireToProto.upstreamAbnormalClose(wire), }; } else if (wire instanceof UpstreamResume) { return { oneofKind: 'upstreamResume', upstreamResume: Metadata$WireToProto.upstreamResume(wire), }; } else if (wire instanceof UpstreamNormalClose) { return { oneofKind: 'upstreamNormalClose', upstreamNormalClose: Metadata$WireToProto.upstreamNormalClose(wire), }; } else if (wire instanceof DownstreamOpen) { return { oneofKind: 'downstreamOpen', downstreamOpen: Metadata$WireToProto.downstreamOpen(wire), }; } else if (wire instanceof DownstreamAbnormalClose) { return { oneofKind: 'downstreamAbnormalClose', downstreamAbnormalClose: Metadata$WireToProto.downstreamAbnormalClose(wire), }; } else if (wire instanceof DownstreamResume) { return { oneofKind: 'downstreamResume', downstreamResume: Metadata$WireToProto.downstreamResume(wire), }; } else if (wire instanceof DownstreamNormalClose) { return { oneofKind: 'downstreamNormalClose', downstreamNormalClose: Metadata$WireToProto.downstreamNormalClose(wire), }; } throw new ISCPMalformedMessageError('Unrecognized metadata.'); } static downstreamMetadata(wire) { return { requestId: wire.requestId, metadata: WireToProto.metadata(wire.metadata), sourceNodeId: wire.sourceNodeId, streamIdAlias: wire.streamIdAlias, extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.downstreamMetadataExtensionFields(wire.extensionFields), }; } static downstreamMetadataAck(wire) { return { requestId: wire.requestId, resultCode: ResultCode$WireToProto.resultCode(wire.resultCode), resultString: wire.resultString, extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.downstreamMetadataAckExtensionFields(wire.extensionFields), }; } } export class ProtoToWire { static upstreamInfo(proto) { return new UpstreamInfo({ sessionId: proto.sessionId, streamId: UUID$bytesToString(proto.streamId), sourceNodeId: proto.sourceNodeId, }); } static downstreamOpenRequestExtensionFields(_proto) { return new DownstreamOpenRequestExtensionFields(); } static downstreamOpenResponseExtensionFields(_proto) { return new DownstreamOpenResponseExtensionFields(); } static downstreamResumeRequestExtensionFields(_proto) { return new DownstreamResumeRequestExtensionFields(); } static downstreamResumeResponseExtensionFields(_proto) { return new DownstreamResumeResponseExtensionFields(); } static downstreamCloseRequestExtensionFields(_proto) { return new DownstreamCloseRequestExtensionFields(); } static downstreamCloseResponseExtensionFields(_proto) { return new DownstreamCloseResponseExtensionFields(); } static downstreamChunkExtensionFields(_proto) { return new DownstreamChunkExtensionFields(); } static downstreamChunkAckExtensionFields(_proto) { return new DownstreamChunkAckExtensionFields(); } static downstreamChunkAckCompleteExtensionFields(_proto) { return new DownstreamChunkAckCompleteExtensionFields(); } static downstreamMetadataExtensionFields(_proto) { return new DownstreamMetadataExtensionFields(); } static downstreamMetadataAckExtensionFields(_proto) { return new DownstreamMetadataAckExtensionFields(); } static downstreamChunkResultExtensionFields(_proto) { return new DownstreamChunkResultExtensionFields(); } static downstreamChunkResult(proto) { return new DownstreamChunkResult({ streamIdOfUpstream: UUID$bytesToString(proto.streamIdOfUpstream), sequenceNumberInUpstream: proto.sequenceNumberInUpstream, resultCode: ResultCode$ProtoToWire.resultCode(proto.resultCode), resultString: proto.resultString, extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.downstreamChunkResultExtensionFields(proto.extensionFields), }); } static downstreamOpenRequest(proto) { return new DownstreamOpenRequest({ requestId: proto.requestId, desiredStreamIdAlias: proto.desiredStreamIdAlias, downstreamFilters: proto.downstreamFilters.map((downstreamFilter) => { return Common$ProtoToWire.downstreamFilter(downstreamFilter); }), expiryInterval: proto.expiryInterval, dataIdAliases: Object$map({ source: proto.dataIdAliases, keyConverter: (alias) => Number(alias), valueConverter: (dataId) => { return new DataId({ name: dataId.name, type: dataId.type, }); }, }), qos: Common$ProtoToWire.qos(proto.qos), omitEmptyChunk: proto.omitEmptyChunk, extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.downstreamOpenRequestExtensionFields(proto.extensionFields), }); } static downstreamOpenResponse(proto) { return new DownstreamOpenResponse({ requestId: proto.requestId, assignedStreamId: UUID$bytesToString(proto.assignedStreamId), serverTime: proto.serverTime, resultCode: ResultCode$ProtoToWire.resultCode(proto.resultCode), resultString: proto.resultString, extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.downstreamOpenResponseExtensionFields(proto.extensionFields), }); } static downstreamResumeRequest(proto) { return new DownstreamResumeRequest({ requestId: proto.requestId, streamId: UUID$bytesToString(proto.streamId), desiredStreamIdAlias: proto.desiredStreamIdAlias, extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.downstreamResumeRequestExtensionFields(proto.extensionFields), }); } static downstreamResumeResponse(proto) { return new DownstreamResumeResponse({ requestId: proto.requestId, resultCode: ResultCode$ProtoToWire.resultCode(proto.resultCode), resultString: proto.resultString, extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.downstreamResumeResponseExtensionFields(proto.extensionFields), }); } static downstreamCloseRequest(proto) { return new DownstreamCloseRequest({ requestId: proto.requestId, streamId: UUID$bytesToString(proto.streamId), extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.downstreamCloseRequestExtensionFields(proto.extensionFields), }); } static downstreamCloseResponse(proto) { return new DownstreamCloseResponse({ requestId: proto.requestId, resultCode: ResultCode$ProtoToWire.resultCode(proto.resultCode), resultString: proto.resultString, extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.downstreamCloseResponseExtensionFields(proto.extensionFields), }); } static upstreamOrAlias(proto) { switch (proto.oneofKind) { case 'upstreamInfo': return ProtoToWire.upstreamInfo(proto.upstreamInfo); case 'upstreamAlias': return proto.upstreamAlias; default: throw new ISCPMalformedMessageError('Unrecognized upstreamOrAlias.'); } } static downstreamChunk(proto) { if (typeof proto.streamChunk === 'undefined') { throw new ISCPMalformedMessageError('Unrecognized DownstreamChunk.streamChunk.'); } return new DownstreamChunk({ streamIdAlias: proto.streamIdAlias, upstreamOrAlias: ProtoToWire.upstreamOrAlias(proto.upstreamOrAlias), streamChunk: Common$ProtoToWire.streamChunk(proto.streamChunk), extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.downstreamChunkExtensionFields(proto.extensionFields), }); } static downstreamChunkAck(proto) { return new DownstreamChunkAck({ streamIdAlias: proto.streamIdAlias, ackId: proto.ackId, results: proto.results.map((result) => ProtoToWire.downstreamChunkResult(result)), upstreamAliases: Object$map({ source: proto.upstreamAliases, keyConverter: (key) => Number(key), valueConverter: (value) => ProtoToWire.upstreamInfo(value), }), dataIdAliases: Object$map({ source: proto.dataIdAliases, keyConverter: (key) => Number(key), valueConverter: (value) => Common$ProtoToWire.dataId(value), }), extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.downstreamChunkAckExtensionFields(proto.extensionFields), }); } static downstreamChunkAckComplete(proto) { return new DownstreamChunkAckComplete({ streamIdAlias: proto.streamIdAlias, ackId: proto.ackId, resultCode: ResultCode$ProtoToWire.resultCode(proto.resultCode), resultString: proto.resultString, extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.downstreamChunkAckCompleteExtensionFields(proto.extensionFields), }); } static metadata(proto) { switch (proto.oneofKind) { case 'baseTime': return Metadata$ProtoToWire.baseTime(proto.baseTime); case 'upstreamOpen': return Metadata$ProtoToWire.upstreamOpen(proto.upstreamOpen); case 'upstreamAbnormalClose': return Metadata$ProtoToWire.upstreamAbnormalClose(proto.upstreamAbnormalClose); case 'upstreamResume': return Metadata$ProtoToWire.upstreamResume(proto.upstreamResume); case 'upstreamNormalClose': return Metadata$ProtoToWire.upstreamNormalClose(proto.upstreamNormalClose); case 'downstreamOpen': return Metadata$ProtoToWire.downstreamOpen(proto.downstreamOpen); case 'downstreamAbnormalClose': return Metadata$ProtoToWire.downstreamAbnormalClose(proto.downstreamAbnormalClose); case 'downstreamResume': return Metadata$ProtoToWire.downstreamResume(proto.downstreamResume); case 'downstreamNormalClose': return Metadata$ProtoToWire.downstreamNormalClose(proto.downstreamNormalClose); default: throw new ISCPMalformedMessageError('Unrecognized metadata.'); } } static downstreamMetadata(proto) { return new DownstreamMetadata({ requestId: proto.requestId, metadata: ProtoToWire.metadata(proto.metadata), sourceNodeId: proto.sourceNodeId, streamIdAlias: proto.streamIdAlias, extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.downstreamMetadataExtensionFields(proto.extensionFields), }); } static downstreamMetadataAck(proto) { return new DownstreamMetadataAck({ requestId: proto.requestId, resultCode: ResultCode$ProtoToWire.resultCode(proto.resultCode), resultString: proto.resultString, extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.downstreamMetadataAckExtensionFields(proto.extensionFields), }); } } //# sourceMappingURL=downstream.js.map