1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- 'use strict';
- let BSON = require('bson');
- const require_optional = require('optional-require')(require);
- const EJSON = require('./utils').retrieveEJSON();
- try {
- // Attempt to grab the native BSON parser
- const BSONNative = require_optional('bson-ext');
- // If we got the native parser, use it instead of the
- // Javascript one
- if (BSONNative) {
- BSON = BSONNative;
- }
- } catch (err) {} // eslint-disable-line
- module.exports = {
- // Errors
- MongoError: require('./error').MongoError,
- MongoNetworkError: require('./error').MongoNetworkError,
- MongoParseError: require('./error').MongoParseError,
- MongoTimeoutError: require('./error').MongoTimeoutError,
- MongoServerSelectionError: require('./error').MongoServerSelectionError,
- MongoWriteConcernError: require('./error').MongoWriteConcernError,
- // Core
- Connection: require('./connection/connection'),
- Server: require('./topologies/server'),
- ReplSet: require('./topologies/replset'),
- Mongos: require('./topologies/mongos'),
- Logger: require('./connection/logger'),
- Cursor: require('./cursor').CoreCursor,
- ReadPreference: require('./topologies/read_preference'),
- Sessions: require('./sessions'),
- BSON: BSON,
- EJSON: EJSON,
- Topology: require('./sdam/topology').Topology,
- // Raw operations
- Query: require('./connection/commands').Query,
- // Auth mechanisms
- MongoCredentials: require('./auth/mongo_credentials').MongoCredentials,
- defaultAuthProviders: require('./auth/defaultAuthProviders').defaultAuthProviders,
- MongoCR: require('./auth/mongocr'),
- X509: require('./auth/x509'),
- Plain: require('./auth/plain'),
- GSSAPI: require('./auth/gssapi'),
- ScramSHA1: require('./auth/scram').ScramSHA1,
- ScramSHA256: require('./auth/scram').ScramSHA256,
- // Utilities
- parseConnectionString: require('./uri_parser')
- };
|