MCPcopy
hub / github.com/microsoft/vscode-js-debug / createFileTree

Function createFileTree

src/test/createFileTree.ts:17–39  ·  view source on GitHub ↗
(rootDir: string, tree: IFileTree)

Source from the content-addressed store, hash-verified

15 * fixtures in unit tests.
16 */
17export function createFileTree(rootDir: string, tree: IFileTree) {
18 fs.mkdirSync(rootDir, { recursive: true });
19
20 for (const key of Object.keys(tree)) {
21 const value = tree[key];
22 const targetPath = path.join(rootDir, key);
23
24 let write: Buffer;
25 if (typeof value === 'string') {
26 write = Buffer.from(value);
27 } else if (value instanceof Buffer) {
28 write = value;
29 } else if (value instanceof Array) {
30 write = Buffer.from(value.join(EOL));
31 } else {
32 createFileTree(targetPath, value);
33 continue;
34 }
35
36 fs.mkdirSync(path.dirname(targetPath), { recursive: true });
37 fs.writeFileSync(targetPath, write);
38 }
39}

Calls 1

keysMethod · 0.65

Tested by

no test coverage detected