Packages
plinth
0.6.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 { Ok, Error } from "./gleam.mjs";
export async function showDirectoryPicker() {
try {
return new Ok(await window.showDirectoryPicker());
} catch (error) {
return new Error(error.toString());
}
}
export function name(handle) {
return handle.name
}
export async function getDirectoryHandle(directoryHandle, name, create) {
try {
return new Ok(await directoryHandle.getDirectoryHandle(name, { create }));
} catch (error) {
return new Error(error.toString());
}
}
export async function getFileHandle(directoryHandle, name, create) {
try {
return new Ok(await directoryHandle.getFileHandle(name, { create }));
} catch (error) {
return new Error(error.toString());
}
}
export async function removeEntry(directoryHandle, name, recursive) {
try {
return new Ok(await directoryHandle.removeEntry(name, { recursive }));
} catch (error) {
return new 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 new Ok([dirs, files]);
} catch (error) {
return new Error(error.toString());
}
}
export async function showOpenFilePicker() {
try {
return new Ok(await window.showOpenFilePicker());
} catch (error) {
return new Error(error.toString());
}
}
export async function showSaveFilePicker() {
try {
return new Ok(await window.showSaveFilePicker());
} catch (error) {
return new Error(error.toString());
}
}
export async function getFile(fileHandle) {
try {
return new Ok(await fileHandle.getFile());
} catch (error) {
return new Error(error.toString());
}
}
export async function createWritable(fileHandle) {
try {
return new Ok(await fileHandle.createWritable());
} catch (error) {
return new Error(error.toString());
}
}
export async function write(writableStream, bitArray) {
try {
return new Ok(await writableStream.write(bitArray.buffer));
} catch (error) {
return new Error(error.toString());
}
}
export async function close(writableStream) {
try {
return new Ok(await writableStream.close());
} catch (error) {
return new Error(error.toString());
}
}