neo4j-driver 5.15.0 → 5.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3103,7 +3103,7 @@ var record = {};
3103
3103
  * See the License for the specific language governing permissions and
3104
3104
  * limitations under the License.
3105
3105
  */
3106
- var __generator$k = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
3106
+ var __generator$l = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
3107
3107
  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
3108
3108
  return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
3109
3109
  function verb(n) { return function (v) { return step([n, v]); }; }
@@ -3271,7 +3271,7 @@ var Record = /** @class */ (function () {
3271
3271
  */
3272
3272
  Record.prototype.entries = function () {
3273
3273
  var i;
3274
- return __generator$k(this, function (_a) {
3274
+ return __generator$l(this, function (_a) {
3275
3275
  switch (_a.label) {
3276
3276
  case 0:
3277
3277
  i = 0;
@@ -3297,7 +3297,7 @@ var Record = /** @class */ (function () {
3297
3297
  */
3298
3298
  Record.prototype.values = function () {
3299
3299
  var i;
3300
- return __generator$k(this, function (_a) {
3300
+ return __generator$l(this, function (_a) {
3301
3301
  switch (_a.label) {
3302
3302
  case 0:
3303
3303
  i = 0;
@@ -3323,7 +3323,7 @@ var Record = /** @class */ (function () {
3323
3323
  */
3324
3324
  Record.prototype[Symbol.iterator] = function () {
3325
3325
  var i;
3326
- return __generator$k(this, function (_a) {
3326
+ return __generator$l(this, function (_a) {
3327
3327
  switch (_a.label) {
3328
3328
  case 0:
3329
3329
  i = 0;
@@ -4750,7 +4750,7 @@ var __extends$L = (commonjsGlobal && commonjsGlobal.__extends) || (function () {
4750
4750
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
4751
4751
  };
4752
4752
  })();
4753
- var __awaiter$h = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
4753
+ var __awaiter$i = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
4754
4754
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4755
4755
  return new (P || (P = Promise))(function (resolve, reject) {
4756
4756
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -4759,7 +4759,7 @@ var __awaiter$h = (commonjsGlobal && commonjsGlobal.__awaiter) || function (this
4759
4759
  step((generator = generator.apply(thisArg, _arguments || [])).next());
4760
4760
  });
4761
4761
  };
4762
- var __generator$j = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
4762
+ var __generator$k = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
4763
4763
  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
4764
4764
  return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
4765
4765
  function verb(n) { return function (v) { return step([n, v]); }; }
@@ -4856,10 +4856,10 @@ var ConnectionHolder = /** @class */ (function () {
4856
4856
  return true;
4857
4857
  };
4858
4858
  ConnectionHolder.prototype._createConnectionPromise = function (connectionProvider) {
4859
- return __awaiter$h(this, void 0, void 0, function () {
4859
+ return __awaiter$i(this, void 0, void 0, function () {
4860
4860
  var _a, _b;
4861
4861
  var _c;
4862
- return __generator$j(this, function (_d) {
4862
+ return __generator$k(this, function (_d) {
4863
4863
  switch (_d.label) {
4864
4864
  case 0:
4865
4865
  _b = (_a = connectionProvider).acquireConnection;
@@ -4879,8 +4879,8 @@ var ConnectionHolder = /** @class */ (function () {
4879
4879
  });
4880
4880
  };
4881
4881
  ConnectionHolder.prototype._getBookmarks = function () {
4882
- return __awaiter$h(this, void 0, void 0, function () {
4883
- return __generator$j(this, function (_a) {
4882
+ return __awaiter$i(this, void 0, void 0, function () {
4883
+ return __generator$k(this, function (_a) {
4884
4884
  switch (_a.label) {
4885
4885
  case 0: return [4 /*yield*/, this._getConnectionAcquistionBookmarks()];
4886
4886
  case 1: return [2 /*return*/, _a.sent()];
@@ -5026,8 +5026,8 @@ var EmptyConnectionHolder = /** @class */ (function (_super) {
5026
5026
  return true;
5027
5027
  };
5028
5028
  EmptyConnectionHolder.prototype.getConnection = function () {
5029
- return __awaiter$h(this, void 0, void 0, function () {
5030
- return __generator$j(this, function (_a) {
5029
+ return __awaiter$i(this, void 0, void 0, function () {
5030
+ return __generator$k(this, function (_a) {
5031
5031
  switch (_a.label) {
5032
5032
  case 0: return [4 /*yield*/, Promise.reject((0, error_1$7.newError)('This connection holder does not serve connections'))];
5033
5033
  case 1: return [2 /*return*/, _a.sent()];
@@ -5036,8 +5036,8 @@ var EmptyConnectionHolder = /** @class */ (function (_super) {
5036
5036
  });
5037
5037
  };
5038
5038
  EmptyConnectionHolder.prototype.releaseConnection = function () {
5039
- return __awaiter$h(this, void 0, void 0, function () {
5040
- return __generator$j(this, function (_a) {
5039
+ return __awaiter$i(this, void 0, void 0, function () {
5040
+ return __generator$k(this, function (_a) {
5041
5041
  switch (_a.label) {
5042
5042
  case 0: return [4 /*yield*/, Promise.resolve(null)];
5043
5043
  case 1: return [2 /*return*/, _a.sent()];
@@ -5046,8 +5046,8 @@ var EmptyConnectionHolder = /** @class */ (function (_super) {
5046
5046
  });
5047
5047
  };
5048
5048
  EmptyConnectionHolder.prototype.close = function () {
5049
- return __awaiter$h(this, void 0, void 0, function () {
5050
- return __generator$j(this, function (_a) {
5049
+ return __awaiter$i(this, void 0, void 0, function () {
5050
+ return __generator$k(this, function (_a) {
5051
5051
  switch (_a.label) {
5052
5052
  case 0: return [4 /*yield*/, Promise.resolve(null)];
5053
5053
  case 1: return [2 /*return*/, _a.sent()];
@@ -5203,7 +5203,7 @@ var __assign$m = (commonjsGlobal && commonjsGlobal.__assign) || function () {
5203
5203
  };
5204
5204
  return __assign$m.apply(this, arguments);
5205
5205
  };
5206
- var __awaiter$g = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
5206
+ var __awaiter$h = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
5207
5207
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5208
5208
  return new (P || (P = Promise))(function (resolve, reject) {
5209
5209
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -5212,7 +5212,7 @@ var __awaiter$g = (commonjsGlobal && commonjsGlobal.__awaiter) || function (this
5212
5212
  step((generator = generator.apply(thisArg, _arguments || [])).next());
5213
5213
  });
5214
5214
  };
5215
- var __generator$i = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
5215
+ var __generator$j = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
5216
5216
  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
5217
5217
  return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
5218
5218
  function verb(n) { return function (v) { return step([n, v]); }; }
@@ -5361,10 +5361,10 @@ var TransactionExecutor = /** @class */ (function () {
5361
5361
  });
5362
5362
  };
5363
5363
  TransactionExecutor.prototype._executeTransactionInsidePromise = function (transactionCreator, transactionWork, resolve, reject, transactionWrapper, executionContext) {
5364
- return __awaiter$g(this, void 0, void 0, function () {
5364
+ return __awaiter$h(this, void 0, void 0, function () {
5365
5365
  var tx, txPromise, _a, error_2, wrap, wrappedTx, resultPromise;
5366
5366
  var _this = this;
5367
- return __generator$i(this, function (_b) {
5367
+ return __generator$j(this, function (_b) {
5368
5368
  switch (_b.label) {
5369
5369
  case 0:
5370
5370
  _b.trys.push([0, 4, , 5]);
@@ -6139,7 +6139,7 @@ internal.boltAgent = boltAgent;
6139
6139
  * See the License for the specific language governing permissions and
6140
6140
  * limitations under the License.
6141
6141
  */
6142
- var __awaiter$f = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
6142
+ var __awaiter$g = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
6143
6143
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6144
6144
  return new (P || (P = Promise))(function (resolve, reject) {
6145
6145
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -6148,7 +6148,7 @@ var __awaiter$f = (commonjsGlobal && commonjsGlobal.__awaiter) || function (this
6148
6148
  step((generator = generator.apply(thisArg, _arguments || [])).next());
6149
6149
  });
6150
6150
  };
6151
- var __generator$h = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
6151
+ var __generator$i = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
6152
6152
  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
6153
6153
  return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
6154
6154
  function verb(n) { return function (v) { return step([n, v]); }; }
@@ -6364,9 +6364,9 @@ var Result = /** @class */ (function () {
6364
6364
  state.streaming.resume();
6365
6365
  }
6366
6366
  };
6367
- var initializeObserver = function () { return __awaiter$f(_this, void 0, void 0, function () {
6367
+ var initializeObserver = function () { return __awaiter$g(_this, void 0, void 0, function () {
6368
6368
  var _b;
6369
- return __generator$h(this, function (_c) {
6369
+ return __generator$i(this, function (_c) {
6370
6370
  switch (_c.label) {
6371
6371
  case 0:
6372
6372
  if (!(state.queuedObserver === undefined)) return [3 /*break*/, 2];
@@ -6388,9 +6388,9 @@ var Result = /** @class */ (function () {
6388
6388
  return true;
6389
6389
  };
6390
6390
  return {
6391
- next: function () { return __awaiter$f(_this, void 0, void 0, function () {
6391
+ next: function () { return __awaiter$g(_this, void 0, void 0, function () {
6392
6392
  var queuedObserver, next;
6393
- return __generator$h(this, function (_b) {
6393
+ return __generator$i(this, function (_b) {
6394
6394
  switch (_b.label) {
6395
6395
  case 0:
6396
6396
  if (state.finished) {
@@ -6412,10 +6412,10 @@ var Result = /** @class */ (function () {
6412
6412
  }
6413
6413
  });
6414
6414
  }); },
6415
- return: function (value) { return __awaiter$f(_this, void 0, void 0, function () {
6415
+ return: function (value) { return __awaiter$g(_this, void 0, void 0, function () {
6416
6416
  var queuedObserver, last;
6417
6417
  var _b;
6418
- return __generator$h(this, function (_c) {
6418
+ return __generator$i(this, function (_c) {
6419
6419
  switch (_c.label) {
6420
6420
  case 0:
6421
6421
  if (state.finished) {
@@ -6437,9 +6437,9 @@ var Result = /** @class */ (function () {
6437
6437
  }
6438
6438
  });
6439
6439
  }); },
6440
- peek: function () { return __awaiter$f(_this, void 0, void 0, function () {
6440
+ peek: function () { return __awaiter$g(_this, void 0, void 0, function () {
6441
6441
  var queuedObserver;
6442
- return __generator$h(this, function (_b) {
6442
+ return __generator$i(this, function (_b) {
6443
6443
  switch (_b.label) {
6444
6444
  case 0:
6445
6445
  if (state.finished) {
@@ -6633,9 +6633,9 @@ var Result = /** @class */ (function () {
6633
6633
  }
6634
6634
  function dequeue() {
6635
6635
  var _b;
6636
- return __awaiter$f(this, void 0, void 0, function () {
6636
+ return __awaiter$g(this, void 0, void 0, function () {
6637
6637
  var element;
6638
- return __generator$h(this, function (_c) {
6638
+ return __generator$i(this, function (_c) {
6639
6639
  switch (_c.label) {
6640
6640
  case 0:
6641
6641
  if (buffer.length > 0) {
@@ -6682,9 +6682,9 @@ var Result = /** @class */ (function () {
6682
6682
  }
6683
6683
  },
6684
6684
  dequeue: dequeue,
6685
- dequeueUntilDone: function () { return __awaiter$f(_this, void 0, void 0, function () {
6685
+ dequeueUntilDone: function () { return __awaiter$g(_this, void 0, void 0, function () {
6686
6686
  var element;
6687
- return __generator$h(this, function (_b) {
6687
+ return __generator$i(this, function (_b) {
6688
6688
  switch (_b.label) {
6689
6689
  case 0:
6690
6690
  return [4 /*yield*/, dequeue()];
@@ -6698,9 +6698,9 @@ var Result = /** @class */ (function () {
6698
6698
  }
6699
6699
  });
6700
6700
  }); },
6701
- head: function () { return __awaiter$f(_this, void 0, void 0, function () {
6701
+ head: function () { return __awaiter$g(_this, void 0, void 0, function () {
6702
6702
  var element, element, error_3;
6703
- return __generator$h(this, function (_b) {
6703
+ return __generator$i(this, function (_b) {
6704
6704
  switch (_b.label) {
6705
6705
  case 0:
6706
6706
  if (buffer.length > 0) {
@@ -7044,7 +7044,7 @@ var transaction = {};
7044
7044
  * See the License for the specific language governing permissions and
7045
7045
  * limitations under the License.
7046
7046
  */
7047
- var __awaiter$e = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
7047
+ var __awaiter$f = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
7048
7048
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7049
7049
  return new (P || (P = Promise))(function (resolve, reject) {
7050
7050
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -7053,7 +7053,7 @@ var __awaiter$e = (commonjsGlobal && commonjsGlobal.__awaiter) || function (this
7053
7053
  step((generator = generator.apply(thisArg, _arguments || [])).next());
7054
7054
  });
7055
7055
  };
7056
- var __generator$g = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
7056
+ var __generator$h = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
7057
7057
  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
7058
7058
  return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
7059
7059
  function verb(n) { return function (v) { return step([n, v]); }; }
@@ -7149,10 +7149,10 @@ var Transaction = /** @class */ (function () {
7149
7149
  var _this = this;
7150
7150
  this._connectionHolder
7151
7151
  .getConnection()
7152
- .then(function (connection) { return __awaiter$e(_this, void 0, void 0, function () {
7152
+ .then(function (connection) { return __awaiter$f(_this, void 0, void 0, function () {
7153
7153
  var _a;
7154
7154
  var _this = this;
7155
- return __generator$g(this, function (_b) {
7155
+ return __generator$h(this, function (_b) {
7156
7156
  switch (_b.label) {
7157
7157
  case 0:
7158
7158
  this._onConnection();
@@ -7290,8 +7290,8 @@ var Transaction = /** @class */ (function () {
7290
7290
  * @returns {Promise<void>} An empty promise if closed successfully or error if any error happened during
7291
7291
  */
7292
7292
  Transaction.prototype.close = function () {
7293
- return __awaiter$e(this, void 0, void 0, function () {
7294
- return __generator$g(this, function (_a) {
7293
+ return __awaiter$f(this, void 0, void 0, function () {
7294
+ return __generator$h(this, function (_a) {
7295
7295
  switch (_a.label) {
7296
7296
  case 0:
7297
7297
  if (!this.isOpen()) return [3 /*break*/, 2];
@@ -7813,7 +7813,7 @@ var session = {};
7813
7813
  * See the License for the specific language governing permissions and
7814
7814
  * limitations under the License.
7815
7815
  */
7816
- var __awaiter$d = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
7816
+ var __awaiter$e = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
7817
7817
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7818
7818
  return new (P || (P = Promise))(function (resolve, reject) {
7819
7819
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -7822,7 +7822,7 @@ var __awaiter$d = (commonjsGlobal && commonjsGlobal.__awaiter) || function (this
7822
7822
  step((generator = generator.apply(thisArg, _arguments || [])).next());
7823
7823
  });
7824
7824
  };
7825
- var __generator$f = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
7825
+ var __generator$g = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
7826
7826
  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
7827
7827
  return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
7828
7828
  function verb(n) { return function (v) { return step([n, v]); }; }
@@ -7975,10 +7975,10 @@ var Session = /** @class */ (function () {
7975
7975
  var autoCommitTxConfig = (transactionConfig != null)
7976
7976
  ? new tx_config_1.TxConfig(transactionConfig, this._log)
7977
7977
  : tx_config_1.TxConfig.empty();
7978
- var result = this._run(validatedQuery, params, function (connection) { return __awaiter$d(_this, void 0, void 0, function () {
7978
+ var result = this._run(validatedQuery, params, function (connection) { return __awaiter$e(_this, void 0, void 0, function () {
7979
7979
  var bookmarks;
7980
7980
  var _this = this;
7981
- return __generator$f(this, function (_a) {
7981
+ return __generator$g(this, function (_a) {
7982
7982
  switch (_a.label) {
7983
7983
  case 0: return [4 /*yield*/, this._bookmarks()];
7984
7984
  case 1:
@@ -8022,8 +8022,8 @@ var Session = /** @class */ (function () {
8022
8022
  Session.prototype._acquireConnection = function (connectionConsumer) {
8023
8023
  var _this = this;
8024
8024
  var _a = this._acquireAndConsumeConnection(connectionConsumer), connectionHolder = _a.connectionHolder, resultPromise = _a.resultPromise;
8025
- return resultPromise.then(function (result) { return __awaiter$d(_this, void 0, void 0, function () {
8026
- return __generator$f(this, function (_a) {
8025
+ return resultPromise.then(function (result) { return __awaiter$e(_this, void 0, void 0, function () {
8026
+ return __generator$g(this, function (_a) {
8027
8027
  switch (_a.label) {
8028
8028
  case 0: return [4 /*yield*/, connectionHolder.releaseConnection()];
8029
8029
  case 1:
@@ -8148,9 +8148,9 @@ var Session = /** @class */ (function () {
8148
8148
  };
8149
8149
  Session.prototype._bookmarks = function () {
8150
8150
  var _a;
8151
- return __awaiter$d(this, void 0, void 0, function () {
8151
+ return __awaiter$e(this, void 0, void 0, function () {
8152
8152
  var bookmarks;
8153
- return __generator$f(this, function (_b) {
8153
+ return __generator$g(this, function (_b) {
8154
8154
  switch (_b.label) {
8155
8155
  case 0: return [4 /*yield*/, ((_a = this._bookmarkManager) === null || _a === void 0 ? void 0 : _a.getBookmarks())];
8156
8156
  case 1:
@@ -8273,9 +8273,9 @@ var Session = /** @class */ (function () {
8273
8273
  };
8274
8274
  Session.prototype._getConnectionAcquistionBookmarks = function () {
8275
8275
  var _a;
8276
- return __awaiter$d(this, void 0, void 0, function () {
8276
+ return __awaiter$e(this, void 0, void 0, function () {
8277
8277
  var bookmarks;
8278
- return __generator$f(this, function (_b) {
8278
+ return __generator$g(this, function (_b) {
8279
8279
  switch (_b.label) {
8280
8280
  case 0: return [4 /*yield*/, ((_a = this._bookmarkManager) === null || _a === void 0 ? void 0 : _a.getBookmarks())];
8281
8281
  case 1:
@@ -8307,8 +8307,8 @@ var Session = /** @class */ (function () {
8307
8307
  * @return {Promise}
8308
8308
  */
8309
8309
  Session.prototype.close = function () {
8310
- return __awaiter$d(this, void 0, void 0, function () {
8311
- return __generator$f(this, function (_a) {
8310
+ return __awaiter$e(this, void 0, void 0, function () {
8311
+ return __generator$g(this, function (_a) {
8312
8312
  switch (_a.label) {
8313
8313
  case 0:
8314
8314
  if (!this._open) return [3 /*break*/, 3];
@@ -8422,7 +8422,7 @@ var bookmarkManager$1 = {};
8422
8422
  * See the License for the specific language governing permissions and
8423
8423
  * limitations under the License.
8424
8424
  */
8425
- var __awaiter$c = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
8425
+ var __awaiter$d = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
8426
8426
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
8427
8427
  return new (P || (P = Promise))(function (resolve, reject) {
8428
8428
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -8431,7 +8431,7 @@ var __awaiter$c = (commonjsGlobal && commonjsGlobal.__awaiter) || function (this
8431
8431
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8432
8432
  });
8433
8433
  };
8434
- var __generator$e = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
8434
+ var __generator$f = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
8435
8435
  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
8436
8436
  return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
8437
8437
  function verb(n) { return function (v) { return step([n, v]); }; }
@@ -8520,8 +8520,8 @@ var BookmarkManager = /** @class */ (function () {
8520
8520
  * @returns {void}
8521
8521
  */
8522
8522
  BookmarkManager.prototype.updateBookmarks = function (previousBookmarks, newBookmarks) {
8523
- return __awaiter$c(this, void 0, void 0, function () {
8524
- return __generator$e(this, function (_a) {
8523
+ return __awaiter$d(this, void 0, void 0, function () {
8524
+ return __generator$f(this, function (_a) {
8525
8525
  throw new Error('Not implemented');
8526
8526
  });
8527
8527
  });
@@ -8532,8 +8532,8 @@ var BookmarkManager = /** @class */ (function () {
8532
8532
  * @returns {Iterable<string>} The set of bookmarks
8533
8533
  */
8534
8534
  BookmarkManager.prototype.getBookmarks = function () {
8535
- return __awaiter$c(this, void 0, void 0, function () {
8536
- return __generator$e(this, function (_a) {
8535
+ return __awaiter$d(this, void 0, void 0, function () {
8536
+ return __generator$f(this, function (_a) {
8537
8537
  throw new Error('Not implemented');
8538
8538
  });
8539
8539
  });
@@ -8569,10 +8569,10 @@ var Neo4jBookmarkManager = /** @class */ (function () {
8569
8569
  this._bookmarksConsumer = _bookmarksConsumer;
8570
8570
  }
8571
8571
  Neo4jBookmarkManager.prototype.updateBookmarks = function (previousBookmarks, newBookmarks) {
8572
- return __awaiter$c(this, void 0, void 0, function () {
8572
+ return __awaiter$d(this, void 0, void 0, function () {
8573
8573
  var bookmarks, previousBookmarks_1, previousBookmarks_1_1, bm, newBookmarks_1, newBookmarks_1_1, bm;
8574
8574
  var e_1, _a, e_2, _b;
8575
- return __generator$e(this, function (_c) {
8575
+ return __generator$f(this, function (_c) {
8576
8576
  switch (_c.label) {
8577
8577
  case 0:
8578
8578
  bookmarks = this._bookmarks;
@@ -8614,10 +8614,10 @@ var Neo4jBookmarkManager = /** @class */ (function () {
8614
8614
  };
8615
8615
  Neo4jBookmarkManager.prototype.getBookmarks = function () {
8616
8616
  var _a;
8617
- return __awaiter$c(this, void 0, void 0, function () {
8617
+ return __awaiter$d(this, void 0, void 0, function () {
8618
8618
  var bookmarks, suppliedBookmarks, suppliedBookmarks_1, suppliedBookmarks_1_1, bm;
8619
8619
  var e_3, _b;
8620
- return __generator$e(this, function (_c) {
8620
+ return __generator$f(this, function (_c) {
8621
8621
  switch (_c.label) {
8622
8622
  case 0:
8623
8623
  bookmarks = new Set(this._bookmarks);
@@ -8665,7 +8665,7 @@ var resultTransformers$1 = {};
8665
8665
  * See the License for the specific language governing permissions and
8666
8666
  * limitations under the License.
8667
8667
  */
8668
- var __awaiter$b = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
8668
+ var __awaiter$c = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
8669
8669
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
8670
8670
  return new (P || (P = Promise))(function (resolve, reject) {
8671
8671
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -8674,7 +8674,7 @@ var __awaiter$b = (commonjsGlobal && commonjsGlobal.__awaiter) || function (this
8674
8674
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8675
8675
  });
8676
8676
  };
8677
- var __generator$d = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
8677
+ var __generator$e = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
8678
8678
  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
8679
8679
  return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
8680
8680
  function verb(n) { return function (v) { return step([n, v]); }; }
@@ -8708,9 +8708,9 @@ Object.defineProperty(resultTransformers$1, "__esModule", { value: true });
8708
8708
  var result_eager_1 = __importDefault$P(resultEager);
8709
8709
  var error_1$1 = error;
8710
8710
  function createEagerResultFromResult(result) {
8711
- return __awaiter$b(this, void 0, void 0, function () {
8711
+ return __awaiter$c(this, void 0, void 0, function () {
8712
8712
  var _a, summary, records, keys;
8713
- return __generator$d(this, function (_b) {
8713
+ return __generator$e(this, function (_b) {
8714
8714
  switch (_b.label) {
8715
8715
  case 0: return [4 /*yield*/, result];
8716
8716
  case 1:
@@ -8824,8 +8824,8 @@ var ResultTransformers = /** @class */ (function () {
8824
8824
  if (config == null || (config.collect == null && config.map == null)) {
8825
8825
  throw (0, error_1$1.newError)('Requires a map or/and a collect functions.');
8826
8826
  }
8827
- return function (result) { return __awaiter$b(_this, void 0, void 0, function () {
8828
- return __generator$d(this, function (_a) {
8827
+ return function (result) { return __awaiter$c(_this, void 0, void 0, function () {
8828
+ return __generator$e(this, function (_a) {
8829
8829
  switch (_a.label) {
8830
8830
  case 0: return [4 /*yield*/, new Promise(function (resolve, reject) {
8831
8831
  var state = { records: [], keys: [] };
@@ -8890,7 +8890,7 @@ var queryExecutor = {};
8890
8890
  * See the License for the specific language governing permissions and
8891
8891
  * limitations under the License.
8892
8892
  */
8893
- var __awaiter$a = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
8893
+ var __awaiter$b = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
8894
8894
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
8895
8895
  return new (P || (P = Promise))(function (resolve, reject) {
8896
8896
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -8899,7 +8899,7 @@ var __awaiter$a = (commonjsGlobal && commonjsGlobal.__awaiter) || function (this
8899
8899
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8900
8900
  });
8901
8901
  };
8902
- var __generator$c = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
8902
+ var __generator$d = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
8903
8903
  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
8904
8904
  return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
8905
8905
  function verb(n) { return function (v) { return step([n, v]); }; }
@@ -8933,10 +8933,10 @@ var QueryExecutor = /** @class */ (function () {
8933
8933
  this._createSession = _createSession;
8934
8934
  }
8935
8935
  QueryExecutor.prototype.execute = function (config, query, parameters) {
8936
- return __awaiter$a(this, void 0, void 0, function () {
8936
+ return __awaiter$b(this, void 0, void 0, function () {
8937
8937
  var session, executeInTransaction;
8938
8938
  var _this = this;
8939
- return __generator$c(this, function (_a) {
8939
+ return __generator$d(this, function (_a) {
8940
8940
  switch (_a.label) {
8941
8941
  case 0:
8942
8942
  session = this._createSession({
@@ -8952,9 +8952,9 @@ var QueryExecutor = /** @class */ (function () {
8952
8952
  executeInTransaction = config.routing === 'READ'
8953
8953
  ? session.executeRead.bind(session)
8954
8954
  : session.executeWrite.bind(session);
8955
- return [4 /*yield*/, executeInTransaction(function (tx) { return __awaiter$a(_this, void 0, void 0, function () {
8955
+ return [4 /*yield*/, executeInTransaction(function (tx) { return __awaiter$b(_this, void 0, void 0, function () {
8956
8956
  var result;
8957
- return __generator$c(this, function (_a) {
8957
+ return __generator$d(this, function (_a) {
8958
8958
  switch (_a.label) {
8959
8959
  case 0:
8960
8960
  result = tx.run(query, parameters);
@@ -8977,7 +8977,7 @@ var QueryExecutor = /** @class */ (function () {
8977
8977
  }());
8978
8978
  queryExecutor.default = QueryExecutor;
8979
8979
 
8980
- var __awaiter$9 = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
8980
+ var __awaiter$a = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
8981
8981
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
8982
8982
  return new (P || (P = Promise))(function (resolve, reject) {
8983
8983
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -8986,7 +8986,7 @@ var __awaiter$9 = (commonjsGlobal && commonjsGlobal.__awaiter) || function (this
8986
8986
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8987
8987
  });
8988
8988
  };
8989
- var __generator$b = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
8989
+ var __generator$c = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
8990
8990
  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
8991
8991
  return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
8992
8992
  function verb(n) { return function (v) { return step([n, v]); }; }
@@ -9463,9 +9463,9 @@ var Driver$1 = /** @class */ (function () {
9463
9463
  Driver.prototype.executeQuery = function (query, parameters, config) {
9464
9464
  var _a, _b, _c;
9465
9465
  if (config === void 0) { config = {}; }
9466
- return __awaiter$9(this, void 0, void 0, function () {
9466
+ return __awaiter$a(this, void 0, void 0, function () {
9467
9467
  var bookmarkManager, resultTransformer, routingConfig;
9468
- return __generator$b(this, function (_d) {
9468
+ return __generator$c(this, function (_d) {
9469
9469
  switch (_d.label) {
9470
9470
  case 0:
9471
9471
  bookmarkManager = config.bookmarkManager === null ? undefined : ((_a = config.bookmarkManager) !== null && _a !== void 0 ? _a : this.executeQueryBookmarkManager);
@@ -9516,9 +9516,9 @@ var Driver$1 = /** @class */ (function () {
9516
9516
  */
9517
9517
  Driver.prototype.verifyAuthentication = function (_a) {
9518
9518
  var _b = _a === void 0 ? {} : _a, database = _b.database, auth = _b.auth;
9519
- return __awaiter$9(this, void 0, void 0, function () {
9519
+ return __awaiter$a(this, void 0, void 0, function () {
9520
9520
  var connectionProvider;
9521
- return __generator$b(this, function (_c) {
9521
+ return __generator$c(this, function (_c) {
9522
9522
  switch (_c.label) {
9523
9523
  case 0:
9524
9524
  connectionProvider = this._getOrCreateConnectionProvider();
@@ -9755,6 +9755,8 @@ function sanitizeConfig(config) {
9755
9755
  config.connectionAcquisitionTimeout = sanitizeIntValue(config.connectionAcquisitionTimeout, constants_1.DEFAULT_POOL_ACQUISITION_TIMEOUT);
9756
9756
  config.fetchSize = validateFetchSizeValue$1(config.fetchSize, DEFAULT_FETCH_SIZE);
9757
9757
  config.connectionTimeout = extractConnectionTimeout(config);
9758
+ config.connectionLivenessCheckTimeout =
9759
+ validateConnectionLivenessCheckTimeoutSizeValue(config.connectionLivenessCheckTimeout);
9758
9760
  }
9759
9761
  /**
9760
9762
  * @private
@@ -9808,6 +9810,19 @@ function extractConnectionTimeout(config) {
9808
9810
  return configuredTimeout;
9809
9811
  }
9810
9812
  }
9813
+ /**
9814
+ * @private
9815
+ */
9816
+ function validateConnectionLivenessCheckTimeoutSizeValue(rawValue) {
9817
+ if (rawValue == null) {
9818
+ return undefined;
9819
+ }
9820
+ var connectionLivenessCheckTimeout = parseInt(rawValue, 10);
9821
+ if (connectionLivenessCheckTimeout < 0 || Number.isNaN(connectionLivenessCheckTimeout)) {
9822
+ throw new Error("The connectionLivenessCheckTimeout can only be a positive value or 0 for always. However connectionLivenessCheckTimeout = ".concat(connectionLivenessCheckTimeout));
9823
+ }
9824
+ return connectionLivenessCheckTimeout;
9825
+ }
9811
9826
  /**
9812
9827
  * @private
9813
9828
  * @returns {ConfiguredCustomResolver} new custom resolver that wraps the passed-in resolver function.
@@ -9922,7 +9937,7 @@ var authTokenManager = {};
9922
9937
  * See the License for the specific language governing permissions and
9923
9938
  * limitations under the License.
9924
9939
  */
9925
- var __awaiter$8 = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
9940
+ var __awaiter$9 = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
9926
9941
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9927
9942
  return new (P || (P = Promise))(function (resolve, reject) {
9928
9943
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -9931,7 +9946,7 @@ var __awaiter$8 = (commonjsGlobal && commonjsGlobal.__awaiter) || function (this
9931
9946
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9932
9947
  });
9933
9948
  };
9934
- var __generator$a = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
9949
+ var __generator$b = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
9935
9950
  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
9936
9951
  return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
9937
9952
  function verb(n) { return function (v) { return step([n, v]); }; }
@@ -10071,9 +10086,9 @@ var AuthTokenManagers = /** @class */ (function () {
10071
10086
  if (typeof tokenProvider !== 'function') {
10072
10087
  throw new TypeError("tokenProvider should be function, but got: ".concat(typeof tokenProvider));
10073
10088
  }
10074
- return new ExpirationBasedAuthTokenManager(function () { return __awaiter$8(_this, void 0, void 0, function () {
10089
+ return new ExpirationBasedAuthTokenManager(function () { return __awaiter$9(_this, void 0, void 0, function () {
10075
10090
  var _a;
10076
- return __generator$a(this, function (_b) {
10091
+ return __generator$b(this, function (_b) {
10077
10092
  switch (_b.label) {
10078
10093
  case 0:
10079
10094
  _a = {};
@@ -10129,8 +10144,8 @@ var ExpirationBasedAuthTokenManager = /** @class */ (function () {
10129
10144
  }
10130
10145
  ExpirationBasedAuthTokenManager.prototype.getToken = function () {
10131
10146
  var _a;
10132
- return __awaiter$8(this, void 0, void 0, function () {
10133
- return __generator$a(this, function (_b) {
10147
+ return __awaiter$9(this, void 0, void 0, function () {
10148
+ return __generator$b(this, function (_b) {
10134
10149
  switch (_b.label) {
10135
10150
  case 0:
10136
10151
  if (!(this._currentAuthData === undefined ||
@@ -10179,9 +10194,9 @@ var ExpirationBasedAuthTokenManager = /** @class */ (function () {
10179
10194
  }
10180
10195
  };
10181
10196
  ExpirationBasedAuthTokenManager.prototype._refreshAuthToken = function () {
10182
- return __awaiter$8(this, void 0, void 0, function () {
10197
+ return __awaiter$9(this, void 0, void 0, function () {
10183
10198
  var _this = this;
10184
- return __generator$a(this, function (_a) {
10199
+ return __generator$b(this, function (_a) {
10185
10200
  switch (_a.label) {
10186
10201
  case 0: return [4 /*yield*/, new Promise(function (resolve, reject) {
10187
10202
  _this._scheduleRefreshAuthToken({
@@ -10347,6 +10362,32 @@ var Config = /** @class */ (function () {
10347
10362
  * @type {number|undefined}
10348
10363
  */
10349
10364
  this.maxTransactionRetryTime = 30000; // 30 seconds
10365
+ /**
10366
+ * Specify the maximum time in milliseconds the connection can be idle without needing
10367
+ * to perform a liveness check on acquire from the pool.
10368
+ *
10369
+ * Pooled connections that have been idle in the pool for longer than this
10370
+ * timeout will be tested before they are used again, to ensure they are still live.
10371
+ * If this option is set too low, an additional network call will be incurred
10372
+ * when acquiring a connection, which causes a performance hit.
10373
+ *
10374
+ * If this is set high, you may receive sessions that are backed by no longer
10375
+ * live connections, which will lead to exceptions in your application.
10376
+ * Assuming the database is running, these exceptions will go away if you retry
10377
+ * acquiring sessions.
10378
+ *
10379
+ * Hence, this parameter tunes a balance between the likelihood of your application
10380
+ * seeing connection problems, and performance.
10381
+ *
10382
+ * You normally should not need to tune this parameter. No connection liveliness
10383
+ * check is done by default. Value 0 means connections will always be tested for
10384
+ * validity and negative values mean connections will never be tested.
10385
+ *
10386
+ * **Default**: ```undefined``` (Disabled)
10387
+ *
10388
+ * @type {number|undefined}
10389
+ */
10390
+ this.connectionLivenessCheckTimeout = undefined; // Disabled
10350
10391
  /**
10351
10392
  * Specify socket connection timeout in milliseconds.
10352
10393
  *
@@ -13099,7 +13140,7 @@ isIterable$2.isIterable = isIterable$1;
13099
13140
 
13100
13141
  var isReadableStreamLike$1 = {};
13101
13142
 
13102
- var __generator$9 = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
13143
+ var __generator$a = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
13103
13144
  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13104
13145
  return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13105
13146
  function verb(n) { return function (v) { return step([n, v]); }; }
@@ -13144,7 +13185,7 @@ var isFunction_1$g = isFunction$1;
13144
13185
  function readableStreamLikeToAsyncGenerator(readableStream) {
13145
13186
  return __asyncGenerator(this, arguments, function readableStreamLikeToAsyncGenerator_1() {
13146
13187
  var reader, _a, value, done;
13147
- return __generator$9(this, function (_b) {
13188
+ return __generator$a(this, function (_b) {
13148
13189
  switch (_b.label) {
13149
13190
  case 0:
13150
13191
  reader = readableStream.getReader();
@@ -13179,7 +13220,7 @@ function isReadableStreamLike(obj) {
13179
13220
  }
13180
13221
  isReadableStreamLike$1.isReadableStreamLike = isReadableStreamLike;
13181
13222
 
13182
- var __awaiter$7 = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
13223
+ var __awaiter$8 = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
13183
13224
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13184
13225
  return new (P || (P = Promise))(function (resolve, reject) {
13185
13226
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -13188,7 +13229,7 @@ var __awaiter$7 = (commonjsGlobal && commonjsGlobal.__awaiter) || function (this
13188
13229
  step((generator = generator.apply(thisArg, _arguments || [])).next());
13189
13230
  });
13190
13231
  };
13191
- var __generator$8 = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
13232
+ var __generator$9 = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
13192
13233
  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13193
13234
  return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13194
13235
  function verb(n) { return function (v) { return step([n, v]); }; }
@@ -13341,9 +13382,9 @@ innerFrom$1.fromReadableStreamLike = fromReadableStreamLike;
13341
13382
  function process(asyncIterable, subscriber) {
13342
13383
  var asyncIterable_1, asyncIterable_1_1;
13343
13384
  var e_2, _a;
13344
- return __awaiter$7(this, void 0, void 0, function () {
13385
+ return __awaiter$8(this, void 0, void 0, function () {
13345
13386
  var value, e_2_1;
13346
- return __generator$8(this, function (_b) {
13387
+ return __generator$9(this, function (_b) {
13347
13388
  switch (_b.label) {
13348
13389
  case 0:
13349
13390
  _b.trys.push([0, 5, 6, 11]);
@@ -14522,7 +14563,7 @@ fromEventPattern$1.fromEventPattern = fromEventPattern;
14522
14563
 
14523
14564
  var generate$1 = {};
14524
14565
 
14525
- var __generator$7 = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
14566
+ var __generator$8 = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
14526
14567
  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
14527
14568
  return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14528
14569
  function verb(n) { return function (v) { return step([n, v]); }; }
@@ -14574,7 +14615,7 @@ function generate(initialStateOrOptions, condition, iterate, resultSelectorOrSch
14574
14615
  }
14575
14616
  function gen() {
14576
14617
  var state;
14577
- return __generator$7(this, function (_a) {
14618
+ return __generator$8(this, function (_a) {
14578
14619
  switch (_a.label) {
14579
14620
  case 0:
14580
14621
  state = initialState;
@@ -18669,7 +18710,7 @@ Object.defineProperty(exports, "zipWith", { enumerable: true, get: function () {
18669
18710
 
18670
18711
  var resultRx = {};
18671
18712
 
18672
- var __awaiter$6 = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
18713
+ var __awaiter$7 = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
18673
18714
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18674
18715
  return new (P || (P = Promise))(function (resolve, reject) {
18675
18716
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -18678,7 +18719,7 @@ var __awaiter$6 = (commonjsGlobal && commonjsGlobal.__awaiter) || function (this
18678
18719
  step((generator = generator.apply(thisArg, _arguments || [])).next());
18679
18720
  });
18680
18721
  };
18681
- var __generator$6 = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
18722
+ var __generator$7 = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
18682
18723
  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
18683
18724
  return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
18684
18725
  function verb(n) { return function (v) { return step([n, v]); }; }
@@ -18894,9 +18935,9 @@ var RxResult = /** @class */ (function () {
18894
18935
  return this._records;
18895
18936
  }
18896
18937
  this._records = createFullyControlledSubject(result[Symbol.asyncIterator](), {
18897
- complete: function () { return __awaiter$6(_this, void 0, void 0, function () {
18938
+ complete: function () { return __awaiter$7(_this, void 0, void 0, function () {
18898
18939
  var _a, _b;
18899
- return __generator$6(this, function (_c) {
18940
+ return __generator$7(this, function (_c) {
18900
18941
  switch (_c.label) {
18901
18942
  case 0:
18902
18943
  this._state = States.COMPLETED;
@@ -18923,9 +18964,9 @@ function createFullyControlledSubject(iterator, completeObserver, streamControl)
18923
18964
  var _this = this;
18924
18965
  if (streamControl === void 0) { streamControl = new StreamControl(); }
18925
18966
  var subject = new rxjs_1$3.Subject();
18926
- var pushNextValue = function (result) { return __awaiter$6(_this, void 0, void 0, function () {
18967
+ var pushNextValue = function (result) { return __awaiter$7(_this, void 0, void 0, function () {
18927
18968
  var _a, done, value, error_1;
18928
- return __generator$6(this, function (_b) {
18969
+ return __generator$7(this, function (_b) {
18929
18970
  switch (_b.label) {
18930
18971
  case 0:
18931
18972
  _b.trys.push([0, 2, 3, 4]);
@@ -18958,8 +18999,8 @@ function createFullyControlledSubject(iterator, completeObserver, streamControl)
18958
18999
  });
18959
19000
  }); };
18960
19001
  function push(value) {
18961
- return __awaiter$6(this, void 0, void 0, function () {
18962
- return __generator$6(this, function (_a) {
19002
+ return __awaiter$7(this, void 0, void 0, function () {
19003
+ return __generator$7(this, function (_a) {
18963
19004
  switch (_a.label) {
18964
19005
  case 0: return [4 /*yield*/, pushNextValue(iterator.next(value))];
18965
19006
  case 1:
@@ -18975,7 +19016,7 @@ function createFullyControlledSubject(iterator, completeObserver, streamControl)
18975
19016
  }
18976
19017
  var StreamControl = /** @class */ (function () {
18977
19018
  function StreamControl(push) {
18978
- if (push === void 0) { push = function () { return __awaiter$6(_this, void 0, void 0, function () { return __generator$6(this, function (_a) {
19019
+ if (push === void 0) { push = function () { return __awaiter$7(_this, void 0, void 0, function () { return __generator$7(this, function (_a) {
18979
19020
  return [2 /*return*/];
18980
19021
  }); }); }; }
18981
19022
  var _this = this;
@@ -19004,9 +19045,9 @@ var StreamControl = /** @class */ (function () {
19004
19045
  configurable: true
19005
19046
  });
19006
19047
  StreamControl.prototype.resume = function () {
19007
- return __awaiter$6(this, void 0, void 0, function () {
19048
+ return __awaiter$7(this, void 0, void 0, function () {
19008
19049
  var wasPaused;
19009
- return __generator$6(this, function (_a) {
19050
+ return __generator$7(this, function (_a) {
19010
19051
  switch (_a.label) {
19011
19052
  case 0:
19012
19053
  wasPaused = this._paused;
@@ -19022,8 +19063,8 @@ var StreamControl = /** @class */ (function () {
19022
19063
  });
19023
19064
  };
19024
19065
  StreamControl.prototype.push = function () {
19025
- return __awaiter$6(this, void 0, void 0, function () {
19026
- return __generator$6(this, function (_a) {
19066
+ return __awaiter$7(this, void 0, void 0, function () {
19067
+ return __generator$7(this, function (_a) {
19027
19068
  switch (_a.label) {
19028
19069
  case 0:
19029
19070
  this.pause();
@@ -19710,7 +19751,7 @@ Object.defineProperty(version$1, "__esModule", { value: true });
19710
19751
  // This is set up this way to keep the version in the code in
19711
19752
  // sync with the npm package version, and to allow the build
19712
19753
  // system to control version names at packaging time.
19713
- version$1.default = '5.15.0';
19754
+ version$1.default = '5.16.0';
19714
19755
 
19715
19756
  var lib = {};
19716
19757
 
@@ -22856,6 +22897,7 @@ var WebSocketChannel = /** @class */ (function () {
22856
22897
  this._receiveTimeout = null;
22857
22898
  this._receiveTimeoutStarted = false;
22858
22899
  this._receiveTimeoutId = null;
22900
+ this._closingPromise = null;
22859
22901
  var _a = determineWebSocketScheme(config, protocolSupplier), scheme = _a.scheme, error = _a.error;
22860
22902
  if (error) {
22861
22903
  this._error = error;
@@ -22953,18 +22995,23 @@ var WebSocketChannel = /** @class */ (function () {
22953
22995
  */
22954
22996
  WebSocketChannel.prototype.close = function () {
22955
22997
  var _this = this;
22956
- return new Promise(function (resolve, reject) {
22957
- _this._clearConnectionTimeout();
22958
- if (_this._ws && _this._ws.readyState !== WS_CLOSED) {
22959
- _this._open = false;
22960
- _this.stopReceiveTimeout();
22961
- _this._ws.onclose = function () { return resolve(); };
22962
- _this._ws.close();
22963
- }
22964
- else {
22965
- resolve();
22966
- }
22967
- });
22998
+ if (this._closingPromise === null) {
22999
+ this._closingPromise = new Promise(function (resolve, reject) {
23000
+ _this._clearConnectionTimeout();
23001
+ if (_this._ws && _this._ws.readyState !== WS_CLOSED) {
23002
+ _this._open = false;
23003
+ _this.stopReceiveTimeout();
23004
+ _this._ws.onclose = function () {
23005
+ resolve();
23006
+ };
23007
+ _this._ws.close();
23008
+ }
23009
+ else {
23010
+ resolve();
23011
+ }
23012
+ });
23013
+ }
23014
+ return this._closingPromise;
22968
23015
  };
22969
23016
  /**
22970
23017
  * Setup the receive timeout for the channel.
@@ -30100,7 +30147,7 @@ var ResponseHandler = /** @class */ (function () {
30100
30147
  this._log = log;
30101
30148
  this._transformMetadata = transformMetadata || NO_OP_IDENTITY;
30102
30149
  this._observer = Object.assign({
30103
- onPendingObserversChange: NO_OP,
30150
+ onObserversCountChange: NO_OP,
30104
30151
  onError: NO_OP,
30105
30152
  onFailure: NO_OP,
30106
30153
  onErrorApplyTransformation: NO_OP_IDENTITY
@@ -30176,8 +30223,15 @@ var ResponseHandler = /** @class */ (function () {
30176
30223
  */
30177
30224
  ResponseHandler.prototype._updateCurrentObserver = function () {
30178
30225
  this._currentObserver = this._pendingObservers.shift();
30179
- this._observer.onPendingObserversChange(this._pendingObservers.length);
30226
+ this._observer.onObserversCountChange(this._observersCount);
30180
30227
  };
30228
+ Object.defineProperty(ResponseHandler.prototype, "_observersCount", {
30229
+ get: function () {
30230
+ return this._currentObserver == null ? this._pendingObservers.length : this._pendingObservers.length + 1;
30231
+ },
30232
+ enumerable: false,
30233
+ configurable: true
30234
+ });
30181
30235
  ResponseHandler.prototype._queueObserver = function (observer) {
30182
30236
  observer = observer || NO_OP_OBSERVER;
30183
30237
  observer.onCompleted = observer.onCompleted || NO_OP;
@@ -30189,7 +30243,7 @@ var ResponseHandler = /** @class */ (function () {
30189
30243
  else {
30190
30244
  this._pendingObservers.push(observer);
30191
30245
  }
30192
- this._observer.onPendingObserversChange(this._pendingObservers.length);
30246
+ this._observer.onObserversCountChange(this._observersCount);
30193
30247
  return true;
30194
30248
  };
30195
30249
  ResponseHandler.prototype._notifyErrorToObservers = function (error) {
@@ -30462,7 +30516,7 @@ var pool = {};
30462
30516
  * See the License for the specific language governing permissions and
30463
30517
  * limitations under the License.
30464
30518
  */
30465
- var __awaiter$5 = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
30519
+ var __awaiter$6 = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
30466
30520
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30467
30521
  return new (P || (P = Promise))(function (resolve, reject) {
30468
30522
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -30471,7 +30525,7 @@ var __awaiter$5 = (commonjsGlobal && commonjsGlobal.__awaiter) || function (this
30471
30525
  step((generator = generator.apply(thisArg, _arguments || [])).next());
30472
30526
  });
30473
30527
  };
30474
- var __generator$5 = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
30528
+ var __generator$6 = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
30475
30529
  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
30476
30530
  return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
30477
30531
  function verb(n) { return function (v) { return step([n, v]); }; }
@@ -30603,9 +30657,9 @@ var Pool = /** @class */ (function () {
30603
30657
  * @returns {Promise<void>} A promise that is resolved when the resources are purged
30604
30658
  */
30605
30659
  Pool.prototype.close = function () {
30606
- return __awaiter$5(this, void 0, void 0, function () {
30660
+ return __awaiter$6(this, void 0, void 0, function () {
30607
30661
  var _this = this;
30608
- return __generator$5(this, function (_a) {
30662
+ return __generator$6(this, function (_a) {
30609
30663
  switch (_a.label) {
30610
30664
  case 0:
30611
30665
  this._closed = true;
@@ -30664,10 +30718,10 @@ var Pool = /** @class */ (function () {
30664
30718
  return pool;
30665
30719
  };
30666
30720
  Pool.prototype._acquire = function (acquisitionContext, address, requireNew) {
30667
- return __awaiter$5(this, void 0, void 0, function () {
30721
+ return __awaiter$6(this, void 0, void 0, function () {
30668
30722
  var key, pool, resource_1, numConnections, resource, numConnections, resource_2;
30669
30723
  var _this = this;
30670
- return __generator$5(this, function (_a) {
30724
+ return __generator$6(this, function (_a) {
30671
30725
  switch (_a.label) {
30672
30726
  case 0:
30673
30727
  if (this._closed) {
@@ -30744,10 +30798,10 @@ var Pool = /** @class */ (function () {
30744
30798
  });
30745
30799
  };
30746
30800
  Pool.prototype._release = function (address, resource, pool) {
30747
- return __awaiter$5(this, void 0, void 0, function () {
30801
+ return __awaiter$6(this, void 0, void 0, function () {
30748
30802
  var key;
30749
30803
  var _this = this;
30750
- return __generator$5(this, function (_a) {
30804
+ return __generator$6(this, function (_a) {
30751
30805
  switch (_a.label) {
30752
30806
  case 0:
30753
30807
  key = address.asKey();
@@ -30810,9 +30864,9 @@ var Pool = /** @class */ (function () {
30810
30864
  });
30811
30865
  };
30812
30866
  Pool.prototype._purgeKey = function (key) {
30813
- return __awaiter$5(this, void 0, void 0, function () {
30867
+ return __awaiter$6(this, void 0, void 0, function () {
30814
30868
  var pool, destructionList, resource;
30815
- return __generator$5(this, function (_a) {
30869
+ return __generator$6(this, function (_a) {
30816
30870
  switch (_a.label) {
30817
30871
  case 0:
30818
30872
  pool = this._pools[key];
@@ -31183,6 +31237,23 @@ var Connection = /** @class */ (function (_super) {
31183
31237
  enumerable: false,
31184
31238
  configurable: true
31185
31239
  });
31240
+ Object.defineProperty(Connection.prototype, "creationTimestamp", {
31241
+ get: function () {
31242
+ throw new Error('not implemented');
31243
+ },
31244
+ enumerable: false,
31245
+ configurable: true
31246
+ });
31247
+ Object.defineProperty(Connection.prototype, "idleTimestamp", {
31248
+ get: function () {
31249
+ throw new Error('not implemented');
31250
+ },
31251
+ set: function (value) {
31252
+ throw new Error('not implemented');
31253
+ },
31254
+ enumerable: false,
31255
+ configurable: true
31256
+ });
31186
31257
  /**
31187
31258
  * @returns {BoltProtocol} the underlying bolt protocol assigned to this connection
31188
31259
  */
@@ -31296,7 +31367,7 @@ var __extends$4 = (commonjsGlobal && commonjsGlobal.__extends) || (function () {
31296
31367
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
31297
31368
  };
31298
31369
  })();
31299
- var __awaiter$4 = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
31370
+ var __awaiter$5 = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
31300
31371
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
31301
31372
  return new (P || (P = Promise))(function (resolve, reject) {
31302
31373
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -31305,7 +31376,7 @@ var __awaiter$4 = (commonjsGlobal && commonjsGlobal.__awaiter) || function (this
31305
31376
  step((generator = generator.apply(thisArg, _arguments || [])).next());
31306
31377
  });
31307
31378
  };
31308
- var __generator$4 = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
31379
+ var __generator$5 = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
31309
31380
  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
31310
31381
  return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
31311
31382
  function verb(n) { return function (v) { return step([n, v]); }; }
@@ -31374,7 +31445,7 @@ function createChannelConnection(address, config, errorHandler, log, serversideR
31374
31445
  server: conn.server,
31375
31446
  log: conn.logger,
31376
31447
  observer: {
31377
- onPendingObserversChange: conn._handleOngoingRequestsNumberChange.bind(conn),
31448
+ onObserversCountChange: conn._handleOngoingRequestsNumberChange.bind(conn),
31378
31449
  onError: conn._handleFatalError.bind(conn),
31379
31450
  onFailure: conn._resetOnFailure.bind(conn),
31380
31451
  onProtocolError: conn._handleProtocolError.bind(conn),
@@ -31414,12 +31485,13 @@ var ChannelConnection = /** @class */ (function (_super) {
31414
31485
  if (serversideRouting === void 0) { serversideRouting = null; }
31415
31486
  var _this = _super.call(this, errorHandler) || this;
31416
31487
  _this._authToken = null;
31488
+ _this._idle = false;
31417
31489
  _this._reseting = false;
31418
31490
  _this._resetObservers = [];
31419
31491
  _this._id = idGenerator++;
31420
31492
  _this._address = address;
31421
31493
  _this._server = { address: address.asHostPort() };
31422
- _this.creationTimestamp = Date.now();
31494
+ _this._creationTimestamp = Date.now();
31423
31495
  _this._disableLosslessIntegers = disableLosslessIntegers;
31424
31496
  _this._ch = channel;
31425
31497
  _this._chunker = chunker;
@@ -31508,6 +31580,23 @@ var ChannelConnection = /** @class */ (function (_super) {
31508
31580
  enumerable: false,
31509
31581
  configurable: true
31510
31582
  });
31583
+ Object.defineProperty(ChannelConnection.prototype, "idleTimestamp", {
31584
+ get: function () {
31585
+ return this._idleTimestamp;
31586
+ },
31587
+ set: function (value) {
31588
+ this._idleTimestamp = value;
31589
+ },
31590
+ enumerable: false,
31591
+ configurable: true
31592
+ });
31593
+ Object.defineProperty(ChannelConnection.prototype, "creationTimestamp", {
31594
+ get: function () {
31595
+ return this._creationTimestamp;
31596
+ },
31597
+ enumerable: false,
31598
+ configurable: true
31599
+ });
31511
31600
  /**
31512
31601
  * Send initialization message.
31513
31602
  * @param {string} userAgent the user agent for this driver.
@@ -31517,9 +31606,9 @@ var ChannelConnection = /** @class */ (function (_super) {
31517
31606
  * @return {Promise<Connection>} promise resolved with the current connection if connection is successful. Rejected promise otherwise.
31518
31607
  */
31519
31608
  ChannelConnection.prototype.connect = function (userAgent, boltAgent, authToken, waitReAuth) {
31520
- return __awaiter$4(this, void 0, void 0, function () {
31609
+ return __awaiter$5(this, void 0, void 0, function () {
31521
31610
  var _this = this;
31522
- return __generator$4(this, function (_a) {
31611
+ return __generator$5(this, function (_a) {
31523
31612
  switch (_a.label) {
31524
31613
  case 0:
31525
31614
  if (this._protocol.initialized && !this._protocol.supportsReAuth) {
@@ -31665,7 +31754,24 @@ var ChannelConnection = /** @class */ (function (_super) {
31665
31754
  this._protocol.notifyFatalError(this._error);
31666
31755
  };
31667
31756
  /**
31668
- * This method still here because it's used by the {@link PooledConnectionProvider}
31757
+ * This method is used by the {@link PooledConnectionProvider}
31758
+ *
31759
+ * @param {any} observer
31760
+ */
31761
+ ChannelConnection.prototype._setIdle = function (observer) {
31762
+ this._idle = true;
31763
+ this._ch.stopReceiveTimeout();
31764
+ this._protocol.queueObserverIfProtocolIsNotBroken(observer);
31765
+ };
31766
+ /**
31767
+ * This method is used by the {@link PooledConnectionProvider}
31768
+ */
31769
+ ChannelConnection.prototype._unsetIdle = function () {
31770
+ this._idle = false;
31771
+ this._updateCurrentObserver();
31772
+ };
31773
+ /**
31774
+ * This method still here because of the connection-channel.tests.js
31669
31775
  *
31670
31776
  * @param {any} observer
31671
31777
  */
@@ -31673,7 +31779,7 @@ var ChannelConnection = /** @class */ (function (_super) {
31673
31779
  return this._protocol.queueObserverIfProtocolIsNotBroken(observer);
31674
31780
  };
31675
31781
  ChannelConnection.prototype.hasOngoingObservableRequests = function () {
31676
- return this._protocol.hasOngoingObservableRequests();
31782
+ return !this._idle && this._protocol.hasOngoingObservableRequests();
31677
31783
  };
31678
31784
  /**
31679
31785
  * Send a RESET-message to the database. Message is immediately flushed to the network.
@@ -31764,6 +31870,9 @@ var ChannelConnection = /** @class */ (function (_super) {
31764
31870
  * @param {number} requestsNumber Ongoing requests number
31765
31871
  */
31766
31872
  ChannelConnection.prototype._handleOngoingRequestsNumberChange = function (requestsNumber) {
31873
+ if (this._idle) {
31874
+ return;
31875
+ }
31767
31876
  if (requestsNumber === 0) {
31768
31877
  this._ch.stopReceiveTimeout();
31769
31878
  }
@@ -31776,8 +31885,8 @@ var ChannelConnection = /** @class */ (function (_super) {
31776
31885
  * @returns {Promise<void>} - A promise that will be resolved when the underlying channel is closed.
31777
31886
  */
31778
31887
  ChannelConnection.prototype.close = function () {
31779
- return __awaiter$4(this, void 0, void 0, function () {
31780
- return __generator$4(this, function (_a) {
31888
+ return __awaiter$5(this, void 0, void 0, function () {
31889
+ return __generator$5(this, function (_a) {
31781
31890
  switch (_a.label) {
31782
31891
  case 0:
31783
31892
  if (this._log.isDebugEnabled()) {
@@ -31950,6 +32059,23 @@ var DelegateConnection = /** @class */ (function (_super) {
31950
32059
  enumerable: false,
31951
32060
  configurable: true
31952
32061
  });
32062
+ Object.defineProperty(DelegateConnection.prototype, "creationTimestamp", {
32063
+ get: function () {
32064
+ return this._delegate.creationTimestamp;
32065
+ },
32066
+ enumerable: false,
32067
+ configurable: true
32068
+ });
32069
+ Object.defineProperty(DelegateConnection.prototype, "idleTimestamp", {
32070
+ get: function () {
32071
+ return this._delegate.idleTimestamp;
32072
+ },
32073
+ set: function (value) {
32074
+ this._delegate.idleTimestamp = value;
32075
+ },
32076
+ enumerable: false,
32077
+ configurable: true
32078
+ });
31953
32079
  DelegateConnection.prototype.isOpen = function () {
31954
32080
  return this._delegate.isOpen();
31955
32081
  };
@@ -32140,7 +32266,7 @@ var authenticationProvider = {};
32140
32266
  * See the License for the specific language governing permissions and
32141
32267
  * limitations under the License.
32142
32268
  */
32143
- var __awaiter$3 = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
32269
+ var __awaiter$4 = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
32144
32270
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
32145
32271
  return new (P || (P = Promise))(function (resolve, reject) {
32146
32272
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -32149,7 +32275,7 @@ var __awaiter$3 = (commonjsGlobal && commonjsGlobal.__awaiter) || function (this
32149
32275
  step((generator = generator.apply(thisArg, _arguments || [])).next());
32150
32276
  });
32151
32277
  };
32152
- var __generator$3 = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
32278
+ var __generator$4 = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
32153
32279
  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
32154
32280
  return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
32155
32281
  function verb(n) { return function (v) { return step([n, v]); }; }
@@ -32191,9 +32317,9 @@ var AuthenticationProvider = /** @class */ (function () {
32191
32317
  }
32192
32318
  AuthenticationProvider.prototype.authenticate = function (_a) {
32193
32319
  var connection = _a.connection, auth = _a.auth, skipReAuth = _a.skipReAuth, waitReAuth = _a.waitReAuth, forceReAuth = _a.forceReAuth;
32194
- return __awaiter$3(this, void 0, void 0, function () {
32320
+ return __awaiter$4(this, void 0, void 0, function () {
32195
32321
  var shouldReAuth, authToken;
32196
- return __generator$3(this, function (_b) {
32322
+ return __generator$4(this, function (_b) {
32197
32323
  switch (_b.label) {
32198
32324
  case 0:
32199
32325
  if (!(auth != null)) return [3 /*break*/, 3];
@@ -32226,6 +32352,106 @@ var AuthenticationProvider = /** @class */ (function () {
32226
32352
  }());
32227
32353
  authenticationProvider.default = AuthenticationProvider;
32228
32354
 
32355
+ var livenessCheckProvider = {};
32356
+
32357
+ var __awaiter$3 = (commonjsGlobal && commonjsGlobal.__awaiter) || function (thisArg, _arguments, P, generator) {
32358
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
32359
+ return new (P || (P = Promise))(function (resolve, reject) {
32360
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
32361
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
32362
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
32363
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32364
+ });
32365
+ };
32366
+ var __generator$3 = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
32367
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
32368
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
32369
+ function verb(n) { return function (v) { return step([n, v]); }; }
32370
+ function step(op) {
32371
+ if (f) throw new TypeError("Generator is already executing.");
32372
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
32373
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
32374
+ if (y = 0, t) op = [op[0] & 2, t.value];
32375
+ switch (op[0]) {
32376
+ case 0: case 1: t = op; break;
32377
+ case 4: _.label++; return { value: op[1], done: false };
32378
+ case 5: _.label++; y = op[1]; op = [0]; continue;
32379
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
32380
+ default:
32381
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
32382
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
32383
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
32384
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
32385
+ if (t[2]) _.ops.pop();
32386
+ _.trys.pop(); continue;
32387
+ }
32388
+ op = body.call(thisArg, _);
32389
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
32390
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
32391
+ }
32392
+ };
32393
+ Object.defineProperty(livenessCheckProvider, "__esModule", { value: true });
32394
+ /**
32395
+ * Copyright (c) "Neo4j"
32396
+ * Neo4j Sweden AB [https://neo4j.com]
32397
+ *
32398
+ * Licensed under the Apache License, Version 2.0 (the "License");
32399
+ * you may not use this file except in compliance with the License.
32400
+ * You may obtain a copy of the License at
32401
+ *
32402
+ * http://www.apache.org/licenses/LICENSE-2.0
32403
+ *
32404
+ * Unless required by applicable law or agreed to in writing, software
32405
+ * distributed under the License is distributed on an "AS IS" BASIS,
32406
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
32407
+ * See the License for the specific language governing permissions and
32408
+ * limitations under the License.
32409
+ */
32410
+ var LivenessCheckProvider = /** @class */ (function () {
32411
+ function LivenessCheckProvider(_a) {
32412
+ var connectionLivenessCheckTimeout = _a.connectionLivenessCheckTimeout;
32413
+ this._connectionLivenessCheckTimeout = connectionLivenessCheckTimeout;
32414
+ }
32415
+ /**
32416
+ * Checks connection liveness with configured params.
32417
+ *
32418
+ * @param {Connection} connection
32419
+ * @returns {Promise<true>} If liveness checks succeed, throws otherwise
32420
+ */
32421
+ LivenessCheckProvider.prototype.check = function (connection) {
32422
+ return __awaiter$3(this, void 0, void 0, function () {
32423
+ var idleFor;
32424
+ return __generator$3(this, function (_a) {
32425
+ switch (_a.label) {
32426
+ case 0:
32427
+ if (this._isCheckDisabled || this._isNewlyCreatedConnection(connection)) {
32428
+ return [2 /*return*/, true];
32429
+ }
32430
+ idleFor = Date.now() - connection.idleTimestamp;
32431
+ if (!(this._connectionLivenessCheckTimeout === 0 ||
32432
+ idleFor > this._connectionLivenessCheckTimeout)) return [3 /*break*/, 2];
32433
+ return [4 /*yield*/, connection.resetAndFlush()
32434
+ .then(function () { return true; })];
32435
+ case 1: return [2 /*return*/, _a.sent()];
32436
+ case 2: return [2 /*return*/, true];
32437
+ }
32438
+ });
32439
+ });
32440
+ };
32441
+ Object.defineProperty(LivenessCheckProvider.prototype, "_isCheckDisabled", {
32442
+ get: function () {
32443
+ return this._connectionLivenessCheckTimeout == null || this._connectionLivenessCheckTimeout < 0;
32444
+ },
32445
+ enumerable: false,
32446
+ configurable: true
32447
+ });
32448
+ LivenessCheckProvider.prototype._isNewlyCreatedConnection = function (connection) {
32449
+ return connection.authToken == null;
32450
+ };
32451
+ return LivenessCheckProvider;
32452
+ }());
32453
+ livenessCheckProvider.default = LivenessCheckProvider;
32454
+
32229
32455
  /**
32230
32456
  * Copyright (c) "Neo4j"
32231
32457
  * Neo4j Sweden AB [https://neo4j.com]
@@ -32350,6 +32576,7 @@ var pool_1 = __importStar$1(pool$1);
32350
32576
  var neo4j_driver_core_1$3 = lib$1;
32351
32577
  var authentication_provider_1 = __importDefault$4(authenticationProvider);
32352
32578
  var lang_1$1 = lang;
32579
+ var liveness_check_provider_1 = __importDefault$4(livenessCheckProvider);
32353
32580
  var SERVICE_UNAVAILABLE$2 = neo4j_driver_core_1$3.error.SERVICE_UNAVAILABLE;
32354
32581
  var AUTHENTICATION_ERRORS = [
32355
32582
  'Neo.ClientError.Security.CredentialsExpired',
@@ -32373,6 +32600,7 @@ var PooledConnectionProvider = /** @class */ (function (_super) {
32373
32600
  _this._config = config;
32374
32601
  _this._log = log;
32375
32602
  _this._authenticationProvider = new authentication_provider_1.default({ authTokenManager: authTokenManager, userAgent: userAgent, boltAgent: boltAgent });
32603
+ _this._livenessCheckProvider = new liveness_check_provider_1.default({ connectionLivenessCheckTimeout: config.connectionLivenessCheckTimeout });
32376
32604
  _this._userAgent = userAgent;
32377
32605
  _this._boltAgent = boltAgent;
32378
32606
  _this._createChannelConnection =
@@ -32406,6 +32634,7 @@ var PooledConnectionProvider = /** @class */ (function (_super) {
32406
32634
  var auth = _a.auth;
32407
32635
  return this._createChannelConnection(address).then(function (connection) {
32408
32636
  connection.release = function () {
32637
+ connection.idleTimestamp = Date.now();
32409
32638
  return release(address, connection);
32410
32639
  };
32411
32640
  _this._openConnections[connection.id] = connection;
@@ -32421,7 +32650,7 @@ var PooledConnectionProvider = /** @class */ (function (_super) {
32421
32650
  PooledConnectionProvider.prototype._validateConnectionOnAcquire = function (_a, conn) {
32422
32651
  var auth = _a.auth, skipReAuth = _a.skipReAuth;
32423
32652
  return __awaiter$2(this, void 0, void 0, function () {
32424
- var error_1;
32653
+ var error_1, error_2;
32425
32654
  return __generator$2(this, function (_b) {
32426
32655
  switch (_b.label) {
32427
32656
  case 0:
@@ -32431,15 +32660,25 @@ var PooledConnectionProvider = /** @class */ (function (_super) {
32431
32660
  _b.label = 1;
32432
32661
  case 1:
32433
32662
  _b.trys.push([1, 3, , 4]);
32434
- return [4 /*yield*/, this._authenticationProvider.authenticate({ connection: conn, auth: auth, skipReAuth: skipReAuth })];
32663
+ return [4 /*yield*/, this._livenessCheckProvider.check(conn)];
32435
32664
  case 2:
32436
32665
  _b.sent();
32437
- return [2 /*return*/, true];
32666
+ return [3 /*break*/, 4];
32438
32667
  case 3:
32439
32668
  error_1 = _b.sent();
32440
- this._log.debug("The connection ".concat(conn.id, " is not valid because of an error ").concat(error_1.code, " '").concat(error_1.message, "'"));
32669
+ this._log.debug("The connection ".concat(conn.id, " is not alive because of an error ").concat(error_1.code, " '").concat(error_1.message, "'"));
32441
32670
  return [2 /*return*/, false];
32442
- case 4: return [2 /*return*/];
32671
+ case 4:
32672
+ _b.trys.push([4, 6, , 7]);
32673
+ return [4 /*yield*/, this._authenticationProvider.authenticate({ connection: conn, auth: auth, skipReAuth: skipReAuth })];
32674
+ case 5:
32675
+ _b.sent();
32676
+ return [2 /*return*/, true];
32677
+ case 6:
32678
+ error_2 = _b.sent();
32679
+ this._log.debug("The connection ".concat(conn.id, " is not valid because of an error ").concat(error_2.code, " '").concat(error_2.message, "'"));
32680
+ return [2 /*return*/, false];
32681
+ case 7: return [2 /*return*/];
32443
32682
  }
32444
32683
  });
32445
32684
  });
@@ -32509,7 +32748,7 @@ var PooledConnectionProvider = /** @class */ (function (_super) {
32509
32748
  PooledConnectionProvider.prototype._verifyAuthentication = function (_a) {
32510
32749
  var getAddress = _a.getAddress, auth = _a.auth;
32511
32750
  return __awaiter$2(this, void 0, void 0, function () {
32512
- var connectionsToRelease, address, connection, lastMessageIsNotLogin, stickyConnection, error_2;
32751
+ var connectionsToRelease, address, connection, lastMessageIsNotLogin, stickyConnection, error_3;
32513
32752
  return __generator$2(this, function (_b) {
32514
32753
  switch (_b.label) {
32515
32754
  case 0:
@@ -32543,11 +32782,11 @@ var PooledConnectionProvider = /** @class */ (function (_super) {
32543
32782
  _b.label = 7;
32544
32783
  case 7: return [2 /*return*/, true];
32545
32784
  case 8:
32546
- error_2 = _b.sent();
32547
- if (AUTHENTICATION_ERRORS.includes(error_2.code)) {
32785
+ error_3 = _b.sent();
32786
+ if (AUTHENTICATION_ERRORS.includes(error_3.code)) {
32548
32787
  return [2 /*return*/, false];
32549
32788
  }
32550
- throw error_2;
32789
+ throw error_3;
32551
32790
  case 9: return [4 /*yield*/, Promise.all(connectionsToRelease.map(function (conn) { return conn.release(); }))];
32552
32791
  case 10:
32553
32792
  _b.sent();
@@ -32603,10 +32842,10 @@ var PooledConnectionProvider = /** @class */ (function (_super) {
32603
32842
  });
32604
32843
  };
32605
32844
  PooledConnectionProvider._installIdleObserverOnConnection = function (conn, observer) {
32606
- conn._queueObserver(observer);
32845
+ conn._setIdle(observer);
32607
32846
  };
32608
32847
  PooledConnectionProvider._removeIdleObserverOnConnection = function (conn) {
32609
- conn._updateCurrentObserver();
32848
+ conn._unsetIdle();
32610
32849
  };
32611
32850
  PooledConnectionProvider.prototype._handleSecurityError = function (error, address, connection) {
32612
32851
  var handled = this._authenticationProvider.handleError({ connection: connection, code: error.code });