| 679 | __slots__ = ("_key", "_dask", "_length", "_layer") |
| 680 | |
| 681 | def __init__(self, key, dsk, length=None, layer=None): |
| 682 | self._key = key |
| 683 | self._dask = dsk |
| 684 | self._length = length |
| 685 | |
| 686 | # NOTE: Layer is used by `to_delayed` in other collections, but not in normal Delayed use |
| 687 | self._layer = layer or key |
| 688 | if isinstance(dsk, HighLevelGraph) and self._layer not in dsk.layers: |
| 689 | raise ValueError( |
| 690 | f"Layer {self._layer} not in the HighLevelGraph's layers: {list(dsk.layers)}" |
| 691 | ) |
| 692 | |
| 693 | @property |
| 694 | def key(self): |