HelloResult constructor

HelloResult(
  1. Map<String, dynamic> document
)

Implementation

HelloResult(Map<String, dynamic> document)
    : isWritablePrimary = document[keyIsWritablePrimary] as bool? ?? false,
      maxBsonObjectSize =
          document[keyMaxBsonObjectSize] as int? ?? 16 * 1024 * 1024,
      maxMessageSizeBytes =
          document[keyMaxMessageSizeBytes] as int? ?? 48000000,
      maxWriteBatchSize = document[keyMaxWriteBatchSize] as int? ?? 100000,
      localTime = document[keyLocalTime] as DateTime,
      logicalSessionTimeoutMinutes =
          document[keyLogicalSessionTimeoutMinutes] as int,
      minWireVersion = document[keyMinWireVersion] as int,
      maxWireVersion = document[keyMaxWireVersion] as int,
      readOnly = document[keyReadOnly] as bool? ?? false {
  extractBasic(document);

  topologyVersion = document[keyTopologyVersion];
  connectionId = document[keyConnectionId] as int?;
  compression = document[keyCompression] as List<String>?;
  saslSupportedMechs = document.containsKey(keySaslSupportedMechs)
      ? <String>[...?(document[keySaslSupportedMechs] as List?)]
      : null;

  // Sharded
  msg = document[keyMsg] as String?;

  // Replica set
  hosts = document.containsKey(keyHosts)
      ? <String>[...?(document[keyHosts] as List?)]
      : null;
  setName = document[keySetName] as String?;
  setVersion = document[keySetVersion] as int?;
  secondary = document[keySecondary] as bool?;
  passives = document.containsKey(keyPassives)
      ? <String>[...?(document[keyPassives] as List?)]
      : null;
  arbiters = document.containsKey(keyArbiters)
      ? <String>[...?(document[keyArbiters] as List?)]
      : null;
  primary = document[keyPrimary] as String?;
  arbiterOnly = document[keyArbiterOnly] as bool?;
  passive = document[keyPassive] as bool?;
  hidden = document[keyHidden] as bool?;
  tags = document.containsKey(keyTags)
      ? <String, String>{...?(document[keyTags] as Map?)}
      : null;
  me = document[keyMe] as String?;
  electionId = document[keyElectionId] as ObjectId?;
  lastWrite = document[keyLastWrite] as Map?;
}