o-unflatten

1.1.0 • Public • Published

unflatten

Version Downloads

Package for conversion from flat to nested objects

Installation

npm install --save o-unflatten

Usage

const nodes = [
    {id: 1, parentId: 0},
    {id: 2, parentId: 0},
    {id: 3, parentId: 1},
    {id: 4, parentId: 1},
    {id: 5, parentId: 2},
    {id: 6, parentId: 4},
    {id: 7, parentId: 5}
];
const unflatten = require('o-unflatten');
const nested = unflatten(nodes);
console.log(nested);

Input

const nodes = [
    {id: 1, parentId: 0},
    {id: 2, parentId: 0},
    {id: 3, parentId: 1},
    {id: 4, parentId: 1},
    {id: 5, parentId: 2},
    {id: 6, parentId: 4},
    {id: 7, parentId: 5}
];

Output

const nested = [
    {
     "id": 1,
     "parentId": 0,
     "children": [
         {
             "id": 3,
             "parentId": 1
         },
         {
             "id": 4,
             "parentId": 1,
             "children": [
                 {
                     "id": 6,
                     "parentId": 4
                 }
             ]
         }
     ]
    },
    {
     "id": 2,
     "parentId": 0,
     "children": [
         {
             "id": 5,
             "parentId": 2,
             "children": [
                 {
                     "id": 7,
                     "parentId": 5
                 }
             ]
         }
     ]
    }
];

Tests

npm run test

Package Sidebar

Install

npm i o-unflatten

Weekly Downloads

11

Version

1.1.0

License

UNLICENSED

Last publish

Collaborators

  • ubcent