# linkedlee

> JavaScript library implementation of a Linked List with extra power

Latest version **1.4.6** (published 2018-03-04) · ISC license · 0 weekly downloads

## Install

```sh
npm install linkedlee
pnpm add linkedlee
yarn add linkedlee
bun add linkedlee
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.4.6 |
| Published | 2018-03-04 |
| First published | 2018-02-08 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 13.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Kfir Marouani |
| Maintainers | kfir.marouani |
| Keywords | linked, list, linked list, collection |

## Links

- npm: https://www.npmjs.com/package/linkedlee
- Repository: https://github.com/kfirm/linkedlee
- Issues: https://github.com/kfirm/linkedlee/issues
- npm.io page: https://npm.io/package/linkedlee

## Recent versions

- 1.4.6 (latest) — 2018-03-04
- 1.4.5 — 2018-02-14
- 1.4.4 — 2018-02-14
- 1.4.3 — 2018-02-14
- 1.4.2 — 2018-02-14
- 1.4.1 — 2018-02-14
- 1.4.0 — 2018-02-13
- 1.3.1 — 2018-02-11
- 1.1.4 — 2018-02-11
- 1.0.3 — 2018-02-08
- 1.0.2 — 2018-02-08
- 1.0.1 — 2018-02-08
- 1.0.0 — 2018-02-08

## README

# linkedlee

JavaScript implementation of a Linked List with extra power

# Usage

Linkedlee provides an implementation of a linked list which can be used both in NodeJS applications and on your web application.

# Installation 

Using CDN:

```
<script src="https://unpkg.com/linkedlee/dist/linkedlee.min.js"></script>
```

Using NPM:

```
npm install linkedlee --save
```   

# API

**linkedList.push(item)** - add an item.  
**linkedList.pushTop(item)** - add an item to the top of the linked list (as the first item)    
**linkedList.pushAt(index,item)** - replace the content of a a node by node index.     
**linkedList.get(index)** - returns the node in the given index.  
**linkedList.remove(index)** - removes the node in the given index.    
**linkedList.size()** - return the linked list size.   
**linkedList.down(index)** - moved the node in the given index down the linked list chain by one.    
**linkedList.up(index)** - moved the node in the given index up the linked list chain by one.                              
**linkedList.loop()** - makes the linked list as a circular linked list - which means that the next() of the last 
                        node points to the first node and vice versa                                                     
**linkedList.unloop()** - removes the circularity of the list. the opposite of the "loop()" function                                  
**linkedList.reverse()** - reverse the linked list                                  
**linkedList.clear()** - remove all nodes
                                  

# Node (Each element in the list) API

**node.next()** - get next node  
**node.prev()** - get previous node  
**node.value()** - get node's value/data  
**node.remove()** - removed the node from the list  
 
# Examples

Simple example:
```
var LinkedList = require('linkedlee');

linkedList = new LinkedList(*maxSize*); // maxSize is optinal, if not given there is no limit 

linkedList.push('a');
linkedList.push('b');
linkedList.push('c');

var node = linkedList.get(0); 
do {
    console.log(node.value());
    node = node.next();
} while (node)
// will output: a c b

```

---
_Source: https://npm.io/package/linkedlee · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
