New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

voca

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

voca - npm Package Compare versions

Comparing version 1.4.0 to 1.4.1

es/camel_case.js

48

camel_case.js
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = camelCase;
require('./internal/is_nil.js');
require('./internal/coerce_to_boolean.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var capitalize = require('./capitalize.js');
var lower_case = require('./lower_case.js');
require('./internal/const.js');
require('./internal/const_extended.js');
require('./internal/nil_default.js');
require('./internal/to_string.js');
var words = require('./words.js');
var _capitalize = require('./capitalize');
var _capitalize2 = _interopRequireDefault(_capitalize);
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _lower_case = require('./lower_case');
var _lower_case2 = _interopRequireDefault(_lower_case);
var _words = require('./words');
var _words2 = _interopRequireDefault(_words);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -34,6 +23,6 @@ * Transforms the `word` into camel case chunk.

*/
function wordToCamel(word, index) {
return index === 0 ? (0, _lower_case2.default)(word) : (0, _capitalize2.default)(word, true);
return index === 0 ? lower_case(word) : capitalize(word, true);
}
/**

@@ -58,9 +47,14 @@ * Converts the `subject` to <a href="https://en.wikipedia.org/wiki/CamelCase">camel case</a>.

*/
function camelCase(subject) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
if (subjectString === '') {
return '';
}
return (0, _words2.default)(subjectString).map(wordToCamel).join('');
return words(subjectString).map(wordToCamel).join('');
}
module.exports = exports['default'];
module.exports = camelCase;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = capitalize;
require('./internal/is_nil.js');
var coerce_to_boolean = require('./internal/coerce_to_boolean.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _coerce_to_boolean = require('./helper/boolean/coerce_to_boolean');
var _coerce_to_boolean2 = _interopRequireDefault(_coerce_to_boolean);
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -36,13 +26,18 @@ * Converts the first character of `subject` to upper case. If `restToLower` is `true`, convert the rest of

*/
function capitalize(subject, restToLower) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var restToLowerCaseBoolean = (0, _coerce_to_boolean2.default)(restToLower);
var subjectString = coerce_to_string.coerceToString(subject);
var restToLowerCaseBoolean = coerce_to_boolean.coerceToBoolean(restToLower);
if (subjectString === '') {
return '';
}
if (restToLowerCaseBoolean) {
subjectString = subjectString.toLowerCase();
}
return subjectString.substr(0, 1).toUpperCase() + subjectString.substr(1);
}
module.exports = exports['default'];
module.exports = capitalize;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = charAt;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -31,6 +24,8 @@ * Access a character from `subject` at specified `position`.

*/
function charAt(subject, position) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
return subjectString.charAt(position);
}
module.exports = exports['default'];
module.exports = charAt;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = chars;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -27,6 +20,8 @@ * Splits `subject` into an array of characters.

*/
function chars(subject) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
return subjectString.split('');
}
module.exports = exports['default'];
module.exports = chars;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = codePointAt;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var coerce_to_number = require('./internal/coerce_to_number.js');
var nan_default = require('./internal/nan_default.js');
var _surrogate_pair = require('./helper/string/surrogate_pair');
var HIGH_SURROGATE_START = 0xd800;
var HIGH_SURROGATE_END = 0xdbff;
var LOW_SURROGATE_START = 0xdc00;
var LOW_SURROGATE_END = 0xdfff;
/**
* Checks if `codePoint` is a high-surrogate number from range 0xD800 to 0xDBFF.
*
* @ignore
* @param {number} codePoint The code point number to be verified
* @return {boolean} Returns a boolean whether `codePoint` is a high-surrogate number.
*/
var _coerce_to_number = require('./helper/number/coerce_to_number');
function isHighSurrogate(codePoint) {
return codePoint >= HIGH_SURROGATE_START && codePoint <= HIGH_SURROGATE_END;
}
/**
* Checks if `codePoint` is a low-surrogate number from range 0xDC00 to 0xDFFF.
*
* @ignore
* @param {number} codePoint The code point number to be verified
* @return {boolean} Returns a boolean whether `codePoint` is a low-surrogate number.
*/
var _coerce_to_number2 = _interopRequireDefault(_coerce_to_number);
function isLowSurrogate(codePoint) {
return codePoint >= LOW_SURROGATE_START && codePoint <= LOW_SURROGATE_END;
}
/**
* Get the astral code point number based on surrogate pair numbers.
*
* @ignore
* @param {number} highSurrogate The high-surrogate code point number.
* @param {number} lowSurrogate The low-surrogate code point number.
* @return {number} Returns the astral symbol number.
*/
var _coerce_to_string = require('./helper/string/coerce_to_string');
function getAstralNumberFromSurrogatePair(highSurrogate, lowSurrogate) {
return (highSurrogate - HIGH_SURROGATE_START) * 0x400 + lowSurrogate - LOW_SURROGATE_START + 0x10000;
}
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _nan_default = require('./helper/number/nan_default');
var _nan_default2 = _interopRequireDefault(_nan_default);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -45,20 +69,27 @@ * Get the Unicode code point value of the character at `position`. <br/>

*/
function codePointAt(subject, position) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
var subjectStringLength = subjectString.length;
var positionNumber = (0, _coerce_to_number2.default)(position);
positionNumber = (0, _nan_default2.default)(positionNumber, 0);
var positionNumber = coerce_to_number.coerceToNumber(position);
positionNumber = nan_default.nanDefault(positionNumber, 0);
if (positionNumber < 0 || positionNumber >= subjectStringLength) {
return undefined;
}
var firstCodePoint = subjectString.charCodeAt(positionNumber);
var secondCodePoint = void 0;
if ((0, _surrogate_pair.isHighSurrogate)(firstCodePoint) && subjectStringLength > positionNumber + 1) {
var secondCodePoint;
if (isHighSurrogate(firstCodePoint) && subjectStringLength > positionNumber + 1) {
secondCodePoint = subjectString.charCodeAt(positionNumber + 1);
if ((0, _surrogate_pair.isLowSurrogate)(secondCodePoint)) {
return (0, _surrogate_pair.getAstralNumberFromSurrogatePair)(firstCodePoint, secondCodePoint);
if (isLowSurrogate(secondCodePoint)) {
return getAstralNumberFromSurrogatePair(firstCodePoint, secondCodePoint);
}
}
return firstCodePoint;
}
module.exports = exports['default'];
module.exports = codePointAt;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = codePoints;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var code_point_at = require('./code_point_at.js');
require('./internal/coerce_to_number.js');
require('./internal/nan_default.js');
var _code_point_at = require('./code_point_at');
var _code_point_at2 = _interopRequireDefault(_code_point_at);
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -36,15 +28,19 @@ * Returns an array of Unicode code point values from characters of `subject`.

*/
function codePoints(subject) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
var subjectStringLength = subjectString.length;
var codePointArray = [];
var index = 0;
var codePointNumber = void 0;
var codePointNumber;
while (index < subjectStringLength) {
codePointNumber = (0, _code_point_at2.default)(subjectString, index);
codePointNumber = code_point_at(subjectString, index);
codePointArray.push(codePointNumber);
index += codePointNumber > 0xFFFF ? 2 : 1;
index += codePointNumber > 0xffff ? 2 : 1;
}
return codePointArray;
}
module.exports = exports['default'];
module.exports = codePoints;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = countGrapheme;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _const = require('./internal/const.js');
var _const = require('./helper/reg_exp/const');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -37,5 +29,7 @@ * Counts the graphemes in `subject` taking care of

*/
function countGrapheme(subject) {
return (0, _coerce_to_string2.default)(subject).replace(_const.REGEXP_COMBINING_MARKS, '*').replace(_const.REGEXP_SURROGATE_PAIRS, '*').length;
return coerce_to_string.coerceToString(subject).replace(_const.REGEXP_COMBINING_MARKS, '*').replace(_const.REGEXP_SURROGATE_PAIRS, '*').length;
}
module.exports = exports['default'];
module.exports = countGrapheme;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = countSubstrings;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -31,13 +24,17 @@ * Counts the number of `substring` appearances in `subject`.

*/
function countSubstrings(subject, substring) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var substringString = (0, _coerce_to_string2.default)(substring);
var subjectString = coerce_to_string.coerceToString(subject);
var substringString = coerce_to_string.coerceToString(substring);
var substringLength = substringString.length;
var count = 0;
var matchIndex = 0;
if (subjectString === '' || substringString === '') {
return count;
}
do {
matchIndex = subjectString.indexOf(substringString, matchIndex);
if (matchIndex !== -1) {

@@ -48,4 +45,6 @@ count++;

} while (matchIndex !== -1);
return count;
}
module.exports = exports['default'];
module.exports = countSubstrings;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = countWhere;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var reduce = Array.prototype.reduce;
/**

@@ -36,7 +28,10 @@ * Counts the characters in `subject` for which `predicate` returns truthy.

*/
function countWhere(subject, predicate, context) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
if (subjectString === '' || typeof predicate !== 'function') {
return 0;
}
var predicateWithContext = predicate.bind(context);

@@ -47,2 +42,3 @@ return reduce.call(subjectString, function (countTruthy, character, index) {

}
module.exports = exports['default'];
module.exports = countWhere;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = countWords;
require('./internal/is_nil.js');
require('./is_string.js');
require('./internal/coerce_to_string.js');
require('./internal/const.js');
require('./internal/const_extended.js');
require('./internal/nil_default.js');
require('./internal/to_string.js');
var words = require('./words.js');
var _words = require('./words');
var _words2 = _interopRequireDefault(_words);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -38,5 +36,7 @@ * Counts the number of words in `subject`.

*/
function countWords(subject, pattern, flags) {
return (0, _words2.default)(subject, pattern, flags).length;
return words(subject, pattern, flags).length;
}
module.exports = exports['default'];
module.exports = countWords;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = count;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -27,5 +20,7 @@ * Counts the characters in `subject`.<br/>

*/
function count(subject) {
return (0, _coerce_to_string2.default)(subject).length;
return coerce_to_string.coerceToString(subject).length;
}
module.exports = exports['default'];
module.exports = count;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = decapitalize;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -30,9 +23,13 @@ * Converts the first character of `subject` to lower case.

*/
function decapitalize(subject) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
if (subjectString === '') {
return '';
}
return subjectString.substr(0, 1).toLowerCase() + subjectString.substr(1);
}
module.exports = exports['default'];
module.exports = decapitalize;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = endsWith;
var is_nil = require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var to_integer = require('./internal/to_integer.js');
var _clip_number = require('./helper/number/clip_number');
var _clip_number2 = _interopRequireDefault(_clip_number);
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _is_nil = require('./helper/object/is_nil');
var _is_nil2 = _interopRequireDefault(_is_nil);
var _to_integer = require('./helper/number/to_integer');
var _to_integer2 = _interopRequireDefault(_to_integer);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -47,12 +29,16 @@ * Checks whether `subject` ends with `end`.

