UNPKG

@ou-imdt/utils

Version:

Utility library for interactive media development

22 lines (21 loc) 875 B
/** * 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; };