Files
4382_Final/backend/node_modules/mongodb/lib/runtime_adapters.js
2026-05-05 16:07:48 -05:00

32 lines
1.2 KiB
JavaScript

"use strict";
/* eslint-disable no-restricted-imports*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ALLOWED_DRIVER_REQUIRE_PROPERTY_NAME = void 0;
exports.resolveRuntimeAdapters = resolveRuntimeAdapters;
/**
* @internal
*
* This propery can be set on the global object to allow the driver to require otherwise blocked modules.
* This is used by our test suite to allow tests to access the `os` module without allowing user code to do so.
*/
exports.ALLOWED_DRIVER_REQUIRE_PROPERTY_NAME = 'allowedDriverRequire';
/**
* @internal
*
* Given a MongoClientOptions, this function resolves the set of runtime options, providing Nodejs implementations if
* not provided by in `options`, and returns a `Runtime`.
*/
function resolveRuntimeAdapters(options) {
globalThis[exports.ALLOWED_DRIVER_REQUIRE_PROPERTY_NAME] = true;
try {
const runtime = {
// eslint-disable-next-line @typescript-eslint/no-require-imports
os: options.runtimeAdapters?.os ?? require('os')
};
return runtime;
}
finally {
globalThis[exports.ALLOWED_DRIVER_REQUIRE_PROPERTY_NAME] = false;
}
}
//# sourceMappingURL=runtime_adapters.js.map