1616 ArrayBytesCodecPartialEncodeMixin ,
1717 Codec ,
1818 CodecPipeline ,
19+ SupportsSyncCodec ,
1920)
2021from zarr .abc .store import (
2122 ByteGetter ,
@@ -968,15 +969,15 @@ def _decode_shard_index_sync(
968969 spec = bb .resolve_metadata (spec )
969970
970971 # Decode: reverse bb, then ab, then reverse aa
971- chunk_bytes : Buffer = index_bytes
972+ bb_out : Any = index_bytes
972973 for bb_codec , s in reversed (bb_with_spec ):
973- chunk_bytes = bb_codec ._decode_sync (chunk_bytes , s )
974- chunk_array : NDBuffer = ab_codec ._decode_sync (chunk_bytes , ab_spec )
974+ bb_out = cast ( "SupportsSyncCodec" , bb_codec ) ._decode_sync (bb_out , s )
975+ ab_out : Any = cast ( "SupportsSyncCodec" , ab_codec ) ._decode_sync (bb_out , ab_spec )
975976 for aa_codec , s in reversed (aa_with_spec ):
976- chunk_array = aa_codec ._decode_sync (chunk_array , s )
977+ ab_out = cast ( "SupportsSyncCodec" , aa_codec ) ._decode_sync (ab_out , s )
977978
978- assert chunk_array is not None
979- return _ShardIndex (chunk_array .as_numpy_array ())
979+ assert ab_out is not None
980+ return _ShardIndex (ab_out .as_numpy_array ())
980981
981982 def _encode_shard_index_sync (self , index : _ShardIndex ) -> Buffer :
982983 """Encode shard index synchronously by running index codecs inline."""
@@ -986,25 +987,25 @@ def _encode_shard_index_sync(self, index: _ShardIndex) -> Buffer:
986987
987988 aa_codecs , ab_codec , bb_codecs = codecs_from_list (list (self .index_codecs ))
988989
989- aa_out : NDBuffer | None = get_ndbuffer_class ().from_numpy_array (index .offsets_and_lengths )
990+ aa_out : Any = get_ndbuffer_class ().from_numpy_array (index .offsets_and_lengths )
990991
991992 # Encode: aa forward, then ab, then bb forward
992993 spec = index_chunk_spec
993994 for aa_codec in aa_codecs :
994995 assert aa_out is not None
995- aa_out = aa_codec ._encode_sync (aa_out , spec )
996+ aa_out = cast ( "SupportsSyncCodec" , aa_codec ) ._encode_sync (aa_out , spec )
996997 spec = aa_codec .resolve_metadata (spec )
997998 assert aa_out is not None
998- chunk_bytes = ab_codec ._encode_sync (aa_out , spec )
999+ bb_out : Any = cast ( "SupportsSyncCodec" , ab_codec ) ._encode_sync (aa_out , spec )
9991000 spec = ab_codec .resolve_metadata (spec )
10001001 for bb_codec in bb_codecs :
1001- assert chunk_bytes is not None
1002- chunk_bytes = bb_codec ._encode_sync (chunk_bytes , spec )
1002+ assert bb_out is not None
1003+ bb_out = cast ( "SupportsSyncCodec" , bb_codec ) ._encode_sync (bb_out , spec )
10031004 spec = bb_codec .resolve_metadata (spec )
10041005
1005- assert chunk_bytes is not None
1006- assert isinstance (chunk_bytes , Buffer )
1007- return chunk_bytes
1006+ assert bb_out is not None
1007+ assert isinstance (bb_out , Buffer )
1008+ return bb_out
10081009
10091010 async def _decode_shard_index (
10101011 self , index_bytes : Buffer , chunks_per_shard : tuple [int , ...]
0 commit comments