(directoryHandle: FileSystemDirectoryHandle, project: Project, pack: SplootPackage)
| 4 | import { SplootPackage } from '../language/projects/package' |
| 5 | |
| 6 | async 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 | |
| 24 | export async function exportProjectToFolder(directoryHandle: FileSystemDirectoryHandle, project: Project) { |
| 25 | // Write project file |
no test coverage detected