addFolder(_path = '', _data = {})
    {
        // Errors
        if(typeof _path !== 'string')
        {
            console.warn('addFolder: _path should be a string')
            return false
        }
        if(typeof _data !== 'object')
        {
            console.warn('addFolder: _data should be an object')
            return false
        }

        // Set up
        const path = this.cleanPath(_path)
        const pathParts = path.split('/')

        let folders = this.folders
        let folder = null

        // Each path part
        for(const _part of pathParts)
        {
            const index = folders.findIndex((folder) => _part === folder.name)

            // Already exist
            if(index !== -1)
            {
                folder = folders[index]
                folders = folder.folders
            }

            // Folder doesn't exist
            else
            {
                // Create folder
                folder = {
                    folders: [],
                    files: [],
                    name: _part
                }

                // Add data
                for(const dataKey in _data)
                {
                    const data = _data[dataKey]
                    folder[dataKey] = data
                }

                // Save
                folders.push(folder)
                folders = folder.folders
            }
        }

        // Update counts
        this.updateCounts()

        // Return
        return folder
    }
Add a folder
Can create nested folder in one path
@param {String} _path - Path to the folder (start with `./`)
@param {Object} _data - Properties to add to the folder
@returns {Object} Created folder