@tsdotnet/linked-node-list

An unprotected bi-directional linked list. Useful for implementing other collections.

Usage no npm install needed!

<script type="module">
  import tsdotnetLinkedNodeList from 'https://cdn.skypack.dev/@tsdotnet/linked-node-list';
</script>

README

alt text" title="tsdotnet"> tsdotnet / linked-node-list

GitHub license 100% code coverage npm-publish npm version

An unprotected bi-directional linked list. Useful for implementing other collections or for managing custom nodes (links).

If you are looking for a protected and value focused linked list: github.com/tsdotnet/linked-list

Docs

tsdotnet.github.io/linked-node-list

This class is useful for managing a list of linked nodes, but it does not protect against modifying individual links. If the consumer modifies a link (sets the previous or next value) it will effectively break the collection.

It is possible to declare a node type of any kind as long as it contains a previous and next value that can reference another node. Although not as safe as a protected linked list, this class has less overhead and is more flexible.

The count (or length) of this LinkedNodeList is tracked as .unsafeCount and calling .getCount() will iterate the list.

A perfect example of the use of LinkedNodeList is with LinkedList as it uses it for its internal collection.