Skip to content

Commit

Permalink
Add serialization to ArrayMap
Browse files Browse the repository at this point in the history
  • Loading branch information
vudaltsov committed Sep 2, 2024
1 parent 7b03676 commit a65bca7
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions src/DataStructure/Internal/ArrayMap.php
Original file line number Diff line number Diff line change
Expand Up @@ -236,4 +236,22 @@ public function getIterator(): \Generator
yield $kvPair->key => $kvPair->value;
}
}

/**
* @return list<KVPair<K, V>>
*/
public function __serialize(): array
{
return array_values($this->kvPairs);
}

/**
* @param list<KVPair<K, V>> $kvPairs
*/
public function __unserialize(array $kvPairs): void
{
foreach ($kvPairs as $kvPair) {
$this->kvPairs[UniqueHasher::hash($kvPair->key)] = $kvPair;
}
}
}

0 comments on commit a65bca7

Please sign in to comment.