Sync engine (#298)

Fixes #261
This commit is contained in:
Zef Hemel
2023-01-13 15:41:29 +01:00
committed by GitHub
parent de6f531e91
commit a56e14bff1
51 changed files with 1033 additions and 1418 deletions
+8 -5
View File
@@ -13,7 +13,10 @@ import { Directory, Encoding, Filesystem } from "../deps.ts";
import { mime } from "../../plugos/deps.ts";
export class CapacitorSpacePrimitives implements SpacePrimitives {
constructor(readonly source: Directory, readonly root: string) {
constructor(
readonly source: Directory,
readonly root: string,
) {
}
async fetchFileList(): Promise<FileMeta[]> {
@@ -28,8 +31,9 @@ export class CapacitorSpacePrimitives implements SpacePrimitives {
});
for (const file of files.files) {
if (file.type === "file") {
const name = `${dir}/${file.name}`.substring(1);
allFiles.push({
name: `${dir}/${file.name}`.substring(1),
name: name,
lastModified: file.mtime,
perm: "rw",
contentType: mime.getType(file.name) || "application/octet-stream",
@@ -41,7 +45,6 @@ export class CapacitorSpacePrimitives implements SpacePrimitives {
}
}
await readAllFiles("");
console.log("allFiles", allFiles);
return allFiles;
}
async readFile(
@@ -51,7 +54,7 @@ export class CapacitorSpacePrimitives implements SpacePrimitives {
let data: FileData | undefined;
try {
switch (encoding) {
case "string":
case "utf8":
data = (await Filesystem.readFile({
path: this.root + name,
directory: this.source,
@@ -109,7 +112,7 @@ export class CapacitorSpacePrimitives implements SpacePrimitives {
data: FileData,
): Promise<FileMeta> {
switch (encoding) {
case "string":
case "utf8":
await Filesystem.writeFile({
path: this.root + name,
directory: this.source,