change-object-case v0.2.1
change-object-case

A library based on change-case to change object keys case.
The library reexports all the methods of change-case so that it can be used as a drop-in replacement.
Each function of change-case has an equivalent with the suffix Keys
for object keys and Array to map on each object in an array.
So for example, from the function camel will be created camelKeys and camelArray.
Installation
You can get the package with npm
$ npm install --save change-object-caseor with bower
$ bower install --save change-object-caseUsage
var changeCase = require('change-object-case');
changeCase.camelKeys({foo_bar: {bar_baz: [{baz_qux: 1}]}});
// {fooBar: {bar_baz: [{baz_qux: 1}]}}
changeCase.camelKeys({foo_bar: {bar_baz: [{baz_qux: 1}]}}, {recursive: true});
// {fooBar: {barBaz: [{baz_qux: 1}]}}
changeCase.camelKeys({foo_bar: {bar_baz: [{baz_qux: 1}]}}, {recursive: true, arrayRecursive: true});
// {fooBar: {barBaz: [{bazQux: 1}]}}
changeCase.camelArray([{foo_bar: 1}, 2]);
// [{fooBar: 1}, 2]
changeCase.snakeKeys({fooBar: 1});
// {foo_bar: 1}If you don't know the type of your data beforehand, there's also methods that will take arbitrary data, e.g.:
changeCase.toCamel(['string', 1.2, {foo_bar: {bar_baz: [{baz_qux: 1}]}}], {recursive: true, arrayRecursive: true});By default, recursion is turned off, and you have to explictly pass {recursive: true} to get objects processed recursively and {arrayRecursive: true} to get arrays transformed.
You can set these values globally by changing changeCase.options:
var changeCase = require('change-object-case');
changeCase.options = {recursive: true, arrayRecursive: true};
changeCase.camelKeys({foo_bar: {bar_baz: [{baz_qux: 1}]}});
// {fooBar: {barBaz: [{bazQux: 1}]}}You can pass {exclude: array[string]} to exclude keys from the transformation.
Key collision
When converting case, some keys can possibliy collide.
By default, the key is overriden, but you can choose to raise an error
in such a case by passing: {throwOnDuplicate: true}.
changeCase.camelKeys({a_b1: 1, a_b_1: 2}, {throwOnDuplicate: true});
// Error: duplicated key aB1Available methods
See the change-case documentation
for all the available methods, and suffix with Keys or Array where you need.
License
MIT