返回 DeepSeek-Reasonix
blankProjectBridge.ts
根目录 / desktop / frontend / src / lib / blankProjectBridge.ts
1 export interface BlankProjectBindings {
2 PickBlankProjectParent(): Promise<string>;
3 CreateBlankProject(parentDir: string, projectName: string): Promise<string>;
4 }
5
6 export function makeMockBlankProjectBindings(): BlankProjectBindings {
7 return {
8 async PickBlankProjectParent() {
9 return "~/projects";
10 },
11 async CreateBlankProject(parentDir: string, projectName: string) {
12 const parent = parentDir.replace(/[\\/]+$/, "");
13 const name = projectName.trim();
14 if (!parent || !name || name === "." || name === ".." || /[\\/]/.test(name)) {
15 throw new Error("project name must be a single folder name");
16 }
17 return `${parent}/${name}`;
18 },
19 };
20 }
21
21 lines TYPESCRIPT