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

luthier

v0.7.0

Published

Luthier handles all of your string needs.

Downloads

23

Readme

luthier

noun (lu·thi·er)

one who makes stringed musical instruments (such as violins or guitars)

luthier handles all of your string needs. 🎸

License Node Version Test Status Code Coverage

Installation

npm install luthier --save
# or
yarn add luthier

Usage

import { luthier } from 'luthier';

Functions

camelCase

luthier.camelCase('your string');
// 'yourString'

constantCase

luthier.constantCase('your string');
// 'YOUR_STRING'

containsLetters

luthier.containsLetters('your string');
// true

containsLowerCasedLetters

luthier.containsLowerCasedLetters('your string');
// true

containsNumbers

luthier.containsNumbers('your string');
// false

containsOnlyLetters

luthier.containsLetters('your string');
// false

containsOnlyLowerCasedLetters

luthier.containsOnlyLowerCasedLetters('your string');
// false

containsOnlyNumbers

luthier.containsOnlyNumbers('your string');
// false

containsOnlySpecialCharacters

luthier.containsOnlySpecialCharacters('your string');
// false

containsOnlyUpperCasedLetters

luthier.containsOnlyUpperCasedLetters('your string');
// false

containsSpecialCharacters

luthier.containsSpecialCharacters('your string');
// true

containsUpperCasedLetters

luthier.containsUpperCasedLetters('your string');
// false

countLines

luthier.countLines('your\nstring');
// 2

countWords

luthier.countWords('your string');
// 2

customCase

luthier.customCase('+', 'your string');
// 'your+string'

dotCase

luthier.dotCase('your string');
// 'your.string'

flip

luthier.flip('your string');
// 'ɓuᴉɹʇs ɹnoʎ'

initials

luthier.initials('your string');
// 'YG'

isCamelCased

luthier.isCamelCased('your string');
// false

isCapitalized

luthier.isCapitalized('your string');
// false

isConstantCased

luthier.isConstantCased('your string');
// false

isDotCased

luthier.isDotCased('your string');
// false

isKebabCased

luthier.isKebabCased('your string');
// false

isLowerCased

luthier.isKebabCased('your string');
// true

isPascalCased

luthier.isPascalCased('your string');
// false

isSnakeCased

luthier.isSnakeCased('your string');
// false

isStartCased

luthier.isStartCased('your string');
// false

isStudlyCapped

luthier.isStudlyCapped('your string');
// false

isUpperCased

luthier.isUpperCased('your string');
// false

kebabCase

luthier.kebabCase('your string');
// 'your-string'

lowerCaseFirst

luthier.lowerCaseFirst('Your string');
// 'your string'

lowerCaseWords

luthier.lowerCaseWords('Your String');
// 'your string'

numeronym

luthier.numeronym('your string');
// 'y8g'

pascalCase

luthier.pascalCase('your string');
// 'YourString'

random

luthier.random(10);
// 'psifnwkflr'

reverse

luthier.reverse('your string');
// 'gnirts ruoy'

rot13

luthier.rot13('your string');
// 'lbhe fgevat'

shuffle

luthier.shuffle('your string');
// 'nru grsioty'

snakeCase

luthier.snakeCase('your string');
// 'your_string'

startCase

luthier.startCase('your string');
// 'Your String'

stripTags

luthier.stripTags('<em>your string</em>');
// 'your string'

studlyCaps

luthier.studlyCaps('your string');
// 'YoUr StRiNg'

upperCaseFirst

luthier.upperCaseFirst('your string');
// 'Your string'

upperCaseWords

luthier.upperCaseWords('your string');
// 'Your String'

Unlike startCase, the upperCaseWords method does not apply String.prototype.toLowerCase() first.

License

MIT