MCPcopy Create free account
hub / github.com/MemeTray/MemeTray / traverseFileTree

Function traverseFileTree

tools/all-in-one/script.js:254–278  ·  view source on GitHub ↗
(item, files)

Source from the content-addressed store, hash-verified

252
253// Traverse the dropped file tree
254async function traverseFileTree(item, files) {
255 console.log(`🌲 Traversing: ${item.name}, isFile=${item.isFile}, isDirectory=${item.isDirectory}`);
256
257 if (item.isFile) {
258 return new Promise((resolve) => {
259 item.file((file) => {
260 console.log(` ✅ Got file: ${file.name} (${file.type}, ${file.size} bytes)`);
261 files.push(file);
262 resolve();
263 }, (error) => {
264 console.error(` ❌ Failed to get file: ${item.name}`, error);
265 resolve();
266 });
267 });
268 } else if (item.isDirectory) {
269 console.log(` 📂 Entering directory: ${item.name}`);
270 const dirReader = item.createReader();
271 const entries = await readAllEntries(dirReader);
272 console.log(` 📂 Directory ${item.name} contains ${entries.length} entries`);
273
274 for (const entry of entries) {
275 await traverseFileTree(entry, files);
276 }
277 }
278}
279
280function readAllEntries(dirReader) {
281 return new Promise((resolve) => {

Callers 1

handleDropFunction · 0.70

Calls 1

readAllEntriesFunction · 0.70

Tested by

no test coverage detected