npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

extra-set

v3.2.0

Published

A pack of functions for working with Sets.

Downloads

766

Readme

A pack of functions for working with Sets. 📦 Node.js, 🌐 Web, 📜 Files, 📰 Docs, 📘 Wiki.

A Set is a collection of unique values. This package includes common set functions related to querying about sets, generating them, comparing one with another, finding their size, adding and removing elements, obtaining its properties, getting a part of it, getting a subset elements in it, finding an element in it, performing functional operations, manipulating it in various ways, combining together sets or its elements, of performing set operations upon it.

All functions except from*() take set as 1st parameter. Methods like concat() are pure and do not modify the set itself, while methods like concat$() do modify (update) the set itself.

This package is available in Node.js and Web formats. The web format is exposed as extra_set standalone variable and can be loaded from jsDelivr CDN.

Stability: Experimental.

const set = require('extra-set');
// import * as set from "extra-set";
// import * as set from "https://unpkg.com/extra-set/index.mjs"; (Deno)

var x = new Set([1, 2, 3, 4, 5]);
var y = new Set([2, 4]);
set.difference(x, y);
// → Set(3) { 1, 3, 5 }

var x = new Set([1, 2, 3]);
var y = new Set([3, 4]);
set.isDisjoint(x, y);
// → false

var x = new Set([1, 2, 3, 4]);
var y = new Set([3, 4, 5, 6]);
set.symmetricDifference(x, y);
// → Set(4) { 1, 2, 5, 6 }

var x = new Set([1, 2, 3]);
[...set.subsets(x)];
// → [
// →   Set(0) {},
// →   Set(1) { 1 },
// →   Set(1) { 2 },
// →   Set(2) { 1, 2 },
// →   Set(1) { 3 },
// →   Set(2) { 1, 3 },
// →   Set(2) { 2, 3 },
// →   Set(3) { 1, 2, 3 }
// → ]

Index

| Property | Description | | ---- | ---- | | is | Check if value is a set. | | values | List all values. | | entries | List all value-value pairs. | | | | | from | Convert an iterable to set. | | from$ | Convert an iterable to set. | | | | | compare | Compare two sets. | | isEqual | Check if two sets are equal. | | | | | size | Find the size of a set. | | isEmpty | Check if a set is empty. | | | | | add | Add a value to set. | | add$ | Add a value to set. | | remove | Delete a value from set. | | remove$ | Delete a value from set. | | | | | count | Count values which satisfy a test. | | countAs | Count occurrences of values. | | min | Find smallest value. | | max | Find largest value. | | range | Find smallest and largest entries. | | | | | head | Get first value from set (default order). | | tail | Get a set without its first value (default order). | | take | Keep first n values only (default order). | | take$ | Keep first n values only (default order). | | drop | Remove first n values (default order). | | drop$ | Remove first n values (default order). | | | | | subsets | List all possible subsets. | | randomValue | Pick an arbitrary value. | | randomEntry | Pick an arbitrary entry. | | randomSubset | Pick an arbitrary subset. | | hasSubset | Checks if set has a subset. | | | | | has | Check if set has a value. | | find | Find first value passing a test (default order). | | findAll | Find all values passing a test. | | | | | forEach | Call a function for each value. | | some | Check if any value satisfies a test. | | every | Check if all values satisfy a test. | | map | Transform values of a set. | | map$ | Transform values of a set. | | reduce | Reduce values of set to a single value. | | filter | Keep values which pass a test. | | filter$ | Keep values which pass a test. | | reject | Discard values which pass a test. | | reject$ | Discard values which pass a test. | | flat | Flatten nested set to given depth. | | flatMap | Flatten nested set, based on map function. | | | | | partition | Segregate values by test result. | | partitionAs | Segregates values by similarity. | | chunk | Break set into chunks of given size. | | | | | concat | Append values from sets. | | concat$ | Append values from sets. | | join | Join values together into a string. | | | | | isDisjoint | Check if sets have no value in common. | | union | Obtain values present in any set. | | union$ | Obtain values present in any set. | | intersection | Obtain values present in both sets. | | intersection$ | Obtain values present in both sets. | | difference | Obtain values not present in another set. | | difference$ | Obtain values not present in another set. | | symmetricDifference | Obtain values not present in both sets. | | symmetricDifference$ | Obtain values not present in both sets. | | cartesianProduct | List cartesian product of sets. |

ORG DOI Coverage Status Test Coverage Maintainability