From 907ad4a00467e7e39e97b7147040f2a83c61789d Mon Sep 17 00:00:00 2001 From: Josh Haberman Date: Thu, 18 Feb 2016 10:46:44 -0800 Subject: [PATCH] Properly camelCase when translating to CommonJS. --- js/commonjs/rewrite_tests_for_commonjs.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/js/commonjs/rewrite_tests_for_commonjs.js b/js/commonjs/rewrite_tests_for_commonjs.js index 397320b2b3..dc5effec5f 100644 --- a/js/commonjs/rewrite_tests_for_commonjs.js +++ b/js/commonjs/rewrite_tests_for_commonjs.js @@ -43,6 +43,22 @@ function tryStripPrefix(str, prefix) { return str.substr(prefix.length); } +function camelCase(str) { + var ret = ''; + var ucaseNext = false; + for (var i = 0; i < str.length; i++) { + if (str[i] == '-') { + ucaseNext = true; + } else if (ucaseNext) { + ret += str[i].toUpperCase(); + ucaseNext = false; + } else { + ret += str[i]; + } + } + return ret; +} + var module = null; var pkg = null; lineReader.on('line', function(line) { @@ -64,7 +80,7 @@ lineReader.on('line', function(line) { console.log("// Bring asserts into the global namespace."); console.log("googleProtobuf.object.extend(global, asserts);"); } - module = isLoadFromFile[1].replace("-", "_"); + module = camelCase(isLoadFromFile[1]) pkg = isLoadFromFile[2]; if (module != "googleProtobuf") { // We unconditionally require this in the header.