Skip to content

crush

Flattens a deep object to a single dimension

290 bytes

Usage

Flattens a deep object to a single dimension. The deep keys will be converted to a dot notation in the new object.

import * as
import _
_
from 'radashi'
const
const ra: {
name: string;
power: number;
friend: {
name: string;
power: number;
};
enemies: {
name: string;
power: number;
}[];
}
ra
= {
name: string
name
: 'ra',
power: number
power
: 100,
friend: {
name: string;
power: number;
}
friend
: {
name: string
name
: 'loki',
power: number
power
: 80,
},
enemies: {
name: string;
power: number;
}[]
enemies
: [
{
name: string
name
: 'hathor',
power: number
power
: 12,
},
],
}
const
const crushed: {
[x: string]: unknown;
name: string;
power: number;
}
crushed
=
import _
_
.
crush<{
name: string;
power: number;
friend: {
name: string;
power: number;
};
enemies: {
name: string;
power: number;
}[];
}>(value: {
name: string;
power: number;
friend: {
name: string;
power: number;
};
enemies: {
name: string;
power: number;
}[];
}): {
...;
}
export crush

Flattens a deep object to a single dimension, converting the keys to dot notation.

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

@example

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

@version12.1.0

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