Socket
Socket
Sign inDemoInstall

looped-list

Package Overview
Dependencies
0
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    looped-list

Doubly Linked List implementation


Version published
Maintainers
1
Install size
56.7 kB
Created

Readme

Source

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
LoopedList

LoopedListItem

Kind: global class

new LoopedListItem(value, [is_first])

ParamTypeDefault
valueAny
[is_first]Booleanfalse

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]);

FAQs

Last updated on 01 Sep 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc