UNPKG

many-cloud

Version:

A Node module for abstracting file management and interfacing with a variety of cloud storages.

39 lines (35 loc) 964 B
module.exports = data => { recursive_delete = folderID => { return new Promise(async (resolve, reject) => { try { let res = await data.list_all_files(folderID); //Delete any files in this folder for (let i = 0; i < res.Contents.length; i++) { await data.delete_file(res.Contents[i].Key); } //Recursively delete and folders in this folder for (let i = 0; i < res.CommonPrefixes.length; i++) { await recursive_delete( res.CommonPrefixes[i].Prefix.substring( 0, res.CommonPrefixes[i].Prefix.length - 1 ) ); } resolve(); } catch (err) { reject(err); } }); }; return function(folderID) { return new Promise(async (resolve, reject) => { try { await recursive_delete(folderID); resolve(); } catch (err) { reject(err); } }); }; };