JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 59
  • Score
    100M100P100Q85096F
  • License MIT

JavaScript data structures written in CoffeeScript.

Package Exports

  • data-structures

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (data-structures) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Data Structures Build Status

Fast, light and hassle-free JavaScript data structures, written in CoffeeScript.

  • (Hash) Map
  • Heap
  • Graph
  • (Doubly) Linked List
  • Queue
  • Self-Balancing Binary Search Tree (Red-Black Tree)
  • Trie

Installation and Usage

Server-side:

Using npm:

npm install data-structures

Then where needed:

var Heap = require('data-structures').Heap;
var heap = new Heap();
heap.add(3);
heap.removeMin();

Alternatively, you can directly use the compiled JavaScript version in the "distribution" folder. It's always in sync with the CoffeeScript one.

Client-side:

Get the whole file here. Either use the development version or the minified production version.

Then put the file in your HTML page,

<script src="./data-structures-versionHere.min.js"></script>
<script>
    var Heap = require("data-structures").Heap;
    var heap = new Heap();
    heap.add(3);
    heap.removeMin();
</script>

(Magical client-side require()) courtesy of Browserify.

Documentation

Wiki page

The wiki page is a formatted version of the documentation in the code.

Roadmap

For Contributors

First, install the npm development dependencies:

npm install

Testing

Tests are done using jasmine-node.

Testing individual file, e.g.:

jasmine-node --coffee tests/LinkedList.spec.coffee

Lazy method:

npm test

Export for browser

You'll need the grunt-cli tool:

npm install -g grunt-cli

Then run:

grunt

License

MIT.