@aptpod/iscp-ts
Version:
iSCP 2.0 client library for TypeScript
365 lines • 15.4 kB
JavaScript
;
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