Packages
plinth
0.4.13
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/plinth/browser/file_system.gleam
import gleam/javascript/array.{type Array}
import gleam/javascript/promise.{type Promise}
import plinth/browser/file.{type File}
pub type DirectoryHandle
pub type FileHandle
@external(javascript, "../../file_system_ffi.mjs", "showDirectoryPicker")
pub fn show_directory_picker() -> Promise(Result(DirectoryHandle, String))
@external(javascript, "../../file_system_ffi.mjs", "getFileHandle")
pub fn get_file_handle(
handle: DirectoryHandle,
name: String,
) -> Promise(Result(FileHandle, String))
@external(javascript, "../../file_system_ffi.mjs", "allEntries")
pub fn all_entries(
handle: DirectoryHandle,
) -> Promise(Result(#(Array(DirectoryHandle), Array(FileHandle)), String))
@external(javascript, "../../file_system_ffi.mjs", "showOpenFilePicker")
pub fn show_open_file_picker() -> Promise(Result(Array(FileHandle), String))
@external(javascript, "../../file_system_ffi.mjs", "showSaveFilePicker")
pub fn show_save_file_picker() -> Promise(Result(FileHandle, String))
@external(javascript, "../../file_system_ffi.mjs", "getFile")
pub fn get_file(file_handle: FileHandle) -> Promise(Result(File, String))
pub type WritableFileStream
@external(javascript, "../../file_system_ffi.mjs", "createWritable")
pub fn create_writable(
file_handle: FileHandle,
) -> Promise(Result(WritableFileStream, String))
@external(javascript, "../../file_system_ffi.mjs", "write")
pub fn write(
file_handle: WritableFileStream,
content: BitArray,
) -> Promise(Result(Nil, String))
@external(javascript, "../../file_system_ffi.mjs", "close")
pub fn close(file_handle: WritableFileStream) -> Promise(Result(Nil, String))