Puck AI closed beta
Read docs
API ReferenceFunctionssetDeep

setDeep

A convenience utility for setting the value of a key deep within an object.

Useful when implementing field transforms.

import { setDeep } from "@measured/puck";
 
const newData = setDeep(
  {
    object: {
      array: [{ key: "Hello, world" }],
    },
  },
  "object.array[0].key",
  "Goodbye, world"
);
 
console.log(newData);
// {
//   object: {
//     array: [{ key: "Goodbye, world" }],
//   },
// }

Args

ParamExampleType
input{}Object | Array
path"object.array[0].key"String
value"Hello, world"Any

input

The input object or array that contains the key to be updated.

path

A dot-notated path that describes a key deep within an object or array.

Uses dot-notation and square brackets:

  • . deliminates sub-props in an object field (i.e. a.b represents b where a is {b: "Value"})
  • [*] which donate an index in an array field where * is an integer (i.e. a[0].b represents b in the first item in array a with the value [{b: "Value"}])

Commonly provided by the propPath parameter for field transforms.

value

The value to set the key to.