public function getMap(string $query, array $criteria = []): array {
		try {
			
			// this one is odd.  the way a map works in Dash's prior apps
			// is to key an array off of the first selected column and the
			// values for those keys are the second and subsequently selected
			// columns.  but, if there's only a single additional selected
			// column, then our map should be a one-dimensional array of pairs.
			// since we're going to have to loop over the information that we
			// select from the database anyway, we'll use the generator
			// syntax here to our loops down to one.
			
			$map = [];
			foreach ($this->dbConn->yieldAll($query, $criteria) as $result) {
				$key = array_shift($result);
				$value = sizeof($result) === 1 ? array_shift($result) : $result;
				$map[$key] = $value;
			}
			
			return $map;
		} catch (\PDOException $pdoException) {
			throw $this->prepareDatabaseException($pdoException, $query, $criteria);
		}
	}