Skip to content

Commit 1b7966f

Browse files
committed
add dtype to ScalarWrapper
1 parent f6b48ba commit 1b7966f

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

src/zarr/core/array.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1244,7 +1244,7 @@ async def _get_selection(
12441244
out_buffer,
12451245
drop_axes=indexer.drop_axes,
12461246
)
1247-
if indexer.shape == ():
1247+
if isinstance(indexer, BasicIndexer) and indexer.shape == ():
12481248
return out_buffer.as_scalar()
12491249
return out_buffer.as_ndarray_like()
12501250

src/zarr/core/buffer/core.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,12 +106,13 @@ def __eq__(self, other: object) -> Self: # type: ignore[explicit-override, over
106106

107107

108108
class ScalarWrapper:
109-
def __init__(self, value: Any) -> None:
109+
def __init__(self, value: Any, dtype: npt.DTypeLike | None = None) -> None:
110110
self._value: Any = value
111+
self._dtype: npt.DTypeLike = dtype or np.dtype(type(self._value))
111112

112113
@property
113114
def dtype(self) -> np.dtype[Any]:
114-
return np.dtype(type(self._value))
115+
return self._dtype
115116

116117
@property
117118
def ndim(self) -> int:

0 commit comments

Comments
 (0)