Skip to content

keyvanakbary/eter

Repository files navigation

Eter

Build Status

Éter is a conglomerate of lightweight collections for JavaScript running on node and browser.

Usage

For node, install the package and include it

var eter = require('eter');

For the browser, just include the modules you want. You could use Bower to install the package

bower install eter --save

And include the script

<script src="path/to/eter/dist/eter.js"></script>

Types

If you use TypeScript, typings are included

import {Stack} from 'eter';

let s: Stack<number> = new Stack();

Collections

Stack

A Stack is a Last-In-First-Out (LIFO) data structure.

var s = new eter.Stack();

s.push(1);
s.push(2);
s.pop();//2
s.pop();//1
s.isEmpty();//true
s.pop();//Error "Empty stack"

Queue

A Queue is a First-In-First-Out (FIFO) data structure.

var q = new eter.Queue();

q.enqueue(1);
q.enqueue(2);
q.dequeue();//1
q.dequeue();//2
q.isEmpty();//true
q.dequeue();//Error "Empty queue"

LinkedList

A Linked List is a data structure consisting of a group of nodes which together represent a sequence.

var l = new eter.LinkedList();

l.add(1);
l.get(0);//1
l.remove(0);
l.isEmpty();//true
l.get(0);//Error "Index 0 out of bounds"

Trie

A Trie is an ordered tree data structure that is used to store a dynamic set or associative array where the keys are usually strings.

var t = new eter.Trie();

t.insert('one');
t.insert('oh');
t.insert('on');
t.contains('one');//true
t.insert('foo');
t.remove('foo');
t.contains('foo');//false

Hash Map

A Hash Map is a data structure used to implement an associative array, a structure that can map keys to values.

var m = new eter.HashMap();

m.put('key', 'value');
m.get('key');//value
m.contains('key');//true
m.remove('key');
m.contains('key');//false

Binary Tree

A Binary Tree is a data structure used for logarithmic search access.

var t = new eter.BinaryTree();

t.insert(10, 'value');
t.get(10);//value
t.remove(10);
t.get(10);//null