Skip to content

construct

Builds an object from key paths and values

878 bytes
since v12.1.0

Usage

The opposite of crush, given an object that was crushed into key paths and values will return the original object reconstructed.

import * as
import _
_
from 'radashi'
const
const flat: {
name: string;
power: number;
'friend.name': string;
'friend.power': number;
'enemies.0.name': string;
'enemies.0.power': number;
}
flat
= {
name: string
name
: 'ra',
power: number
power
: 100,
'friend.name': 'loki',
'friend.power': 80,
'enemies.0.name': 'hathor',
'enemies.0.power': 12,
}
const
const reconstructed: object
reconstructed
=
import _
_
.
function construct<{
name: string;
power: number;
'friend.name': string;
'friend.power': number;
'enemies.0.name': string;
'enemies.0.power': number;
}>(obj: {
name: string;
power: number;
'friend.name': string;
'friend.power': number;
'enemies.0.name': string;
'enemies.0.power': number;
}): object

The opposite of crush, given an object that was crushed into key paths and values will return the original object reconstructed.

@seehttps://radashi.js.org/reference/object/construct

@example

construct({ name: 'ra', 'children.0.name': 'hathor' })
// { name: 'ra', children: [{ name: 'hathor' }] }

@version12.1.0

construct
(
const flat: {
name: string;
power: number;
'friend.name': string;
'friend.power': number;
'enemies.0.name': string;
'enemies.0.power': number;
}
flat
)
// {
// name: 'ra',
// power: 100,
// friend: {
// name: 'loki',
// power: 80
// },
// enemies: [
// {
// name: 'hathor',
// power: 12
// }
// ]
// }