You're Invited: Meet the Socket team at BSidesSF and RSAC - April 27 - May 1.RSVP
Socket
Sign inDemoInstall
Socket

lodash-humps

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lodash-humps

Recursive camelCase of object keys and arrays of objects

3.1.6
latest
Source
npm
Version published
Weekly downloads
4.3K
-7.7%
Maintainers
1
Weekly downloads
 
Created
Source

lodash-humps v3.1.2

Converting object keys to camelCase. Works on deeply nested objects/arrays. Handy for converting underscore keys to camelCase. Using lodash keeps the code small and light at around 10 lines.

Install

$ npm i --save lodash-humps

Usage

Converting object keys

Remove any hyphens, underscores, whitespace characters, and uppercases the first character that follows. Returns a new object. See _.camelCase() https://lodash.com/docs#camelCase and https://en.wikipedia.org/wiki/CamelCase.

import humps from 'lodash-humps'

const object = { attr_one: 'foo', attr_two: 'bar', attr_three: { attr_one: 'foo' } }
humps(object) // { attrOne: 'foo', attrTwo: 'bar', attrThree: { attrOne: 'foo' } }

Arrays of objects are also converted:

const array = [{ attr_one: 'foo' }, { attr_one: 'bar' }]
humps(array) // [{ attrOne: 'foo' }, { attrOne: 'bar' }]

Custom key converter

What if you want to convert it back?!? See test/createHumps.spec.js for an example. Open an issue if you want a proper export.

import createHumps from 'humps/lib/createHumps'
import { snakeCase } from 'lodash'

const snakes = createHumps(snakeCase)
const object = { attrOne: 'foo', attrTwo: 'bar', attrThree: { attrOne: 'foo' } }
snakes(object) // { attr_one: 'foo', attr_two: 'bar', attr_three: { attr_one: 'foo' } }

Version 3 Changes

NOTE: Version 3.x will only work with objects created by the Object constructor. You may need to do something like const result = humps({ ...SomeOtherClass }) to get humps to process your stuff. Function properties are now kept and not converted to {}. Some might say this is a bug and others might call it a feature. Full version bump so you can have your pick.

Internally switched from using _.isObject to _.isPlainObject before converting the keys and children objects.

Prior Art

https://www.npmjs.com/package/humps

Keywords

utils

FAQs

Package last updated on 02 Mar 2021

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