| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | var camelCase = require("lodash/camelCase");function dashesCamelCase(str) {  return str.replace(/-+(\w)/g, function(match, firstLetter) {    return firstLetter.toUpperCase();  });}module.exports = function compileExports(result, importItemMatcher, camelCaseKeys) {  if (!Object.keys(result.exports).length) {    return "";  }  var exportJs = Object.keys(result.exports).reduce(function(res, key) {    var valueAsString = JSON.stringify(result.exports[key]);    valueAsString = valueAsString.replace(result.importItemRegExpG, importItemMatcher);    function addEntry(k) {      res.push("\t" + JSON.stringify(k) + ": " + valueAsString);    }    var targetKey;    switch(camelCaseKeys) {      case true:        addEntry(key);        targetKey = camelCase(key);        if (targetKey !== key) {          addEntry(targetKey);        }        break;      case 'dashes':        addEntry(key);        targetKey = dashesCamelCase(key);        if (targetKey !== key) {          addEntry(targetKey);        }        break;      case 'only':        addEntry(camelCase(key));        break;      case 'dashesOnly':        addEntry(dashesCamelCase(key));        break;      default:        addEntry(key);        break;    }    return res;  }, []).join(",\n");  return "{\n" + exportJs + "\n}";};
 |