MCPcopy Index your code
hub / github.com/SplootCode/splootcode / savePackage

Function savePackage

packages/core/src/code_io/filesystem.ts:6–22  ·  view source on GitHub ↗
(directoryHandle: FileSystemDirectoryHandle, project: Project, pack: SplootPackage)

Source from the content-addressed store, hash-verified

4import { SplootPackage } from '../language/projects/package'
5
6async function savePackage(directoryHandle: FileSystemDirectoryHandle, project: Project, pack: SplootPackage) {
7 const packDir = await directoryHandle.getDirectoryHandle(pack.name, { create: true })
8 const packFile = await packDir.getFileHandle('package.sp', { create: true })
9 // @ts-ignore
10 const writable = await packFile.createWritable()
11 await writable.write(pack.serialize())
12 await writable.close()
13 // Save each file
14 const promises = pack.fileOrder.map(async (filename) => {
15 const fileHandle = await packDir.getFileHandle(filename + '.sp', { create: true })
16 // @ts-ignore
17 const writable = await fileHandle.createWritable()
18 await writable.write(pack.files[filename].serialize())
19 await writable.close()
20 })
21 await Promise.all(promises)
22}
23
24export async function exportProjectToFolder(directoryHandle: FileSystemDirectoryHandle, project: Project) {
25 // Write project file

Callers 1

exportProjectToFolderFunction · 0.85

Calls 1

serializeMethod · 0.45

Tested by

no test coverage detected