You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
5.8 KiB
5.8 KiB
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.3.0] - 2023.01.20
Added
- Add public member
container
toIterator
which means the container that the iterator pointed to.
Changed
- Reimplement
Queue
, separateQueue
fromDeque
.
[4.2.0] - 2022.11.20
Changed
- Optimized the structure of class
TreeNodeEnableIndex
. - Change the
iterator access denied
error message to reduce the packing size. - Change the internal storage of the hash container to the form of a linked list, traversing in insertion order.
- Standardize hash container. Make it extends from
Container
and add general functions. - Refactor
LinkList
to do optimization.
Added
- Add public
length
property to all the container. - Add returned value to
pop
function includingpopBack
andpopFront
to all the container which has such function. - Add returned value to
eraseElementByKey
which means whether erase successfully. - Add returned value to
push
orinsert
function which means the size of the container.
Fixed
- Fixed wrong error type when
updateKeyByIterator
. - Fixed wrong iterator was returned when erase tree reverse iterator.
[4.2.0-beta.1] - 2022.11.06
Changed
- Remove all the arrow function to optimize.
- Modify
HashContainer
implementation to optimize.
[4.2.0-beta.0] - 2022.10.30
Added
- Add
ts
sourcemap for debug mode. - Add
this
param forforEach
function. - Support single package umd build.
Changed
- Changed the packaging method of isolation packages release and the method of the member export.
[4.1.5] - 2022.09.30
Added
- Add
find
,remove
,updateItem
andtoArray
functions toPriorityQueue
. - Support single package release (use scope @js-sdsl).
[4.1.5-beta.1] - 2022.09.23
Fixed
- Get wrong tree index when size is 0.
[4.1.5-beta.0] - 2022.09.23
Added
- Add
index
property to tree iterator which represents the sequential index of the iterator in the tree.
Changed
- Minimal optimization with private properties mangling, macro inlining and const enum.
- Private properties are now mangled.
- Remove
checkWithinAccessParams
function. - Constants of
HashContainer
are moved toHashContainerConst
const enum. - The iteratorType parameter in the constructor now changed from
boolean
type toIteratorType
const enum type. - The type of
TreeNode.color
is now changed fromboolean
toTreeNodeColor
const enum. - Turn some member exports into export-only types.
Fixed
- Fixed wrong iterator error message.
[4.1.4] - 2022.09.07
Added
- Add some notes.
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
andDeque
should returnundefined
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'
toProxy
. - Improve iterator performance by remove some judgment.
- Change iterator type description from
normal
andreverse
to boolean.
[4.1.2-beta.0] - 2022.08.27
Added
- Make
SequentialContainer
andTreeBaseContainer
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
- Fix
Vector
length bugs.
[4.0.3] - 2022-08-13
Changed
- Change
if (this.empty())
toif (!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
apieraseElementByValue
's name toeraseElementByKey
. - 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 andMap
's name toOrderedSet
andOrderedMap
to distinguish it from the official container. - Change
OrderedSet
apieraseElementByValue
's name toeraseElementByKey
.
Fixed
- Fixed so many bugs.
[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
toK, V
(don't affect using). - Changed
find
,lowerBound
,upperBound
,reverseLowerBound
andreverseUpperBound
function's returned value toIterator
.
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.