teds 0.12.0

Provides extra data structures and iterable/array functionality.

teds (Tentative Extra Data Structures) is a collection of data structures and iterable functionality

License: BSD-3-Clause


* Breaking changes.
* Fix serialization/unserialization in StableMinHeap/StableMaxHeap.
* Add interfaces for `Teds\Values` (e.g. Heap/Set), Teds\Collection(e.g. StrictMap, StableSortedMap), ListInterface(Vector, Deque, etc.) (the keyword list is reserved)
* Implement ->values() in classes implementing `Teds\Values`.
* Make offsetExists consistently return false when the value of the given key is null across all data structures.
* Add Teds\Collection->containsKey to return true if a key exists without coercing types, and returning true regardless of whether the corresponding key is null.
* Change signature of IntVector::set() and ::push() to match ListInterface
* Add Collection::toArray() (behaves like iterator_to_array).
* Check for exceeding 64-bit capacity limits in more collections to avoid hitting gc size limits
and to avoid unpredictable behavior (e.g. it'd be surprising to have this throw/fatal error only if var_export/var_dump/json_encode was called and PHP's array size limits(2147483648 elements, or at least 32GB) were hit).