UNPKG

@aptpod/iscp-ts

Version:

iSCP 2.0 client library for TypeScript

365 lines 15.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ProtoToWire = exports.WireToProto = void 0; const uuid_1 = require("../../utils/uuid"); const object_1 = require("../../utils/object"); const exceptions_1 = require("../../exceptions"); const message_1 = require("../../message"); const common_1 = require("./common"); const result_code_1 = require("./result-code"); const metadata_1 = require("./metadata"); 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: result_code_1.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_1.WireToProto.dataId(dataId)), qos: common_1.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: (0, uuid_1.stringToBytes)(wire.assignedStreamId), assignedStreamIdAlias: wire.assignedStreamIdAlias, dataIdAliases: (0, object_1.map)({ source: wire.dataIdAliases, keyConverter: (alias) => Number(alias), valueConverter: (dataId) => common_1.WireToProto.dataId(dataId), }), serverTime: wire.serverTime, resultCode: result_code_1.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: (0, uuid_1.stringToBytes)(wire.streamId), extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.upstreamResumeRequestExtensionFields(wire.extensionFields), }; } static upstreamResumeResponse(wire) { return { requestId: wire.requestId, assignedStreamIdAlias: wire.assignedStreamIdAlias, resultCode: result_code_1.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: (0, uuid_1.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: result_code_1.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_1.WireToProto.streamChunk(wire.streamChunk), dataIds: wire.dataIds.map((dataId) => common_1.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: (0, object_1.map)({ source: wire.dataIdAliases, keyConverter: (alias) => Number(alias), valueConverter: (dataId) => common_1.WireToProto.dataId(dataId), }), extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.upstreamChunkAckExtensionFields(wire.extensionFields), }; } static metadata(wire) { if (wire instanceof message_1.BaseTime) { return { oneofKind: 'baseTime', baseTime: metadata_1.WireToProto.baseTime(wire), }; } throw new exceptions_1.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: result_code_1.WireToProto.resultCode(wire.resultCode), resultString: wire.resultString, extensionFields: typeof wire.extensionFields === 'undefined' ? undefined : WireToProto.upstreamMetadataAckExtensionFields(wire.extensionFields), }; } } exports.WireToProto = WireToProto; class ProtoToWire { static upstreamOpenRequestExtensionFields(proto) { return new message_1.UpstreamOpenRequestExtensionFields({ persist: proto.persist, }); } static upstreamOpenResponseExtensionFields(_proto) { return new message_1.UpstreamOpenResponseExtensionFields(); } static upstreamResumeRequestExtensionFields(_proto) { return new message_1.UpstreamResumeRequestExtensionFields(); } static upstreamResumeResponseExtensionFields(_proto) { return new message_1.UpstreamResumeResponseExtensionFields(); } static upstreamCloseRequestExtensionFields(proto) { return new message_1.UpstreamCloseRequestExtensionFields({ closeSession: proto.closeSession, }); } static upstreamCloseResponseExtensionFields(_proto) { return new message_1.UpstreamCloseResponseExtensionFields(); } static upstreamChunkExtensionFields(_proto) { return new message_1.UpstreamChunkExtensionFields(); } static upstreamChunkAckExtensionFields(_proto) { return new message_1.UpstreamChunkAckExtensionFields(); } static upstreamMetadataExtensionFields(proto) { return new message_1.UpstreamMetadataExtensionFields({ persist: proto.persist, }); } static upstreamMetadataAckExtensionFields(_proto) { return new message_1.UpstreamMetadataAckExtensionFields(); } static upstreamChunkResultExtensionFields(_proto) { return new message_1.UpstreamChunkResultExtensionFields(); } static upstreamChunkResult(proto) { return new message_1.UpstreamChunkResult({ sequenceNumber: proto.sequenceNumber, resultCode: result_code_1.ProtoToWire.resultCode(proto.resultCode), resultString: proto.resultString, extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.upstreamChunkResultExtensionFields(proto.extensionFields), }); } static upstreamOpenRequest(proto) { return new message_1.UpstreamOpenRequest({ requestId: proto.requestId, sessionId: proto.sessionId, expiryInterval: proto.expiryInterval, dataIds: proto.dataIds.map((dataId) => common_1.ProtoToWire.dataId(dataId)), qos: common_1.ProtoToWire.qos(proto.qos), ackInterval: proto.ackInterval, extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.upstreamOpenRequestExtensionFields(proto.extensionFields), }); } static upstreamOpenResponse(proto) { return new message_1.UpstreamOpenResponse({ requestId: proto.requestId, assignedStreamId: (0, uuid_1.bytesToString)(proto.assignedStreamId), assignedStreamIdAlias: proto.assignedStreamIdAlias, dataIdAliases: (0, object_1.map)({ source: proto.dataIdAliases, keyConverter: (alias) => Number(alias), valueConverter: (dataId) => common_1.ProtoToWire.dataId(dataId), }), serverTime: proto.serverTime, resultCode: result_code_1.ProtoToWire.resultCode(proto.resultCode), resultString: proto.resultString, extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.upstreamOpenResponseExtensionFields(proto.extensionFields), }); } static upstreamResumeRequest(proto) { return new message_1.UpstreamResumeRequest({ requestId: proto.requestId, streamId: (0, uuid_1.bytesToString)(proto.streamId), extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.upstreamResumeRequestExtensionFields(proto.extensionFields), }); } static upstreamResumeResponse(proto) { return new message_1.UpstreamResumeResponse({ requestId: proto.requestId, assignedStreamIdAlias: proto.assignedStreamIdAlias, resultCode: result_code_1.ProtoToWire.resultCode(proto.resultCode), resultString: proto.resultString, extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.upstreamResumeResponseExtensionFields(proto.extensionFields), }); } static upstreamCloseRequest(proto) { return new message_1.UpstreamCloseRequest({ requestId: proto.requestId, streamId: (0, uuid_1.bytesToString)(proto.streamId), totalDataPoints: proto.totalDataPoints, finalSequenceNumber: proto.finalSequenceNumber, extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.upstreamCloseRequestExtensionFields(proto.extensionFields), }); } static upstreamCloseResponse(proto) { return new message_1.UpstreamCloseResponse({ requestId: proto.requestId, resultCode: result_code_1.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 exceptions_1.ISCPMalformedMessageError('Unrecognized UpstreamChunk.streamChunk.'); } return new message_1.UpstreamChunk({ streamIdAlias: proto.streamIdAlias, streamChunk: common_1.ProtoToWire.streamChunk(proto.streamChunk), dataIds: proto.dataIds.map((dataId) => common_1.ProtoToWire.dataId(dataId)), extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.upstreamChunkExtensionFields(proto.extensionFields), }); } static upstreamChunkAck(proto) { return new message_1.UpstreamChunkAck({ streamIdAlias: proto.streamIdAlias, results: proto.results.map((result) => ProtoToWire.upstreamChunkResult(result)), dataIdAliases: (0, object_1.map)({ source: proto.dataIdAliases, keyConverter: (alias) => Number(alias), valueConverter: (dataId) => common_1.ProtoToWire.dataId(dataId), }), extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.upstreamChunkAckExtensionFields(proto.extensionFields), }); } static metadata(proto) { switch (proto.oneofKind) { case 'baseTime': return metadata_1.ProtoToWire.baseTime(proto.baseTime); default: throw new exceptions_1.ISCPMalformedMessageError('Unrecognized metadata.'); } } static upstreamMetadata(proto) { return new message_1.UpstreamMetadata({ requestId: proto.requestId, metadata: ProtoToWire.metadata(proto.metadata), extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.upstreamMetadataExtensionFields(proto.extensionFields), }); } static upstreamMetadataAck(proto) { return new message_1.UpstreamMetadataAck({ requestId: proto.requestId, resultCode: result_code_1.ProtoToWire.resultCode(proto.resultCode), resultString: proto.resultString, extensionFields: typeof proto.extensionFields === 'undefined' ? undefined : ProtoToWire.upstreamMetadataAckExtensionFields(proto.extensionFields), }); } } exports.ProtoToWire = ProtoToWire; //# sourceMappingURL=upstream.js.map