Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

change-object-case

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

change-object-case

Change case of object and arrays

  • 0.2.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
5.7K
decreased by-7.82%
Maintainers
1
Weekly downloads
 
Created
Source

change-object-case Build Status Coverage Status

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-case

or with bower

$ bower install --save change-object-case

Usage

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 aB1

Available methods

See the change-case documentation for all the available methods, and suffix with Keys or Array where you need.

License

MIT

Keywords

FAQs

Package last updated on 09 Aug 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc