1.10.5 • Published 5 years ago

@strdr4605/mockingcase v1.10.5

Weekly downloads
15
License
ISC
Repository
-
Last release
5 years ago

mockingcase Build Status

Convert a string to mOcKiNgCaSe.

Read more on wikipedia Studly caps.

Inspired by the meme Mocking Spongebob and http://dannypage.github.io/spongebob.html

Install

npm install @strdr4605/mockingcase --save

Usage

const mockingcase = require('@strdr4605/mockingcase');
// es6 - import mockingcase from '@strdr4605/mockingcase';
//  ts - import * as mockingcase from '@strdr4605/mockingcase';
//  ts - import mockingcase = require('@strdr4605/mockingcase');

mockingcase('foo-bar');
//=> 'fOo-bAr'

mockingcase('aa', {random: false});
//=> 'aA'

mockingcase('aa', {random: true});
//=> 'aa'
//=> 'aA'
//=> 'Aa'
//=> 'AA'

mockingcase('42foo!bar');
//=> '42fOo!bAr'

mockingcase('aa123', {onlyLetters: true});
//=> 'aA'

mockingcase('a13%$a', {onlyLetters: true});
//=> 'aA'

mockingcase('foo bar', {firstUpper: true});
//=> 'FoO BaR'

mockingcase('foo', {firstUpper: true, random: true});
//=> 'Foo'
//=> 'FOo'
//=> 'FoO'
//=> 'FOO'

mockingcase('abcdef', {upper: /[bdf]/});
//=> 'aBcDeF'

mockingcase('ABCDEF', {lower: 'bcd'});
//=> 'abcdeF'

API

Functions

Typedefs

mockingcase(input, options) ⇒ string :arrow_up:

Converts the input string(s) to mOcKiNgCaSe.

Kind: global function Returns: string - string in mOcKiNgCaSe

ParamTypeDefaultDescription
inputstring | Array.<string>String(s) to be converted.
optionsOptions{random: false, onlyLetters: false, firstUpper: false, upper: '', lower: ''}Conversion options.
mockingcase('foo-bar');
//=> 'fOo-bAr'

mockingcase('aa', {random: false});
//=> 'aA'

mockingcase('aa', {random: true});
//=> 'aa'
//=> 'aA'
//=> 'Aa'
//=> 'AA'

mockingcase('42foo!bar');
//=> '42fOo!bAr'

mockingcase('aa123', {onlyLetters: true});
//=> 'aA'

mockingcase('a13%$a', {onlyLetters: true});
//=> 'aA'

mockingcase('foo bar', {firstUpper: true});
//=> 'FoO BaR'

mockingcase('foo bar', {firstUpper: true, lower: /[fb]/});
//=> 'foO baR'

mockingcase('foo bar', {firstUpper: true, upper: /[oa]/});
//=> 'FOO BAR'

mockingcase('foo', {firstUpper: true, random: true});
//=> 'Foo'
//=> 'FOo'
//=> 'FoO'
//=> 'FOO'

mockingcase(['foo','bar']);
//=> 'fOoBaR'

mockingcase(undefined);
//=> Error "An input is required"

mockingcase.overrideString() ⇒ mockingcase :arrow_up:

Creates String.prototype.toMockingCase().

Kind: static method of mockingcase
Returns: mockingcase

mockingcase.overrideString();

'foo_bar'.toMockingCase();
//=> 'fOo_bAr'

'foo_bar'.toMockingCase({firstUpper: true});
//=> 'FoO_BaR'

String.prototype.toMockingCase(options) ⇒ string :arrow_up:

Converts this string to mOcKiNgCaSe.

NOTE: this function is created by invoking mockingcase.overrideString().

Kind: prototype
Returns: string - local string in mOcKiNgCaSe

ParamTypeDefaultDescription
inputstring | Array.<string>String(S) to be converted.
optionsOptions{random: false, onlyLetters: false, firstUpper: false, upper: '', lower: ''}Conversion options.
'foo_bar'.toMockingCase();
//=> 'fOo_bAr'

'foo_bar'.toMockingCase({firstUpper: true});
//=> 'FoO_BaR'

mockingcase.config(defaultOptions) ⇒ mockingcase :arrow_up:

Outputs a mockingcase with default options.

Kind: static method of mockingcase
Returns: mockingcase with default options

ParamTypeDefaultDescription
defaultOptionsOptions{random: false, onlyLetters: false, firstUpper: false, upper: '', lower: ''}Conversion options.
const mockingcase = require('@strdr4605/mockingcase').config({onlyLetters: true, firstUpper: true});
// const mOcKiNgCaSe = mOcKiNgCaSe.config({onlyLetters: true, firstUpper: true});

mockingcase('foo bar42');
//=> 'FoO BaR'

mockingcase('foo bar42', {onlyLetters: false, firstUpper: false});
//=> 'fOo bAr42'

mockingcase.log(input, options) :arrow_up:

Outputs a message to the console in mOcKiNgCaSe.

Kind: static method of mockingcase

ParamTypeDefaultDescription
inputstring | Array.<string>String(S) to be converted.
optionsOptions{random: false, onlyLetters: false, firstUpper: false, upper: '', lower: ''}Conversion options.
mockingcase.log('foo bar');
// console.log('fOo bAr');

mockingcase.overrideConsole(options) ⇒ mockingcase :arrow_up:

Overrides console.log input to print the input mOcKiNgCaSe.

Kind: static method of mockingcase
Returns: function - mockingcase function
See: mockingcase

ParamTypeDefaultDescription
optionsOptions{random: false, onlyLetters: false, firstUpper: false, upper: '', lower: ''}Conversion options.
const mockingcase = require('@strdr4605/mockingcase').overrideConsole();
console.log('foobar')
// => 'fOoBaR'
mockingcase('foobar');
// => 'fOoBaR'

Options : Object :arrow_up:

Options for mockingcase

Kind: global typedef
Properties

NameTypeDefaultDescription
randombooleanfalseIf case conversion should be randomized.
onlyLettersbooleanfalseIf non letters characters should be removed.
firstUpperbooleanfalseIf the first letter should be capitalized instead of the second when converting to mOcKiNgCaSe (e.g. MoCkInGcAsE). When combined with options.random, the first letter of the random string will be capitalized.
upperstring | RegExp''Characters or substring set to change to uppercase, upper has higher priority that lower.
lowerstring | RegExp''Characters or substring set to change to lowercase.

Browser Usage :arrow_up:

mOcKiNgCaSe can be used in a node environment, as well as in the browser. You can serve it yourself, or pull it from a CDN. For example:

<!DOCTYPE html>
<html lang="en">
<head>
  <title>mockingcase</title>
</head>
<body>
</body>
<script src="https://unpkg.com/@strdr4605/mockingcase@1.10.3/src/mockingcase.js"></script>
<script>
  const output = mockingcase('foo-bar');
  console.log(output);
  const output2 = mockingcase('foo-bar');
  console.log(output2);
</script>
</html>

Self Hosting

To host mockingcase yourself simply put src/mockingcase.js wherever your static content (like CSS stylesheets) are kept. You can also download a minified file from one of the CDNs below.

CDN Usage

Simply pull in one of the following JS files below.

NameLink
unpkg.comhttps://unpkg.com/@strdr4605/mockingcase@1.10.3/src/mockingcase.js
JSDelivr.comhttps://cdn.jsdelivr.net/npm/@strdr4605/mockingcase@1.10.3/src/mockingcase.min.js

See also Mockingcase bindings for ReasonML

1.10.5

5 years ago

1.11.0-dev-37

5 years ago

1.10.4

6 years ago

1.10.3

6 years ago

1.10.2

6 years ago

1.10.1

6 years ago

1.10.0

6 years ago

1.9.4

6 years ago

1.9.3

6 years ago

1.9.2

6 years ago