cp-data

1.1.3 • Public • Published

cp-data

cp-data is a JavaScript library for some common data structures. Currently this includes a fast Set implementation and a PriorityQueue.

Build Status

Getting cp-data

NPM Install

Before installing this library you need to install the npm package manager.

To get cp-data from npm, use:

$ npm install cp-data

Browser Scripts

You can get the latest browser-ready scripts:

Build From Source

Before building this library you need to install the npm package manager.

Check out this project and run this command from the root of the project:

$ make

This will generate cp-data.js and cp-data.min.js in the out/dist directory of the project.

Set Example

var Set = require('cp-data').Set;
 
var s1 = new Set();
 
s1.has(1);
// => false
 
s1.add(1);
// => true
 
s1.size();
// => 1
 
s1.has(1);
// => true
 
// Addind a key that is already in the set does not change the set. The
// function returns `false` to indicate nothing changed.
s1.add(1);
// => false
 
s1.size();
// => 1
 
s1.add(2);
s1.size();
// => 2
 
// We can construct a set from an array
var s2 = new Set([2, 3, 4]);
 
s2.keys();
// => [2, 3, 4]
 
// Intersection:
Set.intersect([s1, s2]).keys();
// => [2]
 
// Union:
Set.union([s1, s2]).keys();
// => [1, 2, 3, 4]
 
// We can also do set intersection / union with arrays:
Set.intersect([[1, 2, 3], [2, 3, 4]]).keys();
// => [2, 3]
 
// We can do set intersection / union with more that 2 sets:
Set.union([s1, s2, ['a', 'b', 'c']]).keys();
// => [1, 2, 3, 4, 'a', 'b', 'c']
 
// Lastly, sets preserve the type of the key supplied. Compare the following 2
// results:
new Set([1]).keys();
// => [1]
new Set(['1']).keys();
// => ['1']

License

cp-data is licensed under the terms of the MIT License. See the LICENSE file for details.

Dependents (0)

Package Sidebar

Install

npm i cp-data

Weekly Downloads

308

Version

1.1.3

License

MIT

Last publish

Collaborators

  • cpettitt