Comparing version 1.4.0 to 1.4.1
'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; |
19
chars.js
'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; |
19
count.js
'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 @@ '<': '<', | ||
}; | ||
/** | ||
@@ -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; |
38
first.js
'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; |
38
last.js
'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; |
159
latinise.js
'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; |
50
pad.js
'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; |
47
prune.js
'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; |
163
README.md
@@ -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' | ||
|  | | ||
|  | | ||
| :-: | | ||
| [@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; |
19
slice.js
'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; |
19
split.js
'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; |
502
sprintf.js
'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; |
60
tr.js
'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; |
51
trim.js
'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 @@ '<': /(<)|(�*3c;)|(�*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>&lt; &gt; &amp; &quot; &#x27; &#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; |
51
words.js
'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
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
524853
22
167
15318
239
1