UNPKG

@aptpod/iscp-ts

Version:

iSCP 2.0 client library for TypeScript

360 lines 15.7 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 { UpstreamOpenRequestExtensionFields, UpstreamOpenResponseExtensionFields, UpstreamResumeRequestExtensionFields, UpstreamResumeResponseExtensionFields, UpstreamCloseRequestExtensionFields, UpstreamCloseResponseExtensionFields, UpstreamChunkExtensionFields, UpstreamChunkAckExtensionFields, UpstreamMetadataExtensionFields, UpstreamMetadataAckExtensionFields, UpstreamChunkResultExtensionFields, UpstreamChunkResult, UpstreamOpenRequest, UpstreamOpenResponse, UpstreamResumeRequest, UpstreamResumeResponse, UpstreamCloseRequest, UpstreamCloseResponse, UpstreamChunk, UpstreamChunkAck, UpstreamMetadata, UpstreamMetadataAck, BaseTime, } from '../../message'; 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 upstreamOpenRequestExtensionFields(wire) { return { persist: wire.persist, }; } static upstreamOpenResponseExtensionFields(_wire) { return {}; } static upstreamResumeRequestExtensionFields(_wire) { return {}; } static upstreamResumeResponseExtensionFields(_wire) { return {}; } static upstreamCloseRequestExtensionFields(wire) { return { closeSession: wire.closeSession, }; } static upstreamCloseResponseExtensionFields(_wire) { return {}; } static upstreamChunkExtensionFields(_wire) { return {}; } static upstreamChunkAckExtensionFields(_wire) { return {}; } static upstreamMetadataExtensionFields(wire) { return { persist: wire.persist, }; } static upstreamMetadataAckExtensionFields(_wire) { return {}; } static upstreamChunkResultExtensionFields(_wire) { return {}; } static upstreamChunkResult(wire) { return { sequenceNumber: wire.sequenceNumber, resultCode: ResultCode$WireToProto.resultCode(wire.resultCode), resultString: wire.resultString, extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.upstreamChunkResultExtensionFields(wire.extensionFields), }; } static upstreamOpenRequest(wire) { return { sessionId: wire.sessionId, requestId: wire.requestId, expiryInterval: wire.expiryInterval, dataIds: wire.dataIds.map((dataId) => Common$WireToProto.dataId(dataId)), qos: Common$WireToProto.qos(wire.qos), ackInterval: wire.ackInterval, extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.upstreamOpenRequestExtensionFields(wire.extensionFields), }; } static upstreamOpenResponse(wire) { return { requestId: wire.requestId, assignedStreamId: UUID$stringToBytes(wire.assignedStreamId), assignedStreamIdAlias: wire.assignedStreamIdAlias, dataIdAliases: Object$map({ source: wire.dataIdAliases, keyConverter: (alias) => Number(alias), valueConverter: (dataId) => Common$WireToProto.dataId(dataId), }), serverTime: wire.serverTime, resultCode: ResultCode$WireToProto.resultCode(wire.resultCode), resultString: wire.resultString, extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.upstreamOpenResponseExtensionFields(wire.extensionFields), }; } static upstreamResumeRequest(wire) { return { requestId: wire.requestId, streamId: UUID$stringToBytes(wire.streamId), extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.upstreamResumeRequestExtensionFields(wire.extensionFields), }; } static upstreamResumeResponse(wire) { return { requestId: wire.requestId, assignedStreamIdAlias: wire.assignedStreamIdAlias, resultCode: ResultCode$WireToProto.resultCode(wire.resultCode), resultString: wire.resultString, extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.upstreamResumeResponseExtensionFields(wire.extensionFields), }; } static upstreamCloseRequest(wire) { return { requestId: wire.requestId, streamId: UUID$stringToBytes(wire.streamId), totalDataPoints: wire.totalDataPoints, finalSequenceNumber: wire.finalSequenceNumber, extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.upstreamCloseRequestExtensionFields(wire.extensionFields), }; } static upstreamCloseResponse(wire) { return { requestId: wire.requestId, resultCode: ResultCode$WireToProto.resultCode(wire.resultCode), resultString: wire.resultString, extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.upstreamCloseResponseExtensionFields(wire.extensionFields), }; } static upstreamChunk(wire) { return { streamIdAlias: wire.streamIdAlias, streamChunk: Common$WireToProto.streamChunk(wire.streamChunk), dataIds: wire.dataIds.map((dataId) => Common$WireToProto.dataId(dataId)), extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.upstreamChunkExtensionFields(wire.extensionFields), }; } static upstreamChunkAck(wire) { return { streamIdAlias: wire.streamIdAlias, results: wire.results.map((result) => WireToProto.upstreamChunkResult(result)), dataIdAliases: Object$map({ source: wire.dataIdAliases, keyConverter: (alias) => Number(alias), valueConverter: (dataId) => Common$WireToProto.dataId(dataId), }), extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.upstreamChunkAckExtensionFields(wire.extensionFields), }; } static metadata(wire) { if (wire instanceof BaseTime) { return { oneofKind: 'baseTime', baseTime: Metadata$WireToProto.baseTime(wire), }; } throw new ISCPMalformedMessageError('Unrecognized metadata.'); } static upstreamMetadata(wire) { return { requestId: wire.requestId, metadata: WireToProto.metadata(wire.metadata), extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.upstreamMetadataExtensionFields(wire.extensionFields), }; } static upstreamMetadataAck(wire) { return { requestId: wire.requestId, resultCode: ResultCode$WireToProto.resultCode(wire.resultCode), resultString: wire.resultString, extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.upstreamMetadataAckExtensionFields(wire.extensionFields), }; } } export class ProtoToWire { static upstreamOpenRequestExtensionFields(proto) { return new UpstreamOpenRequestExtensionFields({ persist: proto.persist, }); } static upstreamOpenResponseExtensionFields(_proto) { return new UpstreamOpenResponseExtensionFields(); } static upstreamResumeRequestExtensionFields(_proto) { return new UpstreamResumeRequestExtensionFields(); } static upstreamResumeResponseExtensionFields(_proto) { return new UpstreamResumeResponseExtensionFields(); } static upstreamCloseRequestExtensionFields(proto) { return new UpstreamCloseRequestExtensionFields({ closeSession: proto.closeSession, }); } static upstreamCloseResponseExtensionFields(_proto) { return new UpstreamCloseResponseExtensionFields(); } static upstreamChunkExtensionFields(_proto) { return new UpstreamChunkExtensionFields(); } static upstreamChunkAckExtensionFields(_proto) { return new UpstreamChunkAckExtensionFields(); } static upstreamMetadataExtensionFields(proto) { return new UpstreamMetadataExtensionFields({ persist: proto.persist, }); } static upstreamMetadataAckExtensionFields(_proto) { return new UpstreamMetadataAckExtensionFields(); } static upstreamChunkResultExtensionFields(_proto) { return new UpstreamChunkResultExtensionFields(); } static upstreamChunkResult(proto) { return new UpstreamChunkResult({ sequenceNumber: proto.sequenceNumber, resultCode: ResultCode$ProtoToWire.resultCode(proto.resultCode), resultString: proto.resultString, extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.upstreamChunkResultExtensionFields(proto.extensionFields), }); } static upstreamOpenRequest(proto) { return new UpstreamOpenRequest({ requestId: proto.requestId, sessionId: proto.sessionId, expiryInterval: proto.expiryInterval, dataIds: proto.dataIds.map((dataId) => Common$ProtoToWire.dataId(dataId)), qos: Common$ProtoToWire.qos(proto.qos), ackInterval: proto.ackInterval, extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.upstreamOpenRequestExtensionFields(proto.extensionFields), }); } static upstreamOpenResponse(proto) { return new UpstreamOpenResponse({ requestId: proto.requestId, assignedStreamId: UUID$bytesToString(proto.assignedStreamId), assignedStreamIdAlias: proto.assignedStreamIdAlias, dataIdAliases: Object$map({ source: proto.dataIdAliases, keyConverter: (alias) => Number(alias), valueConverter: (dataId) => Common$ProtoToWire.dataId(dataId), }), serverTime: proto.serverTime, resultCode: ResultCode$ProtoToWire.resultCode(proto.resultCode), resultString: proto.resultString, extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.upstreamOpenResponseExtensionFields(proto.extensionFields), }); } static upstreamResumeRequest(proto) { return new UpstreamResumeRequest({ requestId: proto.requestId, streamId: UUID$bytesToString(proto.streamId), extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.upstreamResumeRequestExtensionFields(proto.extensionFields), }); } static upstreamResumeResponse(proto) { return new UpstreamResumeResponse({ requestId: proto.requestId, assignedStreamIdAlias: proto.assignedStreamIdAlias, resultCode: ResultCode$ProtoToWire.resultCode(proto.resultCode), resultString: proto.resultString, extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.upstreamResumeResponseExtensionFields(proto.extensionFields), }); } static upstreamCloseRequest(proto) { return new UpstreamCloseRequest({ requestId: proto.requestId, streamId: UUID$bytesToString(proto.streamId), totalDataPoints: proto.totalDataPoints, finalSequenceNumber: proto.finalSequenceNumber, extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.upstreamCloseRequestExtensionFields(proto.extensionFields), }); } static upstreamCloseResponse(proto) { return new UpstreamCloseResponse({ requestId: proto.requestId, resultCode: ResultCode$ProtoToWire.resultCode(proto.resultCode), resultString: proto.resultString, extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.upstreamCloseResponseExtensionFields(proto.extensionFields), }); } static upstreamChunk(proto) { if (typeof proto.streamChunk === 'undefined') { throw new ISCPMalformedMessageError('Unrecognized UpstreamChunk.streamChunk.'); } return new UpstreamChunk({ streamIdAlias: proto.streamIdAlias, streamChunk: Common$ProtoToWire.streamChunk(proto.streamChunk), dataIds: proto.dataIds.map((dataId) => Common$ProtoToWire.dataId(dataId)), extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.upstreamChunkExtensionFields(proto.extensionFields), }); } static upstreamChunkAck(proto) { return new UpstreamChunkAck({ streamIdAlias: proto.streamIdAlias, results: proto.results.map((result) => ProtoToWire.upstreamChunkResult(result)), dataIdAliases: Object$map({ source: proto.dataIdAliases, keyConverter: (alias) => Number(alias), valueConverter: (dataId) => Common$ProtoToWire.dataId(dataId), }), extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.upstreamChunkAckExtensionFields(proto.extensionFields), }); } static metadata(proto) { switch (proto.oneofKind) { case 'baseTime': return Metadata$ProtoToWire.baseTime(proto.baseTime); default: throw new ISCPMalformedMessageError('Unrecognized metadata.'); } } static upstreamMetadata(proto) { return new UpstreamMetadata({ requestId: proto.requestId, metadata: ProtoToWire.metadata(proto.metadata), extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.upstreamMetadataExtensionFields(proto.extensionFields), }); } static upstreamMetadataAck(proto) { return new UpstreamMetadataAck({ requestId: proto.requestId, resultCode: ResultCode$ProtoToWire.resultCode(proto.resultCode), resultString: proto.resultString, extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.upstreamMetadataAckExtensionFields(proto.extensionFields), }); } } //# sourceMappingURL=upstream.js.map