Spaces:
Paused
Paused
| ; | |
| Object.defineProperty(exports, "__esModule", { value: true }); | |
| exports.aws4 = void 0; | |
| exports.getKerberos = getKerberos; | |
| exports.getZstdLibrary = getZstdLibrary; | |
| exports.getAwsCredentialProvider = getAwsCredentialProvider; | |
| exports.getGcpMetadata = getGcpMetadata; | |
| exports.getSnappy = getSnappy; | |
| exports.getSocks = getSocks; | |
| exports.getMongoDBClientEncryption = getMongoDBClientEncryption; | |
| const error_1 = require("./error"); | |
| function makeErrorModule(error) { | |
| const props = error ? { kModuleError: error } : {}; | |
| return new Proxy(props, { | |
| get: (_, key) => { | |
| if (key === 'kModuleError') { | |
| return error; | |
| } | |
| throw error; | |
| }, | |
| set: () => { | |
| throw error; | |
| } | |
| }); | |
| } | |
| function getKerberos() { | |
| let kerberos; | |
| try { | |
| // Ensure you always wrap an optional require in the try block NODE-3199 | |
| // eslint-disable-next-line @typescript-eslint/no-require-imports | |
| kerberos = require('kerberos'); | |
| } | |
| catch (error) { | |
| kerberos = makeErrorModule(new error_1.MongoMissingDependencyError('Optional module `kerberos` not found. Please install it to enable kerberos authentication', { cause: error, dependencyName: 'kerberos' })); | |
| } | |
| return kerberos; | |
| } | |
| function getZstdLibrary() { | |
| let ZStandard; | |
| try { | |
| // eslint-disable-next-line @typescript-eslint/no-require-imports | |
| ZStandard = require('@mongodb-js/zstd'); | |
| } | |
| catch (error) { | |
| ZStandard = makeErrorModule(new error_1.MongoMissingDependencyError('Optional module `@mongodb-js/zstd` not found. Please install it to enable zstd compression', { cause: error, dependencyName: 'zstd' })); | |
| } | |
| return ZStandard; | |
| } | |
| function getAwsCredentialProvider() { | |
| try { | |
| // Ensure you always wrap an optional require in the try block NODE-3199 | |
| // eslint-disable-next-line @typescript-eslint/no-require-imports | |
| const credentialProvider = require('@aws-sdk/credential-providers'); | |
| return credentialProvider; | |
| } | |
| catch (error) { | |
| return makeErrorModule(new error_1.MongoMissingDependencyError('Optional module `@aws-sdk/credential-providers` not found.' + | |
| ' Please install it to enable getting aws credentials via the official sdk.', { cause: error, dependencyName: '@aws-sdk/credential-providers' })); | |
| } | |
| } | |
| function getGcpMetadata() { | |
| try { | |
| // Ensure you always wrap an optional require in the try block NODE-3199 | |
| // eslint-disable-next-line @typescript-eslint/no-require-imports | |
| const credentialProvider = require('gcp-metadata'); | |
| return credentialProvider; | |
| } | |
| catch (error) { | |
| return makeErrorModule(new error_1.MongoMissingDependencyError('Optional module `gcp-metadata` not found.' + | |
| ' Please install it to enable getting gcp credentials via the official sdk.', { cause: error, dependencyName: 'gcp-metadata' })); | |
| } | |
| } | |
| function getSnappy() { | |
| try { | |
| // Ensure you always wrap an optional require in the try block NODE-3199 | |
| // eslint-disable-next-line @typescript-eslint/no-require-imports | |
| const value = require('snappy'); | |
| return value; | |
| } | |
| catch (error) { | |
| const kModuleError = new error_1.MongoMissingDependencyError('Optional module `snappy` not found. Please install it to enable snappy compression', { cause: error, dependencyName: 'snappy' }); | |
| return { kModuleError }; | |
| } | |
| } | |
| function getSocks() { | |
| try { | |
| // Ensure you always wrap an optional require in the try block NODE-3199 | |
| // eslint-disable-next-line @typescript-eslint/no-require-imports | |
| const value = require('socks'); | |
| return value; | |
| } | |
| catch (error) { | |
| const kModuleError = new error_1.MongoMissingDependencyError('Optional module `socks` not found. Please install it to connections over a SOCKS5 proxy', { cause: error, dependencyName: 'socks' }); | |
| return { kModuleError }; | |
| } | |
| } | |
| exports.aws4 = loadAws4(); | |
| function loadAws4() { | |
| let aws4; | |
| try { | |
| // eslint-disable-next-line @typescript-eslint/no-require-imports | |
| aws4 = require('aws4'); | |
| } | |
| catch (error) { | |
| aws4 = makeErrorModule(new error_1.MongoMissingDependencyError('Optional module `aws4` not found. Please install it to enable AWS authentication', { cause: error, dependencyName: 'aws4' })); | |
| } | |
| return aws4; | |
| } | |
| /** A utility function to get the instance of mongodb-client-encryption, if it exists. */ | |
| function getMongoDBClientEncryption() { | |
| let mongodbClientEncryption = null; | |
| try { | |
| // NOTE(NODE-3199): Ensure you always wrap an optional require literally in the try block | |
| // Cannot be moved to helper utility function, bundlers search and replace the actual require call | |
| // in a way that makes this line throw at bundle time, not runtime, catching here will make bundling succeed | |
| // eslint-disable-next-line @typescript-eslint/no-require-imports | |
| mongodbClientEncryption = require('mongodb-client-encryption'); | |
| } | |
| catch (error) { | |
| const kModuleError = new error_1.MongoMissingDependencyError('Optional module `mongodb-client-encryption` not found. Please install it to use auto encryption or ClientEncryption.', { cause: error, dependencyName: 'mongodb-client-encryption' }); | |
| return { kModuleError }; | |
| } | |
| return mongodbClientEncryption; | |
| } | |
| //# sourceMappingURL=deps.js.map |