Files
lodash/_createCompounder.js
2017-01-09 17:38:33 -08:00

23 lines
610 B
JavaScript

import arrayReduce from './_arrayReduce.js';
import deburr from './deburr.js';
import words from './words.js';
/** Used to compose unicode capture groups. */
const rsApos = "['\u2019]";
/** Used to match apostrophes. */
const 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 string => arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');
}
export default createCompounder;