Initial commit
[yaffs-website] / node_modules / grunt-contrib-watch / node_modules / globule / node_modules / lodash / _createCompounder.js
1 var arrayReduce = require('./_arrayReduce'),
2     deburr = require('./deburr'),
3     words = require('./words');
4
5 /** Used to compose unicode capture groups. */
6 var rsApos = "['\u2019]";
7
8 /** Used to match apostrophes. */
9 var reApos = RegExp(rsApos, 'g');
10
11 /**
12  * Creates a function like `_.camelCase`.
13  *
14  * @private
15  * @param {Function} callback The function to combine each word.
16  * @returns {Function} Returns the new compounder function.
17  */
18 function createCompounder(callback) {
19   return function(string) {
20     return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');
21   };
22 }
23
24 module.exports = createCompounder;