mongodb 4.0.0 → 4.1.2

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.
Files changed (246) hide show
  1. package/README.md +62 -30
  2. package/lib/bson.js +1 -0
  3. package/lib/bson.js.map +1 -1
  4. package/lib/bulk/common.js +53 -30
  5. package/lib/bulk/common.js.map +1 -1
  6. package/lib/bulk/ordered.js +3 -2
  7. package/lib/bulk/ordered.js.map +1 -1
  8. package/lib/bulk/unordered.js +3 -2
  9. package/lib/bulk/unordered.js.map +1 -1
  10. package/lib/change_stream.js +23 -13
  11. package/lib/change_stream.js.map +1 -1
  12. package/lib/cmap/auth/auth_provider.js +2 -1
  13. package/lib/cmap/auth/auth_provider.js.map +1 -1
  14. package/lib/cmap/auth/gssapi.js +5 -4
  15. package/lib/cmap/auth/gssapi.js.map +1 -1
  16. package/lib/cmap/auth/mongo_credentials.js +9 -5
  17. package/lib/cmap/auth/mongo_credentials.js.map +1 -1
  18. package/lib/cmap/auth/mongocr.js +2 -2
  19. package/lib/cmap/auth/mongocr.js.map +1 -1
  20. package/lib/cmap/auth/mongodb_aws.js +32 -32
  21. package/lib/cmap/auth/mongodb_aws.js.map +1 -1
  22. package/lib/cmap/auth/plain.js +1 -1
  23. package/lib/cmap/auth/plain.js.map +1 -1
  24. package/lib/cmap/auth/scram.js +15 -12
  25. package/lib/cmap/auth/scram.js.map +1 -1
  26. package/lib/cmap/auth/x509.js +2 -2
  27. package/lib/cmap/auth/x509.js.map +1 -1
  28. package/lib/cmap/command_monitoring_events.js +26 -10
  29. package/lib/cmap/command_monitoring_events.js.map +1 -1
  30. package/lib/cmap/commands.js +9 -5
  31. package/lib/cmap/commands.js.map +1 -1
  32. package/lib/cmap/connect.js +23 -9
  33. package/lib/cmap/connect.js.map +1 -1
  34. package/lib/cmap/connection.js +43 -46
  35. package/lib/cmap/connection.js.map +1 -1
  36. package/lib/cmap/connection_pool.js +113 -15
  37. package/lib/cmap/connection_pool.js.map +1 -1
  38. package/lib/cmap/connection_pool_events.js +3 -1
  39. package/lib/cmap/connection_pool_events.js.map +1 -1
  40. package/lib/cmap/errors.js +3 -3
  41. package/lib/cmap/errors.js.map +1 -1
  42. package/lib/cmap/message_stream.js +1 -1
  43. package/lib/cmap/message_stream.js.map +1 -1
  44. package/lib/cmap/metrics.js +62 -0
  45. package/lib/cmap/metrics.js.map +1 -0
  46. package/lib/cmap/stream_description.js +3 -1
  47. package/lib/cmap/stream_description.js.map +1 -1
  48. package/lib/cmap/wire_protocol/compression.js +22 -9
  49. package/lib/cmap/wire_protocol/compression.js.map +1 -1
  50. package/lib/cmap/wire_protocol/shared.js +1 -1
  51. package/lib/cmap/wire_protocol/shared.js.map +1 -1
  52. package/lib/collection.js +23 -18
  53. package/lib/collection.js.map +1 -1
  54. package/lib/connection_string.js +76 -30
  55. package/lib/connection_string.js.map +1 -1
  56. package/lib/cursor/abstract_cursor.js +75 -68
  57. package/lib/cursor/abstract_cursor.js.map +1 -1
  58. package/lib/cursor/aggregation_cursor.js +47 -9
  59. package/lib/cursor/aggregation_cursor.js.map +1 -1
  60. package/lib/cursor/find_cursor.js +53 -13
  61. package/lib/cursor/find_cursor.js.map +1 -1
  62. package/lib/db.js +21 -14
  63. package/lib/db.js.map +1 -1
  64. package/lib/deps.js +16 -5
  65. package/lib/deps.js.map +1 -1
  66. package/lib/encrypter.js +5 -8
  67. package/lib/encrypter.js.map +1 -1
  68. package/lib/error.js +230 -34
  69. package/lib/error.js.map +1 -1
  70. package/lib/explain.js +2 -2
  71. package/lib/explain.js.map +1 -1
  72. package/lib/gridfs/download.js +22 -47
  73. package/lib/gridfs/download.js.map +1 -1
  74. package/lib/gridfs/index.js +4 -3
  75. package/lib/gridfs/index.js.map +1 -1
  76. package/lib/gridfs/upload.js +13 -21
  77. package/lib/gridfs/upload.js.map +1 -1
  78. package/lib/index.js +27 -2
  79. package/lib/index.js.map +1 -1
  80. package/lib/logger.js +3 -2
  81. package/lib/logger.js.map +1 -1
  82. package/lib/mongo_client.js +5 -8
  83. package/lib/mongo_client.js.map +1 -1
  84. package/lib/mongo_types.js.map +1 -1
  85. package/lib/operations/add_user.js +2 -3
  86. package/lib/operations/add_user.js.map +1 -1
  87. package/lib/operations/aggregate.js +12 -9
  88. package/lib/operations/aggregate.js.map +1 -1
  89. package/lib/operations/command.js +5 -7
  90. package/lib/operations/command.js.map +1 -1
  91. package/lib/operations/common_functions.js +1 -1
  92. package/lib/operations/common_functions.js.map +1 -1
  93. package/lib/operations/connect.js +3 -2
  94. package/lib/operations/connect.js.map +1 -1
  95. package/lib/operations/count.js +1 -1
  96. package/lib/operations/count.js.map +1 -1
  97. package/lib/operations/count_documents.js +1 -1
  98. package/lib/operations/count_documents.js.map +1 -1
  99. package/lib/operations/delete.js +5 -5
  100. package/lib/operations/delete.js.map +1 -1
  101. package/lib/operations/distinct.js +2 -2
  102. package/lib/operations/distinct.js.map +1 -1
  103. package/lib/operations/estimated_document_count.js +5 -1
  104. package/lib/operations/estimated_document_count.js.map +1 -1
  105. package/lib/operations/eval.js.map +1 -1
  106. package/lib/operations/execute_operation.js +31 -17
  107. package/lib/operations/execute_operation.js.map +1 -1
  108. package/lib/operations/find.js +13 -9
  109. package/lib/operations/find.js.map +1 -1
  110. package/lib/operations/find_and_modify.js +9 -9
  111. package/lib/operations/find_and_modify.js.map +1 -1
  112. package/lib/operations/indexes.js +8 -3
  113. package/lib/operations/indexes.js.map +1 -1
  114. package/lib/operations/insert.js +5 -3
  115. package/lib/operations/insert.js.map +1 -1
  116. package/lib/operations/is_capped.js +2 -1
  117. package/lib/operations/is_capped.js.map +1 -1
  118. package/lib/operations/list_collections.js +6 -3
  119. package/lib/operations/list_collections.js.map +1 -1
  120. package/lib/operations/map_reduce.js +1 -1
  121. package/lib/operations/map_reduce.js.map +1 -1
  122. package/lib/operations/operation.js +3 -1
  123. package/lib/operations/operation.js.map +1 -1
  124. package/lib/operations/options_operation.js +2 -1
  125. package/lib/operations/options_operation.js.map +1 -1
  126. package/lib/operations/profiling_level.js +4 -2
  127. package/lib/operations/profiling_level.js.map +1 -1
  128. package/lib/operations/set_profiling_level.js +4 -2
  129. package/lib/operations/set_profiling_level.js.map +1 -1
  130. package/lib/operations/update.js +12 -12
  131. package/lib/operations/update.js.map +1 -1
  132. package/lib/operations/validate_collection.js +6 -5
  133. package/lib/operations/validate_collection.js.map +1 -1
  134. package/lib/promise_provider.js +1 -1
  135. package/lib/promise_provider.js.map +1 -1
  136. package/lib/read_preference.js +8 -8
  137. package/lib/read_preference.js.map +1 -1
  138. package/lib/sdam/common.js +12 -10
  139. package/lib/sdam/common.js.map +1 -1
  140. package/lib/sdam/server.js +90 -25
  141. package/lib/sdam/server.js.map +1 -1
  142. package/lib/sdam/server_description.js +9 -4
  143. package/lib/sdam/server_description.js.map +1 -1
  144. package/lib/sdam/server_selection.js +10 -4
  145. package/lib/sdam/server_selection.js.map +1 -1
  146. package/lib/sdam/srv_polling.js +1 -1
  147. package/lib/sdam/srv_polling.js.map +1 -1
  148. package/lib/sdam/topology.js +42 -21
  149. package/lib/sdam/topology.js.map +1 -1
  150. package/lib/sdam/topology_description.js +7 -3
  151. package/lib/sdam/topology_description.js.map +1 -1
  152. package/lib/sessions.js +132 -31
  153. package/lib/sessions.js.map +1 -1
  154. package/lib/sort.js +3 -3
  155. package/lib/sort.js.map +1 -1
  156. package/lib/transactions.js +15 -7
  157. package/lib/transactions.js.map +1 -1
  158. package/lib/utils.js +60 -20
  159. package/lib/utils.js.map +1 -1
  160. package/mongodb.d.ts +523 -138
  161. package/mongodb.ts34.d.ts +480 -141
  162. package/package.json +44 -48
  163. package/src/bson.ts +1 -0
  164. package/src/bulk/common.ts +83 -43
  165. package/src/bulk/ordered.ts +4 -3
  166. package/src/bulk/unordered.ts +4 -3
  167. package/src/change_stream.ts +46 -29
  168. package/src/cmap/auth/auth_provider.ts +3 -2
  169. package/src/cmap/auth/gssapi.ts +15 -5
  170. package/src/cmap/auth/mongo_credentials.ts +22 -8
  171. package/src/cmap/auth/mongocr.ts +3 -3
  172. package/src/cmap/auth/mongodb_aws.ts +52 -39
  173. package/src/cmap/auth/plain.ts +2 -2
  174. package/src/cmap/auth/scram.ts +23 -13
  175. package/src/cmap/auth/x509.ts +3 -3
  176. package/src/cmap/command_monitoring_events.ts +36 -14
  177. package/src/cmap/commands.ts +12 -6
  178. package/src/cmap/connect.ts +42 -12
  179. package/src/cmap/connection.ts +54 -62
  180. package/src/cmap/connection_pool.ts +141 -20
  181. package/src/cmap/connection_pool_events.ts +8 -1
  182. package/src/cmap/errors.ts +3 -4
  183. package/src/cmap/message_stream.ts +2 -4
  184. package/src/cmap/metrics.ts +58 -0
  185. package/src/cmap/stream_description.ts +6 -1
  186. package/src/cmap/wire_protocol/compression.ts +26 -13
  187. package/src/cmap/wire_protocol/shared.ts +4 -2
  188. package/src/collection.ts +75 -70
  189. package/src/connection_string.ts +97 -34
  190. package/src/cursor/abstract_cursor.ts +141 -104
  191. package/src/cursor/aggregation_cursor.ts +34 -20
  192. package/src/cursor/find_cursor.ts +41 -21
  193. package/src/db.ts +19 -18
  194. package/src/deps.ts +110 -22
  195. package/src/encrypter.ts +6 -12
  196. package/src/error.ts +264 -48
  197. package/src/explain.ts +3 -3
  198. package/src/gridfs/download.ts +48 -53
  199. package/src/gridfs/index.ts +5 -4
  200. package/src/gridfs/upload.ts +32 -33
  201. package/src/index.ts +42 -4
  202. package/src/logger.ts +6 -3
  203. package/src/mongo_client.ts +20 -23
  204. package/src/mongo_types.ts +19 -20
  205. package/src/operations/add_user.ts +4 -5
  206. package/src/operations/aggregate.ts +18 -17
  207. package/src/operations/command.ts +7 -10
  208. package/src/operations/common_functions.ts +2 -3
  209. package/src/operations/connect.ts +4 -3
  210. package/src/operations/count.ts +2 -2
  211. package/src/operations/count_documents.ts +2 -2
  212. package/src/operations/delete.ts +8 -6
  213. package/src/operations/distinct.ts +5 -3
  214. package/src/operations/estimated_document_count.ts +5 -1
  215. package/src/operations/eval.ts +1 -1
  216. package/src/operations/execute_operation.ts +41 -20
  217. package/src/operations/find.ts +25 -16
  218. package/src/operations/find_and_modify.ts +12 -10
  219. package/src/operations/indexes.ts +39 -8
  220. package/src/operations/insert.ts +7 -4
  221. package/src/operations/is_capped.ts +3 -2
  222. package/src/operations/list_collections.ts +9 -6
  223. package/src/operations/map_reduce.ts +4 -2
  224. package/src/operations/operation.ts +7 -2
  225. package/src/operations/options_operation.ts +3 -2
  226. package/src/operations/profiling_level.ts +5 -3
  227. package/src/operations/set_profiling_level.ts +9 -3
  228. package/src/operations/update.ts +17 -13
  229. package/src/operations/validate_collection.ts +7 -6
  230. package/src/promise_provider.ts +2 -2
  231. package/src/read_preference.ts +11 -9
  232. package/src/sdam/common.ts +11 -9
  233. package/src/sdam/server.ts +168 -69
  234. package/src/sdam/server_description.ts +16 -4
  235. package/src/sdam/server_selection.ts +15 -7
  236. package/src/sdam/srv_polling.ts +2 -2
  237. package/src/sdam/topology.ts +67 -36
  238. package/src/sdam/topology_description.ts +11 -4
  239. package/src/sessions.ts +194 -37
  240. package/src/sort.ts +6 -4
  241. package/src/transactions.ts +18 -9
  242. package/src/utils.ts +73 -20
  243. package/HISTORY.md +0 -2993
  244. package/lib/operations/find_one.js +0 -34
  245. package/lib/operations/find_one.js.map +0 -1
  246. package/src/operations/find_one.ts +0 -43
