| 376 | return False |
| 377 | |
| 378 | def _get_index_joiner(self, index_cls) -> Callable: |
| 379 | if self.join in ["outer", "inner"]: |
| 380 | return functools.partial( |
| 381 | functools.reduce, |
| 382 | functools.partial(index_cls.join, how=self.join), |
| 383 | ) |
| 384 | elif self.join == "left": |
| 385 | return operator.itemgetter(0) |
| 386 | elif self.join == "right": |
| 387 | return operator.itemgetter(-1) |
| 388 | elif self.join == "override": |
| 389 | # We rewrite all indexes and then use join='left' |
| 390 | return operator.itemgetter(0) |
| 391 | else: |
| 392 | # join='exact' return dummy lambda (error is raised) |
| 393 | return lambda _: None |
| 394 | |
| 395 | def align_indexes(self) -> None: |
| 396 | """Compute all aligned indexes and their corresponding coordinate variables.""" |