Comparing version 1.3.1 to 1.4.0
@@ -94,2 +94,2 @@ 'use strict'; | ||
*/ | ||
var REGEXP_EXTENDED_ASCII = exports.REGEXP_EXTENDED_ASCII = /^[\x00-\xFF]*$/; | ||
var REGEXP_EXTENDED_ASCII = exports.REGEXP_EXTENDED_ASCII = /^[\x01-\xFF]*$/; |
@@ -73,3 +73,3 @@ 'use strict'; | ||
/** | ||
* Regular expression to match an unicode character | ||
* Regular expression to match a unicode character | ||
* | ||
@@ -122,3 +122,3 @@ * @type {RegExp} | ||
*/ | ||
var REGEXP_SPECIAL_CHARACTERS = exports.REGEXP_SPECIAL_CHARACTERS = /[-[\]{}()*+!<=:?.\/\\^$|#,]/g; | ||
var REGEXP_SPECIAL_CHARACTERS = exports.REGEXP_SPECIAL_CHARACTERS = /[-[\]{}()*+!<=:?./\\^$|#,]/g; | ||
@@ -125,0 +125,0 @@ /** |
{ | ||
"name": "voca", | ||
"version": "1.3.1", | ||
"version": "1.4.0", | ||
"description": "The ultimate JavaScript string library", | ||
@@ -9,3 +9,3 @@ "homepage": "https://vocajs.com", | ||
"email": "dmitri@rainsoft.io", | ||
"url": "https://rainsoft.io/about-me/" | ||
"url": "https://dmitripavlutin.com/about-me/" | ||
}, | ||
@@ -27,7 +27,2 @@ "license": "MIT", | ||
], | ||
"collective": { | ||
"type": "opencollective", | ||
"url": "https://opencollective.com/voca", | ||
"logo": "https://opencollective.com/voca/logo.txt" | ||
}, | ||
"repository": { | ||
@@ -44,3 +39,3 @@ "type": "git", | ||
"scripts": { | ||
"eslint": "eslint . --ext .js", | ||
"eslint": "eslint ./src --ext .js --fix", | ||
"build": "npm run build-dist && npm run build-npm-package", | ||
@@ -61,10 +56,10 @@ "build-dist": "rollup -c config/rollup_dist.js && rollup -c config/rollup_dist_min.js && rollup -c config/rollup_test.js", | ||
"devDependencies": { | ||
"babel-cli": "6.24.1", | ||
"babel-core": "6.25.0", | ||
"babel-eslint": "7.2.3", | ||
"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": "2.7.1", | ||
"babel-plugin-transform-es2015-block-scoping": "6.24.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.24.1", | ||
"babel-plugin-transform-es2015-modules-commonjs": "6.26.0", | ||
"babel-plugin-transform-es2015-parameters": "6.24.1", | ||
@@ -74,7 +69,7 @@ "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", | ||
"babel-plugin-transform-object-assign": "6.22.0", | ||
"babel-register": "6.24.1", | ||
"babel-register": "6.26.0", | ||
"babel-root-import": "4.1.8", | ||
"chai": "4.0.2", | ||
"chai": "4.1.2", | ||
"codecov.io": "0.1.6", | ||
"eslint": "3.19.0", | ||
"eslint": "4.14.0", | ||
"glob": "7.1.2", | ||
@@ -84,13 +79,13 @@ "grunt": "1.0.1", | ||
"grunt-saucelabs": "9.0.0", | ||
"husky": "0.13.4", | ||
"husky": "0.14.3", | ||
"istanbul": "1.1.0-alpha.1", | ||
"jsdoc": "3.4.3", | ||
"jsdoc": "3.5.5", | ||
"mkdirp": "0.5.1", | ||
"mocha": "3.4.2", | ||
"rollup": "0.42.0", | ||
"rollup-plugin-babel": "2.7.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.4.15" | ||
"source-map-support": "0.5.0" | ||
}, | ||
"dependencies": {} | ||
} |
@@ -6,4 +6,2 @@ # [![Voca JavaScript library logo][logo]][voca] | ||
[](https://www.npmjs.com/package/voca) | ||
[](#backers) | ||
[](#sponsors) | ||
@@ -147,79 +145,5 @@ Voca is a JavaScript library for manipulating strings. [https://vocajs.com][voca] | ||
| :-: | | ||
| [Dmitri Pavlutin](https://rainsoft.io/about-me/) | | ||
| [@panzerdp](https://twitter.com/panzerdp) | | ||
| [dmitri@rainsoft.io](mailto:dmitri@rainsoft.io) | | ||
| [@panzerdp](https://twitter.com/panzerdp) | ||
## Backers | ||
Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/voca#backer)] | ||
<a href="https://opencollective.com/voca/backer/0/website" target="_blank"><img src="https://opencollective.com/voca/backer/0/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/1/website" target="_blank"><img src="https://opencollective.com/voca/backer/1/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/2/website" target="_blank"><img src="https://opencollective.com/voca/backer/2/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/3/website" target="_blank"><img src="https://opencollective.com/voca/backer/3/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/4/website" target="_blank"><img src="https://opencollective.com/voca/backer/4/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/5/website" target="_blank"><img src="https://opencollective.com/voca/backer/5/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/6/website" target="_blank"><img src="https://opencollective.com/voca/backer/6/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/7/website" target="_blank"><img src="https://opencollective.com/voca/backer/7/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/8/website" target="_blank"><img src="https://opencollective.com/voca/backer/8/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/9/website" target="_blank"><img src="https://opencollective.com/voca/backer/9/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/10/website" target="_blank"><img src="https://opencollective.com/voca/backer/10/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/11/website" target="_blank"><img src="https://opencollective.com/voca/backer/11/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/12/website" target="_blank"><img src="https://opencollective.com/voca/backer/12/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/13/website" target="_blank"><img src="https://opencollective.com/voca/backer/13/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/14/website" target="_blank"><img src="https://opencollective.com/voca/backer/14/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/15/website" target="_blank"><img src="https://opencollective.com/voca/backer/15/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/16/website" target="_blank"><img src="https://opencollective.com/voca/backer/16/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/17/website" target="_blank"><img src="https://opencollective.com/voca/backer/17/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/18/website" target="_blank"><img src="https://opencollective.com/voca/backer/18/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/19/website" target="_blank"><img src="https://opencollective.com/voca/backer/19/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/20/website" target="_blank"><img src="https://opencollective.com/voca/backer/20/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/21/website" target="_blank"><img src="https://opencollective.com/voca/backer/21/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/22/website" target="_blank"><img src="https://opencollective.com/voca/backer/22/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/23/website" target="_blank"><img src="https://opencollective.com/voca/backer/23/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/24/website" target="_blank"><img src="https://opencollective.com/voca/backer/24/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/25/website" target="_blank"><img src="https://opencollective.com/voca/backer/25/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/26/website" target="_blank"><img src="https://opencollective.com/voca/backer/26/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/27/website" target="_blank"><img src="https://opencollective.com/voca/backer/27/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/28/website" target="_blank"><img src="https://opencollective.com/voca/backer/28/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/backer/29/website" target="_blank"><img src="https://opencollective.com/voca/backer/29/avatar.svg"></a> | ||
## Sponsors | ||
Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/voca#sponsor)] | ||
<a href="https://opencollective.com/voca/sponsor/0/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/0/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/1/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/1/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/2/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/2/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/3/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/3/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/4/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/4/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/5/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/5/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/6/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/6/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/7/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/7/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/8/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/8/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/9/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/9/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/10/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/10/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/11/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/11/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/12/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/12/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/13/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/13/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/14/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/14/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/15/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/15/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/16/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/16/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/17/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/17/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/18/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/18/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/19/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/19/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/20/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/20/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/21/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/21/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/22/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/22/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/23/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/23/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/24/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/24/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/25/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/25/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/26/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/26/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/27/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/27/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/28/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/28/avatar.svg"></a> | ||
<a href="https://opencollective.com/voca/sponsor/29/website" target="_blank"><img src="https://opencollective.com/voca/sponsor/29/avatar.svg"></a> | ||
## License | ||
@@ -231,5 +155,5 @@ | ||
[CONTRIBUTING]: https://github.com/panzerdp/voca/blob/master/.github/CONTRIBUTING.md | ||
[voca_min_js]: https://raw.githubusercontent.com/panzerdp/voca/1.3.1/dist/voca.min.js | ||
[source_map]: https://raw.githubusercontent.com/panzerdp/voca/1.3.1/dist/voca.min.js.map | ||
[voca_js]: https://raw.githubusercontent.com/panzerdp/voca/1.3.1/dist/voca.js | ||
[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 | ||
@@ -236,0 +160,0 @@ [logo]: https://github.com/panzerdp/voca/raw/master/jsdoc/template/static/images/voca-logo@300px.png |
@@ -25,6 +25,6 @@ 'use strict'; | ||
* @static | ||
* @since 1.2.0 | ||
* @since 1.4.0 | ||
* @memberOf Case | ||
* @param {string} [subject=''] The string to convert to title case. | ||
* @param {Array} [ignoreWords] The words that should not be capitalized. | ||
* @param {Array} [noSplit] Do not split words at the specified characters. | ||
* @return {string} Returns the title case string. | ||
@@ -35,14 +35,14 @@ * @example | ||
* | ||
* v.titleCase('another brick in the wall', ['in', 'the']); | ||
* // => 'Another Brick in the Wall' | ||
* v.titleCase('jean-luc is good-looking', ['-']); | ||
* // => 'Jean-luc Is Good-looking' | ||
*/ | ||
function titleCase(subject, ignoreWords) { | ||
function titleCase(subject, noSplit) { | ||
var subjectString = (0, _coerce_to_string2.default)(subject); | ||
var ignoreWordsArray = Array.isArray(ignoreWords) ? ignoreWords : []; | ||
var noSplitArray = Array.isArray(noSplit) ? noSplit : []; | ||
var wordsRegExp = _const_extended.REGEXP_EXTENDED_ASCII.test(subjectString) ? _const_extended.REGEXP_LATIN_WORD : _const_extended.REGEXP_WORD; | ||
return subjectString.replace(wordsRegExp, function (word) { | ||
var lowerCaseWord = word.toLowerCase(); | ||
return ignoreWordsArray.indexOf(lowerCaseWord) !== -1 ? lowerCaseWord : (0, _capitalize2.default)(lowerCaseWord, true); | ||
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); | ||
}); | ||
} | ||
module.exports = exports['default']; |
@@ -15,7 +15,7 @@ 'use strict'; | ||
* v.version | ||
* // => '1.3.1' | ||
* // => '1.4.0' | ||
*/ | ||
var version = '1.3.1'; | ||
var version = '1.4.0'; | ||
exports.default = version; | ||
module.exports = exports['default']; |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
428126
238