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