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

variadics

v1.0.2

Published

A module that adds various variadic functions for common operators and functions.

Downloads

6

Readme

Adds a few variadic functions for operators, as well as functions to convert between array functions and spread functions. The functions generally go from left-to-right.

Add

add :: (...a) -> a

Adds any number of values (number or string).

And

and :: (...Boolean) -> Boolean

Checks if all of the boolean values passed are true.

Apply

apply :: ((...a) -> b, [a]) -> b

Applies a function that takes a spread to an array.

ApplySpread

applySpread :: ([a] -> b, ...a) -> b

Applies a function that takes an array to a spread.

Bitand

bitand :: (...Number) -> Number

Applies the bitwise and operator & to the values.

Bitor

bitor :: (...Number) -> Number

Applies the bitwise and operator | to the values.

Bitxor

bitxor :: (...Number) -> Number

Applies the bitwise and operator ^ to the values.

Divide

divide :: (...Number) -> Number

Divides all of the values by each other.

Equals

equals :: (...a) -> Boolean

Checks if all the values are equal.

Exponent

exponent :: (...Number) -> Number

Applies the exponentiation operator ** to the values.

GreaterEquals

greaterEqual :: (...Number) -> Boolean

Checks if all the numbers are greater than or equal to the next number in succession.

GreaterThan

greaterThan :: (...Number) -> Boolean

Checks if all the numbers are greater than the next number in succession.

LessEquals

lessEqual :: (...Number) -> Boolean

Checks if all the numbers are less than or equal to the next number in succession.

LessThan

lessThan :: (...Number) -> Boolean

Checks if all the numbers are less than the next number in succession.

Max

max :: [Number] -> Number

Returns the largest number in the array.

Min

min :: [Number] -> Number

Returns the smallest number in the array.

Modulo

modulo :: (...Number) -> Number

Applies the modulo operator % to the values.

Multiply

multiply :: (...Number) -> Number

Multiplies all of the values together.

Or

or :: (...Boolean) -> Boolean

Checks if any of the boolean values passed are true.

Product

product :: [Number] -> Number

Returns the product of the numbers in the array.

Shiftl

shiftl :: (...Number) -> Number

Applies the left shift operator << to the values.

Shiftr

shiftr :: (...Number) -> Number

Applies the right shift operator >> to the values.

Subtract

subtract :: (...Number) -> Number

Subtracts all of the values from each other.

Sum

sum :: [Number] -> Number

Returns the sum of the values in the array.

ToArrayFn

toArrayFn :: ((...a) -> b) -> ([a] -> b)

Converts a function that takes a spread to one that takes an array.

ToSpreadFn

toSpreadFn :: ([a] -> b) -> ((...a) -> b)

Converts a function that takes an array to one that takes a spread.

UnsignedShiftr

unSignedShiftr :: (...Number) -> Number

Applies the unsigned right shift operator >>> to the values.

WeakEquals

weakEquals :: (...a) -> Boolean

Checks if all the values are equal through the weak equality operator ==.