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

vocabulary

v0.5.1

Published

JS utility library to the extreme.

Downloads

1

Readme

vocabulary.js (beta)

What makes the Wu Tang Clan so special? It's a combination of their style, creativity, intelligence, and especially their vocabulary. The amazing depth of word choice makes them the ultimate in expressiveness.

vocabulary.js is an attempt at a similar elegance. It's a library that turns common and ubiquitous Javascript logic into tiny, re-usable functions. Don't bother memorizing implementations or searching Stack Overflow - just learn the function names.

# of functions: 104

How is this different than lodash or Underscore?

If lodash and Underscore are utility belts, then vocabulary.js is like a team of Batmans wearing utility belts.

Usage

Using ES6 destructuring and module syntax:

const { focusFirstFormField, redirect, isEscapeKeyEvent } = require('vocabulary');

If you don't want the whole library, feel free to copy and paste the functions from the source!

Giant List of Functions

isNull
isNotNull
isEmpty
isNotEmpty
isNullOrEmpty
isNotNullOrEmpty
isPositive
isNegative
isZero
isSingular
isPlural
isEven
isOdd
isTrue
isFalse
isValidDate
isEscapeKeyEvent
isEnterKeyEvent
isNodeList
isString
isObject
isFunction
isArray
hasLeadingForwardSlash
hasTrailingForwardSlash
isLinkCurrentRoute
toList
toHtmlId
toHtmlClass
toCamelCase
toMoneyString
toHexString
toHexNumber
toAsciiCode
toObject
toPrettyJson
toUniqueArray
toEscapedHtml
toUnescapedHtml
toQueryString
first
second
last
increment
decrement
trim
capitalize
query
appendTrailingSlash
newObject
generateRandomNumber
random
min
max
clone
group
getIn
removePhrase
add
subtract
and
or
orFalse
orZero
orEmptyString
orEmptyArray
orEmptyObject
joinBySpace
joinByNewLine
joinByCommaSpace
splitBySpace
splitByNewLine
splitByComma
splitByCommaSpace
getType
getButtons
getDropdowns
getInputs
getHtmlInputValue
getElementName
getQueryStringRaw
getQueryStringPairs
getQueryStringValue
getSelectedDropdownOption
addClass
removeClass
toggleClass
setAttributes
createNode
focusFirstFormField
ifNotNull
ifNull
throwIfNull
tryCatch
shuffleInPlace
clearDropdownOptions
removeProperty
removeElement
disableElement
enableElement
redirect
debug
enableEs6
enableJsx
noop

Browser Support

Most functions should work in IE 9 or above. No attempt was made to make the library work in IE 8 or below.

Tests

Run node tests.

Contributing

Pull requests welcome! Please add unit tests to tests.js for any new functions.

Dependencies

None, unless you use one of the handful of functions that have external depedencies: enableEs6 and enableJsx

Versions

Beta - missing: API documentation, examples, consistent naming of functions, organization, and structure (maybe beta is an optimistic word)

License

ISC