Skip to content

Commit 7fc7135

Browse files
committed
chore: add missing classes from top-level
1 parent 00b43c0 commit 7fc7135

File tree

12 files changed

+80
-8
lines changed

12 files changed

+80
-8
lines changed

src/index.js

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,19 @@ const {
1212
makeLegacyListCollectionsCursor,
1313
makeLegacyListIndexesCursor
1414
} = require('./legacy_wrappers/cursors');
15-
const { makeLegacyGridFSBucket } = require('./legacy_wrappers/gridfs');
15+
const {
16+
makeLegacyGridFSBucket,
17+
makeLegacyGridFSBucketWriteStream
18+
} = require('./legacy_wrappers/gridfs');
1619
const { makeLegacyChangeStream } = require('./legacy_wrappers/change_stream');
1720
const { makeLegacyClientSession } = require('./legacy_wrappers/session');
21+
const {
22+
makeLegacyUnorderedBulkOperation,
23+
makeLegacyOrderedBulkOperation
24+
} = require('./legacy_wrappers/bulk');
1825

1926
/** @type {import('..')} */
2027
module.exports = Object.create(null);
21-
2228
Object.defineProperty(module.exports, '__esModule', { value: true });
2329

2430
const classesWithAsyncAPIs = new Map([
@@ -32,9 +38,26 @@ const classesWithAsyncAPIs = new Map([
3238
['Db', makeLegacyDb],
3339
['GridFSBucket', makeLegacyGridFSBucket],
3440
['ClientSession', makeLegacyClientSession],
35-
['MongoClient', makeLegacyMongoClient]
41+
['MongoClient', makeLegacyMongoClient],
42+
43+
// Need to be exported top-level still
44+
['ClientSession', makeLegacyClientSession],
45+
['GridFSBucketWriteStream', makeLegacyGridFSBucketWriteStream],
46+
['OrderedBulkOperation', makeLegacyOrderedBulkOperation],
47+
['UnorderedBulkOperation', makeLegacyUnorderedBulkOperation]
3648
]);
3749

50+
const TODO_SPECIAL_IMPORTS = new Map([
51+
['ClientSession', '/lib/sessions'],
52+
['GridFSBucketWriteStream', '/lib/gridfs/upload'],
53+
['OrderedBulkOperation', '/lib/bulk/ordered'],
54+
['UnorderedBulkOperation', '/lib/bulk/unordered']
55+
]);
56+
57+
for (const [missingTopLevelClassName, location] of TODO_SPECIAL_IMPORTS) {
58+
mongodb[missingTopLevelClassName] = require(`mongodb${location}`)[missingTopLevelClassName];
59+
}
60+
3861
for (const [mongodbExportName, mongodbExportValue] of Object.entries(mongodb)) {
3962
let makeLegacyClass = classesWithAsyncAPIs.get(mongodbExportName);
4063
if (makeLegacyClass != null) {

src/legacy_wrappers/admin.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
const { toLegacy, maybeCallback } = require('../utils');
44

55
module.exports = Object.create(null);
6+
Object.defineProperty(module.exports, '__esModule', { value: true });
67

78
module.exports.makeLegacyAdmin = function (baseClass) {
89
class LegacyAdmin extends baseClass {

src/legacy_wrappers/bulk.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
'use strict';
2+
3+
module.exports = Object.create(null);
4+
Object.defineProperty(module.exports, '__esModule', { value: true });
5+
6+
module.exports.makeLegacyOrderedBulkOperation = function (baseClass) {
7+
return class LegacyOrderedBulkOperation extends baseClass {
8+
execute(callback) {
9+
10+
}
11+
};
12+
};
13+
14+
module.exports.makeLegacyUnorderedBulkOperation = function (baseClass) {
15+
return class LegacyUnorderedBulkOperation extends baseClass {
16+
execute(callback) {
17+
18+
}
19+
};
20+
};

src/legacy_wrappers/change_stream.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
const { toLegacy, maybeCallback } = require('../utils');
44

55
module.exports = Object.create(null);
6+
Object.defineProperty(module.exports, '__esModule', { value: true });
67

78
module.exports.makeLegacyChangeStream = function (baseClass) {
89
class LegacyChangeStream extends baseClass {

src/legacy_wrappers/collection.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
const { toLegacy, maybeCallback } = require('../utils');
44

55
module.exports = Object.create(null);
6+
Object.defineProperty(module.exports, '__esModule', { value: true });
67

78
module.exports.makeLegacyCollection = function (baseClass) {
89
class LegacyCollection extends baseClass {

src/legacy_wrappers/cursors.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ const { maybeCallback } = require('../utils');
44
const { toLegacy } = require('../utils');
55

66
module.exports = Object.create(null);
7+
Object.defineProperty(module.exports, '__esModule', { value: true });
78

89
const commonCursorFunctions = new Map([
910
[

src/legacy_wrappers/db.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
const { toLegacy, maybeCallback } = require('../utils');
44

55
module.exports = Object.create(null);
6+
Object.defineProperty(module.exports, '__esModule', { value: true });
67

78
module.exports.makeLegacyDb = function (baseClass) {
89
class LegacyDb extends baseClass {

src/legacy_wrappers/gridfs.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
const { toLegacy, maybeCallback } = require('../utils');
44

55
module.exports = Object.create(null);
6+
Object.defineProperty(module.exports, '__esModule', { value: true });
67

78
module.exports.makeLegacyGridFSBucket = function (baseClass) {
89
class LegacyGridFSBucket extends baseClass {
@@ -41,3 +42,20 @@ module.exports.makeLegacyGridFSBucket = function (baseClass) {
4142

4243
return LegacyGridFSBucket;
4344
};
45+
46+
module.exports.makeLegacyGridFSBucketWriteStream = function (baseClass) {
47+
class LegacyGridFSBucketWriteStream extends baseClass {
48+
abort(callback) {
49+
maybeCallback(super.abort(), callback);
50+
}
51+
}
52+
53+
Object.defineProperty(baseClass.prototype, toLegacy, {
54+
enumerable: false,
55+
value: function () {
56+
return Object.setPrototypeOf(this, LegacyGridFSBucketWriteStream.prototype);
57+
}
58+
});
59+
60+
return LegacyGridFSBucketWriteStream;
61+
};

src/legacy_wrappers/mongo_client.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
const { toLegacy, maybeCallback } = require('../utils');
44

55
module.exports = Object.create(null);
6+
Object.defineProperty(module.exports, '__esModule', { value: true });
67

78
module.exports.makeLegacyMongoClient = function (baseClass) {
89
class LegacyMongoClient extends baseClass {

src/legacy_wrappers/session.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
const { toLegacy } = require('../utils');
44

55
module.exports = Object.create(null);
6+
Object.defineProperty(module.exports, '__esModule', { value: true });
67

78
module.exports.makeLegacyClientSession = function (baseClass) {
89
class LegacyClientSession extends baseClass {

0 commit comments

Comments
 (0)