#Question
Please update src/move.ts to pass tests. You can find the tests in src/move.spec.ts.
Imagine an array that contains folders. These folders can have files in it. move function moves a file to another folder and returns the new state of given list.
const list = [
{
id: '1',
name: 'Folder 1',
files: [
{ id: '2', name: 'File 1' },
{ id: '3', name: 'File 2' },
{ id: '4', name: 'File 3' },
{ id: '5', name: 'File 4' },
],
},
{
id: '6',
name: 'Folder 2',
files: [{ id: '7', name: 'File 5' }],
},
]If I run move(list, '4', '6') then I expect file with id 4 moved to the folder which has id 6. Function should return the new state below;
const result = [
{
id: '1',
name: 'Folder 1',
files: [
{ id: '2', name: 'File 1' },
{ id: '3', name: 'File 2' },
{ id: '5', name: 'File 4' },
],
},
{
id: '6',
name: 'Folder 2',
files: [
{ id: '7', name: 'File 5' },
{ id: '4', name: 'File 3' },
],
},
];| Key | Type | Description |
|---|---|---|
| list | Folder[] | Given list |
| source | string | Id of the moved file |
| destination | string | Id of the folder to be moved |
| Key | Type | Description |
|---|---|---|
| id | string | Unique identifier of folder |
| name | string | Name of the folder |
| files | File [] | Files in this folder |
| Key | Type | Description |
|---|---|---|
| id | string | Unique identifier of file |
| name | string | Name of the file |
NOTE: All IDs are unique.
yarn lintyarn testNOTE: If you believe that some scenarios are missing in the tests, don't hesitate to add them to suite.
yarn format