Class: fs

LuCI. fs

Provides high level utilities to wrap file system related RPC calls. To import the class in views, use 'require fs', to import it in external JavaScript, use L.require("fs").then(...).

new LuCI.fs()

Methods

exec(command, params, env){Promise.<LuCI.fs.FileExecResult>}

Execute the specified command, optionally passing params and environment variables.

Note: The command must be either the path to an executable, or a basename without arguments in which case it will be searched in $PATH. If specified, the values given in params will be passed as arguments to the command.

The key/value pairs in the optional env table are translated to setenv() calls prior to running the command.

Name Type Description
command string

The command to invoke.

params Array.<string> optional

The arguments to pass to the command.

env Object.<string, string> optional

Environment variables to set.

Returns:
Type Description
Promise.<LuCI.fs.FileExecResult> Returns a promise resolving to an object describing the execution results or rejecting with an error stating the failure reason.

lines(path){Promise.<Array.<string>>}

Read the contents of the given file, split it into lines, trim leading and trailing white space of each line and return the resulting array.

This function is guaranteed to not reject its promises, on failure, an empty array will be returned.

Name Type Description
path string

The file path to read.

Returns:
Type Description
Promise.<Array.<string>> Returns a promise resolving to an array containing the stripped lines of the given file or [] on failure.

list(path){Promise.<Array.<LuCI.fs.FileStatEntry>>}

Obtains a listing of the specified directory.

Name Type Description
path string

The directory path to list.

Returns:
Type Description
Promise.<Array.<LuCI.fs.FileStatEntry>> Returns a promise resolving to an array of stat detail objects or rejecting with an error stating the failure reason.

read(path){Promise.<string>}

Read the contents of the given file and return them. Note: this function is unsuitable for obtaining binary data.

Name Type Description
path string

The file path to read.

Returns:
Type Description
Promise.<string> Returns a promise resolving to a string containing the file contents or rejecting with an error stating the failure reason.

remove(The){Promise.<number>}

Unlink the given file.

Name Type Description
The string

file path to remove.

Returns:
Type Description
Promise.<number> Returns a promise resolving to 0 or rejecting with an error stating the failure reason.

stat(path){Promise.<LuCI.fs.FileStatEntry>}

Return file stat information on the specified path.

Name Type Description
path string

The filesystem path to stat.

Returns:
Type Description
Promise.<LuCI.fs.FileStatEntry> Returns a promise resolving to a stat detail object or rejecting with an error stating the failure reason.

trimmed(path){Promise.<string>}

Read the contents of the given file, trim leading and trailing white space and return the trimmed result. In case of errors, return an empty string instead.

Note: this function is useful to read single-value files in /sys or /proc.

This function is guaranteed to not reject its promises, on failure, an empty string will be returned.

Name Type Description
path string

The file path to read.

Returns:
Type Description
Promise.<string> Returns a promise resolving to the file contents or the empty string on failure.

write(path, data, mode){Promise.<number>}

Write the given data to the specified file path. If the specified file path does not exist, it will be created, given sufficient permissions.

Note: data will be converted to a string using String(data) or to '' when it is null.

Name Type Description
path string

The file path to write to.

data * optional

The file data to write. If it is null, it will be set to an empty string.

mode number optional

The permissions to use on file creation. Default is 420 (0644).

Returns:
Type Description
Promise.<number> Returns a promise resolving to 0 or rejecting with an error stating the failure reason.

Type Definitions

LuCI.fs.FileExecResultObject

Properties:
Name Type Argument Description
code number

The exit code of the invoked command

stdout string <optional>

The stdout produced by the command, if any

stderr string <optional>

The stderr produced by the command, if any

LuCI.fs.FileStatEntryObject

Properties:
Name Type Description
name string

Name of the directory entry

type string

Type of the entry, one of block, char, directory, fifo, symlink, file, socket or unknown

size number

Size in bytes

mode number

Access permissions

atime number

Last access time in seconds since epoch

mtime number

Last modification time in seconds since epoch

ctime number

Last change time in seconds since epoch

inode number

Inode number

uid number

Numeric owner id

gid number

Numeric group id