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