UNPKG

@worldapi/cli

Version:

A productivity focused CLI and terminal for WorldAPI.

33 lines (32 loc) 962 B
function create_default(paths) { let obj = {}; function parsePath(str) { let folders = str.split("/"); const file = folders.pop(); const sanitized = folders.filter((item) => item !== "" && item !== "."); let entry = obj; sanitized.forEach((item) => { if (!Object.keys(entry).includes("folders")) { Object.assign(entry, { folders: {} }); } if (!Object.keys(entry["folders"]).includes(item)) { const _o = entry["folders"]; Object.assign(entry, { folders: { [item]: {}, ..._o } }); } entry = entry["folders"][item]; }); if (!Object.keys(entry).includes("files")) { Object.assign(entry, { files: [file] }); } else { const _f = entry["files"]; if (_f.includes(file)) return; Object.assign(entry, { files: [file, ..._f] }); } } paths.forEach(async (item) => await parsePath(item)); return obj; } export { create_default as default };