Change Log
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[4.1.4] - 2022.09.07
Added
Changed
- Optimize hash container.
- Abstracting out the hash container.
Fixed
- Fixed tree get height function return one larger than the real height.
- Tree-shaking not work in ES module.
Queue and Deque should return undefined when container is empty.
[4.1.4-beta.0] - 2022.08.31
Added
- Add function update key by iterator.
- Add iterator copy function to get a copy of itself.
- Add insert by iterator hint function in tree container.
Changed
- Changed OrderedMap's iterator pointer get from
Object.defineProperty' to Proxy.
- Improve iterator performance by remove some judgment.
- Change iterator type description from
normal and reverse to boolean.
[4.1.2-beta.0] - 2022.08.27
Added
- Make
SequentialContainer and TreeBaseContainer export in the index.
Changed
- Change rbTree binary search from recursive to loop implementation (don't effect using).
- Reduce memory waste during deque initialization.
Fixed
- Fixed priority queue not dereference on pop.
[4.1.1] - 2022.08.23
Fixed
- Forgot to reset root node on rotation in red-black tree delete operation.
- Fix iterator invalidation after tree container removes iterator.
[4.1.0] - 2022.08.21
Changed
- Change some functions from recursive to loop implementation (don't effect using).
- Change some iterator function parameter type.
- Change commonjs target to
es6.
- Change
Deque from sequential queue to circular queue.
- Optimize so many places (don't affect using).
Fixed
[4.0.3] - 2022-08-13
Changed
- Change
if (this.empty()) to if (!this.length).
- Change some unit test.
- Change class type and optimized type design
Fixed
- Fix can push undefined to deque.
[4.0.0] - 2022-07-30
Changed
- Remove InternalError error as much as possible (don't affect using).
- Change
HashSet api eraseElementByValue's name to eraseElementByKey.
- Change some unit tests to improve coverage (don't affect using).
[4.0.0-beta.0] - 2022-07-24
Added
- Complete test examples (don't effect using).
- The error thrown is standardized, you can catch it according to the error type.
Changed
- Refactor all container from function to class (don't affect using).
- Abstracting tree containers and hash containers, change
Set's and Map's name to OrderedSet and OrderedMap to distinguish it from the official container.
- Change
OrderedSet api eraseElementByValue's name to eraseElementByKey.
Fixed
[3.0.0-beta.0] - 2022-04-29
Added
- Bidirectional iterator is provided for all containers except Stack, Queue, HashSet and HashMap.
- Added begin, end, rBegin and rEnd functions to some containers for using iterator.
- Added
eraseElementByIterator function.
Changed
- Changed Pair type
T, K to K, V (don't affect using).
- Changed
find, lowerBound, upperBound, reverseLowerBound and reverseUpperBound function's returned value to Iterator.
Fixed
- Fixed an error when the insert value was 0.
- Fixed the problem that the lower version browser does not recognize symbol Compilation error caused by iterator.