Skip to content

ubcent/unflatten

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Package for flat to nested objects conversion

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published