Sha256: a572d71599936ee7e601876e987bbadfc1ac9d5006d0c4982a4d6f14a15aa509

Contents?: true

Size: 1.44 KB

Versions: 11

Compression:

Stored size: 1.44 KB

Contents

# stringset.js
A fast and robust stringset implementation that can hold any string items,
including `__proto__`, with minimal overhead compared to a plain object.
Works in node and browsers.

The API is created to be as close to the ES6 Set API as possible. Prefer
`ss.remove("key")` for deleting a key. ES6 Set uses `set.delete("key")`
instead and for that reason `ss['delete']("key")` is available as a
stringset alias as well. Never do `ss.delete("key")` unless you're
certain to be in the land of ES5 or later.



## Examples
Available in `examples.js`

```javascript
var StringSet = require("stringset");

var ss1 = new StringSet();
ss1.add("greeting");
ss1.add("check");
ss1.add("__proto__");
console.log(ss1.has("greeting")); // true
console.log(ss1.has("__proto__")); // true
ss1.remove("greeting");
console.log(ss1.items()); // [ 'check', '__proto__' ]
console.log(ss1.toString()); // {"check","__proto__"}

var ss2 = new StringSet(["one", "two"]);
console.log(ss2.isEmpty()); // false
console.log(ss2.size()); // 2

var ss3 = ss1.clone();
ss3.merge(ss2);
ss3.addMany(["a", "b"]);
console.log(ss3.toString()); // {"check","one","two","a","b","__proto__"}
```



## Installation

### Node
Install using npm

    npm install stringset

```javascript
var StringSet = require("stringset");
```

### Browser
Clone the repo and include it in a script tag

    git clone https://github.com/olov/stringset.git

```html
<script src="stringset/stringset.js"></script>
```

Version data entries

11 entries across 11 versions & 4 rubygems

Version Path
ilog-0.4.1 node_modules/stringset/README.md
ilog-0.4.0 node_modules/stringset/README.md
ilog-0.3.3 node_modules/stringset/README.md
xcodebuild-helper-1.2.5 externals/ios-sim-master/node_modules/stringset/README.md
xcodebuild-helper-1.2.3 externals/ios-sim-master/node_modules/stringset/README.md
es6_tilt-0.1.2 test/dummy/app/assets/javascripts/node_modules/stringset/README.md
es6_tilt-0.1.1 test/dummy/app/assets/javascripts/node_modules/stringset/README.md
es6_tilt-0.1.0 test/dummy/app/assets/javascripts/node_modules/stringset/README.md
gulp_assets-1.0.0.pre.5 template/node_modules/babel-core/node_modules/regenerator/node_modules/defs/node_modules/stringset/README.md
gulp_assets-1.0.0.pre.4 template/node_modules/babel-core/node_modules/regenerator/node_modules/defs/node_modules/stringset/README.md
gulp_assets-1.0.0.pre.3 template/node_modules/babel-core/node_modules/regenerator/node_modules/defs/node_modules/stringset/README.md