Source code for docarray.array.storage.base.helper
from typing import Iterator, Dict
[docs]class Offset2ID:
def __init__(self, ids=None):
self.ids = ids or []
[docs] def delete_by_ids(self, ids):
ids = set(ids)
self.ids = list(filter(lambda _id: _id not in ids, self.ids))
[docs] def update_ids(self, _ids_map: Dict[str, str]):
for i in range(len(self.ids)):
if self.ids[i] in _ids_map:
self.ids[i] = _ids_map[self.ids[i]]
def __iter__(self) -> Iterator['str']:
yield from self.ids
def __eq__(self, other):
return self.ids == other.ids
def __len__(self):
return len(self.ids)