@kurrent/kurrentdb-client
Version:
KurrentDB gRPC NodeJS Client SDK
49 lines • 2.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.settingsToGRPC = void 0;
const persistent_pb_1 = require("../../../generated/persistent_pb");
const constants_1 = require("../../constants");
const settingsToGRPC = (settings, ReqSettings) => {
const reqSettings = new ReqSettings();
reqSettings.setResolveLinks(settings.resolveLinkTos);
reqSettings.setExtraStatistics(settings.extraStatistics);
reqSettings.setMessageTimeoutMs(settings.messageTimeout);
reqSettings.setCheckpointAfterMs(settings.checkPointAfter);
reqSettings.setMaxRetryCount(settings.maxRetryCount);
reqSettings.setMinCheckpointCount(settings.checkPointLowerBound);
reqSettings.setMaxCheckpointCount(settings.checkPointUpperBound);
switch (settings.maxSubscriberCount) {
case constants_1.UNBOUNDED: {
reqSettings.setMaxSubscriberCount(0);
break;
}
default: {
reqSettings.setMaxSubscriberCount(settings.maxSubscriberCount);
break;
}
}
reqSettings.setLiveBufferSize(settings.liveBufferSize);
reqSettings.setReadBatchSize(settings.readBatchSize);
reqSettings.setHistoryBufferSize(settings.historyBufferSize);
switch (settings.consumerStrategyName) {
case constants_1.DISPATCH_TO_SINGLE: {
reqSettings.setNamedConsumerStrategy(persistent_pb_1.CreateReq.ConsumerStrategy.DISPATCHTOSINGLE);
break;
}
case constants_1.PINNED: {
reqSettings.setNamedConsumerStrategy(persistent_pb_1.CreateReq.ConsumerStrategy.PINNED);
break;
}
case constants_1.ROUND_ROBIN: {
reqSettings.setNamedConsumerStrategy(persistent_pb_1.CreateReq.ConsumerStrategy.ROUNDROBIN);
break;
}
default: {
console.warn(`Unknown consumerStrategyName ${settings.consumerStrategyName}.`);
break;
}
}
return reqSettings;
};
exports.settingsToGRPC = settingsToGRPC;
//# sourceMappingURL=settingsToGRPC.js.map