MCPcopy Create free account
hub / github.com/Snapchat/Valdi / createFileTree

Function createFileTree

valdi/vscode_debugger/src/test/test.ts:621–643  ·  view source on GitHub ↗
(rootDir: string, tree: IFileTree)

Source from the content-addressed store, hash-verified

619 * fixtures in unit tests.
620 */
621export function createFileTree(rootDir: string, tree: IFileTree) {
622 mkdirp.sync(rootDir);
623
624 for (const key of Object.keys(tree)) {
625 const value = tree[key];
626 const targetPath = path.join(rootDir, key);
627
628 let write: Buffer;
629 if (typeof value === 'string') {
630 write = Buffer.from(value);
631 } else if (value instanceof Buffer) {
632 write = value;
633 } else if (value instanceof Array) {
634 write = Buffer.from(value.join(EOL));
635 } else {
636 createFileTree(targetPath, value);
637 continue;
638 }
639
640 mkdirp.sync(path.dirname(targetPath));
641 fs.writeFileSync(targetPath, write);
642 }
643}

Callers 7

breakpointsTest.tsFile · 0.90
prepareFileTreeFunction · 0.90
sourcesTest.tsFile · 0.90
pickAttach.test.tsFile · 0.90

Calls 5

writeFileSyncMethod · 0.80
keysMethod · 0.65
syncMethod · 0.45
joinMethod · 0.45
fromMethod · 0.45

Tested by 1

prepareFileTreeFunction · 0.72