daedalOS/contexts/fileSystem/functions.ts
2022-02-15 19:45:43 -08:00

25 lines
672 B
TypeScript

import { get, set } from "idb-keyval";
import { join } from "path";
import { FS_HANDLES } from "utils/constants";
export const getFileSystemHandles = async (): Promise<
Record<string, FileSystemDirectoryHandle>
> => (await get(FS_HANDLES)) ?? {};
export const addFileSystemHandle = async (
directory: string,
handle: FileSystemDirectoryHandle
): Promise<void> =>
set(FS_HANDLES, {
...(await getFileSystemHandles()),
[join(directory, handle.name)]: handle,
});
export const removeFileSystemHandle = async (
directory: string
): Promise<void> => {
const { [directory]: _, ...handles } = await getFileSystemHandles();
set(FS_HANDLES, handles);
};