zhangyong
2023-08-22 1353e87cb21a4032d585d7404bae9042f2ebcf08
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import arrayReduce from './_arrayReduce.js';
import deburr from './deburr.js';
import words from './words.js';
 
/** 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, '');
  };
}
 
export default createCompounder;