*/
function endsWith(subject, end, position) {
if ((0, _is_nil2.default)(end)) {
if (is_nil.isNil(end)) {
return false;
}
var subjectString = (0, _coerce_to_string2.default)(subject);
var endString = (0, _coerce_to_string2.default)(end);
var subjectString = coerce_to_string.coerceToString(subject);
var endString = coerce_to_string.coerceToString(end);
if (endString === '') {
return true;
}
position = (0, _is_nil2.default)(position) ? subjectString.length : (0, _clip_number2.default)((0, _to_integer2.default)(position), 0, subjectString.length);
position = is_nil.isNil(position) ? subjectString.length : to_integer.clipNumber(to_integer.toInteger(position), 0, subjectString.length);
position -= endString.length;

@@ -62,2 +48,3 @@ var lastIndex = subjectString.indexOf(endString, position);

}
module.exports = exports['default'];
module.exports = endsWith;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = escapeHtml;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _const = require('./internal/const.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _const = require('./helper/reg_exp/const');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var escapeCharactersMap = {

@@ -24,3 +16,2 @@ '<': '&lt;',

};
/**

@@ -33,6 +24,6 @@ * Return the escaped version of `character`.

*/
function replaceSpecialCharacter(character) {
return escapeCharactersMap[character];
}
/**

@@ -43,3 +34,3 @@ * Escapes HTML special characters <code>< > & ' " `</code> in <code>subject</code>.

* @static
* @since 1.0.0
* @since 1.0.0
* @memberOf Escape

@@ -52,5 +43,8 @@ * @param {string} [subject=''] The string to escape.

*/
function escapeHtml(subject) {
return (0, _coerce_to_string2.default)(subject).replace(_const.REGEXP_HTML_SPECIAL_CHARACTERS, replaceSpecialCharacter);
return coerce_to_string.coerceToString(subject).replace(_const.REGEXP_HTML_SPECIAL_CHARACTERS, replaceSpecialCharacter);
}
module.exports = exports['default'];
module.exports = escapeHtml;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = escapeRegExp;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _const = require('./internal/const.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _const = require('./helper/reg_exp/const');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -29,5 +21,7 @@ * Escapes the regular expression special characters `- [ ] / { } ( ) * + ? . \ ^ $ |` in `subject`.

*/
function escapeRegExp(subject) {
return (0, _coerce_to_string2.default)(subject).replace(_const.REGEXP_SPECIAL_CHARACTERS, '\\$&');
return coerce_to_string.coerceToString(subject).replace(_const.REGEXP_SPECIAL_CHARACTERS, '\\$&');
}
module.exports = exports['default'];
module.exports = escapeRegExp;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = first;
var is_nil = require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var to_integer = require('./internal/to_integer.js');
var _clip_number = require('./helper/number/clip_number');
var _clip_number2 = _interopRequireDefault(_clip_number);
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _is_nil = require('./helper/object/is_nil');
var _is_nil2 = _interopRequireDefault(_is_nil);
var _const = require('./helper/number/const');
var _to_integer = require('./helper/number/to_integer');
var _to_integer2 = _interopRequireDefault(_to_integer);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -48,10 +28,14 @@ * Extracts the first `length` characters from `subject`.

*/
function first(subject, length) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var lengthInt = (0, _is_nil2.default)(length) ? 1 : (0, _clip_number2.default)((0, _to_integer2.default)(length), 0, _const.MAX_SAFE_INTEGER);
var subjectString = coerce_to_string.coerceToString(subject);
var lengthInt = is_nil.isNil(length) ? 1 : to_integer.clipNumber(to_integer.toInteger(length), 0, to_integer.MAX_SAFE_INTEGER);
if (subjectString.length <= lengthInt) {
return subjectString;
}
return subjectString.substr(0, lengthInt);
}
module.exports = exports['default'];
module.exports = first;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = graphemeAt;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _const = require('./internal/const.js');
var coerce_to_number = require('./internal/coerce_to_number.js');
var nan_default = require('./internal/nan_default.js');
var _coerce_to_number = require('./helper/number/coerce_to_number');
var _coerce_to_number2 = _interopRequireDefault(_coerce_to_number);
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _nan_default = require('./helper/number/nan_default');
var _nan_default2 = _interopRequireDefault(_nan_default);
var _const = require('./helper/reg_exp/const');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -43,8 +29,10 @@ * Get a grapheme from `subject` at specified `position` taking care of

*/
function graphemeAt(subject, position) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var positionNumber = (0, _coerce_to_number2.default)(position);
var graphemeMatch = void 0;
var subjectString = coerce_to_string.coerceToString(subject);
var positionNumber = coerce_to_number.coerceToNumber(position);
var graphemeMatch;
var graphemeMatchIndex = 0;
positionNumber = (0, _nan_default2.default)(positionNumber, 0);
positionNumber = nan_default.nanDefault(positionNumber, 0);
while ((graphemeMatch = _const.REGEXP_UNICODE_CHARACTER.exec(subjectString)) !== null) {

@@ -55,6 +43,9 @@ if (graphemeMatchIndex === positionNumber) {

}
graphemeMatchIndex++;
}
return '';
}
module.exports = exports['default'];
module.exports = graphemeAt;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = graphemes;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _const = require('./internal/const.js');
var nil_default = require('./internal/nil_default.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _nil_default = require('./helper/undefined/nil_default');
var _nil_default2 = _interopRequireDefault(_nil_default);
var _const = require('./helper/reg_exp/const');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -40,6 +29,8 @@ * Splits `subject` into an array of graphemes taking care of

*/
function graphemes(subject) {
var subjectString = (0, _coerce_to_string2.default)(subject);
return (0, _nil_default2.default)(subjectString.match(_const.REGEXP_UNICODE_CHARACTER), []);
var subjectString = coerce_to_string.coerceToString(subject);
return nil_default.nilDefault(subjectString.match(_const.REGEXP_UNICODE_CHARACTER), []);
}
module.exports = exports['default'];
module.exports = graphemes;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = includes;
var is_nil = require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var to_string = require('./internal/to_string.js');
var to_integer = require('./internal/to_integer.js');
var _clip_number = require('./helper/number/clip_number');
var _clip_number2 = _interopRequireDefault(_clip_number);
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _is_nil = require('./helper/object/is_nil');
var _is_nil2 = _interopRequireDefault(_is_nil);
var _to_integer = require('./helper/number/to_integer');
var _to_integer2 = _interopRequireDefault(_to_integer);
var _to_string = require('./helper/string/to_string');
var _to_string2 = _interopRequireDefault(_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -48,14 +27,19 @@ * Checks whether `subject` includes `search` starting from `position`.

*/
function includes(subject, search, position) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var searchString = (0, _to_string2.default)(search);
var subjectString = coerce_to_string.coerceToString(subject);
var searchString = to_string.toString(search);
if (searchString === null) {
return false;
}
if (searchString === '') {
return true;
}
position = (0, _is_nil2.default)(position) ? 0 : (0, _clip_number2.default)((0, _to_integer2.default)(position), 0, subjectString.length);
position = is_nil.isNil(position) ? 0 : to_integer.clipNumber(to_integer.toInteger(position), 0, subjectString.length);
return subjectString.indexOf(searchString, position) !== -1;
}
module.exports = exports['default'];
module.exports = includes;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = indexOf;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -32,6 +25,8 @@ * Returns the first occurrence index of `search` in `subject`.

*/
function indexOf(subject, search, fromIndex) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
return subjectString.indexOf(search, fromIndex);
}
module.exports = exports['default'];
module.exports = indexOf;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = insert;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var coerce_to_number = require('./internal/coerce_to_number.js');
var _coerce_to_number = require('./helper/number/coerce_to_number');
var _coerce_to_number2 = _interopRequireDefault(_coerce_to_number);
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -36,11 +26,15 @@ * Inserts into `subject` a string `toInsert` at specified `position`.

*/
function insert(subject, toInsert, position) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var toInsertString = (0, _coerce_to_string2.default)(toInsert);
var positionNumber = (0, _coerce_to_number2.default)(position);
var subjectString = coerce_to_string.coerceToString(subject);
var toInsertString = coerce_to_string.coerceToString(toInsert);
var positionNumber = coerce_to_number.coerceToNumber(position);
if (positionNumber < 0 || positionNumber > subjectString.length || toInsertString === '') {
return subjectString;
}
return subjectString.slice(0, positionNumber) + toInsertString + subjectString.slice(positionNumber);
}
module.exports = exports['default'];
module.exports = insert;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = isAlphaDigit;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
require('./internal/const.js');
var const_extended = require('./internal/const_extended.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _const_extended = require('./helper/reg_exp/const_extended');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -35,6 +28,8 @@ * Checks whether `subject` contains only alpha and digit characters.

*/
function isAlphaDigit(subject) {
var subjectString = (0, _coerce_to_string2.default)(subject);
return _const_extended.REGEXP_ALPHA_DIGIT.test(subjectString);
var subjectString = coerce_to_string.coerceToString(subject);
return const_extended.REGEXP_ALPHA_DIGIT.test(subjectString);
}
module.exports = exports['default'];
module.exports = isAlphaDigit;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = isAlpha;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
require('./internal/const.js');
var const_extended = require('./internal/const_extended.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _const_extended = require('./helper/reg_exp/const_extended');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -35,6 +28,8 @@ * Checks whether `subject` contains only alpha characters.

*/
function isAlpha(subject) {
var subjectString = (0, _coerce_to_string2.default)(subject);
return _const_extended.REGEXP_ALPHA.test(subjectString);
var subjectString = coerce_to_string.coerceToString(subject);
return const_extended.REGEXP_ALPHA.test(subjectString);
}
module.exports = exports['default'];
module.exports = isAlpha;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = isBlank;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -33,6 +26,8 @@ * Checks whether `subject` is empty or contains only whitespaces.

*/
function isBlank(subject) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
return subjectString.trim().length === 0;
}
module.exports = exports['default'];
module.exports = isBlank;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = isDigit;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _const = require('./internal/const.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _const = require('./helper/reg_exp/const');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -35,6 +27,8 @@ * Checks whether `subject` contains only digit characters.

*/
function isDigit(subject) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
return _const.REGEXP_DIGIT.test(subjectString);
}
module.exports = exports['default'];
module.exports = isDigit;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = isEmpty;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -33,6 +26,8 @@ * Checks whether `subject` is empty.

*/
function isEmpty(subject) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
return subjectString.length === 0;
}
module.exports = exports['default'];
module.exports = isEmpty;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = isLowerCase;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
require('./internal/const.js');
require('./internal/const_extended.js');
var is_alpha = require('./is_alpha.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _is_alpha = require('./is_alpha');
var _is_alpha2 = _interopRequireDefault(_is_alpha);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -37,6 +29,8 @@ * Checks whether `subject` has only lower case characters.

*/
function isLowerCase(subject) {
var valueString = (0, _coerce_to_string2.default)(subject);
return (0, _is_alpha2.default)(valueString) && valueString.toLowerCase() === valueString;
var valueString = coerce_to_string.coerceToString(subject);
return is_alpha(valueString) && valueString.toLowerCase() === valueString;
}
module.exports = exports['default'];
module.exports = isLowerCase;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = isNumeric;
var is_nil = require('./internal/is_nil.js');
var _is_nil = require('./helper/object/is_nil');
var _is_nil2 = _interopRequireDefault(_is_nil);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -36,6 +27,8 @@ * Checks whether `subject` is numeric.

*/
function isNumeric(subject) {
var valueNumeric = typeof subject === 'object' && !(0, _is_nil2.default)(subject) ? Number(subject) : subject;
var valueNumeric = typeof subject === 'object' && !is_nil.isNil(subject) ? Number(subject) : subject;
return (typeof valueNumeric === 'number' || typeof valueNumeric === 'string') && !isNaN(valueNumeric - parseFloat(valueNumeric));
}
module.exports = exports['default'];
module.exports = isNumeric;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = isString;
/**

@@ -26,2 +22,3 @@ * Checks whether `subject` is a string primitive type.

}
module.exports = exports['default'];
module.exports = isString;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = isUpperCase;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
require('./internal/const.js');
require('./internal/const_extended.js');
var is_alpha = require('./is_alpha.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _is_alpha = require('./is_alpha');
var _is_alpha2 = _interopRequireDefault(_is_alpha);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -34,6 +26,8 @@ * Checks whether `subject` contains only upper case characters.

*/
function isUpperCase(subject) {
var subjectString = (0, _coerce_to_string2.default)(subject);
return (0, _is_alpha2.default)(subjectString) && subjectString.toUpperCase() === subjectString;
var subjectString = coerce_to_string.coerceToString(subject);
return is_alpha(subjectString) && subjectString.toUpperCase() === subjectString;
}
module.exports = exports['default'];
module.exports = isUpperCase;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = kebabCase;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var lower_case = require('./lower_case.js');
require('./internal/const.js');
require('./internal/const_extended.js');
require('./internal/nil_default.js');
require('./internal/to_string.js');
var words = require('./words.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _lower_case = require('./lower_case');
var _lower_case2 = _interopRequireDefault(_lower_case);
var _words = require('./words');
var _words2 = _interopRequireDefault(_words);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -42,9 +33,13 @@ * Converts the `subject` to <a href="https://en.wikipedia.org/wiki/Letter_case#cite_ref-13">kebab case</a>,

*/
function kebabCase(subject) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
if (subjectString === '') {
return '';
}
return (0, _words2.default)(subjectString).map(_lower_case2.default).join('-');
return words(subjectString).map(lower_case).join('-');
}
module.exports = exports['default'];
module.exports = kebabCase;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = lastIndexOf;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -32,6 +25,8 @@ * Returns the last occurrence index of `search` in `subject`.

*/
function lastIndexOf(subject, search, fromIndex) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
return subjectString.lastIndexOf(search, fromIndex);
}
module.exports = exports['default'];
module.exports = lastIndexOf;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = last;
var is_nil = require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var to_integer = require('./internal/to_integer.js');
var _clip_number = require('./helper/number/clip_number');
var _clip_number2 = _interopRequireDefault(_clip_number);
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _is_nil = require('./helper/object/is_nil');
var _is_nil2 = _interopRequireDefault(_is_nil);
var _const = require('./helper/number/const');
var _to_integer = require('./helper/number/to_integer');
var _to_integer2 = _interopRequireDefault(_to_integer);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -48,10 +28,14 @@ * Extracts the last `length` characters from `subject`.

