cp-data
cp-data is a JavaScript library for some common data structures
Last updated 11 years ago by cpettitt .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ gnpm install cp-data 
SYNC missed versions from official npm registry.

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.

Current Tags

  • 1.1.3                                ...           latest (11 years ago)

4 Versions

  • 1.1.3                                ...           11 years ago
  • 1.1.2                                ...           11 years ago
  • 1.1.1                                ...           11 years ago
  • 1.1.0                                ...           11 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (0)
None
Dev Dependencies (8)
Dependents (2)

Copyright 2013 - present © cnpmjs.org | Home |