Packages
plinth
0.10.1
0.10.2
0.10.1
0.10.0
0.9.3
0.9.2
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.1
0.6.0
0.5.9
0.5.8
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.15
0.4.14
0.4.13
0.4.12
0.4.11
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.0
0.2.0
0.1.13
0.1.12
0.1.11
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Bindings to Node.js and browser platform APIs
Current section
Files
Jump to
Current section
Files
src/file_system_ffi.mjs
import { Result$Ok, Result$Error } from "./gleam.mjs";
export async function showDirectoryPicker() {
try {
return Result$Ok(await window.showDirectoryPicker());
} catch (error) {
return Result$Error(error.toString());
}
}
export function name(handle) {
return handle.name
}
export async function getDirectoryHandle(directoryHandle, name, create) {
try {
return Result$Ok(await directoryHandle.getDirectoryHandle(name, { create }));
} catch (error) {
return Result$Error(error.toString());
}
}
export async function getFileHandle(directoryHandle, name, create) {
try {
return Result$Ok(await directoryHandle.getFileHandle(name, { create }));
} catch (error) {
return Result$Error(error.toString());
}
}
export async function removeEntry(directoryHandle, name, recursive) {
try {
return Result$Ok(await directoryHandle.removeEntry(name, { recursive }));
} catch (error) {
return Result$Error(error.toString());
}
}
export async function allEntries(directoryHandle) {
try {
const dirs = [];
const files = [];
for await (const entry of directoryHandle.values()) {
if (entry.kind === "file") {
files.push(entry);
} else {
dirs.push(entry);
}
}
return Result$Ok([dirs, files]);
} catch (error) {
return Result$Error(error.toString());
}
}
export async function showOpenFilePicker() {
try {
return Result$Ok(await window.showOpenFilePicker());
} catch (error) {
return Result$Error(error.toString());
}
}
export async function showSaveFilePicker() {
try {
return Result$Ok(await window.showSaveFilePicker());
} catch (error) {
return Result$Error(error.toString());
}
}
export async function getFile(fileHandle) {
try {
return Result$Ok(await fileHandle.getFile());
} catch (error) {
return Result$Error(error.toString());
}
}
export async function createWritable(fileHandle) {
try {
return Result$Ok(await fileHandle.createWritable());
} catch (error) {
return Result$Error(error.toString());
}
}
export async function write(writableStream, bitArray) {
try {
return Result$Ok(await writableStream.write(bitArray.rawBuffer));
} catch (error) {
return Result$Error(error.toString());
}
}
export async function close(writableStream) {
try {
return Result$Ok(await writableStream.close());
} catch (error) {
return Result$Error(error.toString());
}
}