victor-am/rails-ranger

View on GitHub
src/utils/deep-snake-case-keys.js

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
import { isObject, transform, snakeCase } from 'lodash'

const deepSnakeCaseKeys = (object) => {
  return transform(object, (result, value, key) => {
    const newValue = isObject(value) ? deepSnakeCaseKeys(value) : value
    result[snakeCase(key)] = newValue
  })
}

export default deepSnakeCaseKeys