geteventstore-promise2
Version:
GetEventStore client wrapper using promises
98 lines (71 loc) • 4.48 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _subscribeToStreamFrom = _interopRequireDefault(require("./subscribeToStreamFrom"));
var _getAllStreamEvents = _interopRequireDefault(require("./getAllStreamEvents"));
var _checkStreamExists = _interopRequireDefault(require("./checkStreamExists"));
var _subscribeToStream = _interopRequireDefault(require("./subscribeToStream"));
var _connectionManager = _interopRequireDefault(require("./connectionManager"));
var _getEventsByType = _interopRequireDefault(require("./getEventsByType"));
var _eventEnumerator = _interopRequireDefault(require("./eventEnumerator"));
var _nodeEventstoreClient = _interopRequireDefault(require("node-eventstore-client2"));
var _deleteStream = _interopRequireDefault(require("./deleteStream"));
var _writeEvents = _interopRequireDefault(require("./writeEvents"));
var _writeEvent = _interopRequireDefault(require("./writeEvent"));
var _readEvents = _interopRequireDefault(require("./readEvents"));
var _getEvents = _interopRequireDefault(require("./getEvents"));
var _assert = _interopRequireDefault(require("assert"));
var _url = _interopRequireDefault(require("url"));
var baseErr = 'geteventstore-promise - TCP client - ';
var TCPClient = function TCPClient(config) {
(0, _classCallCheck2["default"])(this, TCPClient);
(0, _assert["default"])(config, "".concat(baseErr, "config not provided"));
if (config.gossipSeeds) {
(0, _assert["default"])(Array.isArray(config.gossipSeeds), "".concat(baseErr, "gossipSeeds must be an array"));
(0, _assert["default"])(config.gossipSeeds.length >= 3, "".concat(baseErr, "at least 3 gossipSeeds are required"));
config.gossipSeeds.forEach(function (seed) {
(0, _assert["default"])(seed.hostname, "".concat(baseErr, "gossip seed must have a hostname"));
(0, _assert["default"])(seed.port, "".concat(baseErr, "gossip seed must have a port"));
});
} else {
(0, _assert["default"])(config.hostname, "".concat(baseErr, "hostname property not provided"));
(0, _assert["default"])(config.port, "".concat(baseErr, "port property not provided"));
}
(0, _assert["default"])(config.credentials, "".concat(baseErr, "credentials property not provided"));
(0, _assert["default"])(config.credentials.username, "".concat(baseErr, "credentials.username property not provided"));
(0, _assert["default"])(config.credentials.password, "".concat(baseErr, "credentials.password property not provided")); //Add additional internal configuration properties
var _config = JSON.parse(JSON.stringify(config));
_config.protocol = _config.protocol || 'tcp';
_config.host = _config.hostname;
_config.auth = "".concat(_config.credentials.username, ":").concat(_config.credentials.password);
_config.baseUrl = _url["default"].format(_config);
if (_config.gossipSeeds && _config.gossipSeeds.length > 0) {
_config.gossipSeeds = _config.gossipSeeds.map(function (seed) {
return new _nodeEventstoreClient["default"].GossipSeed({
host: seed.hostname,
port: seed.port
}, seed.hostHeader);
});
}
this.checkStreamExists = (0, _checkStreamExists["default"])(_config);
this.writeEvent = (0, _writeEvent["default"])(_config);
this.writeEvents = (0, _writeEvents["default"])(_config);
this.getAllStreamEvents = (0, _getAllStreamEvents["default"])(_config);
this.readEventsForward = (0, _readEvents["default"])(_config, 'forward');
this.readEventsBackward = (0, _readEvents["default"])(_config, 'backward');
this.getEvents = (0, _getEvents["default"])(this.readEventsForward, this.readEventsBackward);
this.getEventsByType = (0, _getEventsByType["default"])(this.getEvents);
this.deleteStream = (0, _deleteStream["default"])(_config);
this.eventEnumerator = (0, _eventEnumerator["default"])(_config);
this.subscribeToStream = (0, _subscribeToStream["default"])(_config);
this.subscribeToStreamFrom = (0, _subscribeToStreamFrom["default"])(_config);
this.close = _connectionManager["default"].close(_config);
this.getPool = _connectionManager["default"].getPool(_config);
this.closeAllPools = _connectionManager["default"].closeAllPools;
};
exports["default"] = TCPClient;
module.exports = exports.default;