(self, new_key: ExplicitIndexer)
| 739 | self._shape = shape |
| 740 | |
| 741 | def _updated_key(self, new_key: ExplicitIndexer) -> BasicIndexer | OuterIndexer: |
| 742 | iter_new_key = iter(expanded_indexer(new_key.tuple, self.ndim)) |
| 743 | |
| 744 | full_key: list[OuterIndexerType] = [] |
| 745 | for size, k in zip(self.array.shape, self.key.tuple, strict=True): |
| 746 | if isinstance(k, integer_types): |
| 747 | full_key.append(k) |
| 748 | else: |
| 749 | full_key.append(_index_indexer_1d(k, next(iter_new_key), size)) |
| 750 | full_key_tuple = tuple(full_key) |
| 751 | |
| 752 | if all(isinstance(k, integer_types + (slice,)) for k in full_key_tuple): |
| 753 | return BasicIndexer(cast(tuple[BasicIndexerType, ...], full_key_tuple)) |
| 754 | return OuterIndexer(full_key_tuple) |
| 755 | |
| 756 | @property |
| 757 | def shape(self) -> _Shape: |
no test coverage detected