1
1
'use strict' ;
2
2
3
- var Long = require ( 'mongodb-core' ) . BSON . Long ,
4
- MongoError = require ( 'mongodb-core' ) . MongoError ,
5
- util = require ( 'util' ) ;
3
+ const Long = require ( 'mongodb-core' ) . BSON . Long ;
4
+ const MongoError = require ( 'mongodb-core' ) . MongoError ;
5
+ const util = require ( 'util' ) ;
6
+ const toError = require ( '../utils' ) . toError ;
7
+ const handleCallback = require ( '../utils' ) . handleCallback ;
6
8
7
9
// Error codes
8
10
var UNKNOWN_ERROR = 8 ;
@@ -402,6 +404,20 @@ var cloneOptions = function(options) {
402
404
return clone ;
403
405
} ;
404
406
407
+ function handleMongoWriteConcernError ( batch , bulkResult , ordered , err , callback ) {
408
+ mergeBatchResults ( ordered , batch , bulkResult , null , err . result ) ;
409
+
410
+ const wrappedWriteConcernError = new WriteConcernError ( {
411
+ errmsg : err . result . writeConcernError . errmsg ,
412
+ code : err . result . writeConcernError . result
413
+ } ) ;
414
+ return handleCallback (
415
+ callback ,
416
+ new BulkWriteError ( toError ( wrappedWriteConcernError ) , new BulkWriteResult ( bulkResult ) ) ,
417
+ null
418
+ ) ;
419
+ }
420
+
405
421
/**
406
422
* Creates a new BulkWriteError
407
423
*
@@ -426,17 +442,21 @@ const BulkWriteError = function(error, result) {
426
442
util . inherits ( BulkWriteError , MongoError ) ;
427
443
428
444
// Exports symbols
429
- exports . BulkWriteError = BulkWriteError ;
430
- exports . BulkWriteResult = BulkWriteResult ;
431
- exports . WriteError = WriteError ;
432
- exports . Batch = Batch ;
433
- exports . LegacyOp = LegacyOp ;
434
- exports . mergeBatchResults = mergeBatchResults ;
435
- exports . cloneOptions = cloneOptions ;
436
- exports . INVALID_BSON_ERROR = INVALID_BSON_ERROR ;
437
- exports . WRITE_CONCERN_ERROR = WRITE_CONCERN_ERROR ;
438
- exports . MULTIPLE_ERROR = MULTIPLE_ERROR ;
439
- exports . UNKNOWN_ERROR = UNKNOWN_ERROR ;
440
- exports . INSERT = INSERT ;
441
- exports . UPDATE = UPDATE ;
442
- exports . REMOVE = REMOVE ;
445
+ module . exports = {
446
+ Batch,
447
+ BulkWriteError,
448
+ BulkWriteResult,
449
+ cloneOptions,
450
+ handleMongoWriteConcernError,
451
+ LegacyOp,
452
+ mergeBatchResults,
453
+ INVALID_BSON_ERROR : INVALID_BSON_ERROR ,
454
+ MULTIPLE_ERROR : MULTIPLE_ERROR ,
455
+ UNKNOWN_ERROR : UNKNOWN_ERROR ,
456
+ WRITE_CONCERN_ERROR : WRITE_CONCERN_ERROR ,
457
+ INSERT : INSERT ,
458
+ UPDATE : UPDATE ,
459
+ REMOVE : REMOVE ,
460
+ WriteError,
461
+ WriteConcernError
462
+ } ;
0 commit comments