Package Exports
- laravel-js-str
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (laravel-js-str) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Laravel JS Str
"Laravel's Illuminate\Str & Illuminate\Stringify Including Str.of() In Javascript"
Installation
NPM
npm install --save-dev laravel-js-strYarn
yarn add laravel-js-str --saveCDN
<script src='https://unpkg.com/laravel-js-str@latest/build/index.min.js'></script>Str
Documentation For Each String Method Points To Laravel. Javascript examples are below, Laravel docs will specify what each method specifically does. Replace Str::method() with Str.() when using this package
- Str.after
- Str.afterLast
- Str.ascii
- Str.before
- Str.beforeLast
- Str.between
- Str.contains
- Str.containsAll
- Str.finish
- Str.is
- Str.isAscii
- Str.isUuid
- Str.length
- Str.limit
- Str.lower
- Str.orderedUuid
- Str.plural
- Str.random
- Str.replaceArray
- Str.replaceFirst
- Str.replaceLast
- Str.singular
- Str.slug
- Str.start
- Str.substr
- Str.ucfirst
- Str.upper
- Str.uuid
- Str.words
const { Str } = require('laravel-js-str');
let slice = Str.after('This is my name', 'This is');
// ' my name'const { Str } = require('laravel-js-str');
let slice = Str.afterLast('App\Http\Controllers\Controller', '\\');
// 'Controller'const { Str } = require('laravel-js-str');
let slice = Str.ascii('û');
// 'u' const { Str } = require('laravel-js-str');
let slice = Str.before('This is my name', 'my name');
// 'This is 'const { Str } = require('laravel-js-str');
let slice = Str.beforeLast('This is my name', 'is');
// 'This 'const { Str } = require('laravel-js-str');
let slice = Str.between('This is my name', 'This', 'name');
// ' is my 'const { Str } = require('laravel-js-str');
let converted = Str.camel('foo_bar');
// fooBarconst { Str } = require('laravel-js-str');
let contains = Str.contains('This is my name', 'my');
// trueconst { Str } = require('laravel-js-str');
let contains = Str.contains('This is my name', ['my', 'foo']);
// trueconst { Str } = require('laravel-js-str');
let containsAll = Str.containsAll('This is my name', ['my', 'name']);
// trueconst { Str } = require('laravel-js-str');
let result = Str.endsWith('This is my name', 'name');
// trueconst { Str } = require('laravel-js-str');
let result = Str.endsWith('This is my name', ['name', 'foo']);
// true
result = Str.endsWith('This is my name', ['this', 'foo']);
// falseconst { Str } = require('laravel-js-str');
let adjusted = Str.finish('this/string', '/');
// this/string/
adjusted = Str.finish('this/string/', '/');
// this/string/const { Str } = require('laravel-js-str');
let matches = Str.is('foo*', 'foobar');
// true
matches = Str.is('baz*', 'foobar');
// falseisAscii is experimental, not confident it works in all scenarios
const { Str } = require('laravel-js-str');
let isAscii = Str.isAscii('Taylor');
// true
isAscii = Str.isAscii('ü');
// falseconst { Str } = require('laravel-js-str');
let isUuid = Str.isUuid('a0a2a2d2-0b87-4a18-83f2-2529882be2de');
// true
isUuid = Str.isUuid('laravel');
// falseconst { Str } = require('laravel-js-str');
let converted = Str.kebab('fooBar');
// foo-barconst { Str } = require('laravel-js-str');
let length = Str.length('Laravel');
// 7const { Str } = require('laravel-js-str');
let truncated = Str.limit('The quick brown fox jumps over the lazy dog', 0);
// The quick brown fox...const { Str } = require('laravel-js-str');
let truncated = Str.limit('The quick brown fox jumps over the lazy dog', 0, '(...)');
// The quick brown fox (...)const { Str } = require('laravel-js-str');
let converted = Str.lower('LARAVEL');
// laravelconst { Str } = require('laravel-js-str');
let plural = Str.plural('car');
// cars
plural = Str.plural('child');
// childrenconst { Str } = require('laravel-js-str');
let plural = Str.plural('child');
// children
plural = Str.plural('child');
// childconst { Str } = require('laravel-js-str');
let random = Str.random(40);const { Str } = require('laravel-js-str');
let string = 'The event will take place between ? and ?';
let replaced = Str.replaceArray(['?', '8:30', '9:00'], string);
// The event will take place between 8:30 and 9:00const { Str } = require('laravel-js-str');
let replaced = Str.replaceFirst('the', 'a', 'the quick brown fox jumps over the lazy dog');
// a quick brown fox jumps over the lazy dogconst { Str } = require('laravel-js-str');
let replaced = Str.replaceLast('the', 'a', 'the quick brown fox jumps over the lazy dog');
// the quick brown fox jumps over a lazy dogconst { Str } = require('laravel-js-str');
let singular = Str.singular('cars');
// car
singular = Str.singular('children');
// childconst { Str } = require('laravel-js-str');
let slug = Str.slug('Laravel 5 Framework', '-');
// laravel-5-frameworkconst { Str } = require('laravel-js-str');
let converted = Str.snake('fooBar');
// foo_barconst { Str } = require('laravel-js-str');
let adjusted = Str.start('this/string', '/');
// /this/string
adjusted = Str.start('/this/string', '/');
// /this/stringconst { Str } = require('laravel-js-str');
let result = Str.startsWith('This is my name', This');
// trueconst { Str } = require('laravel-js-str');
let converted = Str.studly('foo_bar');
// FooBarconst { Str } = require('laravel-js-str');
let converted = Str.substr('The Laravel Framework', , );
// Laravelconst { Str } = require('laravel-js-str');
let converted = Str.title('a nice title uses the correct case');
// A Nice Title Uses The Correct Caseconst { Str } = require('laravel-js-str');
let string = Str.ucfirst('foo bar');
// Foo barconst { Str } = require('laravel-js-str');
let string = Str.upper('laravel');
// LARAVELconst { Str } = require('laravel-js-str');
return Str.uuid();const { Str } = require('laravel-js-str');
Str.words('Perfectly balanced, as all things should be.', 3, '>>>');
// Perfectly balanced, as >>>const { Str } = require('laravel-js-str');
let slice = Str.of('This is my name').after('This is');
// ' my name'const { Str } = require('laravel-js-str');
let slice = Str.of('App\Http\Controllers\Controller').afterLast('\\');
// 'Controller'const { Str } = require('laravel-js-str');
let string = Str.of('Taylor').append(' Otwell');
// 'Taylor Otwell'Experimental Method, not sure this works in all cases
const { Str } = require('laravel-js-str');
let string = Str.of('ü').ascii();
// 'u'const { Str } = require('laravel-js-str');
let string = Str.of('/foo/bar/baz').basename();
// 'baz'const { Str } = require('laravel-js-str');
let string = Str.of('/foo/bar/baz.jpg').basename('.jpg');
// 'baz'const { Str } = require('laravel-js-str');
let slice = Str.of('This is my name').before('my name');
// 'This is 'const { Str } = require('laravel-js-str');
let slice = Str.of('This is my name').beforeLast('is');
// 'This 'const { Str } = require('laravel-js-str');
let converted = Str.of('foo_bar').camel();
// fooBarconst { Str } = require('laravel-js-str');
let contains = Str.of('This is my name').contains('my');
// trueconst { Str } = require('laravel-js-str');
let contains = Str.of('This is my name').contains(['my', foo']);
// trueconst { Str } = require('laravel-js-str');
let containsAll = Str.of('This is my name').containsAll(['my', 'name']);
// trueconst { Str } = require('laravel-js-str');
let string = Str.of('/foo/bar/baz').dirname();
// '/foo/bar'const { Str } = require('laravel-js-str');
let string = Str.of('/foo/bar/baz').dirname(2);
// '/foo'const { Str } = require('laravel-js-str');
let result = Str.of('This is my name').endsWith('name');
// trueconst { Str } = require('laravel-js-str');
let result = Str.of('This is my name').endsWith(['name', 'foo']);
// true
result = Str.of('This is my name').endsWith(['this', 'foo']);
// falseconst { Str } = require('laravel-js-str');
let result = Str.of('Laravel').exactly('Laravel');
// trueconst { Str } = require('laravel-js-str');
let collection = Str.of('foo bar baz').explode(' ');
// collect(['foo', 'bar', 'baz'])const { Str } = require('laravel-js-str');
let adjusted = Str.of('this/string').finish('/');
// this/string/
adjusted = Str.of('this/string/').finish('/');
// this/string/const { Str } = require('laravel-js-str');
let matches = Str.of('foobar').is('foo*');
// true
matches = Str.of('foobar').is('baz*');
// falseisAscii is Experimental, not positive its correct in all cases
const { Str } = require('laravel-js-str');
let result = Str.of('Taylor').isAscii();
// true
result = Str.of('ü').isAcii();
// falseconst { Str } = require('laravel-js-str');
let result = Str.of(' ').trim().isEmpty();
// true
result = Str.of('Laravel').trim().isEmpty();
// falseconst { Str } = require('laravel-js-str');
let result = Str.of(' ').trim().isNotEmpty();
// false
result = Str.of('Laravel').trim().isNotEmpty();
// trueconst { Str } = require('laravel-js-str');
let converted = Str.of('fooBar').kebab();
// foo-barconst { Str } = require('laravel-js-str');
let length = Str.of('Laravel').length();
// 7const { Str } = require('laravel-js-str');
let truncated = Str.of('The quick brown fox jumps over the lazy dog').limit(20);
// The quick brown fox...const { Str } = require('laravel-js-str');
let truncated = Str.of('The quick brown fox jumps over the lazy dog').limit(20, ' (...)');
// The quick brown fox (...)const { Str } = require('laravel-js-str');
let result = Str.of('LARAVEL').lower();
// 'laravel'const { Str } = require('laravel-js-str');
let string = Str.of(' Laravel ').ltrim();
// 'Laravel '
string = Str.of('/Laravel/').ltrim('/');
// 'Laravel/'const { Str } = require('laravel-js-str');
let result = Str.of('foo bar').match('/bar/');
// 'bar'
result = Str.of('foo bar').match('/foo (.*)/');
// 'bar'Match All Coming Soon
const { Str } = require('laravel-js-str');
let result = Str.of('bar foo bar').matchAll('/bar/');
// collect(['bar', 'bar'])const { Str } = require('laravel-js-str');
let result = Str.of('bar fun bar fly').matchAll('/f(\w*)/');
// collect(['un', 'ly']);
const { Str } = require('laravel-js-str');
let plural = Str.of('car').plural();
// cars
plural = Str.of('child').plural();
// childrenconst { Str } = require('laravel-js-str');
let plural = Str.of('child').plural(2);
// children
plural = Str.of('child').plural(1);
// childconst { Str } = require('laravel-js-str');
let string = Str.of('Framework').prepend('Laravel ');
// Laravel Frameworkconst { Str } = require('laravel-js-str');
let replaced = Str.of('Laravel 6.x').replace('6.x', '7.x');
// Laravel 7.xconst { Str } = require('laravel-js-str');
let string = 'The event will take place between ? and ?';
let replaced = Str.of(string).replaceArray('?', ['8:30', '9:00']);
// The event will take place between 8:30 and 9:00const { Str } = require('laravel-js-str');
let replaced = Str.of('the quick brown fox jumps over the lazy dog').replaceFirst('the', 'a');
// a quick brown fox jumps over the lazy dogconst { Str } = require('laravel-js-str');
let replaced = Str.of('the quick brown fox jumps over the lazy dog').replaceLast('the', 'a');
// the quick brown fox jumps over a lazy dogconst { Str } = require('laravel-js-str');
let replaced = Str.of('(+1) 501-555-1000').replace('/[^A-Za-z0-9]++/', '');
//'15015551000' const { Str } = require('laravel-js-str');
let string = Str.of(' Laravel ').rtrim();
// ' Laravel'
string = Str.of('/Laravel/').rtrim('/');
// '/Laravel'const { Str } = require('laravel-js-str');
let singular = Str.of('cars').singular();
// car
singular = Str.of('children').singular();
// childconst { Str } = require('laravel-js-str');
let slug = Str.of('Laravel Framework').slug('-');
// laravel-frameworkconst { Str } = require('laravel-js-str');
let converted = Str.of('fooBar').snake();
// foo_barconst { Str } = require('laravel-js-str');
let segments = Str.of('one, two, three').split('/[\s, +/');
// collect(["one", "two", "three"])const { Str } = require('laravel-js-str');
let adjusted = Str.of('this/string').start('/');
// /this/string
adjusted = Str.of('/this/string').start('/');
// /this/stringconst { Str } = require('laravel-js-str');
let result = Str.of('This is my name').startsWith('This');
// trueconst { Str } = require('laravel-js-str');
let converted = Str.of('foo_bar').studly();
// FooBarconst { Str } = require('laravel-js-str');
let string = Str.of('Laravel Framework').substr(8);
// Framework
string = Str.of('Laravel Framework').substr(8, );
// Frameconst { Str } = require('laravel-js-str');
let converted = Str.of('a nice title uses the correct case').title();
// A Nice Title Uses The Correct Caseconst { Str } = require('laravel-js-str');
let string = Str.of(' Laravel ').trim();
// 'Laravel'
string = Str.of('/Laravel/').trim('/');
// 'Laravel'const { Str } = require('laravel-js-str');
let string = Str.of('foo bar').ucfirst();
// Foo barconst { Str } = require('laravel-js-str');
let adjusted = Str.of('laravel').upper();
// LARAVELconst { Str } = require('laravel-js-str');
let string = Str.of(' ').whenEmpty(function(string) {
return string.trim().prepend('Laravel');
});
// 'Laravel'const { Str } = require('laravel-js-str');
let string = Str.of('Perfectly balanced, as all things should be.').words(3, '>>>');
// Perfectly balanced, as >>>Playground Examples
Curious, but not 100% on whether this is what you're looking for?
The most powerful method is Str.of('example'), allowing us to fluently chain Str methods together
Example
let { Str } = require('laravel-js-str');
let home = 'https://planets.com';
let title = 'hello mars, a cool world for you to visit, maybe?';
let article = Str.of(title).replaceFirst(',', '')
.after('hello')
.before('for you')
.trim()
.start('/')
.finish('/')
.kebab();
let resource = home + article
// resource value:
// 'https://planets.com/mars-a-cool-world/'
//
// article value:
// Stringable: { value: 'https://planets.com/mars-a-cool-world-to-visit', replace, before, after, etc... }
//Utilization
The most powerful method is Str.of('example'), allowing us to fluently chain Str methods together
Example
let { Str } = require('laravel-js-str');
let home = 'https://planets.com';
let title = 'hello mars, a cool world for you to visit, maybe?';
let article = Str.of(title).replaceFirst(',', '')
.after('hello')
.before('for you')
.trim()
.start('/')
.finish('/')
.kebab();
let resource = home + article
// resource value:
// 'https://planets.com/mars-a-cool-world/'
//
// article value:
// Stringable: { value: 'https://planets.com/mars-a-cool-world-to-visit', replace, before, after, etc... }
//Contribute
PRs are welcomed to this project. If you want to improve this package, add functionality or improve the docs please feel free to submit a PR.
Security Vulnerabilities
If you discover a security vulnerability within Clean Code Studio Packages Or Specifically within laravel-js-str, please send an e-mail to Zachary Horton via zak@cleancode.studio. All security vulnerabilities will be promptly addressed.
Change Log
Release 1.0.0
- Initial Release
Versioning
Semantic Versioning
| Code Status | Stage | Rule | Example Version |
|---|---|---|---|
| First release | New Product | Start with 1.0.0 | 1.0.0 |
| Backward compatible bug fixes | Patch Release | Increment the third digit | 1.0.1 |
| Backward compatible new features | Minor Release | Increment the middle digit and reset last digit to zero | 1.1.0 |
| Changes that break backward compatibility | Major Release | Increment the first digit and reset middle and last digits to zero | 2.0.0 |