diff options
author | 2015-08-20 15:52:57 -0700 | |
---|---|---|
committer | 2015-08-20 15:52:57 -0700 | |
commit | 5df6ebd0c585756467c128dc20b60be515163f5e (patch) | |
tree | 8d76ea5237b888ea3e75ba947387e0dbb2fc2f86 /src/node | |
parent | 01a772028041577099e406019b731b3540a6fb2f (diff) |
Replaced toLowerCase with local-insensitive downcasing function
Diffstat (limited to 'src/node')
-rw-r--r-- | src/node/src/metadata.js | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/node/src/metadata.js b/src/node/src/metadata.js index d4a8b2669f..77ababb65d 100644 --- a/src/node/src/metadata.js +++ b/src/node/src/metadata.js @@ -48,12 +48,19 @@ function Metadata() { this._internal_repr = {}; } +function downcaseString(str) { + var capitals = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; + var lowercase = 'abcdefghijklmnopqrstuvwxyz'; + var charMap = _.zipObject(capitals, lowercase); + return str.replace(/[A-Z]/g, _.curry(_.get)(charMap)); +} + function normalizeKey(key) { if (!(/^[A-Za-z\d-]+$/.test(key))) { throw new Error('Metadata keys must be nonempty strings containing only ' + 'alphanumeric characters and hyphens'); } - return key.toLowerCase(); + return downcaseString(key); } function validate(key, value) { |