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"
// }

results matching ""

    No results matching ""