ts-linked-list

A doubly linked list written in TypeScript

Usage no npm install needed!

<script type="module">
  import tsLinkedList from 'https://cdn.skypack.dev/ts-linked-list';
</script>

README

ts-linked-list

Build Status Dev Dependencies

Test Coverage Maintainability Known Vulnerabilities

Yet another yet another doubly linked list, written in TypeScript. It supports iterators using a generator function with Symbol.iterator, fast index getter in O(n/2) time, reversible forEach, map, filter and reduce methods, insertBefore and insertAfter any node as well as generics for TypeScript users.

Installation

npm install ts-linked-list

Usage

import LinkedList from 'ts-linked-list';

// Create a list with however many arguments of whatever type you like
const list = new LinkedList(1, 'two', { n: 3 }, () => 4);

// TYPESCRIPT ONLY: ts-linked-list uses generics to type the list data
const typedList = new LinkedList<number>(1, 2, 3);
const wildList = new LinkedList<any>(1, 'two', () => 3, [4]);

// Create a list from any iterable alternatively
const listFromArray = LinkedList.from([1, 2, 3, 'whatever']);

// Do something with it
list.forEach(data => doSomethingUseful(data));

Documentation

https://tuelsch.github.io/ts-linked-list/.