@ou-imdt/utils
Version:
Utility library for interactive media development
22 lines (21 loc) • 875 B
JavaScript
/**
* Retrieves the contents of a folder from the VLE.
* @param {string} name - The name of the folder.
* @returns {Promise<any>} A promise that resolves with the folder contents, or rejects on error.
*/
export default function getVLEFolder(name = 'assets') {
return new Promise((resolve, reject) => {
const onSuccess = (response) => resolve(response);
const onError = (response) => reject(response);
VLE.get_folder(name, onSuccess, onError);
getFolderCallback._redirect ??= {};
getFolderCallback._redirect[name] = VLE.get_folder_callback;
VLE.get_folder_callback = getFolderCallback;
});
}
export const getFolderCallback = function getVLEFolderCallback(data, name) {
if (typeof name === 'undefined') return data;
const contents = getFolderCallback._redirect[name](files);
delete getFolderCallback._redirect[name];
return contents;
};