UNPKG

@aptpod/iscp-ts

Version:

iSCP 2.0 client library for TypeScript

134 lines 4.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ProtoToWire = exports.WireToProto = void 0; const exceptions_1 = require("../../exceptions/exceptions"); const message_1 = require("../../message"); const common_1 = require("../codegen/common"); class WireToProto { static qos(wire) { switch (wire) { case message_1.QOS.UNRELIABLE: return common_1.QoS.UNRELIABLE; case message_1.QOS.RELIABLE: return common_1.QoS.RELIABLE; case message_1.QOS.PARTIAL: return common_1.QoS.PARTIAL; default: throw new exceptions_1.ISCPMalformedMessageError('Unrecognized qos.'); } } static dataPoint(wire) { return { elapsedTime: wire.elapsedTime, payload: wire.payload.slice(), }; } static dataId(wire) { return { name: wire.name, type: wire.type, }; } static dataIdOrAlias(wire) { if (wire instanceof message_1.DataId) { return { oneofKind: 'dataId', dataId: WireToProto.dataId(wire), }; } else if (typeof wire === 'number') { return { oneofKind: 'dataIdAlias', dataIdAlias: wire, }; } throw new exceptions_1.ISCPMalformedMessageError('Unrecognized dataIdOrAlias.'); } static dataPointGroup(wire) { return { dataIdOrAlias: WireToProto.dataIdOrAlias(wire.dataIdOrAlias), dataPoints: wire.dataPoints.map((dataPoint) => WireToProto.dataPoint(dataPoint)), }; } static dataFilter(wire) { return { name: wire.name, type: wire.type, }; } static downstreamFilter(wire) { return { sourceNodeId: wire.sourceNodeId, dataFilters: wire.dataFilters.map((dataFilter) => WireToProto.dataFilter(dataFilter)), }; } static streamChunk(wire) { return { sequenceNumber: wire.sequenceNumber, dataPointGroups: wire.dataPointGroups.map((dataPointGroup) => WireToProto.dataPointGroup(dataPointGroup)), }; } } exports.WireToProto = WireToProto; class ProtoToWire { static qos(proto) { switch (proto) { case common_1.QoS.UNRELIABLE: return message_1.QOS.UNRELIABLE; case common_1.QoS.RELIABLE: return message_1.QOS.RELIABLE; case common_1.QoS.PARTIAL: return message_1.QOS.PARTIAL; default: throw new exceptions_1.ISCPMalformedMessageError('Unrecognized qos.'); } } static dataPoint(proto) { return new message_1.DataPoint({ elapsedTime: proto.elapsedTime, payload: proto.payload.slice(), }); } static dataId(proto) { return new message_1.DataId({ name: proto.name, type: proto.type, }); } static dataIdOrAlias(proto) { switch (proto.oneofKind) { case 'dataId': return ProtoToWire.dataId(proto.dataId); case 'dataIdAlias': return proto.dataIdAlias; default: throw new exceptions_1.ISCPMalformedMessageError('Unrecognized dataIdOrAlias.'); } } static dataPointGroup(proto) { return new message_1.DataPointGroup({ dataIdOrAlias: ProtoToWire.dataIdOrAlias(proto.dataIdOrAlias), dataPoints: proto.dataPoints.map((dataPoint) => ProtoToWire.dataPoint(dataPoint)), }); } static dataFilter(proto) { return new message_1.DataFilter({ name: proto.name, type: proto.type, }); } static downstreamFilter(proto) { return new message_1.DownstreamFilter({ sourceNodeId: proto.sourceNodeId, dataFilters: proto.dataFilters.map((dataFilter) => ProtoToWire.dataFilter(dataFilter)), }); } static streamChunk(proto) { return new message_1.StreamChunk({ sequenceNumber: proto.sequenceNumber, dataPointGroups: proto.dataPointGroups.map((dataPointGroup) => ProtoToWire.dataPointGroup(dataPointGroup)), }); } } exports.ProtoToWire = ProtoToWire; //# sourceMappingURL=common.js.map