Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
A simple hash set in JavaScript
var HashSet = require('hashset');
//Create an empty hash set
var hashset = new HashSet();
//Create a hash set an initialize it with a value 'a'
var hashset = new HashSet('a');
//Create a hash set an initialize it with a set of values
var hashset = new HashSet('a', 'b', 'c');
//Create a hash set an initialize it with 3 different values
var hashset = new HashSet(1, '1', [1]);
Get the length of the hash set
hashset.length;
Test whether current hash set equals to another
var hashset1 = new HashSet(1, 2, 3, 4, 5);
var hashset2 = new HashSet(1, 2, 3, 4, 5);
var result = hashset1.equals(hashset2); //true
Check whether a value is in the hash set
hashset.contains(val);
Add a new value into the hash set
hashset.add(val);
Remove a value from the hash set
hashset.remove(val);
Removing an non-existing value will not trigger any error
Convert and output all values into an array
var hashset = new HashSet(1, 2, 3);
hashset.toArray(); // [1, 2, 3]
There is no gurantee the values of the output array the same sequence as value added to the hash set.
Test whether a hash set is a sub set of another. Empty hash set is a sub set of any other hash set including another empty hash set.
var hashset1 = new HashSet();
var hashset2 = new HashSet();
var result = hashset1.isSubSetOf(hashset2);
Test whether a hash set is a super set of another. Any hash set is a super set of empty hahs set including an empty hash set.
var hashset1 = new HashSet(1, 2, 3);
var hashset2 = new HashSet(1, 2, 3);
var hashset3 = new HashSet();
var result1 = hashset1.isSuperSetOf(hashset2); //true
var result2 = hashset2.isSuperSetOf(hashset1); //true
var result3 = hashset1.isSuperSetOf(hashset3); //true
var result3 = hashset3.isSuperSetOf(hashset1); //false
Union current hash set with another
var hashset1 = new HashSet(1, 2);
var hashset2 = new HashSet(2, 3);
hashset1.unionWith(hashset2);
hashset1.contains(1); //true
hashset1.contains(2); //true
hashset1.contains(3); //true
Intersect current hash set with another
var hashset1 = new HashSet(1, 2, 3);
var hashset2 = new HashSet(2, 3, 4);
hashset1.intersectWith(hashset2);
hashset1.length; //2
hashset1.contains(2); //true
hashset1.contains(3); //true
hashset1.contains(4); //false
Make sure mocha
is installed globally
npm install mocha -g
Run npm test
to run unit test
MIT
FAQs
A simple hash set in JavaScript
The npm package hashset receives a total of 114 weekly downloads. As such, hashset popularity was classified as not popular.
We found that hashset demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.