Skip to content

construct

Builds an object from key paths and values

693 bytes

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 _
_
.
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
export construct

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