diff options
| author | zwlucas <lucas.fariamo08@gmail.com> | 2026-06-05 20:52:54 +0000 |
|---|---|---|
| committer | zwlucas <lucas.fariamo08@gmail.com> | 2026-06-05 20:52:54 +0000 |
| commit | 09f964451d7d92e9891430ec4595c1276d486aab (patch) | |
| tree | 28da4483f5c28924a8c47fceb648b1baebe88224 /src/lib/tauri.ts | |
| download | yace-09f964451d7d92e9891430ec4595c1276d486aab.tar.gz yace-09f964451d7d92e9891430ec4595c1276d486aab.zip | |
Signed-off-by: zwlucas <lucas.fariamo08@gmail.com>
Diffstat (limited to 'src/lib/tauri.ts')
| -rw-r--r-- | src/lib/tauri.ts | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/lib/tauri.ts b/src/lib/tauri.ts new file mode 100644 index 0000000..294f117 --- /dev/null +++ b/src/lib/tauri.ts @@ -0,0 +1,46 @@ +import { invoke } from '@tauri-apps/api/tauri' +import type { FileEntry } from '@/types' + +export async function readFile(path: string): Promise<string> { + return invoke<string>('read_file', { path }) +} + +export async function writeFile(path: string, content: string): Promise<void> { + return invoke<void>('write_file', { path, content }) +} + +export async function openDir(path: string): Promise<FileEntry[]> { + return invoke<FileEntry[]>('open_dir', { path }) +} + +export async function pickDirectory(): Promise<string | null> { + const { open } = await import('@tauri-apps/api/dialog') + const selected = await open({ + directory: true, + multiple: false, + title: 'Open Folder', + }) + return selected as string | null +} + +export async function createDir(path: string): Promise<void> { + return invoke<void>('create_dir', { path }) +} + +export async function pickFile(): Promise<string | null> { + const { open } = await import('@tauri-apps/api/dialog') + const selected = await open({ + multiple: false, + title: 'Open File', + }) + return (selected as string) ?? null +} + +export async function saveDialog(defaultName?: string): Promise<string | null> { + const { save } = await import('@tauri-apps/api/dialog') + const selected = await save({ + defaultPath: defaultName, + title: 'Save File', + }) + return selected ?? null +} |