Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
connective-tissue
Advanced tools
[![Build Status](https://travis-ci.com/MatthewZito/connective-tissue.svg?branch=master)](https://travis-ci.com/MatthewZito/connective-tissue) [![npm version](https://badge.fury.io/js/connective-tissue.svg)](https://badge.fury.io/js/connective-tissue) [![L
connective-tissue
is a collection of linked list and ring data structures implemented in and for JavaScript. The structures in this library follow the specifications of their classical counterparts; they are well-tested and optimal implementations of:
*work in progress
npm install connective-tissue
OR
yarn add connective-tissue
connective-tissue
currently supports UMD, CommonJS (node versions >= 10), and ESM build-targets
Implements a bi-directional node
Node
implements as a member a pointer to the list to which it belongs
Param | Type |
---|---|
value | any |
Implements a uni-directional (forward) node
ForwardNode
implements as a member a pointer to the list to which it belongs
Param | Type |
---|---|
value | any |
Implements a ring data structure for terminating a bi-directional list
number
Node
| null
Node
| null
Node
| null
Node
| null
Node
Node
Node
Node
Node
Node
Node
Node
Node
Node
Node
Node
Node
Implements a circular doubly linked list as a ring, such that the sentinel node is both the next node of the tail, and the previous node of the head
The sentinel terminator node
Properties
Type |
---|
Sentinel |
The list length, sans the sentinel terminator
Properties
Type |
---|
number |
number
The current size of the list, sans the sentinel node
Node
| null
Returns the next list node, if extant; else, null
Param | Type |
---|---|
node | Node |
Node
| null
Returns the previous list node, if extant; else, null
Param | Type |
---|---|
node | Node |
Node
| null
Returns the head node of the list or null if the list is empty
Node
| null
Returns the tail node of the list or null if the list is empty
Node
Insert a new node after a given node
at
Param | Type |
---|---|
node | Node |
at | Node |
Node
Remove a given node from the list
Returns: Node
- The removed node
Param | Type |
---|---|
node | Node |
Node
Remove the last node from the list
Returns: Node
- The removed node
Param | Type |
---|---|
node | Node |
Node
Move given node to
at
Param | Type |
---|---|
node | Node |
at | Node |
Node
Push a new node with value
value
to the front of the list
Param | Type |
---|---|
value | any |
Node
Push a new node with value
value
to the back of the list
Param | Type |
---|---|
value | any |
Node
Insert a new node with value
value
immediately beforemark
If
mark
is not an element of the list, the list is not modified
mark
must not be null
Param | Type |
---|---|
value | any |
mark | Node |
Node
Insert a new node with value
value
immediately aftermark
If
mark
is not an element of the list, the list is not modified
mark
must not be null
Param | Type |
---|---|
value | any |
mark | Node |
Node
Move a node to the front of the list
If the given node is not an element of the list, the list is not modified
The given node must not be null
Param | Type |
---|---|
node | Node |
Node
Move a node to the back of the list
If the given node is not an element of the list, the list is not modified
The given node must not be null
Param | Type |
---|---|
node | Node |
Node
Move a given node to its new position before
mark
If either the given node or mark are not an element of the list, or node == mark, the list is not modified
Both the node and mark must not be null
Param | Type |
---|---|
node | Node |
mark | Node |
Node
Move a given node to its new position after
mark
If either the given node or mark are not an element of the list, or node == mark, the list is not modified
Both the node and mark must not be null
Param | Type |
---|---|
node | Node |
mark | Node |
Node
Convenience for inserting a given value into a new node after a given node
at
Param | Type |
---|---|
value | any |
at | Node |
Insert a copy of another list at the back of the caller list
The lists may be the same, but must not be null
Param | Type |
---|---|
other | CircularDoublyLinkedList |
Insert a copy of another list at the front of the caller list
The lists may be the same, but must not be null
Param | Type |
---|---|
other | CircularDoublyLinkedList |
CircularDoublyLinkedList
Instantiate an empty circular doubly linked list
number
Node
| null
Node
| null
Node
| null
Node
| null
ForwardNode
ForwardNode
ForwardNode
ForwardNode
ForwardNode
| null
ForwardNode
| null
Implements a circular singular (linear) linked list
The head node; implemented internally as a ring
Properties
Type |
---|
ForwardNode |
The current size of the list
Properties
Type |
---|
number |
number
The current size of the list
Node
| null
Returns the next list node, if extant; else, null
Param | Type |
---|---|
node | ForwardNode |
Node
| null
Returns the previous list node, if extant; else, null
Param | Type |
---|---|
node | ForwardNode |
Node
| null
Remove a given node from the list
Returns: Node
| null
- The removed node
Param | Type |
---|---|
node | ForwardNode |
Node
| null
Remove the last node from the list
Returns: Node
| null
- The removed node
Param | Type |
---|---|
node | ForwardNode |
ForwardNode
Move a given node to its new position after
mark
If either the given node or mark are not an element of the list; node == mark; or mark.next == node, the list is not modified
Both the node and mark must not be null
Param | Type |
---|---|
node | ForwardNode |
mark | ForwardNode |
ForwardNode
Move a given node to its new position before
mark
If either the given node or mark are not an element of the list; node == mark; or node.next == mark, the list is not modified
Both the node and mark must not be null
Param | Type |
---|---|
node | ForwardNode |
mark | ForwardNode |
ForwardNode
Push a new node with value
value
to the front of the list
Param | Type |
---|---|
value | any |
ForwardNode
Push a new node with value
value
to the back of the list
Param | Type |
---|---|
value | any |
ForwardNode
| null
Insert a new node with value
value
immediately aftermark
If
mark
is not an element of the list, the list is not modified
mark
must not be null
Param | Type |
---|---|
value | any |
mark | ForwardNode |
ForwardNode
| null
Insert a new node with value
value
immediately beforemark
If
mark
is not an element of the list, the list is not modified
mark
must not be null
Param | Type |
---|---|
value | any |
mark | ForwardNode |
Insert a copy of another list at the back of the caller list
The lists may be the same, but must not be null
Param | Type |
---|---|
other | CircularSinglyLinkedList |
Insert a copy of another list at the front of the caller list
The lists may be the same, but must not be null
Param | Type |
---|---|
other | CircularSinglyLinkedList |
CircularSinglyLinkedList
Instantiate an empty circular singly linked list
FAQs
[![Coverage Status](https://coveralls.io/repos/github/MatthewZito/connective-tissue/badge.svg?branch=master)](https://coveralls.io/github/MatthewZito/connective-tissue?branch=master) [![Continuous Deployment](https://github.com/MatthewZito/connective-tiss
The npm package connective-tissue receives a total of 0 weekly downloads. As such, connective-tissue popularity was classified as not popular.
We found that connective-tissue demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
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.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.