UNPKG

recursive-lowercase-json

Version:

Small function recursively converts object keys to lowercase within JSON-compatible object.

25 lines (20 loc) 884 B
'use strict'; 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;