package/lib/error.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isResumableError = exports.isNetworkTimeoutError = exports.isSDAMUnrecoverableError = exports.isNodeShuttingDownError = exports.isRetryableError = exports.isRetryableWriteError = exports.MongoWriteConcernError = exports.MongoServerSelectionError = exports.MongoSystemError = exports.MongoParseError = exports.MongoNetworkTimeoutError = exports.MongoNetworkError = exports.isNetworkErrorBeforeHandshake = exports.MongoCursorExhaustedError = exports.MongoCursorInUseError = exports.MongoTailableCursorError = exports.MongoCursorError = exports.MongoNotConnectedError = exports.MongoBatchReExecutionError = exports.MongoRuntimeError = exports.MongoDriverError = exports.MongoServerError = exports.MongoError = exports.GET_MORE_RESUMABLE_CODES = exports.MONGODB_ERROR_CODES = void 0;
3
+ exports.isResumableError = exports.isNetworkTimeoutError = exports.isSDAMUnrecoverableError = exports.isNodeShuttingDownError = exports.isRetryableError = exports.isRetryableWriteError = exports.MongoWriteConcernError = exports.MongoServerSelectionError = exports.MongoSystemError = exports.MongoMissingDependencyError = exports.MongoMissingCredentialsError = exports.MongoCompatibilityError = exports.MongoInvalidArgumentError = exports.MongoParseError = exports.MongoNetworkTimeoutError = exports.MongoNetworkError = exports.isNetworkErrorBeforeHandshake = exports.MongoTopologyClosedError = exports.MongoCursorExhaustedError = exports.MongoServerClosedError = exports.MongoCursorInUseError = exports.MongoGridFSChunkError = exports.MongoGridFSStreamError = exports.MongoTailableCursorError = exports.MongoChangeStreamError = exports.MongoKerberosError = exports.MongoExpiredSessionError = exports.MongoTransactionError = exports.MongoNotConnectedError = exports.MongoDecompressionError = exports.MongoBatchReExecutionError = exports.MongoRuntimeError = exports.MongoAPIError = exports.MongoDriverError = exports.MongoServerError = exports.MongoError = exports.GET_MORE_RESUMABLE_CODES = exports.MONGODB_ERROR_CODES = void 0;
4
4
  /** @internal */
