Update

[source]

Update Object Keys

Arguments

config(Object): {key: value}

config(Object): {key: state => newValue}

Returns

(Function): Returns Function that return new updated Object.

Examples:

Simple
Action
Recursive
let op = require('apop/op');
op.update({year: 1970})({firstName: 'Alex', child: {firstName: 'John', year: 2002}})
// => {year: 1970, firstName: 'Alex', child: {firstName: 'John', year: 2002}}
let update = require('apop/op/update');
update({year: 1970})({firstName: 'Alex', child: {firstName: 'John', year: 2002}})
// => {year: 1970, firstName: 'Alex', child: {firstName: 'John', year: 2002}}
let op = require('apop/op');
op.recursive(op.update({year: 1970}))({firstName: 'Alex', child: {firstName: 'John', year: 2002}})
// => {year: 1970, firstName: 'Alex', child: {firstName: 'John', year: 1970}}

Interactive Example:

let op = require('apop/op');
let formula = op(
    op.toCamelCase(),
    op.update({
        year: localState => localState.birthDate.getFullYear(),
        month: localState => localState.birthDate.getMonth(),
        day: localState => localState.birthDate.getDate(),
    }),
);
let data = {
    first_name: "Alex",
    birth_date: new Date(Date.UTC(1970, 11, 3)),
}
formula(data)
// => {
//     birthDate: new Date(Date.UTC(1970, 11, 3)),
//     day: 3
//     firstName: "Alex",
//     month: 11,
//     year: 1970,

// }

results matching ""

    No results matching ""