*/
function last(subject, length) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var lengthInt = (0, _is_nil2.default)(length) ? 1 : (0, _clip_number2.default)((0, _to_integer2.default)(length), 0, _const.MAX_SAFE_INTEGER);
var subjectString = coerce_to_string.coerceToString(subject);
var lengthInt = is_nil.isNil(length) ? 1 : to_integer.clipNumber(to_integer.toInteger(length), 0, to_integer.MAX_SAFE_INTEGER);
if (subjectString.length <= lengthInt) {
return subjectString;
}
return subjectString.substr(subjectString.length - lengthInt, lengthInt);
}
module.exports = exports['default'];
module.exports = last;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = latinise;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _const = require('./internal/const.js');
var _const = require('./helper/reg_exp/const');
/**
* Generated diacritics map. See bellow the base code.
* @ignore
* @type Object
*/
var diacritics = {
'3': '\u039e\u03be',
'8': '\u0398\u03b8',
A: '\x41\xc0\xc1\xc2\xc3\xc4\xc5\u0100\u0102\u0104\u01cd\u01de\u01e0\u01fa\u0200\u0202\u0226\u023a\u0386\u0391\u0410',
B: '\x42\u0181\u0182\u0243\u0392\u0411',
C: '\x43\xc7\u0106\u0108\u010a\u010c\u0187\u023b\u0426',
D: '\x44\u010e\u0110\u0189\u018a\u018b\xd0\u0394\u0414',
E: '\x45\xc8\xc9\xca\xcb\u0112\u0114\u0116\u0118\u011a\u018e\u0190\u0204\u0206\u0228\u0388\u0395\u0415\u042d',
F: '\x46\u0191\u03a6\u0424',
G: '\x47\u011c\u011e\u0120\u0122\u0193\u01e4\u01e6\u01f4\u0393\u0413\u0490',
H: '\x48\u0124\u0126\u021e\u0389\u0397\u0425',
I: '\x49\xcc\xcd\xce\xcf\u0128\u012a\u012c\u012e\u0130\u0197\u01cf\u0208\u020a\u038a\u0399\u03aa\u0406\u0418',
J: '\x4a\u0134\u0248\u0419',
K: '\x4b\u0136\u0198\u01e8\u039a\u041a',
L: '\x4c\u0139\u013b\u013d\u013f\u0141\u023d\u039b\u041b',
M: '\x4d\u019c\u039c\u041c',
N: '\x4e\xd1\u0143\u0145\u0147\u019d\u01f8\u0220\u039d\u041d',
O: '\x4f\xd2\xd3\xd4\xd5\xd6\xd8\u014c\u014e\u0150\u0186\u019f\u01a0\u01d1\u01ea\u01ec\u01fe\u020c\u020e\u022a\u022c\u022e\u0230\u038c\u039f\u041e',
P: '\x50\u01a4\u03a0\u041f',
Q: '\x51\u024a',
R: '\x52\u0154\u0156\u0158\u0210\u0212\u024c\u03a1\u0420',
S: '\x53\u015a\u015c\u015e\u0160\u0218\u03a3\u0421',
T: '\x54\u0162\u0164\u0166\u01ac\u01ae\u021a\u023e\u03a4\u0422',
U: '\x55\xd9\xda\xdb\xdc\u0168\u016a\u016c\u016e\u0170\u0172\u01af\u01d3\u01d5\u01d7\u01d9\u01db\u0214\u0216\u0244\u0423\u042a',
V: '\x56\u01b2\u0245\u0412',
W: '\x57\u0174\u038f\u03a9',
X: '\x58\u03a7',
Y: '\x59\xdd\u0176\u0178\u01b3\u0232\u024e\u038e\u03a5\u03ab\u042b',
Z: '\x5a\u0179\u017b\u017d\u01b5\u0224\u0396\u0417',
a: '\x61\xe0\xe1\xe2\xe3\xe4\xe5\u0101\u0103\u0105\u01ce\u01df\u01e1\u01fb\u0201\u0203\u0227\u0250\u03ac\u03b1\u0430',
b: '\x62\u0180\u0183\u0253\u03b2\u0431',
c: '\x63\xe7\u0107\u0109\u010b\u010d\u0188\u023c\u0446',
d: '\x64\u010f\u0111\u018c\u0256\u0257\xf0\u03b4\u0434',
e: '\x65\xe8\xe9\xea\xeb\u0113\u0115\u0117\u0119\u011b\u01dd\u0205\u0207\u0229\u0247\u025b\u03ad\u03b5\u0435\u044d',
f: '\x66\u0192\u03c6\u0444',
g: '\x67\u011d\u011f\u0121\u0123\u01e5\u01e7\u01f5\u0260\u03b3\u0433\u0491',
h: '\x68\u0125\u0127\u021f\u0265\u03ae\u03b7\u0445',
i: '\x69\xec\xed\xee\xef\u0129\u012b\u012d\u012f\u0131\u01d0\u0209\u020b\u0268\u0390\u03af\u03b9\u03ca\u0438\u0456',
j: '\x6a\u0135\u01f0\u0249\u0439',
k: '\x6b\u0137\u0199\u01e9\u03ba\u043a',
l: '\x6c\u013a\u013c\u013e\u0140\u0142\u017f\u019a\u026b\u03bb\u043b',
m: '\x6d\u026f\u0271\u03bc\u043c',
n: '\x6e\xf1\u0144\u0146\u0148\u0149\u019e\u01f9\u0272\u03bd\u043d',
o: '\x6f\xf2\xf3\xf4\xf5\xf6\xf8\u014d\u014f\u0151\u01a1\u01d2\u01eb\u01ed\u01ff\u020d\u020f\u022b\u022d\u022f\u0231\u0254\u0275\u03bf\u03cc\u043e',
p: '\x70\u01a5\u03c0\u043f',
q: '\x71\u024b',
r: '\x72\u0155\u0157\u0159\u0211\u0213\u024d\u027d\u03c1\u0440',
s: '\x73\xdf\u015b\u015d\u015f\u0161\u0219\u023f\u03c2\u03c3\u0441',
t: '\x74\u0163\u0165\u0167\u01ad\u021b\u0288\u03c4\u0442',
u: '\x75\xf9\xfa\xfb\xfc\u0169\u016b\u016d\u016f\u0171\u0173\u01b0\u01d4\u01d6\u01d8\u01da\u01dc\u0215\u0217\u0289\u0443\u044a',
v: '\x76\u028b\u028c\u0432',
w: '\x77\u0175\u03c9\u03ce',
x: '\x78\u03c7',
y: '\x79\xfd\xff\u0177\u01b4\u0233\u024f\u03b0\u03c5\u03cb\u03cd\u044b',
z: '\x7a\u017a\u017c\u017e\u01b6\u0225\u0240\u03b6\u0437',
OE: '\x8c\u0152',
oe: '\x9c\u0153',
AE: '\xc6\u01e2\u01fc',
ae: '\xe6\u01e3\u01fd',
hv: '\u0195',
OI: '\u01a2',
oi: '\u01a3',
DZ: '\u01c4\u01f1',
Dz: '\u01c5\u01f2',
dz: '\u01c6\u01f3',
LJ: '\u01c7',
Lj: '\u01c8',
lj: '\u01c9',
NJ: '\u01ca',
Nj: '\u01cb',
nj: '\u01cc',
OU: '\u0222',
ou: '\u0223',
TH: '\xde',
th: '\xfe',
PS: '\u03a8',
ps: '\u03c8',
Yo: '\u0401',
Ye: '\u0404',
Yi: '\u0407',
Zh: '\u0416',
Ch: '\u0427',
Sh: '\u0428\u0429',
'': '\u042a\u042c\u044c',
Yu: '\u042e',
Ya: '\u042f',
zh: '\u0436',
ch: '\u0447',
sh: '\u0448\u0449',
yu: '\u044e',
ya: '\u044f',
yo: '\u0451',
ye: '\u0454',
yi: '\u0457'
};
var diacriticsMap = null;
/**
* Creates a map of the diacritics.
*
* @ignore
* @returns {Object} Returns the diacritics map.
*/
var _coerce_to_string = require('./helper/string/coerce_to_string');
function getDiacriticsMap() {
if (diacriticsMap !== null) {
return diacriticsMap;
}
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
diacriticsMap = {};
Object.keys(diacritics).forEach(function (key) {
var characters = diacritics[key];
var _diacritics_map = require('./helper/string/diacritics_map');
for (var index = 0; index < characters.length; index++) {
var character = characters[index];
diacriticsMap[character] = key;
}
});
return diacriticsMap;
}
/**
* Get the latin character from character with diacritics.
*
* @ignore
* @param {string} character The character with diacritics.
* @returns {string} Returns the character without diacritics.
*/
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function getLatinCharacter(character) {
var characterWithoutDiacritic = getDiacriticsMap()[character];
return characterWithoutDiacritic ? characterWithoutDiacritic : character;
}
/**

@@ -26,6 +154,6 @@ * Returns the `cleanCharacter` from combining marks regular expression match.

*/
function removeCombiningMarks(character, cleanCharacter) {
return cleanCharacter;
}
/**

@@ -50,9 +178,14 @@ * Latinises the `subject` by removing diacritic characters.

*/
function latinise(subject) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
if (subjectString === '') {
return '';
}
return subjectString.replace(_const.REGEXP_NON_LATIN, _diacritics_map.getLatinCharacter).replace(_const.REGEXP_COMBINING_MARKS, removeCombiningMarks);
return subjectString.replace(_const.REGEXP_NON_LATIN, getLatinCharacter).replace(_const.REGEXP_COMBINING_MARKS, removeCombiningMarks);
}
module.exports = exports['default'];
module.exports = latinise;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = lowerCase;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -30,6 +23,8 @@ * Converts the `subject` to lower case.

*/
function lowerCase(subject) {
var subjectString = (0, _coerce_to_string2.default)(subject, '');
var subjectString = coerce_to_string.coerceToString(subject, '');
return subjectString.toLowerCase();
}
module.exports = exports['default'];
module.exports = lowerCase;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = matches;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var to_string = require('./internal/to_string.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _to_string = require('./helper/string/to_string');
var _to_string2 = _interopRequireDefault(_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -39,15 +29,21 @@ * Checks whether `subject` matches the regular expression `pattern`.

*/
function matches(subject, pattern, flags) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var flagsString = (0, _coerce_to_string2.default)(flags);
var patternString = void 0;
var subjectString = coerce_to_string.coerceToString(subject);
var flagsString = coerce_to_string.coerceToString(flags);
var patternString;
if (!(pattern instanceof RegExp)) {
patternString = (0, _to_string2.default)(pattern);
patternString = to_string.toString(pattern);
if (patternString === null) {
return false;
}
pattern = new RegExp(patternString, flagsString);
}
return pattern.test(subjectString);
}
module.exports = exports['default'];
module.exports = matches;
{
"name": "voca",
"version": "1.4.0",
"version": "1.4.1",
"description": "The ultimate JavaScript string library",
"homepage": "https://vocajs.com",
"homepage": "https://vocajs.pages.dev",
"author": {
"name": "Dmitri Pavlutin",
"email": "dmitri@rainsoft.io",
"email": "dmitripavlutin@gmail.com",
"url": "https://dmitripavlutin.com/about-me/"

@@ -32,55 +32,51 @@ },

"url": "https://github.com/panzerdp/voca/issues",
"email": "dmitri@rainsoft.io"
"email": "dmitripavlutin@gmail.com"
},
"main": "index.js",
"jsnext:main": "index.es2015.js",
"module": "es/index.js",
"scripts": {
"eslint": "eslint ./src --ext .js --fix",
"build": "npm run build-dist && npm run build-npm-package",
"build-dist": "rollup -c config/rollup_dist.js && rollup -c config/rollup_dist_min.js && rollup -c config/rollup_test.js",
"build-npm-package": "npm run prepare-npm-package && rollup -c config/rollup_dist_mod.js && node config/transform.js && rollup -c config/rollup_dist_es.js",
"prepare-npm-package": "rm -rf dist_mod && mkdir dist_mod && cp package.json README.md LICENSE.md ./dist_mod",
"test": "mocha test/index.js --reporter dot",
"test-npm-package": "mocha test/modules_common.js test/modules_es2015.js --reporter dot",
"test-sl": "grunt --gruntfile ./test_runner/gruntfile.js --base .",
"coverage": "istanbul cover _mocha -- test/index.js --reporter spec",
"report-coverage": "cat ./coverage/lcov.info | codecov",
"build": "npm run build-universal && npm run build-module",
"build-universal": "rollup -c config/rollup/dist/umd-min.js && rollup -c config/rollup/dist/umd.js",
"build-module": "rollup -c config/rollup/module/cjs-all.js && rollup -c config/rollup/module/umd.js && rollup -c config/rollup/module/es.js && rollup -c config/rollup/module/es-all.js",
"prepare-npm-package": "rm -rf dist_mod && mkdir dist_mod && cp package.json README.md LICENSE.md ./dist_mod && npm run build",
"test": "jest",
"coverage": "jest --coverage",
"verify": "npm run eslint && npm run coverage",
"jsdoc": "jsdoc --configure .jsdoc.json",
"deploy": "rollup -c config/rollup_dist.js && cp dist/voca.js docs/scripts && scp -r docs/* rainishere:/home/rainishere/webapps/voca_docs",
"precommit": "npm run eslint && npm run test"
"precommit": "lint-staged && jest --onlyChanged"
},
"devDependencies": {
"babel-cli": "6.26.0",
"babel-core": "6.26.0",
"babel-eslint": "8.1.1",
"babel-plugin-add-module-exports": "0.2.1",
"babel-plugin-module-resolver": "3.0.0",
"babel-plugin-transform-es2015-block-scoping": "6.26.0",
"babel-plugin-transform-es2015-destructuring": "6.23.0",
"babel-plugin-transform-es2015-modules-commonjs": "6.26.0",
"babel-plugin-transform-es2015-parameters": "6.24.1",
"babel-plugin-transform-es2015-shorthand-properties": "6.24.1",
"babel-plugin-transform-es2015-spread": "6.22.0",
"babel-plugin-transform-object-assign": "6.22.0",
"babel-register": "6.26.0",
"babel-root-import": "4.1.8",
"chai": "4.1.2",
"codecov.io": "0.1.6",
"eslint": "4.14.0",
"glob": "7.1.2",
"grunt": "1.0.1",
"grunt-contrib-connect": "1.0.2",
"grunt-saucelabs": "9.0.0",
"husky": "0.14.3",
"istanbul": "1.1.0-alpha.1",
"jsdoc": "3.5.5",
"mkdirp": "0.5.1",
"mocha": "4.0.1",
"rollup": "0.53.0",
"rollup-plugin-babel": "3.0.3",
"rollup-plugin-uglify": "2.0.1",
"source-map-support": "0.5.0"
"@babel/core": "7.7.7",
"@babel/plugin-transform-block-scoping": "7.7.4",
"@babel/plugin-transform-destructuring": "7.7.4",
"@babel/plugin-transform-modules-commonjs": "7.7.5",
"@babel/plugin-transform-object-assign": "7.7.4",
"@babel/plugin-transform-parameters": "7.7.7",
"@babel/plugin-transform-shorthand-properties": "7.7.4",
"@babel/plugin-transform-spread": "7.7.4",
"@rollup/plugin-multi-entry": "3.0.0",
"babel-eslint": "10.0.3",
"babel-plugin-module-resolver": "4.0.0",
"eslint": "6.8.0",
"glob": "7.1.6",
"husky": "3.1.0",
"jest": "24.9.0",
"jsdoc": "3.6.3",
"lint-staged": "9.5.0",
"prettier": "1.19.1",
"rollup": "1.27.14",
"rollup-plugin-babel": "4.3.3",
"rollup-plugin-uglify": "6.0.4",
"source-map-support": "0.5.16"
},
"dependencies": {}
"dependencies": {},
"lint-staged": {
"*.{js}": [
"eslint --fix",
"prettier --write",
"git add"
]
}
}
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = padLeft;
var is_nil = require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var to_integer = require('./internal/to_integer.js');
require('./repeat.js');
var build_padding = require('./internal/build_padding.js');
var _build_padding = require('./helper/string/build_padding');
var _build_padding2 = _interopRequireDefault(_build_padding);
var _clip_number = require('./helper/number/clip_number');
var _clip_number2 = _interopRequireDefault(_clip_number);
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _is_nil = require('./helper/object/is_nil');
var _is_nil2 = _interopRequireDefault(_is_nil);
var _const = require('./helper/number/const');
var _to_integer = require('./helper/number/to_integer');
var _to_integer2 = _interopRequireDefault(_to_integer);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -53,11 +31,15 @@ * Pads `subject` from left to a new `length`.

