var arrayReduce = require('./_arrayReduce'),

deburr = require('./deburr'),
words = require('./words');

/** Used to compose unicode capture groups. */ var rsApos = “['u2019]”;

/** Used to match apostrophes. */ var reApos = RegExp(rsApos, 'g');

/**

* Creates a function like `_.camelCase`.
*
* @private
* @param {Function} callback The function to combine each word.
* @returns {Function} Returns the new compounder function.
*/

function createCompounder(callback) {

return function(string) {
  return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');
};

}

module.exports = createCompounder;