Skip to main content

Module fs

Module fs 

Source
Expand description

File system abstraction layer. Currently supporting storage on the filesystem and the browser domain-associated local storage (Web Storage API).

Storage APIs abstracted:

  • Rust std file I/O (fs::xxx)
  • NodeJS file I/O (fs::read_file_sync)
  • Browser local storage

By default, all I/O functions will use the name of the file as a key for localstorage. If you want to manually specify the localstorage key.

Structs§

Buffer
Binding to the Node.js Buffer type, used when exchanging binary data with the JavaScript runtime.
DirEntry
A single entry returned when listing the contents of a directory.
Metadata
File metadata such as timestamps and size, abstracted across the native and Node.js file system backends.
Options
Per-operation options for the file system abstraction, primarily used to override the key under which data is stored in browser local storage.

Traits§

NormalizePath
Normalizes path, dereferencing relative references . and .. and converting path separators to current platform separators. (detects platform natively or via NodeJS if operating in WASM32 environment)
ToPlatform
Convert path separators to unix or to current platform. Detects platform natively or using NodeJS if operating under WASM32 environment. Since in WASM32 paths default to forward slashes, when running WASM32 in Windows paths needs to be converted back and forth for various path-related functions to work.

Functions§

create_dir_all
Recursively creates the directory dir and any missing parent directories.
create_dir_all_sync
Synchronously recursively creates the directory dir and any missing parent directories.
exists
Check if a file exists
exists_sync
Check if a file exists
exists_with_options
Returns whether the file at filename exists.
exists_with_options_sync
Synchronously returns whether the file at filename exists.
local_storage
Returns the browser’s domain-associated localStorage object, panicking if it is not available in the current environment.
normalize
Normalizes path, dereferencing relative references . and .. and converting path separators to current platform separators. (detects platform natively or via NodeJS if operating in WASM32 environment). Uses ToPlatform to perform path conversion.
read
Read binary file contents to a Vec<u8>. If using within the web browser environment, a local storage key with the name of the file will be used and the data is assumed to be hex-encoded.
read_binary_with_options
Reads the entire contents of filename into a byte vector.
read_binary_with_options_sync
Synchronously reads the entire contents of filename into a byte vector.
read_json
Read text file and deserialized it using serde-json.
read_json_sync
Read text file and deserialized it using serde-json.
read_json_with_options
Read text file and deserialized it using serde-json.
read_json_with_options_sync
Read text file and deserialized it using serde-json.
read_sync
Read binary file contents to a Vec<u8>. If using within the web browser environment, a local storage key with the name of the file will be used and the data is assumed to be hex-encoded.
read_to_string
Read file contents to a string. If using within the web browser environment, a local storage key with the name of the file will be used.
read_to_string_sync
Read file contents to a string. If using within the web browser environment, a local storage key with the name of the file will be used.
read_to_string_with_options
Reads the entire contents of filename into a UTF-8 string.
read_to_string_with_options_sync
Synchronously reads the entire contents of filename into a UTF-8 string.
readdir
Lists the entries in directory path, optionally including file Metadata for each entry when metadata is true.
remove
Remove the file at the given path. If using within the web browser environment, a local storage key with the name of the file will be removed.
remove_sync
Remove the file at the given path. If using within the web browser environment, a local storage key with the name of the file will be removed.
remove_with_options
Removes the file at filename.
remove_with_options_sync
Synchronously removes the file at filename.
rename
Renames or moves the file from from to to.
rename_sync
Synchronously renames or moves the file from from to to.
resolve_path
Parses the supplied path resolving ~/ to the home directory.
write
Write a Vec<u8> to a binary file. If using within the web browser environment, a local storage key with the name of the file will be used and the data will be hex-encoded.
write_binary_with_options
Writes the bytes in data to filename, replacing any existing contents.
write_binary_with_options_sync
Synchronously writes the bytes in data to filename, replacing any existing contents.
write_json
Write a serializable value to a text file using serde-json.
write_json_sync
Write a serializable value to a text file using serde-json.
write_json_with_options
Write a serializable value to a text file using serde-json.
write_json_with_options_sync
Write a serializable value to a text file using serde-json.
write_string
Write a string to a text file. If using within the web browser environment, a local storage key with the name of the file will be used.
write_string_sync
Write a string to a text file. If using within the web browser environment, a local storage key with the name of the file will be used.
write_string_with_options
Writes text to filename, replacing any existing contents.
write_string_with_options_sync
Synchronously writes text to filename, replacing any existing contents.
write_sync
Write a Vec<u8> to a binary file. If using within the web browser environment, a local storage key with the name of the file will be used and the data will be hex-encoded.