*/
function padLeft(subject, length, pad) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var lengthInt = (0, _is_nil2.default)(length) ? 0 : (0, _clip_number2.default)((0, _to_integer2.default)(length), 0, _const.MAX_SAFE_INTEGER);
var padString = (0, _coerce_to_string2.default)(pad, ' ');
var subjectString = coerce_to_string.coerceToString(subject);
var lengthInt = is_nil.isNil(length) ? 0 : to_integer.clipNumber(to_integer.toInteger(length), 0, to_integer.MAX_SAFE_INTEGER);
var padString = coerce_to_string.coerceToString(pad, ' ');
if (lengthInt <= subjectString.length) {
return subjectString;
}
return (0, _build_padding2.default)(padString, lengthInt - subjectString.length) + subjectString;
return build_padding.buildPadding(padString, lengthInt - subjectString.length) + subjectString;
}
module.exports = exports['default'];
module.exports = padLeft;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = padRight;
var is_nil = require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var to_integer = require('./internal/to_integer.js');
require('./repeat.js');
var build_padding = require('./internal/build_padding.js');
var _build_padding = require('./helper/string/build_padding');
var _build_padding2 = _interopRequireDefault(_build_padding);
var _clip_number = require('./helper/number/clip_number');
var _clip_number2 = _interopRequireDefault(_clip_number);
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _is_nil = require('./helper/object/is_nil');
var _is_nil2 = _interopRequireDefault(_is_nil);
var _const = require('./helper/number/const');
var _to_integer = require('./helper/number/to_integer');
var _to_integer2 = _interopRequireDefault(_to_integer);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -53,11 +31,15 @@ * Pads `subject` from right to a new `length`.

*/
function padRight(subject, length, pad) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var lengthInt = (0, _is_nil2.default)(length) ? 0 : (0, _clip_number2.default)((0, _to_integer2.default)(length), 0, _const.MAX_SAFE_INTEGER);
var padString = (0, _coerce_to_string2.default)(pad, ' ');
var subjectString = coerce_to_string.coerceToString(subject);
var lengthInt = is_nil.isNil(length) ? 0 : to_integer.clipNumber(to_integer.toInteger(length), 0, to_integer.MAX_SAFE_INTEGER);
var padString = coerce_to_string.coerceToString(pad, ' ');
if (lengthInt <= subjectString.length) {
return subjectString;
}
return subjectString + (0, _build_padding2.default)(padString, lengthInt - subjectString.length);
return subjectString + build_padding.buildPadding(padString, lengthInt - subjectString.length);
}
module.exports = exports['default'];
module.exports = padRight;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = pad;
var is_nil = require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var to_integer = require('./internal/to_integer.js');
require('./repeat.js');
var build_padding = require('./internal/build_padding.js');
var _build_padding = require('./helper/string/build_padding');
var _build_padding2 = _interopRequireDefault(_build_padding);
var _clip_number = require('./helper/number/clip_number');
var _clip_number2 = _interopRequireDefault(_clip_number);
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _is_nil = require('./helper/object/is_nil');
var _is_nil2 = _interopRequireDefault(_is_nil);
var _const = require('./helper/number/const');
var _to_integer = require('./helper/number/to_integer');
var _to_integer2 = _interopRequireDefault(_to_integer);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -53,14 +31,18 @@ * Pads `subject` to a new `length`.

*/
function pad(subject, length, pad) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var lengthInt = (0, _is_nil2.default)(length) ? 0 : (0, _clip_number2.default)((0, _to_integer2.default)(length), 0, _const.MAX_SAFE_INTEGER);
var padString = (0, _coerce_to_string2.default)(pad, ' ');
var subjectString = coerce_to_string.coerceToString(subject);
var lengthInt = is_nil.isNil(length) ? 0 : to_integer.clipNumber(to_integer.toInteger(length), 0, to_integer.MAX_SAFE_INTEGER);
var padString = coerce_to_string.coerceToString(pad, ' ');
if (lengthInt <= subjectString.length) {
return subjectString;
}
var paddingLength = lengthInt - subjectString.length;
var paddingSideLength = (0, _to_integer2.default)(paddingLength / 2);
var paddingSideLength = to_integer.toInteger(paddingLength / 2);
var paddingSideRemainingLength = paddingLength % 2;
return (0, _build_padding2.default)(padString, paddingSideLength) + subjectString + (0, _build_padding2.default)(padString, paddingSideLength + paddingSideRemainingLength);
return build_padding.buildPadding(padString, paddingSideLength) + subjectString + build_padding.buildPadding(padString, paddingSideLength + paddingSideRemainingLength);
}
module.exports = exports['default'];
module.exports = pad;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = prune;
var is_nil = require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
require('./internal/const.js');
var const_extended = require('./internal/const_extended.js');
var to_integer = require('./internal/to_integer.js');
var _const_extended = require('./helper/reg_exp/const_extended');
var _clip_number = require('./helper/number/clip_number');
var _clip_number2 = _interopRequireDefault(_clip_number);
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _is_nil = require('./helper/object/is_nil');
var _is_nil2 = _interopRequireDefault(_is_nil);
var _const = require('./helper/number/const');
var _to_integer = require('./helper/number/to_integer');
var _to_integer2 = _interopRequireDefault(_to_integer);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -52,13 +32,17 @@ * Truncates `subject` to a new `length` and does not break the words. Guarantees that the truncated string is no longer

