MCPcopy Create free account
hub / github.com/VemtoOrg/vemto2 / HandleFileQueue

Function HandleFileQueue

src/main/FileQueueHandler.ts:6–56  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

4import Project from "../common/models/Project"
5
6export function HandleFileQueue() {
7 const fileQueue = []
8
9 let project = null
10
11 let needsToSave = false
12
13 ipcMain.handle("file-queue:add", (event, filePath: string, content: string) => {
14 fileQueue.push({ filePath, content })
15 needsToSave = true
16 })
17
18 setInterval(() => {
19 project = Project.find(1)
20
21 if(project === null) return
22
23 generateFiles()
24 saveQueue()
25 }, 1000)
26
27 const generateFiles = () => {
28 if (fileQueue.length === 0) return
29
30 fileQueue.forEach(file => {
31 const completePath = path.join(project.getPath(), file.filePath)
32
33 FileSystem.writeFile(completePath, file.content)
34
35 const index = fileQueue.indexOf(file)
36 fileQueue.splice(index, 1)
37
38 needsToSave = true
39 })
40 }
41
42 const saveQueue = () => {
43 if (!needsToSave) return
44
45 console.log('Saving file queue...')
46
47 let queueFilePath = path.join(project.getPath(), ".vemto", "file-queue.json")
48
49 FileSystem.writeJsonFile(
50 queueFilePath,
51 fileQueue
52 )
53
54 needsToSave = false
55 }
56}

Callers 1

createWindowFunction · 0.90

Calls 4

generateFilesFunction · 0.85
saveQueueFunction · 0.85
findMethod · 0.80
handleMethod · 0.45

Tested by

no test coverage detected