Skip to content

Commit 7ce8201

Browse files
committed
rename helper and add docs comments
1 parent 72f6794 commit 7ce8201

File tree

11 files changed

+25
-25
lines changed

11 files changed

+25
-25
lines changed

src/bson.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,12 @@ export function pluckBSONSerializeOptions(options: BSONSerializeOptions): BSONSe
7070
};
7171
}
7272

73-
// Merge the given BSONSerializeOptions, preferring options over parentOptions, and substituting
74-
// defaults for values not set.
75-
export function inheritOrDefaultBSONSerializableOptions(
73+
/**
74+
* Merge the given BSONSerializeOptions, preferring options over parentOptions, and substituting
75+
* defaults for values not set.
76+
* @internal
77+
*/
78+
export function inheritBSONOptions(
7679
options?: BSONSerializeOptions,
7780
parentOptions?: BSONSerializeOptions
7881
): BSONSerializeOptions {

src/operations/bulk_write.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { applyRetryableWrites, applyWriteConcern, Callback } from '../utils';
22
import { OperationBase } from './operation';
3-
import { inheritOrDefaultBSONSerializableOptions } from '../bson';
3+
import { inheritBSONOptions } from '../bson';
44
import { WriteConcern } from '../write_concern';
55
import type { Collection } from '../collection';
66
import type {
@@ -27,13 +27,13 @@ export class BulkWriteOperation extends OperationBase<BulkWriteOptions, BulkWrit
2727
this.operations = operations;
2828

2929
// Assign BSON serialize options to OperationBase, preferring options over collection options
30-
Object.assign(this, inheritOrDefaultBSONSerializableOptions(options, collection.s));
30+
Object.assign(this, inheritBSONOptions(options, collection.s));
3131
}
3232

3333
execute(server: Server, callback: Callback<BulkWriteResult>): void {
3434
const coll = this.collection;
3535
const operations = this.operations;
36-
const options = Object.assign({}, this.options, this.bsonOptions);
36+
const options = { ...this.options, ...this.bsonOptions };
3737

3838
// Create the bulk operation
3939
const bulk: BulkOperationBase =

src/operations/command.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { commandSupportsReadConcern } from '../sessions';
77
import { MongoError } from '../error';
88
import type { Logger } from '../logger';
99
import type { Server } from '../sdam/server';
10-
import { BSONSerializeOptions, Document, inheritOrDefaultBSONSerializableOptions } from '../bson';
10+
import { BSONSerializeOptions, Document, inheritBSONOptions } from '../bson';
1111
import type { CollationOptions } from '../cmap/wire_protocol/write_command';
1212
import type { ReadConcernLike } from './../read_concern';
1313

@@ -101,10 +101,9 @@ export abstract class CommandOperation<
101101
}
102102

103103
// Assign BSON serialize options to OperationBase, preferring options over parent options.
104-
// base accounts for the fact that Collection stores bson options in s, while other parents,
104+
// Here, we account for the fact that Collection stores bson options in s, while other parents,
105105
// like Db, stores bson options in s.options
106-
const base = Object.assign({}, parent?.s.options, parent?.s);
107-
Object.assign(this, inheritOrDefaultBSONSerializableOptions(options, base));
106+
Object.assign(this, inheritBSONOptions(options, { ...parent?.s.options, ...parent?.s }));
108107
}
109108

110109
abstract execute(server: Server, callback: Callback<TResult>): void;

src/operations/delete.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ export class DeleteOneOperation extends CommandOperation<DeleteOptions, DeleteRe
6565
execute(server: Server, callback: Callback<DeleteResult>): void {
6666
const coll = this.collection;
6767
const filter = this.filter;
68-
const options = Object.assign({}, this.options, this.bsonOptions);
68+
const options = { ...this.options, ...this.bsonOptions };
6969

7070
options.single = true;
7171
removeDocuments(server, coll, filter, options, (err, r) => {
@@ -99,7 +99,7 @@ export class DeleteManyOperation extends CommandOperation<DeleteOptions, DeleteR
9999
execute(server: Server, callback: Callback<DeleteResult>): void {
100100
const coll = this.collection;
101101
const filter = this.filter;
102-
const options = Object.assign({}, this.options, this.bsonOptions);
102+
const options = { ...this.options, ...this.bsonOptions };
103103

104104
// a user can pass `single: true` in to `deleteMany` to remove a single document, theoretically
105105
if (typeof options.single !== 'boolean') {

src/operations/find_and_modify.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ export class FindAndModifyOperation extends CommandOperation<FindAndModifyOption
7171
const query = this.query;
7272
const sort = formattedOrderClause(this.sort);
7373
const doc = this.doc;
74-
let options = Object.assign({}, this.options, this.bsonOptions);
74+
let options = { ...this.options, ...this.bsonOptions };
7575

7676
// Create findAndModify command object
7777
const cmd: Document = {

src/operations/find_one.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { OperationBase } from './operation';
22
import type { Callback } from '../utils';
3-
import { Document, inheritOrDefaultBSONSerializableOptions } from '../bson';
3+
import { Document, inheritBSONOptions } from '../bson';
44
import type { Collection } from '../collection';
55
import type { FindOptions } from './find';
66
import { MongoError } from '../error';
@@ -18,13 +18,13 @@ export class FindOneOperation extends OperationBase<FindOptions, Document> {
1818
this.query = query;
1919

2020
// Assign BSON serialize options to OperationBase, preferring options over collection options
21-
Object.assign(this, inheritOrDefaultBSONSerializableOptions(options, collection.s));
21+
Object.assign(this, inheritBSONOptions(options, collection.s));
2222
}
2323

2424
execute(server: Server, callback: Callback<Document>): void {
2525
const coll = this.collection;
2626
const query = this.query;
27-
const options = Object.assign({}, this.options, this.bsonOptions);
27+
const options = { ...this.options, ...this.bsonOptions };
2828

2929
try {
3030
const cursor = coll.find(query, options).limit(-1).batchSize(1);

src/operations/insert.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ export class InsertOneOperation extends CommandOperation<InsertOneOptions, Inser
6565
execute(server: Server, callback: Callback<InsertOneResult>): void {
6666
const coll = this.collection;
6767
const doc = this.doc;
68-
const options = Object.assign({}, this.options, this.bsonOptions);
68+
const options = { ...this.options, ...this.bsonOptions };
6969

7070
if (Array.isArray(doc)) {
7171
return callback(

src/operations/insert_many.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { MongoError } from '../error';
44
import { prepareDocs } from './common_functions';
55
import type { Callback } from '../utils';
66
import type { Collection } from '../collection';
7-
import { ObjectId, Document, inheritOrDefaultBSONSerializableOptions } from '../bson';
7+
import { ObjectId, Document, inheritBSONOptions } from '../bson';
88
import type { BulkWriteResult, BulkWriteOptions } from '../bulk/common';
99
import type { Server } from '../sdam/server';
1010

@@ -32,13 +32,13 @@ export class InsertManyOperation extends OperationBase<BulkWriteOptions, InsertM
3232
this.docs = docs;
3333

3434
// Assign BSON serialize options to OperationBase, preferring options over collection options
35-
Object.assign(this, inheritOrDefaultBSONSerializableOptions(options, collection.s));
35+
Object.assign(this, inheritBSONOptions(options, collection.s));
3636
}
3737

3838
execute(server: Server, callback: Callback<InsertManyResult>): void {
3939
const coll = this.collection;
4040
let docs = this.docs;
41-
const options = Object.assign({}, this.options, this.bsonOptions);
41+
const options = { ...this.options, ...this.bsonOptions };
4242

4343
if (!Array.isArray(docs)) {
4444
return callback(

src/operations/replace_one.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ export class ReplaceOneOperation extends CommandOperation<ReplaceOptions, Update
5050
const coll = this.collection;
5151
const filter = this.filter;
5252
const replacement = this.replacement;
53-
const options = Object.assign({}, this.options, this.bsonOptions);
53+
const options = { ...this.options, ...this.bsonOptions };
5454

5555
// Set single document update
5656
options.multi = false;

src/operations/update.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ export class UpdateOneOperation extends CommandOperation<UpdateOptions, UpdateRe
8686
const coll = this.collection;
8787
const filter = this.filter;
8888
const update = this.update;
89-
const options = Object.assign({}, this.options, this.bsonOptions);
89+
const options = { ...this.options, ...this.bsonOptions };
9090

9191
// Set single document update
9292
options.multi = false;
@@ -128,7 +128,7 @@ export class UpdateManyOperation extends CommandOperation<UpdateOptions, UpdateR
128128
const coll = this.collection;
129129
const filter = this.filter;
130130
const update = this.update;
131-
const options = Object.assign({}, this.options, this.bsonOptions);
131+
const options = { ...this.options, ...this.bsonOptions };
132132

133133
// Set single document update
134134
options.multi = true;

test/functional/insert.test.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1903,8 +1903,6 @@ describe('Insert', function () {
19031903
});
19041904

19051905
it('shouldCorrectlyInheritPromoteLongFalseNativeBSONWithGetMore', {
1906-
// Add a tag that our runner can trigger on
1907-
// in this case we are setting that node needs to be higher than 0.10.X to run
19081906
metadata: {
19091907
requires: { topology: ['single', 'replicaset', 'sharded', 'ssl', 'heap', 'wiredtiger'] }
19101908
},

0 commit comments

Comments
 (0)