*/
function prune(subject, length, end) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var lengthInt = (0, _is_nil2.default)(length) ? subjectString.length : (0, _clip_number2.default)((0, _to_integer2.default)(length), 0, _const.MAX_SAFE_INTEGER);
var endString = (0, _coerce_to_string2.default)(end, '...');
var subjectString = coerce_to_string.coerceToString(subject);
var lengthInt = is_nil.isNil(length) ? subjectString.length : to_integer.clipNumber(to_integer.toInteger(length), 0, to_integer.MAX_SAFE_INTEGER);
var endString = coerce_to_string.coerceToString(end, '...');
if (lengthInt >= subjectString.length) {
return subjectString;
}
var pattern = _const_extended.REGEXP_EXTENDED_ASCII.test(subjectString) ? _const_extended.REGEXP_LATIN_WORD : _const_extended.REGEXP_WORD;
var pattern = const_extended.REGEXP_EXTENDED_ASCII.test(subjectString) ? const_extended.REGEXP_LATIN_WORD : const_extended.REGEXP_WORD;
var truncatedLength = 0;
subjectString.replace(pattern, function (word, offset) {
var wordInsertLength = offset + word.length;
if (wordInsertLength <= lengthInt - endString.length) {

@@ -70,2 +54,3 @@ truncatedLength = wordInsertLength;

}
module.exports = exports['default'];
module.exports = prune;

@@ -7,3 +7,3 @@ # [![Voca JavaScript library logo][logo]][voca]

Voca is a JavaScript library for manipulating strings. [https://vocajs.com][voca]
Voca is a JavaScript library for manipulating strings. [https://vocajs.pages.dev][voca]

@@ -30,3 +30,3 @@ ```javascript

See the complete documentation at [https://vocajs.com][voca]
See the complete documentation at [https://vocajs.pages.dev][voca]

@@ -51,3 +51,3 @@ ## Usage

```javascript
var v = require('voca');
const v = require('voca');
v.trim(' Hello World! '); // => 'Hello World'

@@ -60,4 +60,4 @@ v.sprintf('%d red %s', 3, 'apples'); // => '3 red apples'

```javascript
var words = require('voca/words');
var slugify = require('voca/slugify');
const words = require('voca/words');
const slugify = require('voca/slugify');
words('welcome to Earth'); // => ['welcome', 'to', 'Earth']

@@ -146,7 +146,8 @@ slugify('caffé latté'); // => 'caffe-latte'

| ![Dmitri Pavlutin](https://s.gravatar.com/avatar/7be6b604e5d3c6a82ed933dd90ed68dc?s=100) |
| ![Dmitri Pavlutin](https://s.gravatar.com/avatar/0d57a57d8807ebc70e24b46f6d9e3a36?s=100) |
| :-: |
| [@panzerdp](https://twitter.com/panzerdp)
| Dmitri Pavlutin
| [Personal blog](https://dmitripavlutin.com)
| [Email](mailto:dmitripavlutin@gmail.com)
## License

@@ -158,6 +159,6 @@

[CONTRIBUTING]: https://github.com/panzerdp/voca/blob/master/.github/CONTRIBUTING.md
[voca_min_js]: https://raw.githubusercontent.com/panzerdp/voca/1.4.0/dist/voca.min.js
[source_map]: https://raw.githubusercontent.com/panzerdp/voca/1.4.0/dist/voca.min.js.map
[voca_js]: https://raw.githubusercontent.com/panzerdp/voca/1.4.0/dist/voca.js
[voca]: https://vocajs.com
[voca_min_js]: https://raw.githubusercontent.com/panzerdp/voca/v1.4.0/dist/voca.min.js
[source_map]: https://raw.githubusercontent.com/panzerdp/voca/v1.4.0/dist/voca.min.js.map
[voca_js]: https://raw.githubusercontent.com/panzerdp/voca/v1.4.0/dist/voca.js
[voca]: https://vocajs.pages.dev
[logo]: https://github.com/panzerdp/voca/raw/master/jsdoc/template/static/images/voca-logo@300px.png

@@ -167,79 +168,79 @@ [logo_commonjs]: https://github.com/panzerdp/voca/raw/master/jsdoc/template/static/images/commonjs@200px.png

[camelCase]: https://vocajs.com/#camelCase
[capitalize]: https://vocajs.com/#capitalize
[decapitalize]: https://vocajs.com/#decapitalize
[kebabCase]: https://vocajs.com/#kebabCase
[lowerCase]: https://vocajs.com/#lowerCase
[snakeCase]: https://vocajs.com/#snakeCase
[swapCase]: https://vocajs.com/#swapCase
[titleCase]: https://vocajs.com/#titleCase
[upperCase]: https://vocajs.com/#upperCase
[camelCase]: https://vocajs.pages.dev/#camelCase
[capitalize]: https://vocajs.pages.dev/#capitalize
[decapitalize]: https://vocajs.pages.dev/#decapitalize
[kebabCase]: https://vocajs.pages.dev/#kebabCase
[lowerCase]: https://vocajs.pages.dev/#lowerCase
[snakeCase]: https://vocajs.pages.dev/#snakeCase
[swapCase]: https://vocajs.pages.dev/#swapCase
[titleCase]: https://vocajs.pages.dev/#titleCase
[upperCase]: https://vocajs.pages.dev/#upperCase
[charAt]: https://vocajs.com/#charAt
[codePointAt]: https://vocajs.com/#codePointAt
[first]: https://vocajs.com/#first
[graphemeAt]: https://vocajs.com/#graphemeAt
[last]: https://vocajs.com/#last
[prune]: https://vocajs.com/#prune
[slice]: https://vocajs.com/#slice
[substr]: https://vocajs.com/#substr
[substring]: https://vocajs.com/#substring
[truncate]: https://vocajs.com/#truncate
[charAt]: https://vocajs.pages.dev/#charAt
[codePointAt]: https://vocajs.pages.dev/#codePointAt
[first]: https://vocajs.pages.dev/#first
[graphemeAt]: https://vocajs.pages.dev/#graphemeAt
[last]: https://vocajs.pages.dev/#last
[prune]: https://vocajs.pages.dev/#prune
[slice]: https://vocajs.pages.dev/#slice
[substr]: https://vocajs.pages.dev/#substr
[substring]: https://vocajs.pages.dev/#substring
[truncate]: https://vocajs.pages.dev/#truncate
[count]: https://vocajs.com/#count
[countGraphemes]: https://vocajs.com/#countGraphemes
[countSubstrings]: https://vocajs.com/#countSubstrings
[countWhere]: https://vocajs.com/#countWhere
[countWords]: https://vocajs.com/#countWords
[count]: https://vocajs.pages.dev/#count
[countGraphemes]: https://vocajs.pages.dev/#countGraphemes
[countSubstrings]: https://vocajs.pages.dev/#countSubstrings
[countWhere]: https://vocajs.pages.dev/#countWhere
[countWords]: https://vocajs.pages.dev/#countWords
[escapeHtml]: https://vocajs.com/#escapeHtml
[escapeRegExp]: https://vocajs.com/#escapeRegExp
[unescapeHtml]: https://vocajs.com/#unescapeHtml
[escapeHtml]: https://vocajs.pages.dev/#escapeHtml
[escapeRegExp]: https://vocajs.pages.dev/#escapeRegExp
[unescapeHtml]: https://vocajs.pages.dev/#unescapeHtml
[sprintf]: https://vocajs.com/#sprintf
[vprintf]: https://vocajs.com/#vprintf
[sprintf]: https://vocajs.pages.dev/#sprintf
[vprintf]: https://vocajs.pages.dev/#vprintf
[indexOf]: https://vocajs.com/#indexOf
[lastIndexOf]: https://vocajs.com/#lastIndexOf
[search]: https://vocajs.com/#search
[indexOf]: https://vocajs.pages.dev/#indexOf
[lastIndexOf]: https://vocajs.pages.dev/#lastIndexOf
[search]: https://vocajs.pages.dev/#search
[insert]: https://vocajs.com/#insert
[latinise]: https://vocajs.com/#latinise
[pad]: https://vocajs.com/#pad
[padLeft]: https://vocajs.com/#padLeft
[padRight]: https://vocajs.com/#padRight
[repeat]: https://vocajs.com/#repeat
[replace]: https://vocajs.com/#replace
[replaceAll]: https://vocajs.com/#replaceAll
[reverse]: https://vocajs.com/#reverse
[reverseGrapheme]: https://vocajs.com/#reverseGrapheme
[slugify]: https://vocajs.com/#slugify
[splice]: https://vocajs.com/#splice
[tr]: https://vocajs.com/#tr
[trim]: https://vocajs.com/#trim
[trimLeft]: https://vocajs.com/#trimLeft
[trimRight]: https://vocajs.com/#trimRight
[wordWrap]: https://vocajs.com/#wordWrap
[insert]: https://vocajs.pages.dev/#insert
[latinise]: https://vocajs.pages.dev/#latinise
[pad]: https://vocajs.pages.dev/#pad
[padLeft]: https://vocajs.pages.dev/#padLeft
[padRight]: https://vocajs.pages.dev/#padRight
[repeat]: https://vocajs.pages.dev/#repeat
[replace]: https://vocajs.pages.dev/#replace
[replaceAll]: https://vocajs.pages.dev/#replaceAll
[reverse]: https://vocajs.pages.dev/#reverse
[reverseGrapheme]: https://vocajs.pages.dev/#reverseGrapheme
[slugify]: https://vocajs.pages.dev/#slugify
[splice]: https://vocajs.pages.dev/#splice
[tr]: https://vocajs.pages.dev/#tr
[trim]: https://vocajs.pages.dev/#trim
[trimLeft]: https://vocajs.pages.dev/#trimLeft
[trimRight]: https://vocajs.pages.dev/#trimRight
[wordWrap]: https://vocajs.pages.dev/#wordWrap
[endsWith]: https://vocajs.com/#endsWith
[includes]: https://vocajs.com/#includes
[isAlpha]: https://vocajs.com/#isAlpha
[isAlphaDigit]: https://vocajs.com/#isAlphaDigit
[isBlank]: https://vocajs.com/#isBlank
[isDigit]: https://vocajs.com/#isDigit
[isEmpty]: https://vocajs.com/#isEmpty
[isLowerCase]: https://vocajs.com/#isLowerCase
[isNumeric]: https://vocajs.com/#isNumeric
[isString]: https://vocajs.com/#isString
[isUpperCase]: https://vocajs.com/#isUpperCase
[matches]: https://vocajs.com/#matches
[startsWith]: https://vocajs.com/#startsWith
[endsWith]: https://vocajs.pages.dev/#endsWith
[includes]: https://vocajs.pages.dev/#includes
[isAlpha]: https://vocajs.pages.dev/#isAlpha
[isAlphaDigit]: https://vocajs.pages.dev/#isAlphaDigit
[isBlank]: https://vocajs.pages.dev/#isBlank
[isDigit]: https://vocajs.pages.dev/#isDigit
[isEmpty]: https://vocajs.pages.dev/#isEmpty
[isLowerCase]: https://vocajs.pages.dev/#isLowerCase
[isNumeric]: https://vocajs.pages.dev/#isNumeric
[isString]: https://vocajs.pages.dev/#isString
[isUpperCase]: https://vocajs.pages.dev/#isUpperCase
[matches]: https://vocajs.pages.dev/#matches
[startsWith]: https://vocajs.pages.dev/#startsWith
[chars]: https://vocajs.com/#chars
[codePoints]: https://vocajs.com/#codePoints
[graphemes]: https://vocajs.com/#graphemes
[split]: https://vocajs.com/#split
[words]: https://vocajs.com/#words
[chars]: https://vocajs.pages.dev/#chars
[codePoints]: https://vocajs.pages.dev/#codePoints
[graphemes]: https://vocajs.pages.dev/#graphemes
[split]: https://vocajs.pages.dev/#split
[words]: https://vocajs.pages.dev/#words
[stripTags]: https://vocajs.com/#stripTags
[stripBom]: https://vocajs.com/#stripBom
[stripTags]: https://vocajs.pages.dev/#stripTags
[stripBom]: https://vocajs.pages.dev/#stripBom
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = repeat;
var is_nil = require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var to_integer = require('./internal/to_integer.js');
var _clip_number = require('./helper/number/clip_number');
var _clip_number2 = _interopRequireDefault(_clip_number);
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _is_nil = require('./helper/object/is_nil');
var _is_nil2 = _interopRequireDefault(_is_nil);
var _const = require('./helper/number/const');
var _to_integer = require('./helper/number/to_integer');
var _to_integer2 = _interopRequireDefault(_to_integer);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -45,6 +25,8 @@ * Repeats the `subject` number of `times`.

*/
function repeat(subject, times) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var timesInt = (0, _is_nil2.default)(times) ? 1 : (0, _clip_number2.default)((0, _to_integer2.default)(times), 0, _const.MAX_SAFE_INTEGER);
var subjectString = coerce_to_string.coerceToString(subject);
var timesInt = is_nil.isNil(times) ? 1 : to_integer.clipNumber(to_integer.toInteger(times), 0, to_integer.MAX_SAFE_INTEGER);
var repeatString = '';
while (timesInt) {

@@ -54,9 +36,13 @@ if (timesInt & 1) {

}
if (timesInt > 1) {
subjectString += subjectString;
}
timesInt >>= 1;
}
return repeatString;
}
module.exports = exports['default'];
module.exports = repeat;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = replaceAll;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _append_flag_to_reg_exp = require('./helper/reg_exp/append_flag_to_reg_exp');
var _append_flag_to_reg_exp2 = _interopRequireDefault(_append_flag_to_reg_exp);
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _escape_reg_exp = require('./escape_reg_exp');
var _escape_reg_exp2 = _interopRequireDefault(_escape_reg_exp);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* Replaces all matches of `pattern` with `replacement`. <br/>
* Replaces all occurrences of `search` with `replace`. <br/>
*

@@ -30,5 +15,5 @@ * @function replaceAll

* @param {string} [subject=''] The string to verify.
* @param {string|RegExp} pattern The pattern which match is replaced. If `pattern` is a string, a simple string match is evaluated.
* @param {string|RegExp} search The search pattern to replace. If `search` is a string, a simple string match is evaluated.
* All matches are replaced.
* @param {string|Function} replacement The string or function which invocation result replaces `pattern` match.
* @param {string|Function} replace The string or function which invocation result replaces all `search` matches.
* @return {string} Returns the replacement result.

@@ -38,16 +23,62 @@ * @example

* // => 'g**d m*rning'
* v.replaceAll('evening', /n/, 's');
* v.replaceAll('evening', /n/g, 's');
* // => 'evesisg'
*
*/
function replaceAll(subject, pattern, replacement) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var regExp = pattern;
if (!(pattern instanceof RegExp)) {
regExp = new RegExp((0, _escape_reg_exp2.default)(pattern), 'g');
} else if (!pattern.global) {
regExp = (0, _append_flag_to_reg_exp2.default)(pattern, 'g');
function replaceAll(subject, search, replace) {
var subjectString = coerce_to_string.coerceToString(subject);
if (search instanceof RegExp) {
if (search.flags.indexOf('g') === -1) {
throw new TypeError('search argument is a non-global regular expression');
}
return subjectString.replace(search, replace);
}
return subjectString.replace(regExp, replacement);
var searchString = coerce_to_string.coerceToString(search);
var isFunctionalReplace = typeof replace === 'function';
if (!isFunctionalReplace) {
replace = coerce_to_string.coerceToString(replace);
}
var searchLength = searchString.length;
if (searchLength === 0) {
return replaceAll(subject, /(?:)/g, replace);
}
var advanceBy = searchLength > 1 ? searchLength : 1;
var matchPositions = [];
var position = subjectString.indexOf(searchString, 0);
while (position !== -1) {
matchPositions.push(position);
position = subjectString.indexOf(searchString, position + advanceBy);
}
var endOfLastMatch = 0;
var result = '';
for (var i = 0; i < matchPositions.length; i++) {
var _position = matchPositions[i];
var replacement = replace;
if (isFunctionalReplace) {
replacement = coerce_to_string.coerceToString(replace.call(undefined, searchString, _position, subjectString));
}
result += subjectString.slice(endOfLastMatch, _position) + replacement;
endOfLastMatch = _position + searchLength;
}
if (endOfLastMatch < subjectString.length) {
result += subjectString.slice(endOfLastMatch);
}
return result;
}
module.exports = exports['default'];
module.exports = replaceAll;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = replace;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* Replaces the matches of `pattern` with `replacement`. <br/>
* Replaces the matches of `search` with `replace`. <br/>
*

@@ -22,5 +15,5 @@ * @function replace

* @param {string} [subject=''] The string to verify.
* @param {string|RegExp} pattern The pattern which match is replaced. If `pattern` is a string,
* @param {string|RegExp} search The search pattern to replace. If `search` is a string,
* a simple string match is evaluated and only the first occurrence replaced.
* @param {string|Function} replacement The string or function which invocation result replaces `pattern` match.
* @param {string|Function} replace The string or function which invocation result replaces `search` match.
* @return {string} Returns the replacement result.

@@ -39,6 +32,8 @@ * @example

*/
function replace(subject, pattern, replacement) {
var subjectString = (0, _coerce_to_string2.default)(subject);
return subjectString.replace(pattern, replacement);
function replace(subject, search, replace) {
var subjectString = coerce_to_string.coerceToString(subject);
return subjectString.replace(search, replace);
}
module.exports = exports['default'];
module.exports = replace;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = reverseGrapheme;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _const = require('./internal/const.js');
var _const = require('./helper/reg_exp/const');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -34,7 +26,9 @@ * Reverses the `subject` taking care of

*/
function reverseGrapheme(subject) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
/**
* @see https://github.com/mathiasbynens/esrever
*/
subjectString = subjectString.replace(_const.REGEXP_COMBINING_MARKS, function ($0, $1, $2) {

@@ -45,7 +39,10 @@ return reverseGrapheme($2) + $1;

var index = subjectString.length;
while (index--) {
reversedString += subjectString.charAt(index);
}
return reversedString;
}
module.exports = exports['default'];
module.exports = reverseGrapheme;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = reverse;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -27,6 +20,8 @@ * Reverses the `subject`.

*/
function reverse(subject) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
return subjectString.split('').reverse().join('');
}
module.exports = exports['default'];
module.exports = reverse;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = search;
var is_nil = require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var to_integer = require('./internal/to_integer.js');
var _clip_number = require('./helper/number/clip_number');
var _clip_number2 = _interopRequireDefault(_clip_number);
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _is_nil = require('./helper/object/is_nil');
var _is_nil2 = _interopRequireDefault(_is_nil);
var _to_integer = require('./helper/number/to_integer');
var _to_integer2 = _interopRequireDefault(_to_integer);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -44,11 +26,15 @@ * Returns the first index of a `pattern` match in `subject`.

*/
function search(subject, pattern, fromIndex) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var fromIndexNumber = (0, _is_nil2.default)(fromIndex) ? 0 : (0, _clip_number2.default)((0, _to_integer2.default)(fromIndex), 0, subjectString.length);
var subjectString = coerce_to_string.coerceToString(subject);
var fromIndexNumber = is_nil.isNil(fromIndex) ? 0 : to_integer.clipNumber(to_integer.toInteger(fromIndex), 0, subjectString.length);
var matchIndex = subjectString.substr(fromIndexNumber).search(pattern);
if (matchIndex !== -1 && !isNaN(fromIndexNumber)) {
matchIndex += fromIndexNumber;
}
return matchIndex;
}
module.exports = exports['default'];
module.exports = search;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = slice;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -37,5 +30,7 @@ * Extracts from `subject` a string from `start` position up to `end` position. The character at `end` position is not

*/
function slice(subject, start, end) {
return (0, _coerce_to_string2.default)(subject).slice(start, end);
return coerce_to_string.coerceToString(subject).slice(start, end);
}
module.exports = exports['default'];
module.exports = slice;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = slugify;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
require('./lower_case.js');
var _const = require('./internal/const.js');
require('./internal/const_extended.js');
require('./internal/nil_default.js');
require('./internal/to_string.js');
require('./words.js');
var kebab_case = require('./kebab_case.js');
var latinise = require('./latinise.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _kebab_case = require('./kebab_case');
var _kebab_case2 = _interopRequireDefault(_kebab_case);
var _latinise = require('./latinise');
var _latinise2 = _interopRequireDefault(_latinise);
var _const = require('./helper/reg_exp/const');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -43,10 +34,14 @@ * Slugifies the `subject`. Cleans the `subject` by replacing diacritics with corresponding latin characters.

*/
function slugify(subject) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
if (subjectString === '') {
return '';
}
var cleanSubjectString = (0, _latinise2.default)(subjectString).replace(_const.REGEXP_NON_LATIN, '-');
return (0, _kebab_case2.default)(cleanSubjectString);
var cleanSubjectString = latinise(subjectString).replace(_const.REGEXP_NON_LATIN, '-');
return kebab_case(cleanSubjectString);
}
module.exports = exports['default'];
module.exports = slugify;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = snakeCase;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var lower_case = require('./lower_case.js');
require('./internal/const.js');
require('./internal/const_extended.js');
require('./internal/nil_default.js');
require('./internal/to_string.js');
var words = require('./words.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _lower_case = require('./lower_case');
var _lower_case2 = _interopRequireDefault(_lower_case);
var _words = require('./words');
var _words2 = _interopRequireDefault(_words);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -41,9 +32,13 @@ * Converts the `subject` to <a href="https://en.wikipedia.org/wiki/Snake_case">snake case</a>.

*/
function snakeCase(subject) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
if (subjectString === '') {
return '';
}
return (0, _words2.default)(subjectString).map(_lower_case2.default).join('_');
return words(subjectString).map(lower_case).join('_');
}
module.exports = exports['default'];
module.exports = snakeCase;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = splice;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var coerce_to_number = require('./internal/coerce_to_number.js');
var _coerce_to_number = require('./helper/number/coerce_to_number');
var _coerce_to_number2 = _interopRequireDefault(_coerce_to_number);
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -42,8 +32,11 @@ * Changes `subject` by deleting `deleteCount` of characters starting at position `start`. Places a new string

*/
function splice(subject, start, deleteCount, toAdd) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var toAddString = (0, _coerce_to_string2.default)(toAdd);
var startPosition = (0, _coerce_to_number2.default)(start);
var subjectString = coerce_to_string.coerceToString(subject);
var toAddString = coerce_to_string.coerceToString(toAdd);
var startPosition = coerce_to_number.coerceToNumber(start);
if (startPosition < 0) {
startPosition = subjectString.length + startPosition;
if (startPosition < 0) {

@@ -55,8 +48,12 @@ startPosition = 0;

}
var deleteCountNumber = (0, _coerce_to_number2.default)(deleteCount, subjectString.length - startPosition);
var deleteCountNumber = coerce_to_number.coerceToNumber(deleteCount, subjectString.length - startPosition);
if (deleteCountNumber < 0) {
deleteCountNumber = 0;
}
return subjectString.slice(0, startPosition) + toAddString + subjectString.slice(startPosition + deleteCountNumber);
}
module.exports = exports['default'];
module.exports = splice;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = split;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -32,6 +25,8 @@ * Splits `subject` into an array of chunks by `separator`.

*/
function split(subject, separator, limit) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
return subjectString.split(separator, limit);
}
module.exports = exports['default'];
module.exports = split;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = sprintf;
var is_nil = require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _const = require('./internal/const.js');
var nil_default = require('./internal/nil_default.js');
var to_string = require('./internal/to_string.js');
var coerce_to_number = require('./internal/coerce_to_number.js');
require('./internal/to_integer.js');
var truncate = require('./truncate.js');
require('./repeat.js');
require('./internal/build_padding.js');
var pad_left = require('./pad_left.js');
var pad_right = require('./pad_right.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
/**
* The current index.
*
* @ignore
* @name ReplacementIndex#index
* @type {number}
* @return {ReplacementIndex} ReplacementIndex instance.
*/
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function ReplacementIndex() {
this.index = 0;
}
/**
* Increment the current index.
*
* @ignore
* @return {undefined}
*/
var _const = require('./helper/reg_exp/const');
var _index = require('./helper/format/replacement/index.js');
ReplacementIndex.prototype.increment = function () {
this.index++;
};
/**
* Increment the current index by position.
*
* @ignore
* @param {number} [position] The replacement position.
* @return {undefined}
*/
var _index2 = _interopRequireDefault(_index);
var _match = require('./helper/format/replacement/match');
ReplacementIndex.prototype.incrementOnEmptyPosition = function (position) {
if (is_nil.isNil(position)) {
this.increment();
}
};
/**
* Get the replacement index by position.
*
* @ignore
* @param {number} [position] The replacement position.
* @return {number} The replacement index.
*/
var _match2 = _interopRequireDefault(_match);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
ReplacementIndex.prototype.getIndexByPosition = function (position) {
return is_nil.isNil(position) ? this.index : position - 1;
};
// Type specifiers
var TYPE_INTEGER = 'i';
var TYPE_INTEGER_BINARY = 'b';
var TYPE_INTEGER_ASCII_CHARACTER = 'c';
var TYPE_INTEGER_DECIMAL = 'd';
var TYPE_INTEGER_OCTAL = 'o';
var TYPE_INTEGER_UNSIGNED_DECIMAL = 'u';
var TYPE_INTEGER_HEXADECIMAL = 'x';
var TYPE_INTEGER_HEXADECIMAL_UPPERCASE = 'X';
var TYPE_FLOAT_SCIENTIFIC = 'e';
var TYPE_FLOAT_SCIENTIFIC_UPPERCASE = 'E';
var TYPE_FLOAT = 'f';
var TYPE_FLOAT_SHORT = 'g';
var TYPE_FLOAT_SHORT_UPPERCASE = 'G';
var TYPE_STRING = 's'; // Simple literals
var LITERAL_SINGLE_QUOTE = "'";
var LITERAL_PLUS = '+';
var LITERAL_MINUS = '-';
var LITERAL_PERCENT_SPECIFIER = '%%'; // Radix constants to format numbers
var RADIX_BINARY = 2;
var RADIX_OCTAL = 8;
var RADIX_HEXADECIMAL = 16;
/**
* Aligns and pads `subject` string.
*
* @ignore
* @param {string} subject The subject string.
* @param {ConversionSpecification} conversion The conversion specification object.
* @return {string} Returns the aligned and padded string.
*/
function alignAndPad(subject, conversion) {
var width = conversion.width;
if (is_nil.isNil(width) || subject.length >= width) {
return subject;
}
var padType = conversion.alignmentSpecifier === LITERAL_MINUS ? pad_right : pad_left;
return padType(subject, width, conversion.getPaddingCharacter());
}
/**
* Add sign to the formatted number.
*
* @ignore
* @name addSignToFormattedNumber
* @param {number} replacementNumber The number to be replaced.
* @param {string} formattedReplacement The formatted version of number.
* @param {ConversionSpecification} conversion The conversion specification object.
* @return {string} Returns the formatted number string with a sign.
*/
function addSignToFormattedNumber(replacementNumber, formattedReplacement, conversion) {
if (conversion.signSpecifier === LITERAL_PLUS && replacementNumber >= 0) {
formattedReplacement = LITERAL_PLUS + formattedReplacement;
}
return formattedReplacement;
}
/**
* Formats a float type according to specifiers.
*
* @ignore
* @param {string} replacement The string to be formatted.
* @param {ConversionSpecification} conversion The conversion specification object.
* @return {string} Returns the formatted string.
*/
function float(replacement, conversion) {
var replacementNumber = parseFloat(replacement);
var formattedReplacement;
if (isNaN(replacementNumber)) {
replacementNumber = 0;
}
var precision = coerce_to_number.coerceToNumber(conversion.precision, 6);
switch (conversion.typeSpecifier) {
case TYPE_FLOAT:
formattedReplacement = replacementNumber.toFixed(precision);
break;
case TYPE_FLOAT_SCIENTIFIC:
formattedReplacement = replacementNumber.toExponential(precision);
break;
case TYPE_FLOAT_SCIENTIFIC_UPPERCASE:
formattedReplacement = replacementNumber.toExponential(precision).toUpperCase();
break;
case TYPE_FLOAT_SHORT:
case TYPE_FLOAT_SHORT_UPPERCASE:
formattedReplacement = formatFloatAsShort(replacementNumber, precision, conversion);
break;
}
formattedReplacement = addSignToFormattedNumber(replacementNumber, formattedReplacement, conversion);
return coerce_to_string.coerceToString(formattedReplacement);
}
/**
* Formats the short float.
*
* @ignore
* @param {number} replacementNumber The number to format.
* @param {number} precision The precision to format the float.
* @param {ConversionSpecification} conversion The conversion specification object.
* @return {string} Returns the formatted short float.
*/
function formatFloatAsShort(replacementNumber, precision, conversion) {
if (replacementNumber === 0) {
return '0';
}
var nonZeroPrecision = precision === 0 ? 1 : precision;
var formattedReplacement = replacementNumber.toPrecision(nonZeroPrecision).replace(_const.REGEXP_TRAILING_ZEROS, '');
if (conversion.typeSpecifier === TYPE_FLOAT_SHORT_UPPERCASE) {
formattedReplacement = formattedReplacement.toUpperCase();
}
return formattedReplacement;
}
/**
* Formats an integer type according to specifiers.
*
* @ignore
* @param {string} replacement The string to be formatted.
* @param {ConversionSpecification} conversion The conversion specification object.
* @return {string} Returns the formatted string.
*/
function integerBase(replacement, conversion) {
var integer = parseInt(replacement);
if (isNaN(integer)) {
integer = 0;
}
integer = integer >>> 0;
switch (conversion.typeSpecifier) {
case TYPE_INTEGER_ASCII_CHARACTER:
integer = String.fromCharCode(integer);
break;
case TYPE_INTEGER_BINARY:
integer = integer.toString(RADIX_BINARY);
break;
case TYPE_INTEGER_OCTAL:
integer = integer.toString(RADIX_OCTAL);
break;
case TYPE_INTEGER_HEXADECIMAL:
integer = integer.toString(RADIX_HEXADECIMAL);
break;
case TYPE_INTEGER_HEXADECIMAL_UPPERCASE:
integer = integer.toString(RADIX_HEXADECIMAL).toUpperCase();
break;
}
return coerce_to_string.coerceToString(integer);
}
/**
* Formats a decimal integer type according to specifiers.
*
* @ignore
* @param {string} replacement The string to be formatted.
* @param {ConversionSpecification} conversion The conversion specification object.
* @return {string} Returns the formatted string.
*/
function integerDecimal(replacement, conversion) {
var integer = parseInt(replacement);
if (isNaN(integer)) {
integer = 0;
}
return addSignToFormattedNumber(integer, to_string.toString(integer), conversion);
}
/**
* Formats a string type according to specifiers.
*
* @ignore
* @param {string} replacement The string to be formatted.
* @param {ConversionSpecification} conversion The conversion specification object.
* @return {string} Returns the formatted string.
*/
function stringFormat(replacement, conversion) {
var formattedReplacement = replacement;
var precision = conversion.precision;
if (!is_nil.isNil(precision) && formattedReplacement.length > precision) {
formattedReplacement = truncate(formattedReplacement, precision, '');
}
return formattedReplacement;
}
/**
* Returns the computed string based on format specifiers.
*
* @ignore
* @name computeReplacement
* @param {string} replacement The replacement value.
* @param {ConversionSpecification} conversion The conversion specification object.
* @return {string} Returns the computed string.
*/
function compute(replacement, conversion) {
var formatFunction;
switch (conversion.typeSpecifier) {
case TYPE_STRING:
formatFunction = stringFormat;
break;
case TYPE_INTEGER_DECIMAL:
case TYPE_INTEGER:
formatFunction = integerDecimal;
break;
case TYPE_INTEGER_ASCII_CHARACTER:
case TYPE_INTEGER_BINARY:
case TYPE_INTEGER_OCTAL:
case TYPE_INTEGER_HEXADECIMAL:
case TYPE_INTEGER_HEXADECIMAL_UPPERCASE:
case TYPE_INTEGER_UNSIGNED_DECIMAL:
formatFunction = integerBase;
break;
case TYPE_FLOAT:
case TYPE_FLOAT_SCIENTIFIC:
case TYPE_FLOAT_SCIENTIFIC_UPPERCASE:
case TYPE_FLOAT_SHORT:
case TYPE_FLOAT_SHORT_UPPERCASE:
formatFunction = float;
break;
}
var formattedString = formatFunction(replacement, conversion);
return alignAndPad(formattedString, conversion);
}
/**
* Construct the new conversion specification object.
*
* @ignore
* @param {Object} properties An object with properties to initialize.
* @return {ConversionSpecification} ConversionSpecification instance.
*/
function ConversionSpecification(properties) {
/**
* The percent characters from conversion specification.
*
* @ignore
* @name ConversionSpecification#percent
* @type {string}
*/
this.percent = properties.percent;
/**
* The sign specifier to force a sign to be used on a number.
*
* @ignore
* @name ConversionSpecification#signSpecifier
* @type {string}
*/
this.signSpecifier = properties.signSpecifier;
/**
* The padding specifier that says what padding character will be used.
*
* @ignore
* @name ConversionSpecification#paddingSpecifier
* @type {string}
*/
this.paddingSpecifier = properties.paddingSpecifier;
/**
* The alignment specifier that says if the result should be left-justified or right-justified.
*
* @ignore
* @name ConversionSpecification#alignmentSpecifier
* @type {string}
*/
this.alignmentSpecifier = properties.alignmentSpecifier;
/**
* The width specifier how many characters this conversion should result in.
*
* @ignore
* @name ConversionSpecification#width
* @type {number}
*/
this.width = properties.width;
/**
* The precision specifier says how many decimal digits should be displayed for floating-point numbers.
*
* @ignore
* @name ConversionSpecification#precision
* @type {number}
*/
this.precision = properties.precision;
/**
* The type specifier says what type the argument data should be treated as.
*
* @ignore
* @name ConversionSpecification#typeSpecifier
* @type {string}
*/
this.typeSpecifier = properties.typeSpecifier;
}
/**
* Check if the conversion specification is a percent literal "%%".
*
* @ignore
* @return {boolean} Returns true if the conversion is a percent literal, false otherwise.
*/
ConversionSpecification.prototype.isPercentLiteral = function () {
return LITERAL_PERCENT_SPECIFIER === this.percent;
};
/**
* Get the padding character from padding specifier.
*
* @ignore
* @returns {string} Returns the padding character.
*/
ConversionSpecification.prototype.getPaddingCharacter = function () {
var paddingCharacter = nil_default.nilDefault(this.paddingSpecifier, ' ');
if (paddingCharacter.length === 2 && paddingCharacter[0] === LITERAL_SINGLE_QUOTE) {
paddingCharacter = paddingCharacter[1];
}
return paddingCharacter;
};
/**
* Validates the specifier type and replacement position.
*
* @ignore
* @throws {Error} Throws an exception on insufficient arguments or unknown specifier.
* @param {number} index The index of the matched specifier.
* @param {number} replacementsLength The number of replacements.
* @param {ConversionSpecification} conversion The conversion specification object.
* @return {undefined}
*/
function validate(index, replacementsLength, conversion) {
if (is_nil.isNil(conversion.typeSpecifier)) {
throw new Error('sprintf(): Unknown type specifier');
}
if (index > replacementsLength - 1) {
throw new Error('sprintf(): Too few arguments');
}
if (index < 0) {
throw new Error('sprintf(): Argument number must be greater than zero');
}
}
/**
* Return the replacement for regular expression match of the conversion specification.
*
* @ignore
* @name matchReplacement
* @param {ReplacementIndex} replacementIndex The replacement index object.
* @param {string[]} replacements The array of replacements.
* @param {string} conversionSpecification The conversion specification.
* @param {string} percent The percent characters from conversion specification.
* @param {string} position The position to insert the replacement.
* @param {string} signSpecifier The sign specifier to force a sign to be used on a number.
* @param {string} paddingSpecifier The padding specifier that says what padding character will be used.
* @param {string} alignmentSpecifier The alignment specifier that says if the result should be left-justified or right-justified.
* @param {string} widthSpecifier The width specifier how many characters this conversion should result in.
* @param {string} precisionSpecifier The precision specifier says how many decimal digits should be displayed for floating-point numbers.
* @param {string} typeSpecifier The type specifier says what type the argument data should be treated as.
* @return {string} Returns the computed replacement.
*/
function match(replacementIndex, replacements, conversionSpecification, percent, position, signSpecifier, paddingSpecifier, alignmentSpecifier, widthSpecifier, precisionSpecifier, typeSpecifier) {
var conversion = new ConversionSpecification({
percent: percent,
signSpecifier: signSpecifier,
paddingSpecifier: paddingSpecifier,
alignmentSpecifier: alignmentSpecifier,
width: coerce_to_number.coerceToNumber(widthSpecifier, null),
precision: coerce_to_number.coerceToNumber(precisionSpecifier, null),
typeSpecifier: typeSpecifier
});
if (conversion.isPercentLiteral()) {
return conversionSpecification.slice(1);
}
var actualReplacementIndex = replacementIndex.getIndexByPosition(position);
replacementIndex.incrementOnEmptyPosition(position);
validate(actualReplacementIndex, replacements.length, conversion);
return compute(replacements[actualReplacementIndex], conversion);
}
/**
* Produces a string according to `format`.

@@ -196,6 +661,8 @@ *

* // => '1.01e+2 0.455'
*
*
*/
function sprintf(format) {
var formatString = (0, _coerce_to_string2.default)(format);
var formatString = coerce_to_string.coerceToString(format);
if (formatString === '') {

@@ -205,9 +672,10 @@ return formatString;

for (var _len = arguments.length, replacements = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
for (var _len = arguments.length, replacements = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
replacements[_key - 1] = arguments[_key];
}
var boundReplacementMatch = _match2.default.bind(undefined, new _index2.default(), replacements);
var boundReplacementMatch = match.bind(undefined, new ReplacementIndex(), replacements);
return formatString.replace(_const.REGEXP_CONVERSION_SPECIFICATION, boundReplacementMatch);
}
module.exports = exports['default'];
module.exports = sprintf;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = startsWith;
var is_nil = require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var to_string = require('./internal/to_string.js');
var to_integer = require('./internal/to_integer.js');
var _clip_number = require('./helper/number/clip_number');
var _clip_number2 = _interopRequireDefault(_clip_number);
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _is_nil = require('./helper/object/is_nil');
var _is_nil2 = _interopRequireDefault(_is_nil);
var _to_integer = require('./helper/number/to_integer');
var _to_integer2 = _interopRequireDefault(_to_integer);
var _to_string = require('./helper/string/to_string');
var _to_string2 = _interopRequireDefault(_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -51,14 +30,19 @@ * Checks whether `subject` starts with `start`.

*/
function startsWith(subject, start, position) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var startString = (0, _to_string2.default)(start);
var subjectString = coerce_to_string.coerceToString(subject);
var startString = to_string.toString(start);
if (startString === null) {
return false;
}
if (startString === '') {
return true;
}
position = (0, _is_nil2.default)(position) ? 0 : (0, _clip_number2.default)((0, _to_integer2.default)(position), 0, subjectString.length);
position = is_nil.isNil(position) ? 0 : to_integer.clipNumber(to_integer.toInteger(position), 0, subjectString.length);
return subjectString.substr(position, startString.length) === startString;
}
module.exports = exports['default'];
module.exports = startsWith;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = trim;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var BYRE_ORDER_MARK = '\uFEFF';
/**

@@ -34,12 +26,17 @@ * Strips the byte order mark (BOM) from the beginning of `subject`.

*/
function trim(subject) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
if (subjectString === '') {
return '';
}
if (subjectString[0] === BYRE_ORDER_MARK) {
return subjectString.substring(1);
}
return subjectString;
}
module.exports = exports['default'];
module.exports = trim;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = trim;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _const = require('./internal/const.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
/**
* Checks whether `subject` contains substring at specific `index`.
*
* @ignore
* @param {string} subject The subject to search in.
* @param {string} substring The substring to search/
* @param {number} index The index to search substring.
* @param {boolean} lookBehind Whether to look behind (true) or ahead (false).
* @return {boolean} Returns a boolean whether the substring exists.
*/
function hasSubstringAtIndex(subject, substring, index) {
var lookBehind = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
var indexOffset = 0;
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
if (lookBehind) {
indexOffset = -substring.length + 1;
}
var _has_substring_at_index = require('./helper/string/has_substring_at_index');
var extractedSubstring = subject.substr(index + indexOffset, substring.length);
return extractedSubstring.toLowerCase() === substring;
}
var _has_substring_at_index2 = _interopRequireDefault(_has_substring_at_index);
/**
* Parses the tags from the string '<tag1><tag2>...<tagN>'.
*
* @ignore
* @param {string} tags The string that contains the tags.
* @return {string[]} Returns the array of tag names.
*/
var _parse_tag_list = require('./helper/strip/parse_tag_list');
function parseTagList(tags) {
var tagsList = [];
var match;
var _parse_tag_list2 = _interopRequireDefault(_parse_tag_list);
while ((match = _const.REGEXP_TAG_LIST.exec(tags)) !== null) {
tagsList.push(match[1]);
}
var _parse_tag_name = require('./helper/strip/parse_tag_name');
return tagsList;
}
var _parse_tag_name2 = _interopRequireDefault(_parse_tag_name);
var STATE_START_TAG = 0;
var STATE_NON_WHITESPACE = 1;
var STATE_DONE = 2;
/**
* Parses the tag name from html content.
*
* @ignore
* @param {string} tagContent The tag content.
* @return {string} Returns the tag name.
*/
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function parseTagName(tagContent) {
var state = STATE_START_TAG;
var tagName = '';
var index = 0;
while (state !== STATE_DONE) {
var char = tagContent[index++].toLowerCase();
switch (char) {
case '<':
break;
case '>':
state = STATE_DONE;
break;
default:
if (_const.REGEXP_WHITESPACE.test(char)) {
if (state === STATE_NON_WHITESPACE) {
state = STATE_DONE;
}
} else {
if (state === STATE_START_TAG) {
state = STATE_NON_WHITESPACE;
}
if (char !== '/') {
tagName += char;
}
}
break;
}
}
return tagName;
}
var STATE_OUTPUT = 0;

@@ -30,3 +102,2 @@ var STATE_HTML = 1;

var STATE_COMMENT = 3;
/**

@@ -54,15 +125,19 @@ * Strips HTML tags from `subject`.

*/
function trim(subject, allowableTags, replacement) {
subject = (0, _coerce_to_string2.default)(subject);
subject = coerce_to_string.coerceToString(subject);
if (subject === '') {
return '';
}
if (!Array.isArray(allowableTags)) {
var allowableTagsString = (0, _coerce_to_string2.default)(allowableTags);
allowableTags = allowableTagsString === '' ? [] : (0, _parse_tag_list2.default)(allowableTagsString);
var allowableTagsString = coerce_to_string.coerceToString(allowableTags);
allowableTags = allowableTagsString === '' ? [] : parseTagList(allowableTagsString);
}
var replacementString = (0, _coerce_to_string2.default)(replacement);
var replacementString = coerce_to_string.coerceToString(replacement);
var length = subject.length;
var hasAllowableTags = allowableTags.length > 0;
var hasSubstring = _has_substring_at_index2.default.bind(null, subject);
var hasSubstring = hasSubstringAtIndex.bind(null, subject);
var state = STATE_OUTPUT;

@@ -73,5 +148,7 @@ var depth = 0;

var quote = null;
for (var index = 0; index < length; index++) {
var char = subject[index];
var advance = false;
switch (char) {

@@ -82,2 +159,3 @@ case '<':

}
if (hasSubstring('< ', index, false)) {

@@ -87,2 +165,3 @@ advance = true;

}
if (state === STATE_OUTPUT) {

@@ -93,2 +172,3 @@ advance = true;

}
if (state === STATE_HTML) {

@@ -98,4 +178,6 @@ depth++;

}
advance = true;
break;
case '!':

@@ -106,4 +188,6 @@ if (state === STATE_HTML && hasSubstring('<!', index)) {

}
advance = true;
break;
case '-':

@@ -114,4 +198,6 @@ if (state === STATE_EXCLAMATION && hasSubstring('!--', index)) {

}
advance = true;
break;
case '"':

@@ -126,4 +212,6 @@ case "'":

}
advance = true;
break;
case 'E':

@@ -135,4 +223,6 @@ case 'e':

}
advance = true;
break;
case '>':

@@ -143,11 +233,15 @@ if (depth > 0) {

}
if (quote) {
break;
}
if (state === STATE_HTML) {
quote = null;
state = STATE_OUTPUT;
if (hasAllowableTags) {
tagContent += '>';
var tagName = (0, _parse_tag_name2.default)(tagContent);
var tagName = parseTagName(tagContent);
if (allowableTags.indexOf(tagName.toLowerCase()) !== -1) {

@@ -158,2 +252,3 @@ output += tagContent;

}
tagContent = '';

@@ -163,4 +258,6 @@ } else {

}
break;
}
if (state === STATE_EXCLAMATION || state === STATE_COMMENT && hasSubstring('-->', index)) {

@@ -172,7 +269,10 @@ quote = null;

}
advance = true;
break;
default:
advance = true;
}
if (advance) {

@@ -183,2 +283,3 @@ switch (state) {

break;
case STATE_HTML:

@@ -188,2 +289,3 @@ if (hasAllowableTags) {

}
break;

@@ -193,4 +295,6 @@ }

}
return output;
}
module.exports = exports['default'];
module.exports = trim;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = substr;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -33,5 +26,7 @@ * Extracts from `subject` a string from `start` position a number of `length` characters.

*/
function substr(subject, start, length) {
return (0, _coerce_to_string2.default)(subject).substr(start, length);
return coerce_to_string.coerceToString(subject).substr(start, length);
}
module.exports = exports['default'];
module.exports = substr;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = substring;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -34,5 +27,7 @@ * Extracts from `subject` a string from `start` position up to `end` position. The character at `end` position is not

*/
function substring(subject, start, end) {
return (0, _coerce_to_string2.default)(subject).substring(start, end);
return coerce_to_string.coerceToString(subject).substring(start, end);
}
module.exports = exports['default'];
module.exports = substring;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = swapCase;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* Converts the uppercase alpha caracters of `subject` to lowercase and lowercase
* Converts the uppercase alpha characters of `subject` to lowercase and lowercase
* characters to uppercase.

@@ -31,4 +24,5 @@ *

*/
function swapCase(subject) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
return subjectString.split('').reduce(swapAndConcat, '');

@@ -42,2 +36,3 @@ }

}
module.exports = exports['default'];
module.exports = swapCase;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = titleCase;
require('./internal/is_nil.js');
require('./internal/coerce_to_boolean.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var capitalize = require('./capitalize.js');
require('./internal/const.js');
var const_extended = require('./internal/const_extended.js');
var _const_extended = require('./helper/reg_exp/const_extended');
var _capitalize = require('./capitalize');
var _capitalize2 = _interopRequireDefault(_capitalize);
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -37,11 +28,13 @@ * Converts the subject to title case.

*/
function titleCase(subject, noSplit) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
var noSplitArray = Array.isArray(noSplit) ? noSplit : [];
var wordsRegExp = _const_extended.REGEXP_EXTENDED_ASCII.test(subjectString) ? _const_extended.REGEXP_LATIN_WORD : _const_extended.REGEXP_WORD;
var wordsRegExp = const_extended.REGEXP_EXTENDED_ASCII.test(subjectString) ? const_extended.REGEXP_LATIN_WORD : const_extended.REGEXP_WORD;
return subjectString.replace(wordsRegExp, function (word, index) {
var isNoSplit = index > 0 && noSplitArray.indexOf(subjectString[index - 1]) >= 0;
return isNoSplit ? word.toLowerCase() : (0, _capitalize2.default)(word, true);
return isNoSplit ? word.toLowerCase() : capitalize(word, true);
});
}
module.exports = exports['default'];
module.exports = titleCase;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
require('./internal/is_nil.js');
var is_string = require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var nil_default = require('./internal/nil_default.js');
var _rollupPluginBabelHelpers = require('./internal/_rollupPluginBabelHelpers.js');
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
exports.default = tr;
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _is_string = require('./is_string');
var _is_string2 = _interopRequireDefault(_is_string);
var _nil_default = require('./helper/undefined/nil_default');
var _nil_default2 = _interopRequireDefault(_nil_default);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -39,6 +23,6 @@ * Translates characters or replaces substrings in `subject`.

* // => 'hippo'
*
*
* v.tr('légèreté', 'éè', 'ee');
* // => 'legerete'
*
*
* v.tr('Yes. The fire rises.', {

@@ -49,3 +33,3 @@ * 'Yes': 'Awesome',

* // => 'Awesome. The flame rises.'
*
*
* v.tr(':where is the birthplace of :what', {

@@ -56,15 +40,17 @@ * ':where': 'Africa',

* // => 'Africa is the birthplace of Humanity'
*
*
*/
function tr(subject, from, to) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var keys = void 0;
var values = void 0;
if ((0, _is_string2.default)(from) && (0, _is_string2.default)(to)) {
var subjectString = coerce_to_string.coerceToString(subject);
var keys;
var values;
if (is_string(from) && is_string(to)) {
keys = from.split('');
values = to.split('');
} else {
var _extractKeysAndValues = extractKeysAndValues((0, _nil_default2.default)(from, {}));
var _extractKeysAndValues = extractKeysAndValues(nil_default.nilDefault(from, {}));
var _extractKeysAndValues2 = _slicedToArray(_extractKeysAndValues, 2);
var _extractKeysAndValues2 = _rollupPluginBabelHelpers._slicedToArray(_extractKeysAndValues, 2);

@@ -74,13 +60,19 @@ keys = _extractKeysAndValues2[0];

}
var keysLength = keys.length;
if (keysLength === 0) {
return subjectString;
}
var result = '';
var valuesLength = values.length;
for (var index = 0; index < subjectString.length; index++) {
var isMatch = false;
var matchValue = void 0;
for (var keyIndex = 0; keyIndex < keysLength && keyIndex < valuesLength; keyIndex++) {
var key = keys[keyIndex];
if (subjectString.substr(index, key.length) === key) {

@@ -93,4 +85,6 @@ isMatch = true;

}
result += isMatch ? matchValue : subjectString[index];
}
return result;

@@ -111,4 +105,6 @@ }

}
return str1.length < str2.length ? 1 : -1;
}
module.exports = exports['default'];
module.exports = tr;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = trimLeft;
var is_nil = require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _const = require('./internal/const.js');
var to_string = require('./internal/to_string.js');
require('./internal/to_integer.js');
var includes = require('./includes.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _includes = require('./includes');
var _includes2 = _interopRequireDefault(_includes);
var _is_nil = require('./helper/object/is_nil');
var _is_nil2 = _interopRequireDefault(_is_nil);
var _const = require('./helper/reg_exp/const');
var _to_string = require('./helper/string/to_string');
var _to_string2 = _interopRequireDefault(_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var reduce = Array.prototype.reduce;
/**

@@ -47,16 +29,22 @@ * Removes whitespaces from the left side of the `subject`.

*/
function trimLeft(subject, whitespace) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
if (whitespace === '' || subjectString === '') {
return subjectString;
}
var whitespaceString = (0, _to_string2.default)(whitespace);
if ((0, _is_nil2.default)(whitespaceString)) {
var whitespaceString = to_string.toString(whitespace);
if (is_nil.isNil(whitespaceString)) {
return subjectString.replace(_const.REGEXP_TRIM_LEFT, '');
}
var matchWhitespace = true;
return reduce.call(subjectString, function (trimmed, character) {
if (matchWhitespace && (0, _includes2.default)(whitespaceString, character)) {
if (matchWhitespace && includes(whitespaceString, character)) {
return trimmed;
}
matchWhitespace = false;

@@ -66,2 +54,3 @@ return trimmed + character;

}
module.exports = exports['default'];
module.exports = trimLeft;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = trimRight;
var is_nil = require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _const = require('./internal/const.js');
var to_string = require('./internal/to_string.js');
require('./internal/to_integer.js');
var includes = require('./includes.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _includes = require('./includes');
var _includes2 = _interopRequireDefault(_includes);
var _is_nil = require('./helper/object/is_nil');
var _is_nil2 = _interopRequireDefault(_is_nil);
var _const = require('./helper/reg_exp/const');
var _to_string = require('./helper/string/to_string');
var _to_string2 = _interopRequireDefault(_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var reduceRight = Array.prototype.reduceRight;
/**

@@ -47,16 +29,22 @@ * Removes whitespaces from the right side of the `subject`.

*/
function trimRight(subject, whitespace) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
if (whitespace === '' || subjectString === '') {
return subjectString;
}
var whitespaceString = (0, _to_string2.default)(whitespace);
if ((0, _is_nil2.default)(whitespaceString)) {
var whitespaceString = to_string.toString(whitespace);
if (is_nil.isNil(whitespaceString)) {
return subjectString.replace(_const.REGEXP_TRIM_RIGHT, '');
}
var matchWhitespace = true;
return reduceRight.call(subjectString, function (trimmed, character) {
if (matchWhitespace && (0, _includes2.default)(whitespaceString, character)) {
if (matchWhitespace && includes(whitespaceString, character)) {
return trimmed;
}
matchWhitespace = false;

@@ -66,2 +54,3 @@ return character + trimmed;

}
module.exports = exports['default'];
module.exports = trimRight;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = trim;
var is_nil = require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
require('./internal/const.js');
var to_string = require('./internal/to_string.js');
require('./internal/to_integer.js');
require('./includes.js');
var trim_left = require('./trim_left.js');
var trim_right = require('./trim_right.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _is_nil = require('./helper/object/is_nil');
var _is_nil2 = _interopRequireDefault(_is_nil);
var _to_string = require('./helper/string/to_string');
var _to_string2 = _interopRequireDefault(_to_string);
var _trim_left = require('./trim_left');
var _trim_left2 = _interopRequireDefault(_trim_left);
var _trim_right = require('./trim_right');
var _trim_right2 = _interopRequireDefault(_trim_right);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -47,13 +30,19 @@ * Removes whitespaces from left and right sides of the `subject`.

*/
function trim(subject, whitespace) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
if (whitespace === '' || subjectString === '') {
return subjectString;
}
var whitespaceString = (0, _to_string2.default)(whitespace);
if ((0, _is_nil2.default)(whitespaceString)) {
var whitespaceString = to_string.toString(whitespace);
if (is_nil.isNil(whitespaceString)) {
return subjectString.trim();
}
return (0, _trim_right2.default)((0, _trim_left2.default)(subjectString, whitespaceString), whitespaceString);
return trim_right(trim_left(subjectString, whitespaceString), whitespaceString);
}
module.exports = exports['default'];
module.exports = trim;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = truncate;
var is_nil = require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var to_integer = require('./internal/to_integer.js');
var _clip_number = require('./helper/number/clip_number');
var _clip_number2 = _interopRequireDefault(_clip_number);
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _is_nil = require('./helper/object/is_nil');
var _is_nil2 = _interopRequireDefault(_is_nil);
var _const = require('./helper/number/const');
var _to_integer = require('./helper/number/to_integer');
var _to_integer2 = _interopRequireDefault(_to_integer);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -49,11 +29,15 @@ * Truncates `subject` to a new `length`.

*/
function truncate(subject, length, end) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var lengthInt = (0, _is_nil2.default)(length) ? subjectString.length : (0, _clip_number2.default)((0, _to_integer2.default)(length), 0, _const.MAX_SAFE_INTEGER);
var endString = (0, _coerce_to_string2.default)(end, '...');
var subjectString = coerce_to_string.coerceToString(subject);
var lengthInt = is_nil.isNil(length) ? subjectString.length : to_integer.clipNumber(to_integer.toInteger(length), 0, to_integer.MAX_SAFE_INTEGER);
var endString = coerce_to_string.coerceToString(end, '...');
if (lengthInt >= subjectString.length) {
return subjectString;
}
return subjectString.substr(0, length - endString.length) + endString;
}
module.exports = exports['default'];
module.exports = truncate;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = unescapeHtml;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var unescapeCharactersMap = {

@@ -23,3 +16,2 @@ '<': /(&lt;)|(&#x0*3c;)|(&#0*60;)/gi,

var characters = Object.keys(unescapeCharactersMap);
/**

@@ -33,6 +25,6 @@ * Replaces the HTML entities with corresponding characters.

*/
function reduceUnescapedString(string, key) {
return string.replace(unescapeCharactersMap[key], key);
}
/**

@@ -52,6 +44,9 @@ * Unescapes HTML special characters from <code>&amp;lt; &amp;gt; &amp;amp; &amp;quot; &amp;#x27; &amp;#x60;</code>

*/
function unescapeHtml(subject) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
return characters.reduce(reduceUnescapedString, subjectString);
}
module.exports = exports['default'];
module.exports = unescapeHtml;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = upperCase;
require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -27,6 +20,8 @@ * Converts the `subject` to upper case.

*/
function upperCase(subject) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var subjectString = coerce_to_string.coerceToString(subject);
return subjectString.toUpperCase();
}
module.exports = exports['default'];
module.exports = upperCase;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = vprintf;
require('./internal/is_nil.js');
require('./is_string.js');
require('./internal/coerce_to_string.js');
require('./internal/const.js');
var nil_default = require('./internal/nil_default.js');
require('./internal/to_string.js');
require('./internal/coerce_to_number.js');
require('./internal/to_integer.js');
require('./truncate.js');
var sprintf = require('./sprintf.js');
require('./repeat.js');
require('./internal/build_padding.js');
require('./pad_left.js');
require('./pad_right.js');
var _rollupPluginBabelHelpers = require('./internal/_rollupPluginBabelHelpers.js');
var _nil_default = require('./helper/undefined/nil_default');
var _nil_default2 = _interopRequireDefault(_nil_default);
var _sprintf = require('./sprintf');
var _sprintf2 = _interopRequireDefault(_sprintf);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
/**

@@ -39,5 +38,7 @@ * Produces a string according to `format`. Works exactly like <a href="#sprintf"><code>sprintf()</code></a>,

*/
function vprintf(format, replacements) {
return _sprintf2.default.apply(undefined, [format].concat(_toConsumableArray((0, _nil_default2.default)(replacements, []))));
return sprintf.apply(void 0, [format].concat(_rollupPluginBabelHelpers._toConsumableArray(nil_default.nilDefault(replacements, []))));
}
module.exports = exports['default'];
module.exports = vprintf;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = wordWrap;
require('./internal/is_nil.js');
var coerce_to_boolean = require('./internal/coerce_to_boolean.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var coerce_to_number = require('./internal/coerce_to_number.js');
var _coerce_to_boolean = require('./helper/boolean/coerce_to_boolean');
var _coerce_to_boolean2 = _interopRequireDefault(_coerce_to_boolean);
var _coerce_to_number = require('./helper/number/coerce_to_number');
var _coerce_to_number2 = _interopRequireDefault(_coerce_to_number);
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var OPTION_WIDTH = 'width';

@@ -26,3 +13,2 @@ var OPTION_NEW_LINE = 'newLine';

var OPTION_CUT = 'cut';
/**

@@ -64,7 +50,7 @@ * Wraps `subject` to a given number of characters using a string break character.

*/
function wordWrap(subject) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var subjectString = coerce_to_string.coerceToString(subject);
var subjectString = (0, _coerce_to_string2.default)(subject);
var _determineOptions = determineOptions(options),

@@ -79,2 +65,3 @@ width = _determineOptions.width,

}
var subjectLength = subjectString.length;

@@ -84,2 +71,3 @@ var substring = subjectString.substring.bind(subjectString);

var wrappedLine = '';
while (subjectLength - offset > width) {

@@ -90,3 +78,5 @@ if (subjectString[offset] === ' ') {

}
var spaceToWrapAt = subjectString.lastIndexOf(' ', width + offset);
if (spaceToWrapAt >= offset) {

@@ -101,2 +91,3 @@ wrappedLine += indent + substring(offset, spaceToWrapAt) + newLine;

spaceToWrapAt = subjectString.indexOf(' ', width + offset);
if (spaceToWrapAt >= 0) {

@@ -112,8 +103,9 @@ wrappedLine += indent + substring(offset, spaceToWrapAt) + newLine;

}
if (offset < subjectLength) {
wrappedLine += indent + substring(offset);
}
return wrappedLine;
}
/**

@@ -126,10 +118,12 @@ * Determine the word wrap options. The missing values are filled with defaults.

*/
function determineOptions(options) {
return {
width: (0, _coerce_to_number2.default)(options[OPTION_WIDTH], 75),
newLine: (0, _coerce_to_string2.default)(options[OPTION_NEW_LINE], '\n'),
indent: (0, _coerce_to_string2.default)(options[OPTION_INDENT], ''),
cut: (0, _coerce_to_boolean2.default)(options[OPTION_CUT], false)
width: coerce_to_number.coerceToNumber(options[OPTION_WIDTH], 75),
newLine: coerce_to_string.coerceToString(options[OPTION_NEW_LINE], '\n'),
indent: coerce_to_string.coerceToString(options[OPTION_INDENT], ''),
cut: coerce_to_boolean.coerceToBoolean(options[OPTION_CUT], false)
};
}
module.exports = exports['default'];
module.exports = wordWrap;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = words;
var is_nil = require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
require('./internal/const.js');
var const_extended = require('./internal/const_extended.js');
var nil_default = require('./internal/nil_default.js');
var to_string = require('./internal/to_string.js');
var _const_extended = require('./helper/reg_exp/const_extended');
var _coerce_to_string = require('./helper/string/coerce_to_string');
var _coerce_to_string2 = _interopRequireDefault(_coerce_to_string);
var _is_nil = require('./helper/object/is_nil');
var _is_nil2 = _interopRequireDefault(_is_nil);
var _nil_default = require('./helper/undefined/nil_default');
var _nil_default2 = _interopRequireDefault(_nil_default);
var _to_string = require('./helper/string/to_string');
var _to_string2 = _interopRequireDefault(_to_string);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -52,15 +35,19 @@ * Splits `subject` into an array of words.

*/
function words(subject, pattern, flags) {
var subjectString = (0, _coerce_to_string2.default)(subject);
var patternRegExp = void 0;
if ((0, _is_nil2.default)(pattern)) {
patternRegExp = _const_extended.REGEXP_EXTENDED_ASCII.test(subjectString) ? _const_extended.REGEXP_LATIN_WORD : _const_extended.REGEXP_WORD;
var subjectString = coerce_to_string.coerceToString(subject);
var patternRegExp;
if (is_nil.isNil(pattern)) {
patternRegExp = const_extended.REGEXP_EXTENDED_ASCII.test(subjectString) ? const_extended.REGEXP_LATIN_WORD : const_extended.REGEXP_WORD;
} else if (pattern instanceof RegExp) {
patternRegExp = pattern;
} else {
var flagsString = (0, _to_string2.default)((0, _nil_default2.default)(flags, ''));
patternRegExp = new RegExp((0, _to_string2.default)(pattern), flagsString);
var flagsString = to_string.toString(nil_default.nilDefault(flags, ''));
patternRegExp = new RegExp(to_string.toString(pattern), flagsString);
}
return (0, _nil_default2.default)(subjectString.match(patternRegExp), []);
return nil_default.nilDefault(subjectString.match(patternRegExp), []);
}
module.exports = exports['default'];
module.exports = words;

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc