diff --git a/src/features/file/helpers.ts b/src/features/file/helpers.ts index 94c815d..5aeca4d 100644 --- a/src/features/file/helpers.ts +++ b/src/features/file/helpers.ts @@ -4,7 +4,7 @@ import { filter } from "~/utilities"; interface Files extends Record { } -export const load = (file: File): Promise | undefined> => { +export const read = (file: File): Promise | undefined> => { switch (file.type) { case 'application/json': return json.load(file.stream()) diff --git a/src/features/file/index.tsx b/src/features/file/index.tsx index 6eba3ce..f9abe61 100644 --- a/src/features/file/index.tsx +++ b/src/features/file/index.tsx @@ -1,5 +1,5 @@ -export { load, readFiles } from './helpers'; +export { read, readFiles } from './helpers'; export { useFiles, FilesProvider } from './context'; export { Grid } from './grid'; export { TreeProvider, Tree, useTree } from './tree'; diff --git a/src/routes/(editor)/edit.tsx b/src/routes/(editor)/edit.tsx index ef54e71..d9b7063 100644 --- a/src/routes/(editor)/edit.tsx +++ b/src/routes/(editor)/edit.tsx @@ -2,7 +2,7 @@ import { Component, createEffect, createMemo, createResource, createSignal, For, import { Created, filter, MutarionKind, Mutation, splitAt } from "~/utilities"; import { Sidebar } from "~/components/sidebar"; import { Menu } from "~/features/menu"; -import { Grid, load, readFiles, TreeProvider, Tree, useFiles } from "~/features/file"; +import { Grid, read, readFiles, TreeProvider, Tree, useFiles } from "~/features/file"; import { Command, CommandType, Context, createCommand, Modifier } from "~/features/command"; import { Entry, GridApi } from "~/features/file/grid"; import { Tab, Tabs } from "~/components/tabs"; @@ -383,7 +383,7 @@ const Content: Component<{ directory: FileSystemDirectoryHandle, api?: Setter(); const files = readFiles(() => props.directory); - const [contents] = createResource(() => files.latest, (files) => Promise.all(Object.entries(files).map(async ([id, { file, handle }]) => ({ id, handle, lang: file.name.split('.').at(0)!, entries: (await load(file))! }))), { initialValue: [] }); + const [contents] = createResource(files, (files) => Promise.all(Object.entries(files).map(async ([id, { file, handle }]) => ({ id, handle, lang: file.name.split('.').at(0)!, entries: (await read(file))! }))), { initialValue: [] }); const [entries, rows] = destructure(() => { const template = contents.latest.map(({ lang, handle }) => [lang, { handle, value: null }]);