mongodb 6.12.0-dev.20241211.sha.2f9ad4d4 → 6.12.0-dev.20241218.sha.e972bb8f

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.
@@ -13,34 +13,6 @@ const connection_pool_events_1 = require("./connection_pool_events");
13
13
  const errors_1 = require("./errors");
14
14
  const metrics_1 = require("./metrics");
15
15
  /** @internal */
16
- const kServer = Symbol('server');
17
- /** @internal */
18
- const kConnections = Symbol('connections');
19
- /** @internal */
20
- const kPending = Symbol('pending');
21
- /** @internal */
22
- const kCheckedOut = Symbol('checkedOut');
23
- /** @internal */
24
- const kMinPoolSizeTimer = Symbol('minPoolSizeTimer');
25
- /** @internal */
26
- const kGeneration = Symbol('generation');
27
- /** @internal */
28
- const kServiceGenerations = Symbol('serviceGenerations');
29
- /** @internal */
30
- const kConnectionCounter = Symbol('connectionCounter');
31
- /** @internal */
32
- const kCancellationToken = Symbol('cancellationToken');
33
- /** @internal */
34
- const kWaitQueue = Symbol('waitQueue');
35
- /** @internal */
36
- const kCancelled = Symbol('cancelled');
37
- /** @internal */
38
- const kMetrics = Symbol('metrics');
39
- /** @internal */
40
- const kProcessingWaitQueue = Symbol('processingWaitQueue');
41
- /** @internal */
42
- const kPoolState = Symbol('poolState');
43
- /** @internal */
44
16
  exports.PoolState = Object.freeze({
45
17
  paused: 'paused',
46
18
  ready: 'ready',
@@ -67,21 +39,21 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
67
39
  if (this.options.minPoolSize > this.options.maxPoolSize) {
68
40
  throw new error_1.MongoInvalidArgumentError('Connection pool minimum size must not be greater than maximum pool size');
69
41
  }
70
- this[kPoolState] = exports.PoolState.paused;
71
- this[kServer] = server;
72
- this[kConnections] = new utils_1.List();
73
- this[kPending] = 0;
74
- this[kCheckedOut] = new Set();
75
- this[kMinPoolSizeTimer] = undefined;
76
- this[kGeneration] = 0;
77
- this[kServiceGenerations] = new Map();
78
- this[kConnectionCounter] = (0, utils_1.makeCounter)(1);
79
- this[kCancellationToken] = new mongo_types_1.CancellationToken();
80
- this[kCancellationToken].setMaxListeners(Infinity);
81
- this[kWaitQueue] = new utils_1.List();
82
- this[kMetrics] = new metrics_1.ConnectionPoolMetrics();
83
- this[kProcessingWaitQueue] = false;
84
- this.mongoLogger = this[kServer].topology.client?.mongoLogger;
42
+ this.poolState = exports.PoolState.paused;
43
+ this.server = server;
44
+ this.connections = new utils_1.List();
45
+ this.pending = 0;
46
+ this.checkedOut = new Set();
47
+ this.minPoolSizeTimer = undefined;
48
+ this.generation = 0;
49
+ this.serviceGenerations = new Map();
50
+ this.connectionCounter = (0, utils_1.makeCounter)(1);
51
+ this.cancellationToken = new mongo_types_1.CancellationToken();
52
+ this.cancellationToken.setMaxListeners(Infinity);
53
+ this.waitQueue = new utils_1.List();
54
+ this.metrics = new metrics_1.ConnectionPoolMetrics();
55
+ this.processingWaitQueue = false;
56
+ this.mongoLogger = this.server.topology.client?.mongoLogger;
85
57
  this.component = 'connection';
86
58
  process.nextTick(() => {
87
59
  this.emitAndLog(ConnectionPool.CONNECTION_POOL_CREATED, new connection_pool_events_1.ConnectionPoolCreatedEvent(this));
@@ -97,11 +69,7 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
97
69
  * TODO(NODE-3263): We can remove this property once shell no longer needs it
98
70
  */
99
71
  get closed() {
100
- return this[kPoolState] === exports.PoolState.closed;
101
- }
102
- /** An integer representing the SDAM generation of the pool */
103
- get generation() {
104
- return this[kGeneration];
72
+ return this.poolState === exports.PoolState.closed;
105
73
  }
106
74
  /** An integer expressing how many total connections (available + pending + in use) the pool currently has */
107
75
  get totalConnectionCount() {
@@ -109,25 +77,22 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
109
77
  }
110
78
  /** An integer expressing how many connections are currently available in the pool. */
111
79
  get availableConnectionCount() {
112
- return this[kConnections].length;
80
+ return this.connections.length;
113
81
  }
114
82
  get pendingConnectionCount() {
115
- return this[kPending];
83
+ return this.pending;
116
84
  }
117
85
  get currentCheckedOutCount() {
118
- return this[kCheckedOut].size;
86
+ return this.checkedOut.size;
119
87
  }
120
88
  get waitQueueSize() {
121
- return this[kWaitQueue].length;
89
+ return this.waitQueue.length;
122
90
  }
123
91
  get loadBalanced() {
124
92
  return this.options.loadBalanced;
125
93
  }
126
- get serviceGenerations() {
127
- return this[kServiceGenerations];
128
- }
129
94
  get serverError() {
130
- return this[kServer].description.error;
95
+ return this.server.description.error;
131
96
  }
132
97
  /**
133
98
  * This is exposed ONLY for use in mongosh, to enable
@@ -137,24 +102,24 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
137
102
  * This property may be removed as a part of NODE-3263.
138
103
  */
139
104
  get checkedOutConnections() {
140
- return this[kCheckedOut];
105
+ return this.checkedOut;
141
106
  }
142
107
  /**
143
108
  * Get the metrics information for the pool when a wait queue timeout occurs.
144
109
  */
145
110
  waitQueueErrorMetrics() {
146
- return this[kMetrics].info(this.options.maxPoolSize);
111
+ return this.metrics.info(this.options.maxPoolSize);
147
112
  }
148
113
  /**
149
114
  * Set the pool state to "ready"
150
115
  */
151
116
  ready() {
152
- if (this[kPoolState] !== exports.PoolState.paused) {
117
+ if (this.poolState !== exports.PoolState.paused) {
153
118
  return;
154
119
  }
155
- this[kPoolState] = exports.PoolState.ready;
120
+ this.poolState = exports.PoolState.ready;
156
121
  this.emitAndLog(ConnectionPool.CONNECTION_POOL_READY, new connection_pool_events_1.ConnectionPoolReadyEvent(this));
157
- (0, timers_1.clearTimeout)(this[kMinPoolSizeTimer]);
122
+ (0, timers_1.clearTimeout)(this.minPoolSizeTimer);
158
123
  this.ensureMinPoolSize();
159
124
  }
160
125
  /**
@@ -170,9 +135,10 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
170
135
  const waitQueueMember = {
171
136
  resolve,
172
137
  reject,
138
+ cancelled: false,
173
139
  checkoutTime
174
140
  };
175
- this[kWaitQueue].push(waitQueueMember);
141
+ this.waitQueue.push(waitQueueMember);
176
142
  process.nextTick(() => this.processWaitQueue());
177
143
  try {
178
144
  timeout?.throwIfExpired();
@@ -181,7 +147,7 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
181
147
  catch (error) {
182
148
  if (timeout_1.TimeoutError.is(error)) {
183
149
  timeout?.clear();
184
- waitQueueMember[kCancelled] = true;
150
+ waitQueueMember.cancelled = true;
185
151
  this.emitAndLog(ConnectionPool.CONNECTION_CHECK_OUT_FAILED, new connection_pool_events_1.ConnectionCheckOutFailedEvent(this, 'timeout', waitQueueMember.checkoutTime));
186
152
  const timeoutError = new errors_1.WaitQueueTimeoutError(this.loadBalanced
187
153
  ? this.waitQueueErrorMetrics()
@@ -205,7 +171,7 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
205
171
  * @param connection - The connection to check in
206
172
  */
207
173
  checkIn(connection) {
208
- if (!this[kCheckedOut].has(connection)) {
174
+ if (!this.checkedOut.has(connection)) {
209
175
  return;
210
176
  }
211
177
  const poolClosed = this.closed;
@@ -213,9 +179,9 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
213
179
  const willDestroy = !!(poolClosed || stale || connection.closed);
214
180
  if (!willDestroy) {
215
181
  connection.markAvailable();
216
- this[kConnections].unshift(connection);
182
+ this.connections.unshift(connection);
217
183
  }
218
- this[kCheckedOut].delete(connection);
184
+ this.checkedOut.delete(connection);
219
185
  this.emitAndLog(ConnectionPool.CONNECTION_CHECKED_IN, new connection_pool_events_1.ConnectionCheckedInEvent(this, connection));
220
186
  if (willDestroy) {
221
187
  const reason = connection.closed ? 'error' : poolClosed ? 'poolClosed' : 'stale';
@@ -255,10 +221,10 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
255
221
  }
256
222
  // handle non load-balanced case
257
223
  const interruptInUseConnections = options.interruptInUseConnections ?? false;
258
- const oldGeneration = this[kGeneration];
259
- this[kGeneration] += 1;
260
- const alreadyPaused = this[kPoolState] === exports.PoolState.paused;
261
- this[kPoolState] = exports.PoolState.paused;
224
+ const oldGeneration = this.generation;
225
+ this.generation += 1;
226
+ const alreadyPaused = this.poolState === exports.PoolState.paused;
227
+ this.poolState = exports.PoolState.paused;
262
228
  this.clearMinPoolSizeTimer();
263
229
  if (!alreadyPaused) {
264
230
  this.emitAndLog(ConnectionPool.CONNECTION_POOL_CLEARED, new connection_pool_events_1.ConnectionPoolClearedEvent(this, {
@@ -276,7 +242,7 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
276
242
  * Only connections where `connection.generation <= minGeneration` are killed.
277
243
  */
278
244
  interruptInUseConnections(minGeneration) {
279
- for (const connection of this[kCheckedOut]) {
245
+ for (const connection of this.checkedOut) {
280
246
  if (connection.generation <= minGeneration) {
281
247
  connection.onError(new errors_1.PoolClearedOnNetworkError(this));
282
248
  this.checkIn(connection);
@@ -289,19 +255,19 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
289
255
  return;
290
256
  }
291
257
  // immediately cancel any in-flight connections
292
- this[kCancellationToken].emit('cancel');
258
+ this.cancellationToken.emit('cancel');
293
259
  // end the connection counter
294
- if (typeof this[kConnectionCounter].return === 'function') {
295
- this[kConnectionCounter].return(undefined);
260
+ if (typeof this.connectionCounter.return === 'function') {
261
+ this.connectionCounter.return(undefined);
296
262
  }
297
- this[kPoolState] = exports.PoolState.closed;
263
+ this.poolState = exports.PoolState.closed;
298
264
  this.clearMinPoolSizeTimer();
299
265
  this.processWaitQueue();
300
- for (const conn of this[kConnections]) {
266
+ for (const conn of this.connections) {
301
267
  this.emitAndLog(ConnectionPool.CONNECTION_CLOSED, new connection_pool_events_1.ConnectionClosedEvent(this, conn, 'poolClosed'));
302
268
  conn.destroy();
303
269
  }
304
- this[kConnections].clear();
270
+ this.connections.clear();
305
271
  this.emitAndLog(ConnectionPool.CONNECTION_POOL_CLOSED, new connection_pool_events_1.ConnectionPoolClosedEvent(this));
306
272
  }
307
273
  /**
@@ -318,7 +284,7 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
318
284
  throw new error_1.MongoMissingCredentialsError('Connection is missing credentials when asked to reauthenticate');
319
285
  }
320
286
  const resolvedCredentials = credentials.resolveAuthMechanism(connection.hello);
321
- const provider = this[kServer].topology.client.s.authProviders.getOrCreateProvider(resolvedCredentials.mechanism, resolvedCredentials.mechanismProperties);
287
+ const provider = this.server.topology.client.s.authProviders.getOrCreateProvider(resolvedCredentials.mechanism, resolvedCredentials.mechanismProperties);
322
288
  if (!provider) {
323
289
  throw new error_1.MongoMissingCredentialsError(`Reauthenticate failed due to no auth provider for ${credentials.mechanism}`);
324
290
  }
@@ -327,7 +293,7 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
327
293
  }
328
294
  /** Clear the min pool size timer */
329
295
  clearMinPoolSizeTimer() {
330
- const minPoolSizeTimer = this[kMinPoolSizeTimer];
296
+ const minPoolSizeTimer = this.minPoolSizeTimer;
331
297
  if (minPoolSizeTimer) {
332
298
  (0, timers_1.clearTimeout)(minPoolSizeTimer);
333
299
  }
@@ -344,7 +310,7 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
344
310
  const generation = this.serviceGenerations.get(sid);
345
311
  return connection.generation !== generation;
346
312
  }
347
- return connection.generation !== this[kGeneration];
313
+ return connection.generation !== this.generation;
348
314
  }
349
315
  connectionIsIdle(connection) {
350
316
  return !!(this.options.maxIdleTimeMS && connection.idleTime > this.options.maxIdleTimeMS);
@@ -367,20 +333,20 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
367
333
  createConnection(callback) {
368
334
  const connectOptions = {
369
335
  ...this.options,
370
- id: this[kConnectionCounter].next().value,
371
- generation: this[kGeneration],
372
- cancellationToken: this[kCancellationToken],
336
+ id: this.connectionCounter.next().value,
337
+ generation: this.generation,
338
+ cancellationToken: this.cancellationToken,
373
339
  mongoLogger: this.mongoLogger,
374
- authProviders: this[kServer].topology.client.s.authProviders
340
+ authProviders: this.server.topology.client.s.authProviders
375
341
  };
376
- this[kPending]++;
342
+ this.pending++;
377
343
  // This is our version of a "virtual" no-I/O connection as the spec requires
378
344
  const connectionCreatedTime = (0, utils_1.now)();
379
345
  this.emitAndLog(ConnectionPool.CONNECTION_CREATED, new connection_pool_events_1.ConnectionCreatedEvent(this, { id: connectOptions.id }));
380
346
  (0, connect_1.connect)(connectOptions).then(connection => {
381
347
  // The pool might have closed since we started trying to create a connection
382
- if (this[kPoolState] !== exports.PoolState.ready) {
383
- this[kPending]--;
348
+ if (this.poolState !== exports.PoolState.ready) {
349
+ this.pending--;
384
350
  connection.destroy();
385
351
  callback(this.closed ? new errors_1.PoolClosedError(this) : new errors_1.PoolClearedError(this));
386
352
  return;
@@ -390,8 +356,8 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
390
356
  connection.on(event, (e) => this.emit(event, e));
391
357
  }
392
358
  if (this.loadBalanced) {
393
- connection.on(connection_1.Connection.PINNED, pinType => this[kMetrics].markPinned(pinType));
394
- connection.on(connection_1.Connection.UNPINNED, pinType => this[kMetrics].markUnpinned(pinType));
359
+ connection.on(connection_1.Connection.PINNED, pinType => this.metrics.markPinned(pinType));
360
+ connection.on(connection_1.Connection.UNPINNED, pinType => this.metrics.markUnpinned(pinType));
395
361
  const serviceId = connection.serviceId;
396
362
  if (serviceId) {
397
363
  let generation;
@@ -407,11 +373,11 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
407
373
  }
408
374
  connection.markAvailable();
409
375
  this.emitAndLog(ConnectionPool.CONNECTION_READY, new connection_pool_events_1.ConnectionReadyEvent(this, connection, connectionCreatedTime));
410
- this[kPending]--;
376
+ this.pending--;
411
377
  callback(undefined, connection);
412
378
  }, error => {
413
- this[kPending]--;
414
- this[kServer].handleError(error);
379
+ this.pending--;
380
+ this.server.handleError(error);
415
381
  this.emitAndLog(ConnectionPool.CONNECTION_CLOSED, new connection_pool_events_1.ConnectionClosedEvent(this, { id: connectOptions.id, serviceId: undefined }, 'error',
416
382
  // TODO(NODE-5192): Remove this cast
417
383
  error));
@@ -423,10 +389,10 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
423
389
  }
424
390
  ensureMinPoolSize() {
425
391
  const minPoolSize = this.options.minPoolSize;
426
- if (this[kPoolState] !== exports.PoolState.ready || minPoolSize === 0) {
392
+ if (this.poolState !== exports.PoolState.ready || minPoolSize === 0) {
427
393
  return;
428
394
  }
429
- this[kConnections].prune(connection => this.destroyConnectionIfPerished(connection));
395
+ this.connections.prune(connection => this.destroyConnectionIfPerished(connection));
430
396
  if (this.totalConnectionCount < minPoolSize &&
431
397
  this.pendingConnectionCount < this.options.maxConnecting) {
432
398
  // NOTE: ensureMinPoolSize should not try to get all the pending
@@ -434,54 +400,54 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
434
400
  // the connection to a checkout request
435
401
  this.createConnection((err, connection) => {
436
402
  if (!err && connection) {
437
- this[kConnections].push(connection);
403
+ this.connections.push(connection);
438
404
  process.nextTick(() => this.processWaitQueue());
439
405
  }
440
- if (this[kPoolState] === exports.PoolState.ready) {
441
- (0, timers_1.clearTimeout)(this[kMinPoolSizeTimer]);
442
- this[kMinPoolSizeTimer] = (0, timers_1.setTimeout)(() => this.ensureMinPoolSize(), this.options.minPoolSizeCheckFrequencyMS);
406
+ if (this.poolState === exports.PoolState.ready) {
407
+ (0, timers_1.clearTimeout)(this.minPoolSizeTimer);
408
+ this.minPoolSizeTimer = (0, timers_1.setTimeout)(() => this.ensureMinPoolSize(), this.options.minPoolSizeCheckFrequencyMS);
443
409
  }
444
410
  });
445
411
  }
446
412
  else {
447
- (0, timers_1.clearTimeout)(this[kMinPoolSizeTimer]);
448
- this[kMinPoolSizeTimer] = (0, timers_1.setTimeout)(() => this.ensureMinPoolSize(), this.options.minPoolSizeCheckFrequencyMS);
413
+ (0, timers_1.clearTimeout)(this.minPoolSizeTimer);
414
+ this.minPoolSizeTimer = (0, timers_1.setTimeout)(() => this.ensureMinPoolSize(), this.options.minPoolSizeCheckFrequencyMS);
449
415
  }
450
416
  }
451
417
  processWaitQueue() {
452
- if (this[kProcessingWaitQueue]) {
418
+ if (this.processingWaitQueue) {
453
419
  return;
454
420
  }
455
- this[kProcessingWaitQueue] = true;
421
+ this.processingWaitQueue = true;
456
422
  while (this.waitQueueSize) {
457
- const waitQueueMember = this[kWaitQueue].first();
423
+ const waitQueueMember = this.waitQueue.first();
458
424
  if (!waitQueueMember) {
459
- this[kWaitQueue].shift();
425
+ this.waitQueue.shift();
460
426
  continue;
461
427
  }
462
- if (waitQueueMember[kCancelled]) {
463
- this[kWaitQueue].shift();
428
+ if (waitQueueMember.cancelled) {
429
+ this.waitQueue.shift();
464
430
  continue;
465
431
  }
466
- if (this[kPoolState] !== exports.PoolState.ready) {
432
+ if (this.poolState !== exports.PoolState.ready) {
467
433
  const reason = this.closed ? 'poolClosed' : 'connectionError';
468
434
  const error = this.closed ? new errors_1.PoolClosedError(this) : new errors_1.PoolClearedError(this);
469
435
  this.emitAndLog(ConnectionPool.CONNECTION_CHECK_OUT_FAILED, new connection_pool_events_1.ConnectionCheckOutFailedEvent(this, reason, waitQueueMember.checkoutTime, error));
470
- this[kWaitQueue].shift();
436
+ this.waitQueue.shift();
471
437
  waitQueueMember.reject(error);
472
438
  continue;
473
439
  }
474
440
  if (!this.availableConnectionCount) {
475
441
  break;
476
442
  }
477
- const connection = this[kConnections].shift();
443
+ const connection = this.connections.shift();
478
444
  if (!connection) {
479
445
  break;
480
446
  }
481
447
  if (!this.destroyConnectionIfPerished(connection)) {
482
- this[kCheckedOut].add(connection);
448
+ this.checkedOut.add(connection);
483
449
  this.emitAndLog(ConnectionPool.CONNECTION_CHECKED_OUT, new connection_pool_events_1.ConnectionCheckedOutEvent(this, connection, waitQueueMember.checkoutTime));
484
- this[kWaitQueue].shift();
450
+ this.waitQueue.shift();
485
451
  waitQueueMember.resolve(connection);
486
452
  }
487
453
  }
@@ -489,14 +455,14 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
489
455
  while (this.waitQueueSize > 0 &&
490
456
  this.pendingConnectionCount < maxConnecting &&
491
457
  (maxPoolSize === 0 || this.totalConnectionCount < maxPoolSize)) {
492
- const waitQueueMember = this[kWaitQueue].shift();
493
- if (!waitQueueMember || waitQueueMember[kCancelled]) {
458
+ const waitQueueMember = this.waitQueue.shift();
459
+ if (!waitQueueMember || waitQueueMember.cancelled) {
494
460
  continue;
495
461
  }
496
462
  this.createConnection((err, connection) => {
497
- if (waitQueueMember[kCancelled]) {
463
+ if (waitQueueMember.cancelled) {
498
464
  if (!err && connection) {
499
- this[kConnections].push(connection);
465
+ this.connections.push(connection);
500
466
  }
501
467
  }
502
468
  else {
@@ -507,7 +473,7 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
507
473
  waitQueueMember.reject(err);
508
474
  }
509
475
  else if (connection) {
510
- this[kCheckedOut].add(connection);
476
+ this.checkedOut.add(connection);
511
477
  this.emitAndLog(ConnectionPool.CONNECTION_CHECKED_OUT, new connection_pool_events_1.ConnectionCheckedOutEvent(this, connection, waitQueueMember.checkoutTime));
512
478
  waitQueueMember.resolve(connection);
513
479
  }
@@ -515,7 +481,7 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
515
481
  process.nextTick(() => this.processWaitQueue());
516
482
  });
517
483
  }
518
- this[kProcessingWaitQueue] = false;
484
+ this.processingWaitQueue = false;
519
485
  }
520
486
  }
521
487
  exports.ConnectionPool = ConnectionPool;
@@ -1 +1 @@
1
- {"version":3,"file":"connection_pool.js","sourceRoot":"","sources":["../../src/cmap/connection_pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection_pool.js","sourceRoot":"","sources":["../../src/cmap/connection_pool.ts"],"names":[],"mappings":"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"}
package/lib/encrypter.js CHANGED
@@ -8,15 +8,13 @@ const deps_1 = require("./deps");
8
8
  const error_1 = require("./error");
9
9
  const mongo_client_1 = require("./mongo_client");
10
10
  /** @internal */
11
- const kInternalClient = Symbol('internalClient');
12
- /** @internal */
13
11
  class Encrypter {
14
12
  constructor(client, uri, options) {
15
13
  if (typeof options.autoEncryption !== 'object') {
16
14
  throw new error_1.MongoInvalidArgumentError('Option "autoEncryption" must be specified');
17
15
  }
18
16
  // initialize to null, if we call getInternalClient, we may set this it is important to not overwrite those function calls.
19
- this[kInternalClient] = null;
17
+ this.internalClient = null;
20
18
  this.bypassAutoEncryption = !!options.autoEncryption.bypassAutoEncryption;
21
19
  this.needsConnecting = false;
22
20
  if (options.maxPoolSize === 0 && options.autoEncryption.keyVaultClient == null) {
@@ -45,8 +43,7 @@ class Encrypter {
45
43
  this.autoEncrypter = new auto_encrypter_1.AutoEncrypter(client, options.autoEncryption);
46
44
  }
47
45
  getInternalClient(client, uri, options) {
48
- // TODO(NODE-4144): Remove new variable for type narrowing
49
- let internalClient = this[kInternalClient];
46
+ let internalClient = this.internalClient;
50
47
  if (internalClient == null) {
51
48
  const clonedOptions = {};
52
49
  for (const key of [
@@ -59,7 +56,7 @@ class Encrypter {
59
56
  }
60
57
  clonedOptions.minPoolSize = 0;
61
58
  internalClient = new mongo_client_1.MongoClient(uri, clonedOptions);
62
- this[kInternalClient] = internalClient;
59
+ this.internalClient = internalClient;
63
60
  for (const eventName of constants_1.MONGO_CLIENT_EVENTS) {
64
61
  for (const listener of client.listeners(eventName)) {
65
62
  internalClient.on(eventName, listener);
@@ -73,8 +70,7 @@ class Encrypter {
73
70
  return internalClient;
74
71
  }
75
72
  async connectInternalClient() {
76
- // TODO(NODE-4144): Remove new variable for type narrowing
77
- const internalClient = this[kInternalClient];
73
+ const internalClient = this.internalClient;
78
74
  if (this.needsConnecting && internalClient != null) {
79
75
  this.needsConnecting = false;
80
76
  await internalClient.connect();
@@ -91,7 +87,7 @@ class Encrypter {
91
87
  catch (autoEncrypterError) {
92
88
  error = autoEncrypterError;
93
89
  }
94
- const internalClient = this[kInternalClient];
90
+ const internalClient = this.internalClient;
95
91
  if (internalClient != null && client !== internalClient) {
96
92
  return await internalClient.close(force);
97
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"encrypter.js","sourceRoot":"","sources":["../src/encrypter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encrypter.js","sourceRoot":"","sources":["../src/encrypter.ts"],"names":[],"mappings":"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"}