| 12345678910111213141516171819202122232425262728293031 |
- 'use strict';
- const getConstructorName = require('../getConstructorName');
- /**
- * @typedef { import('mongodb').TopologyDescription } TopologyDescription
- */
- /**
- * Checks if topologyDescription contains servers connected to an atlas instance
- *
- * @param {TopologyDescription} topologyDescription
- * @returns {boolean}
- */
- module.exports = function isAtlas(topologyDescription) {
- if (getConstructorName(topologyDescription) !== 'TopologyDescription') {
- return false;
- }
- if (topologyDescription.servers.size === 0) {
- return false;
- }
- for (const server of topologyDescription.servers.values()) {
- if (server.host.endsWith('.mongodb.net') === false || server.port !== 27017) {
- return false;
- }
- }
- return true;
- };
|