resource extraction and reading

This commit is contained in:
2024-10-20 13:41:03 -06:00
parent 3d9b877661
commit 44c1862869
15 changed files with 353 additions and 9 deletions

20
server/util/readDir.ts Normal file
View File

@@ -0,0 +1,20 @@
export const readDirFiles = async (path: string) => {
return readDirFiltered(path, (file) => file.isFile);
};
export const readDirDirs = async (path: string) => {
return readDirFiltered(path, (file) => file.isDirectory);
};
export const readDirFiltered = async (
path: string,
filter: (file: Deno.DirEntry) => boolean,
) => {
const files: string[] = [];
for await (const file of Deno.readDir(path)) {
if (filter(file)) {
files.push(file.name);
}
}
return files;
};

View File

@@ -0,0 +1,14 @@
export const versionCompat = (version: string, targetVersion: string) => {
if (targetVersion === "*") return true;
if (targetVersion === version) return true;
if (targetVersion.startsWith("^")) {
const versionSplit = version.split(".");
const targetVersionSplit = targetVersion.split(".");
for (let i = 0; i < versionSplit.length; i++) {
if (versionSplit[i] > targetVersionSplit[i]) {
return true;
}
}
}
return false;
};