chore: generic create new file

This commit is contained in:
Kevin Nadro
2025-04-14 16:45:38 -06:00
parent 216af5a0ca
commit fcffc72655
4 changed files with 100 additions and 2 deletions

View File

@ -50,6 +50,14 @@ export const systemIOMachine = setup({
| {
type: SystemIOMachineEvents.deleteProject
data: { requestedProjectName: string }
}
| {
type: SystemIOMachineEvents.createKCLFile
data: {
requestedProjectName: string
requestedFileName: string
requestedCode: string
}
},
},
actions: {
@ -116,6 +124,18 @@ export const systemIOMachine = setup({
}
}) => {}
),
[SystemIOMachineActors.createKCLFile]: fromPromise(
async ({
input,
}: {
input: {
context: SystemIOContext
requestedProjectName: string
requestedFileName: string
requestedCode: string
}
}) => {}
),
},
}).createMachine({
initial: SystemIOMachineStates.idle,
@ -158,6 +178,9 @@ export const systemIOMachine = setup({
[SystemIOMachineEvents.deleteProject]: {
target: SystemIOMachineStates.deletingProject,
},
[SystemIOMachineEvents.createKCLFile]: {
target: SystemIOMachineStates.creatingKCLFile,
},
},
},
[SystemIOMachineStates.readingFolders]: {
@ -234,6 +257,27 @@ export const systemIOMachine = setup({
},
},
},
[SystemIOMachineStates.creatingKCLFile]: {
invoke: {
id: SystemIOMachineActors.createKCLFile,
src: SystemIOMachineActors.createKCLFile,
input: ({ context, event }) => {
assertEvent(event, SystemIOMachineEvents.createKCLFile)
return {
context,
requestedProjectName: event.data.requestedProjectName,
requestedFileName: event.data.requestedFileName,
requestedCode: event.data.requestedCode,
}
},
onDone: {
target: SystemIOMachineStates.idle,
},
onError: {
target: SystemIOMachineStates.idle,
},
},
},
},
})