5
5
  const kErrorLabels = Symbol('errorLabels');
6
6
  /** @internal MongoDB Error Codes */
@@ -63,7 +63,6 @@ class MongoError extends Error {
63
63
  constructor(message) {
64
64
  if (message instanceof Error) {
65
65
  super(message.message);
66
- this.stack = message.stack;
67
66
  }
68
67
  else {
69
68
  super(message);
@@ -107,20 +106,13 @@ exports.MongoError = MongoError;
107
106
  */
108
107
  class MongoServerError extends MongoError {
109
108
  constructor(message) {
110
- if (message instanceof Error) {
111
- super(message);
109
+ super(message.message || message.errmsg || message.$err || 'n/a');
110
+ if (message.errorLabels) {
111
+ this[kErrorLabels] = new Set(message.errorLabels);
112
112
  }
113
- else {
114
- super(message.message || message.errmsg || message.$err || 'n/a');
115
- if (message.errorLabels) {
116
- this[kErrorLabels] = new Set(message.errorLabels);
117
- }
118
- for (const name in message) {
119
- if (name === 'errorLabels' || name === 'errmsg' || name === 'message') {
120
- continue;
121
- }
113
+ for (const name in message) {
114
+ if (name !== 'errorLabels' && name !== 'errmsg' && name !== 'message')
122
115
  this[name] = message[name];
123
- }
124
116
  }
125
117
  }
126
118
  get name() {
@@ -143,6 +135,24 @@ class MongoDriverError extends MongoError {
143
135
  }
144
136
  }
145
137
  exports.MongoDriverError = MongoDriverError;
138
+ /**
139
+ * An error generated when the driver API is used incorrectly
140
+ *
141
+ * @privateRemarks
142
+ * Should **never** be directly instantiated
143
+ *
144
+ * @public
145
+ * @category Error
146
+ */
147
+ class MongoAPIError extends MongoDriverError {
148
+ constructor(message) {
149
+ super(message);
150
+ }
151
+ get name() {
152
+ return 'MongoAPIError';
153
+ }
154
+ }
155
+ exports.MongoAPIError = MongoAPIError;
146
156
  /**
147
157
  * An error generated when the driver encounters unexpected input
148
158
  * or reaches an unexpected/invalid internal state
@@ -166,12 +176,11 @@ exports.MongoRuntimeError = MongoRuntimeError;
166
176
  * An error generated when a batch command is reexecuted after one of the commands in the batch
167
177
  * has failed
168
178
  *
169
- *
170
179
  * @public
171
180
  * @category Error
172
181
  */
173
- class MongoBatchReExecutionError extends MongoRuntimeError {
174
- constructor(message) {
182
+ class MongoBatchReExecutionError extends MongoAPIError {
183
+ constructor(message = 'This batch has already been executed, create new batch to execute') {
175
184
  super(message);
176
185
  }
177
186
  get name() {
@@ -179,15 +188,30 @@ class MongoBatchReExecutionError extends MongoRuntimeError {
179
188
  }
180
189
  }
181
190
  exports.MongoBatchReExecutionError = MongoBatchReExecutionError;
191
+ /**
192
+ * An error generated when the driver fails to decompress
193
+ * data received from the server.
194
+ *
195
+ * @public
196
+ * @category Error
197
+ */
198
+ class MongoDecompressionError extends MongoRuntimeError {
199
+ constructor(message) {
200
+ super(message);
201
+ }
202
+ get name() {
203
+ return 'MongoDecompressionError';
204
+ }
205
+ }
206
+ exports.MongoDecompressionError = MongoDecompressionError;
182
207
  /**
183
208
  * An error thrown when the user attempts to operate on a database or collection through a MongoClient
184
209
  * that has not yet successfully called the "connect" method
185
210
  *
186
- *
187
211
  * @public
188
212
  * @category Error
189
213
  */
190
- class MongoNotConnectedError extends MongoRuntimeError {
214
+ class MongoNotConnectedError extends MongoAPIError {
191
215
  constructor(message) {
192
216
  super(message);
193
217
  }
@@ -197,48 +221,122 @@ class MongoNotConnectedError extends MongoRuntimeError {
197
221
  }
198
222
  exports.MongoNotConnectedError = MongoNotConnectedError;
199
223
  /**
200
- * An error thrown when the user attempts to operate on a cursor that is in a state which does not
201
- * support the attempted operation.
202
- *
224
+ * An error generated when the user makes a mistake in the usage of transactions.
225
+ * (e.g. attempting to commit a transaction with a readPreference other than primary)
203
226
  *
204
227
  * @public
205
228
  * @category Error
206
229
  */
207
- class MongoCursorError extends MongoRuntimeError {
230
+ class MongoTransactionError extends MongoAPIError {
208
231
  constructor(message) {
209
232
  super(message);
210
233
  }
211
234
  get name() {
212
- return 'MongoCursorError';
235
+ return 'MongoTransactionError';
213
236
  }
214
237
  }
215
- exports.MongoCursorError = MongoCursorError;
238
+ exports.MongoTransactionError = MongoTransactionError;
216
239
  /**
217
- * An error thrown when the user calls a function or method not supported on a tailable cursor
240
+ * An error generated when the user attempts to operate
241
+ * on a session that has expired or has been closed.
242
+ *
243
+ * @public
244
+ * @category Error
245
+ */
246
+ class MongoExpiredSessionError extends MongoAPIError {
247
+ constructor(message = 'Cannot use a session that has ended') {
248
+ super(message);
249
+ }
250
+ get name() {
251
+ return 'MongoExpiredSessionError';
252
+ }
253
+ }
254
+ exports.MongoExpiredSessionError = MongoExpiredSessionError;
255
+ /**
256
+ * A error generated when the user attempts to authenticate
257
+ * via Kerberos, but fails to connect to the Kerberos client.
218
258
  *
259
+ * @public
260
+ * @category Error
261
+ */
262
+ class MongoKerberosError extends MongoRuntimeError {
263
+ constructor(message) {
264
+ super(message);
265
+ }
266
+ get name() {
267
+ return 'MongoKerberosError';
268
+ }
269
+ }
270
+ exports.MongoKerberosError = MongoKerberosError;
271
+ /**
272
+ * An error generated when a ChangeStream operation fails to execute.
219
273
  *
220
274
  * @public
221
275
  * @category Error
222
276
  */
223
- class MongoTailableCursorError extends MongoCursorError {
277
+ class MongoChangeStreamError extends MongoRuntimeError {
224
278
  constructor(message) {
225
279
  super(message);
226
280
  }
281
+ get name() {
282
+ return 'MongoChangeStreamError';
283
+ }
284
+ }
285
+ exports.MongoChangeStreamError = MongoChangeStreamError;
286
+ /**
287
+ * An error thrown when the user calls a function or method not supported on a tailable cursor
288
+ *
289
+ * @public
290
+ * @category Error
291
+ */
292
+ class MongoTailableCursorError extends MongoAPIError {
293
+ constructor(message = 'Tailable cursor does not support this operation') {
294
+ super(message);
295
+ }
227
296
  get name() {
228
297
  return 'MongoTailableCursorError';
229
298
  }
230
299
  }
231
300
  exports.MongoTailableCursorError = MongoTailableCursorError;
301
+ /** An error generated when a GridFSStream operation fails to execute.
302
+ *
303
+ * @public
304
+ * @category Error
305
+ */
306
+ class MongoGridFSStreamError extends MongoRuntimeError {
307
+ constructor(message) {
308
+ super(message);
309
+ }
310
+ get name() {
311
+ return 'MongoGridFSStreamError';
312
+ }
313
+ }
314
+ exports.MongoGridFSStreamError = MongoGridFSStreamError;
315
+ /**
316
+ * An error generated when a malformed or invalid chunk is
317
+ * encountered when reading from a GridFSStream.
318
+ *
319
+ * @public
320
+ * @category Error
321
+ */
322
+ class MongoGridFSChunkError extends MongoRuntimeError {
323
+ constructor(message) {
324
+ super(message);
325
+ }
326
+ get name() {
327
+ return 'MongoGridFSChunkError';
328
+ }
329
+ }
330
+ exports.MongoGridFSChunkError = MongoGridFSChunkError;
232
331
  /**
233
332
  * An error thrown when the user attempts to add options to a cursor that has already been
234
333
  * initialized
235
334
  *
236
- *
237
335
  * @public
238
336
  * @category Error
239
337
  */
240
- class MongoCursorInUseError extends MongoCursorError {
241
- constructor(message) {
338
+ class MongoCursorInUseError extends MongoAPIError {
339
+ constructor(message = 'Cursor is already initialized') {
242
340
  super(message);
243
341
  }
244
342
  get name() {
@@ -247,21 +345,52 @@ class MongoCursorInUseError extends MongoCursorError {
247
345
  }
248
346
  exports.MongoCursorInUseError = MongoCursorInUseError;
249
347
  /**
250
- * An error thrown when an attempt is made to read from a cursor that has been exhausted
348
+ * An error generated when an attempt is made to operate
349
+ * on a closed/closing server.
251
350
  *
351
+ * @public
352
+ * @category Error
353
+ */
354
+ class MongoServerClosedError extends MongoAPIError {
355
+ constructor(message = 'Server is closed') {
356
+ super(message);
357
+ }
358
+ get name() {
359
+ return 'MongoServerClosedError';
360
+ }
361
+ }
362
+ exports.MongoServerClosedError = MongoServerClosedError;
363
+ /**
364
+ * An error thrown when an attempt is made to read from a cursor that has been exhausted
252
365
  *
253
366
  * @public
254
367
  * @category Error
255
368
  */
256
- class MongoCursorExhaustedError extends MongoCursorError {
369
+ class MongoCursorExhaustedError extends MongoAPIError {
257
370
  constructor(message) {
258
- super(message);
371
+ super(message || 'Cursor is exhausted');
259
372
  }
260
373
  get name() {
261
374
  return 'MongoCursorExhaustedError';
262
375
  }
263
376
  }
264
377
  exports.MongoCursorExhaustedError = MongoCursorExhaustedError;
378
+ /**
379
+ * An error generated when an attempt is made to operate on a
380
+ * dropped, or otherwise unavailable, database.
381
+ *
382
+ * @public
383
+ * @category Error
384
+ */
385
+ class MongoTopologyClosedError extends MongoAPIError {
386
+ constructor(message = 'Topology is closed') {
387
+ super(message);
388
+ }
389
+ get name() {
390
+ return 'MongoTopologyClosedError';
391
+ }
392
+ }
393
+ exports.MongoTopologyClosedError = MongoTopologyClosedError;
265
394
  /** @internal */
266
395
  const kBeforeHandshake = Symbol('beforeHandshake');
267
396
  function isNetworkErrorBeforeHandshake(err) {
@@ -316,6 +445,72 @@ class MongoParseError extends MongoDriverError {
316
445
  }
317
446
  }
318
447
  exports.MongoParseError = MongoParseError;
448
+ /**
449
+ * An error generated when the user supplies malformed or unexpected arguments
450
+ * or when a required argument or field is not provided.
451
+ *
452
+ *
453
+ * @public
454
+ * @category Error
455
+ */
456
+ class MongoInvalidArgumentError extends MongoAPIError {
457
+ constructor(message) {
458
+ super(message);
459
+ }
460
+ get name() {
461
+ return 'MongoInvalidArgumentError';
462
+ }
463
+ }
464
+ exports.MongoInvalidArgumentError = MongoInvalidArgumentError;
465
+ /**
466
+ * An error generated when a feature that is not enabled or allowed for the current server
467
+ * configuration is used
468
+ *
469
+ *
470
+ * @public
471
+ * @category Error
472
+ */
473
+ class MongoCompatibilityError extends MongoAPIError {
474
+ constructor(message) {
475
+ super(message);
476
+ }
477
+ get name() {
478
+ return 'MongoCompatibilityError';
479
+ }
480
+ }
481
+ exports.MongoCompatibilityError = MongoCompatibilityError;
482
+ /**
483
+ * An error generated when the user fails to provide authentication credentials before attempting
484
+ * to connect to a mongo server instance.
485
+ *
486
+ *
487
+ * @public
488
+ * @category Error
489
+ */
490
+ class MongoMissingCredentialsError extends MongoAPIError {
491
+ constructor(message) {
492
+ super(message);
493
+ }
494
+ get name() {
495
+ return 'MongoMissingCredentialsError';
496
+ }
497
+ }
498
+ exports.MongoMissingCredentialsError = MongoMissingCredentialsError;
499
+ /**
500
+ * An error generated when a required module or dependency is not present in the local environment
501
+ *
502
+ * @public
503
+ * @category Error
504
+ */
505
+ class MongoMissingDependencyError extends MongoAPIError {
506
+ constructor(message) {
507
+ super(message);
508
+ }
509
+ get name() {
510
+ return 'MongoMissingDependencyError';
511
+ }
512
+ }
513
+ exports.MongoMissingDependencyError = MongoMissingDependencyError;
319
514
  /**
320
515
  * An error signifying a general system issue
321
516
  * @public
@@ -373,6 +568,7 @@ class MongoWriteConcernError extends MongoServerError {
373
568
  message.errorLabels = result.errorLabels;
374
569
  }
375
570
  super(message);
571
+ this.errInfo = message.errInfo;
376
572
  if (result != null) {
377
573
  this.result = makeWriteConcernResultObject(result);
378
574
  }
@@ -500,7 +696,7 @@ function isResumableError(error, wireVersion) {
500
696
  if (error instanceof MongoNetworkError) {
501
697
  return true;
502
698
  }
503
- if (typeof wireVersion !== 'undefined' && wireVersion >= 9) {
699
+ if (wireVersion != null && wireVersion >= 9) {
504
700
  // DRIVERS-1308: For 4.4 drivers running against 4.4 servers, drivers will add a special case to treat the CursorNotFound error code as resumable
505
701
  if (error && error instanceof MongoError && error.code === 43) {
506
702
  return true;
package/lib/error.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"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"}
package/lib/explain.js CHANGED
@@ -22,13 +22,13 @@ class Explain {
22
22
  }
23
23
  }
24
24
  static fromOptions(options) {
25
- if ((options === null || options === void 0 ? void 0 : options.explain) === undefined)
25
+ if ((options === null || options === void 0 ? void 0 : options.explain) == null)
26
26
  return;
27
27
  const explain = options.explain;
28
28
  if (typeof explain === 'boolean' || typeof explain === 'string') {
29
29
  return new Explain(explain);
30
30
  }
31
- throw new error_1.MongoDriverError('explain must be a string or a boolean');
31
+ throw new error_1.MongoInvalidArgumentError('Field "explain" must be a string or a boolean');
32
32
  }
33
33
  }
34
34
  exports.Explain = Explain;
@@ -1 +1 @@
1
- {"version":3,"file":"explain.js","sourceRoot":"","sources":["../src/explain.ts"],"names":[],"mappings":";;;AAAA,mCAA2C;AAE3C,cAAc;AACD,QAAA,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,YAAY,EAAE,cAAc;IAC5B,oBAAoB,EAAE,sBAAsB;IAC5C,cAAc,EAAE,gBAAgB;IAChC,iBAAiB,EAAE,mBAAmB;CAC9B,CAAC,CAAC;AAmBZ,gBAAgB;AAChB,MAAa,OAAO;IAGlB,YAAY,SAA+B;QACzC,IAAI,OAAO,SAAS,KAAK,SAAS,EAAE;YAClC,IAAI,CAAC,SAAS,GAAG,SAAS;gBACxB,CAAC,CAAC,wBAAgB,CAAC,iBAAiB;gBACpC,CAAC,CAAC,wBAAgB,CAAC,YAAY,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;SAC5B;IACH,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,OAAwB;QACzC,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,MAAK,SAAS;YAAE,OAAO;QAE3C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/D,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;SAC7B;QAED,MAAM,IAAI,wBAAgB,CAAC,uCAAuC,CAAC,CAAC;IACtE,CAAC;CACF;AAvBD,0BAuBC"}
1
+ {"version":3,"file":"explain.js","sourceRoot":"","sources":["../src/explain.ts"],"names":[],"mappings":";;;AAAA,mCAAoD;AAEpD,cAAc;AACD,QAAA,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,YAAY,EAAE,cAAc;IAC5B,oBAAoB,EAAE,sBAAsB;IAC5C,cAAc,EAAE,gBAAgB;IAChC,iBAAiB,EAAE,mBAAmB;CAC9B,CAAC,CAAC;AAmBZ,gBAAgB;AAChB,MAAa,OAAO;IAGlB,YAAY,SAA+B;QACzC,IAAI,OAAO,SAAS,KAAK,SAAS,EAAE;YAClC,IAAI,CAAC,SAAS,GAAG,SAAS;gBACxB,CAAC,CAAC,wBAAgB,CAAC,iBAAiB;gBACpC,CAAC,CAAC,wBAAgB,CAAC,YAAY,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;SAC5B;IACH,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,OAAwB;QACzC,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,IAAI;YAAE,OAAO;QAErC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/D,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;SAC7B;QAED,MAAM,IAAI,iCAAyB,CAAC,+CAA+C,CAAC,CAAC;IACvF,CAAC;CACF;AAvBD,0BAuBC"}
@@ -124,7 +124,7 @@ GridFSBucketReadStream.END = 'end';
124
124
  GridFSBucketReadStream.CLOSE = 'close';
125
125
  function throwIfInitialized(stream) {
126
126
  if (stream.s.init) {
127
- throw new error_1.MongoDriverError('Options cannot be changed after the stream is initialized');
127
+ throw new error_1.MongoGridFSStreamError('Options cannot be changed after the stream is initialized');
128
128
  }
129
129
  }
130
130
  function doRead(stream) {
@@ -139,7 +139,8 @@ function doRead(stream) {
139
139
  return;
140
140
  }
141
141
  if (error) {
142
- return __handleError(stream, error);
142
+ stream.emit(GridFSBucketReadStream.ERROR, error);
143
+ return;
143
144
  }
144
145
  if (!doc) {
145
146
  stream.push(null);
@@ -148,7 +149,7 @@ function doRead(stream) {
148
149
  return;
149
150
  stream.s.cursor.close(error => {
150
151
  if (error) {
151
- __handleError(stream, error);
152
+ stream.emit(GridFSBucketReadStream.ERROR, error);
152
153
  return;
153
154
  }
154
155
  stream.emit(GridFSBucketReadStream.CLOSE);
@@ -161,27 +162,18 @@ function doRead(stream) {
161
162
  const bytesRemaining = stream.s.file.length - stream.s.bytesRead;
162
163
  const expectedN = stream.s.expected++;
163
164
  const expectedLength = Math.min(stream.s.file.chunkSize, bytesRemaining);
164
- let errmsg;
165
165
  if (doc.n > expectedN) {
166
- errmsg = 'ChunkIsMissing: Got unexpected n: ' + doc.n + ', expected: ' + expectedN;
167
- return __handleError(stream, new error_1.MongoDriverError(errmsg));
166
+ return stream.emit(GridFSBucketReadStream.ERROR, new error_1.MongoGridFSChunkError(`ChunkIsMissing: Got unexpected n: ${doc.n}, expected: ${expectedN}`));
168
167
  }
169
168
  if (doc.n < expectedN) {
170
- errmsg = 'ExtraChunk: Got unexpected n: ' + doc.n + ', expected: ' + expectedN;
171
- return __handleError(stream, new error_1.MongoDriverError(errmsg));
169
+ return stream.emit(GridFSBucketReadStream.ERROR, new error_1.MongoGridFSChunkError(`ExtraChunk: Got unexpected n: ${doc.n}, expected: ${expectedN}`));
172
170
  }
173
171
  let buf = Buffer.isBuffer(doc.data) ? doc.data : doc.data.buffer;
174
172
  if (buf.byteLength !== expectedLength) {
175
173
  if (bytesRemaining <= 0) {
176
- errmsg = 'ExtraChunk: Got unexpected n: ' + doc.n;
177
- return __handleError(stream, new error_1.MongoDriverError(errmsg));
174
+ return stream.emit(GridFSBucketReadStream.ERROR, new error_1.MongoGridFSChunkError(`ExtraChunk: Got unexpected n: ${doc.n}`));
178
175
  }
179
- errmsg =
180
- 'ChunkIsWrongSize: Got unexpected length: ' +
181
- buf.byteLength +
182
- ', expected: ' +
183
- expectedLength;
184
- return __handleError(stream, new error_1.MongoDriverError(errmsg));
176
+ return stream.emit(GridFSBucketReadStream.ERROR, new error_1.MongoGridFSChunkError(`ChunkIsWrongSize: Got unexpected length: ${buf.byteLength}, expected: ${expectedLength}`));
185
177
  }
186
178
  stream.s.bytesRead += buf.byteLength;
187
179
  if (buf.byteLength === 0) {
@@ -220,16 +212,17 @@ function init(stream) {
220
212
  }
221
213
  stream.s.files.findOne(stream.s.filter, findOneOptions, (error, doc) => {
222
214
  if (error) {
223
- return __handleError(stream, error);
215
+ return stream.emit(GridFSBucketReadStream.ERROR, error);
224
216
  }
225
217
  if (!doc) {
226
218
  const identifier = stream.s.filter._id
227
219
  ? stream.s.filter._id.toString()
228
220
  : stream.s.filter.filename;
229
- const errmsg = 'FileNotFound: file ' + identifier + ' was not found';
230
- const err = new error_1.MongoDriverError(errmsg);
221
+ const errmsg = `FileNotFound: file ${identifier} was not found`;
222
+ // TODO(NODE-3483)
223
+ const err = new error_1.MongoRuntimeError(errmsg);
231
224
  err.code = 'ENOENT'; // TODO: NODE-3338 set property as part of constructor
232
- return __handleError(stream, err);
225
+ return stream.emit(GridFSBucketReadStream.ERROR, err);
233
226
  }
234
227
  // If document is empty, kill the stream immediately and don't
235
228
  // execute any reads
@@ -248,7 +241,7 @@ function init(stream) {
248
241
  stream.s.bytesToSkip = handleStartOption(stream, doc, stream.s.options);
249
242
  }
250
243
  catch (error) {
251
- return __handleError(stream, error);
244
+ return stream.emit(GridFSBucketReadStream.ERROR, error);
252
245
  }
253
246
  const filter = { files_id: doc._id };
254
247
  // Currently (MongoDB 3.4.4) skip function does not support the index,
@@ -270,7 +263,7 @@ function init(stream) {
270
263
  stream.s.bytesToTrim = handleEndOption(stream, doc, stream.s.cursor, stream.s.options);
271
264
  }
272
265
  catch (error) {
273
- return __handleError(stream, error);
266
+ return stream.emit(GridFSBucketReadStream.ERROR, error);
274
267
  }
275
268
  stream.emit(GridFSBucketReadStream.FILE, doc);
276
269
  });
@@ -290,51 +283,33 @@ function waitForFile(stream, callback) {
290
283
  function handleStartOption(stream, doc, options) {
291
284
  if (options && options.start != null) {
292
285
  if (options.start > doc.length) {
293
- throw new error_1.MongoDriverError('Stream start (' +
294
- options.start +
295
- ') must not be ' +
296
- 'more than the length of the file (' +
297
- doc.length +
298
- ')');
286
+ throw new error_1.MongoInvalidArgumentError(`Stream start (${options.start}) must not be more than the length of the file (${doc.length})`);
299
287
  }
300
288
  if (options.start < 0) {
301
- throw new error_1.MongoDriverError('Stream start (' + options.start + ') must not be ' + 'negative');
289
+ throw new error_1.MongoInvalidArgumentError(`Stream start (${options.start}) must not be negative`);
302
290
  }
303
291
  if (options.end != null && options.end < options.start) {
304
- throw new error_1.MongoDriverError('Stream start (' +
305
- options.start +
306
- ') must not be ' +
307
- 'greater than stream end (' +
308
- options.end +
309
- ')');
292
+ throw new error_1.MongoInvalidArgumentError(`Stream start (${options.start}) must not be greater than stream end (${options.end})`);
310
293
  }
311
294
  stream.s.bytesRead = Math.floor(options.start / doc.chunkSize) * doc.chunkSize;
312
295
  stream.s.expected = Math.floor(options.start / doc.chunkSize);
313
296
  return options.start - stream.s.bytesRead;
314
297
  }
315
- throw new error_1.MongoDriverError('No start option defined');
298
+ throw new error_1.MongoInvalidArgumentError('Start option must be defined');
316
299
  }
317
300
  function handleEndOption(stream, doc, cursor, options) {
318
301
  if (options && options.end != null) {
319
302
  if (options.end > doc.length) {
320
- throw new error_1.MongoDriverError('Stream end (' +
321
- options.end +
322
- ') must not be ' +
323
- 'more than the length of the file (' +
324
- doc.length +
325
- ')');
303
+ throw new error_1.MongoInvalidArgumentError(`Stream end (${options.end}) must not be more than the length of the file (${doc.length})`);
326
304
  }
327
305
  if (options.start == null || options.start < 0) {
328
- throw new error_1.MongoDriverError('Stream end (' + options.end + ') must not be ' + 'negative');
306
+ throw new error_1.MongoInvalidArgumentError(`Stream end (${options.end}) must not be negative`);
329
307
  }
330
308
  const start = options.start != null ? Math.floor(options.start / doc.chunkSize) : 0;
331
309
  cursor.limit(Math.ceil(options.end / doc.chunkSize) - start);
332
310
  stream.s.expectedEnd = Math.ceil(options.end / doc.chunkSize);
333
311
  return Math.ceil(options.end / doc.chunkSize) * doc.chunkSize - options.end;
334
312
  }
335
- throw new error_1.MongoDriverError('No end option defined');
336
- }
337
- function __handleError(stream, error) {
338
- stream.emit(GridFSBucketReadStream.ERROR, error);
313
+ throw new error_1.MongoInvalidArgumentError('End option must be defined');
339
314
  }
340
315
  //# sourceMappingURL=download.js.map