To Snake Case
[source]
Converts Object keys to snake_case.
Arguments
None
Returns
(Function): Returns Function that return new snake_cased Object.
Examples:
Simple
Action
Recursive
let op = require('apop/op');
op.toSnakeCase()({id: 1, firstName: 'Stephen', last_name: 'Nelson', deep: {firstName: 'Mike', last_name: 'Nelson'})
// => {id: 1, first_name: 'Stephen', last_name: 'Nelson', deep: {firstName: 'Mike', last_name: 'Nelson'}
let toSnakeCase = require('apop/op/toSnakeCase');
toSnakeCase()({id: 1, firstName: 'Stephen', last_name: 'Nelson', deep: {firstName: 'Mike', last_name: 'Nelson'})
// => {id: 1, first_name: 'Stephen', last_name: 'Nelson', deep: {firstName: 'Mike', last_name: 'Nelson'}
let op = require('apop/op');
op.recursive(op.toSnakeCase())({id: 1, firstName: 'Stephen', last_name: 'Nelson', deep: {firstName: 'Mike', last_name: 'Nelson'})
// => {id: 1, first_name: 'Stephen', last_name: 'Nelson', deep: {first_name: 'Mike', last_name: 'Nelson'}
Interactive Example:
let op = require('apop/op'); let formula = op( op.rename({ year: localState => localState.year.toString().length === 4 ? 'fullYear' : 'shortYear', }), op.toSnakeCase() ); let data = { firstName: "Alex", lastName: "Bro", year: 1970 } formula(data) // => { // first_name: "Alex", // full_year: 1970, // last_name: "Bro" // }