Skip to content

Commit 7e111c1

Browse files
committed
store bson options in single property
1 parent 8db6961 commit 7e111c1

File tree

5 files changed

+5
-25
lines changed

5 files changed

+5
-25
lines changed

src/operations/bulk_write.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ 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, inheritBSONOptions(options, collection.s.options, true));
30+
this.bsonOptions = inheritBSONOptions(options, collection.s.options, true);
3131
}
3232

3333
execute(server: Server, callback: Callback<BulkWriteResult>): void {

src/operations/command.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ export abstract class CommandOperation<
9595
}
9696

9797
// Assign BSON serialize options to OperationBase, preferring options over parent options.
98-
Object.assign(this, inheritBSONOptions(options, parent?.s.options, true));
98+
this.bsonOptions = inheritBSONOptions(options, parent?.s.options, true);
9999
}
100100

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

src/operations/find_one.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ 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, inheritBSONOptions(options, collection.s.options, true));
21+
this.bsonOptions = inheritBSONOptions(options, collection.s.options, true);
2222
}
2323

2424
execute(server: Server, callback: Callback<Document>): void {

src/operations/insert_many.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ 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, inheritBSONOptions(options, collection.s.options, true));
35+
this.bsonOptions = inheritBSONOptions(options, collection.s.options, true);
3636
}
3737

3838
execute(server: Server, callback: Callback<InsertManyResult>): void {

src/operations/operation.ts

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -46,33 +46,13 @@ export abstract class OperationBase<
4646
fullResponse?: boolean;
4747

4848
// BSON serialization options
49-
fieldsAsRaw?: { [key: string]: boolean };
50-
promoteValues?: boolean;
51-
promoteBuffers?: boolean;
52-
promoteLongs?: boolean;
53-
serializeFunctions?: boolean;
54-
ignoreUndefined?: boolean;
55-
raw?: boolean;
49+
bsonOptions?: BSONSerializeOptions;
5650

5751
constructor(options: T = {} as T) {
5852
this.options = Object.assign({}, options);
5953
this.readPreference = ReadPreference.primary;
6054
}
6155

62-
// BSON serialization options
63-
get bsonOptions(): BSONSerializeOptions {
64-
const bsonOptions: Document = {
65-
promoteBuffers: this.promoteBuffers,
66-
promoteValues: this.promoteValues,
67-
promoteLongs: this.promoteLongs,
68-
raw: this.raw,
69-
ignoreUndefined: this.ignoreUndefined,
70-
serializeFunctions: this.serializeFunctions,
71-
fieldsAsRaw: this.fieldsAsRaw
72-
};
73-
return bsonOptions;
74-
}
75-
7656
abstract execute(server: Server, callback: Callback<TResult>): void;
7757

7858
hasAspect(aspect: symbol): boolean {

0 commit comments

Comments
 (0)