recursive-lowercase-json
Version:
Small function recursively converts object keys to lowercase within JSON-compatible object.
25 lines (20 loc) • 884 B
JavaScript
;
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
var isArray = function isArray(obj) {
return Object.prototype.toString.call(obj) === '[object Array]';
};
var recursivelyLowercaseJSONKeys = function recursivelyLowercaseJSONKeys(obj) {
if ((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) !== 'object' || obj === null) {
return obj;
}
if (isArray(obj)) {
return obj.map(function (o) {
return recursivelyLowercaseJSONKeys(o);
});
}
return Object.keys(obj).reduce(function (prev, curr) {
prev[curr.toLowerCase()] = recursivelyLowercaseJSONKeys(obj[curr]);
return prev;
}, {});
};
module.exports = recursivelyLowercaseJSONKeys;