0.5.1 • Published 3 years ago

looped-list v0.5.1

Weekly downloads
13
License
MIT
Repository
github
Last release
3 years ago

Looped List

Simple doubly linked list implementation. Uses a custom class LoopedListItem under the hood for the next and prev pointers.

Example Usage

import { LoopedList } from 'looped-list';

let list = new LoopedList(1);

console.log(list.head.value); // 1

list.insertNext(2);
console.log(list.head.value); // 2

list.insertNext(3);
console.log(list.head.value); // 3

list.move(1);
console.log(list.head.value); // 1

list.move(2);
console.log(list.head.value); // 3

list.move(1);
console.log(list.head.value); // 1

API

These are autogenerated from JSDoc comments in the source code.

Classes

LoopedListItem

Kind: global class

new LoopedListItem(value, is_first)

ParamTypeDefault
valueAny
is_firstBooleanfalse

loopedListItem.next(n) ⇒ LoopedListItem

Kind: instance method of LoopedListItem

ParamTypeDefault
nNumber1

loopedListItem.prev(n) ⇒ LoopedListItem

Kind: instance method of LoopedListItem

ParamTypeDefault
nNumber1

loopedListItem.insertNext(item) ⇒ LoopedListItem

Kind: instance method of LoopedListItem
Returns: LoopedListItem - Returns the item we just inserted

ParamType
itemLoopedListItem

loopedListItem.insertPrev(item) ⇒ LoopedListItem

Kind: instance method of LoopedListItem
Returns: LoopedListItem - Returns the item we just inserted

ParamType
itemLoopedListItem

loopedListItem.removeSelf() ⇒ LoopedListItem

Kind: instance method of LoopedListItem

LoopedList

Kind: global class

new LoopedList(value)

ParamType
valueAny

loopedList.setHead(value) ⇒ LoopedList

Kind: instance method of LoopedList
Chainable
Returns: LoopedList - Returns this

ParamTypeDescription
valueAnyIf the value is not a LoopedListItem, it'll be converted into one, unless undefined is passed, which essentially "unsets" the head.

loopedList.unsetHead() ⇒ LoopedList

Sets the head to undefined, effectively removing all list items.

Kind: instance method of LoopedList
Chainable
Returns: LoopedList - Returns this

loopedList.init()

Deprecated

Kind: instance method of LoopedList

loopedList.move(steps) ⇒ LoopedList

Moves the head pointer forward or backward by a number of steps.

Kind: instance method of LoopedList
Chainable
Returns: LoopedList - Returns this

ParamTypeDefaultDescription
stepsNumber1Any number. If a negative number is passed, the head pointer moves backwards.

loopedList.insertNext(item) ⇒ LoopedList

Kind: instance method of LoopedList
Chainable
Returns: LoopedList - Returns this

ParamType
itemAny | LoopedListItem

loopedList.insertPrev(item) ⇒ LoopedList

Kind: instance method of LoopedList
Chainable
Returns: LoopedList - Returns this

ParamType
itemAny | LoopedListItem

loopedList.popHeadMoveNext() ⇒ LoopedListItem

Kind: instance method of LoopedList
Returns: LoopedListItem - Returns the old head

loopedList.popHeadMovePrev() ⇒ LoopedListItem

Kind: instance method of LoopedList
Returns: LoopedListItem - Returns the old head

loopedList.length() ⇒ Number

Kind: instance method of LoopedList
Returns: Number - Returns the number of items in our LoopedList.

loopedList.find(value) ⇒ LoopedListItem | undefined

Searches for the item and returns that item if it is found. Returns undefined if the value is not found.

Kind: instance method of LoopedList

ParamTypeDescription
valueAny | LoopedListItemYou can pass in a primative value or a LoopedListItem.

loopedList.@@iteratorAny

An iterator for the LoopedListItem objects.

Kind: instance method of LoopedList
Returns: Any - Yields the LoopedListItem objects in our list, starting with this.head.

loopedList.items() ⇒ Any

An iterator for the LoopedListItem objects.

Kind: instance method of LoopedList
Returns: Any - Yields the LoopedListItem objects in our list, starting with this.head.

loopedList.values() ⇒ Any

An iterator for values of the LoopedListItem objects.

Kind: instance method of LoopedList
Returns: Any - Yields the values of the LoopedListItem objects in our list, starting with this.head.
Example

assert.deepStrictEqual([...(new LoopedList([1, 2, 3])).values()], [1, 2, 3]);
0.5.1

3 years ago

0.5.0

3 years ago

0.3.0

3 years ago

0.2.0

3 years ago

0.4.0

3 years ago

0.1.4

4 years ago

0.1.3

4 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago