strrr
v0.1.0
Published
Functional string utilities
Downloads
10
Readme
strrr
Functional string utilities, inspired by Laravel's Str helpers.
Installation
yarn add strrrUsage
chainability built in. e.g.
str('lorem ipsum dolor sit amet')
.title()
.limit(10)
.pipe(s => doSomething(s))
.get();
// = 'Lorem Ipsu…'Available Methods
limit
Limit a string to a given length with a suffix (ellipsis).
Method signature
limit(limit = 100, end = '…');
import { str } from 'strrr';
str('lorem ipsum dolor sit amet').limit(20).get();
// = 'Lorem ipsum dolor si…'words
Limit the number of words in a string with a suffix (ellipsis).
Method signature
words(words = 100, end = '…');
import { str } from 'strrr';
str('lorem ipsum dolor sit amet').words(3).get();
// = 'Lorem ipsum dolor…'random
Generate a "random" alpha-numeric string.
Method signature
random(length = 32)
import { random } from 'strrr';
random().get(); // = 'nKusDo5JIFrI1tJswwzpEyGLpvML1Mxp'
random(16).get(); // = 'Ky6zJuGnGyrnvw1y'title
Convert the string to Title case.
Method signature
title()
import { str } from 'strrr';
str('lorem ipsum dolor sit amet').title().get();
// = 'Lorem Ipsum Dolor Sit Amet'studly
Convert the string to Studly case. Also known as pascal case
Method signature
studly()
import { str } from 'strrr';
str('lorem_ipsum_dolor_sit_amet').studly().get();
// = 'LoremIpsumDolorSitAmet'camel
Convert the string to camel case
Method signature
camel()
import { str } from 'strrr';
str('lorem_ipsum_dolor_sit_amet').camel().get();
// = 'loremIpsumDolorSitAmet'snake
Convert the string to snake case
Method signature
snake(delimeter = '_')
import { str } from 'strrr';
str('LoremIpsumDolorSitAmet').snake().get();
// = 'lorem_ipsum_dolor_sit_amet'kebab
Convert the string to kebab case - Which is similar to snake case but with dashes.
Method signature
kebab()
import { str } from 'strrr';
str('LoremIpsumDolorSitAmet').kebab().get();
// = 'lorem-ipsum-dolor-sit-amet'ucfirst
Capitalize the first character in a string.
Method signature
ucfirst()
import { str } from 'strrr';
str('foo bar').ucfirst().get(); // = 'Foo bar'lcfirst
lower case the first character in a string.
Method signature
lcfirst()
import { str } from 'strrr';
str('Lorem ipsum').lcfirst().get(); // = 'lorem ipsum'contains
Determine if a given string contains a given string.
Method signature
contains(val, position = 0)
import { str } from 'strrr';
str('foobarbaz').contains('bar'); // = true
str('foobarbaz').contains('bob'); // = falsestartsWith
Determine if a given string starts with a given string.
Method signature
startsWith(val, position = 0)
import { str } from 'strrr';
str('Lorem ipsum dolor sit amet').startsWith('Lorem') // = true
str('Lorem ipsum dolor sit amet').startsWith('ipsum') // = falseendsWith
Determine if a given string ends with a given string.
Method signature
endsWith(val, position = 0)
import { str } from 'strrr';
str('Lorem ipsum dolor sit amet').endsWith('amet'); // = true
str('Lorem ipsum dolor sit amet').endsWith('ipsum'); // = falseisLowerCase
Determine if the string is lowercase.
Method signature
isLowerCase()
import { str } from 'strrr';
str('lorem ipsum dolor sit amet').isLowerCase(); // = true
str('Lorem ipsum dolor sit amet').isLowerCase(); // = falseisUpperCase
Determine if the string is uppercase.
Method signature
isUpperCase()
import { str } from 'strrr';
str('LORUM').isUpperCase(); // = true
str('LoRuM').isUpperCase(); // = falsestrip
Strip all whitespace from a string.
Method signature
strip()
import { str } from 'strrr';
str(' Lorem ipsum dolor sit amet ').strip().get()
// = 'Loremipsumdolorsitamet'ascii
Transliterate a UTF-8 value to ASCII.
Method signature
ascii()
import { str } from 'strrr';
str('I ♥ javascript').ascii().get() // = 'I love javascript'
str('@ðẻ-₀ფف').ascii().get() // = 'atde-0ff'slug
Generate a URL friendly "slug" from the string.
Method signature
slug(separator = '-')
import { str } from 'strrr';
str('FOO bar baz').slug().get() // = 'foo-bar-baz'
str('I ♥ javascript').slug('_').get() // = 'i_love_javascript'