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

@anmiles/prototypes

v10.1.0

Published

Provides prototype extensions for native JS modules

Downloads

164

Readme

@anmiles/prototypes

Provides prototype extensions for native JS modules


Installation

npm install @anmiles/prototypes

Usage

Number

  • Number.prototype.case - select russian case of countable entity by count
  • Number.prototype.pad - add leading or trailing zeros to number to fit specified number of digits

String

  • String.prototype.toUpperFirstLetter - make first letter uppercase
  • String.prototype.toLowerFirstLetter - make first letter lowercase
  • String.prototype.htmlEscape - escape HTML-sensitive string
  • String.prototype.urlEscape - escape string to make it URL-safe
  • String.prototype.regexEscape - escape regular expression
  • String.prototype.beautify - unify similar special symbols
  • String.prototype.toFilename - convert string into a valid filename

Array

  • Array.prototype.unique - remove duplicates from array
  • Array.prototype.equals - compare two arrays item-by-item
  • Array.prototype.indexFieldOf - indexOf by value of nested key
  • Array.prototype.sum - sum all values in array
  • Array.prototype.sort - sort array by values of nested keys in various directions
  • Array.prototype.forEachAsync - asynchronous version of Array.prototype.forEach
  • Array.prototype.mapAsync - asynchronous version of Array.prototype.map

Object

  • Object.fill - fill object with default values generated by keys
  • Object.typedKeys - get typed keys of an object
  • Object.typedEntries - get typed entries of an object

Error

  • Error.parse - return an Error object with a message parsed from input of any supported type (or serialized input if not supported)

fs and fs/promises

  • fs.ensureDir - check and if dir exists and is a directory; optionally create if not exists
  • fs.ensureFile - check if file exists and is a file; optionally create if not exists
  • fs.readJSON - read and parse JSON from file
  • fs.writeJSON - write JSON to file
  • fs.getJSON - get JSON from file with falling back and validation
  • fs.getJSONAsync - asynchronously get JSON from file with asynchronous falling back and asynchronous validation
  • fs.readTSV - read and parse TSV from file
  • fs.writeTSV - write TSV to file
  • fs.joinPath - join two portions of file path using specified or default separator and return the path as typed as possible
  • fs.recurse - recursively traverse directory for specified depth and apply callbacks for files (with optionally specified extension), directories and links
  • fs.size - recursively calculates get directory size

Also joinPath and recurse functions are introduced in fs.posix and fs.win32 namespaces. Path separator is explicitly specified and cannot be directly passed there.

  • fs.posix.joinPath and fs.posix.recurse use '/' separator regardless of path.sep in runtime
  • fs.win32.joinPath and fs.win32.recurse use '\' separator regardless of path.sep in runtime Inspired by path.posix and path.win32.

process

  • process.start - run process in Windows environment and optionally output stdout/stderr or process them with custom functions

Useful strings for testing purposes:

  • string value
    • begin  .-'`"~!@#$%^&*?:;,_=+/\|()[]{}<>&nbsp;&lt;&gt;%27²½áßÈіíž©§€₤∑א雨https://A-_/?b[c]&(1)end
  • query string value
    • begin .-'`"~!@$%^*:;,_=+\|()[]{}<>%27²½áßÈіíž©§€₤∑א雨https://A-_/b[c](1)end
  • url
    • https://example.com/begin.-'`"~!@#$%^&*?:;,_=+/\|()[]{}<>&nbsp;&lt;&gt;%27²½áßÈіíž©§€₤∑א雨end
  • email
    • test.-'`~!#$%^&*?_=+/|{}&nbsp&lt&gt%27іž€₤∑א雨@example.com