FileType

Sandbox filesystem object type.

Enumeration Members

Enumeration MemberValueDescription
DIR"dir"Filesystem object is a directory.
FILE"file"Filesystem object is a file.

Classes

Filesystem

Module for interacting with the sandbox filesystem.

Constructors

new Filesystem(
   transport: Transport, 
   envdApi: EnvdApiClient, 
   connectionConfig: ConnectionConfig): Filesystem
Parameters
ParameterType
transportTransport
envdApiEnvdApiClient
connectionConfigConnectionConfig
Returns

Filesystem

Methods

exists()

exists(path: string, opts?: FilesystemRequestOpts): Promise<boolean>

Check if a file or a directory exists.

Parameters
ParameterTypeDescription
pathstringpath to a file or a directory
opts?FilesystemRequestOptsconnection options.
Returns

Promise<boolean>

true if the file or directory exists, false otherwise

list()

list(path: string, opts?: FilesystemRequestOpts): Promise<EntryInfo[]>

List entries in a directory.

Parameters
ParameterTypeDescription
pathstringpath to the directory.
opts?FilesystemRequestOptsconnection options.
Returns

Promise<EntryInfo[]>

list of entries in the sandbox filesystem directory.

makeDir()

makeDir(path: string, opts?: FilesystemRequestOpts): Promise<boolean>

Create a new directory and all directories along the way if needed on the specified path.

Parameters
ParameterTypeDescription
pathstringpath to a new directory. For example '/dirA/dirB' when creating 'dirB'.
opts?FilesystemRequestOptsconnection options.
Returns

Promise<boolean>

true if the directory was created, false if it already exists.

read()

read(path, opts)
read(path: string, opts?: FilesystemRequestOpts & object): Promise<string>

Read file content as a string.

You can pass text, bytes, blob, or stream to opts.format to change the return type.

Parameters
ParameterTypeDescription
pathstringpath to the file.
opts?FilesystemRequestOpts & objectconnection options.
Returns

Promise<string>

file content as string

read(path, opts)
read(path: string, opts?: FilesystemRequestOpts & object): Promise<Uint8Array>

Read file content as a Uint8Array.

You can pass text, bytes, blob, or stream to opts.format to change the return type.

Parameters
ParameterTypeDescription
pathstringpath to the file.
opts?FilesystemRequestOpts & objectconnection options.
Returns

Promise<Uint8Array>

file content as Uint8Array

read(path, opts)
read(path: string, opts?: FilesystemRequestOpts & object): Promise<Blob>

Read file content as a Blob.

You can pass text, bytes, blob, or stream to opts.format to change the return type.

Parameters
ParameterTypeDescription
pathstringpath to the file.
opts?FilesystemRequestOpts & objectconnection options.
Returns

Promise<Blob>

file content as Blob

read(path, opts)
read(path: string, opts?: FilesystemRequestOpts & object): Promise<ReadableStream<Uint8Array>>

Read file content as a ReadableStream.

You can pass text, bytes, blob, or stream to opts.format to change the return type.

Parameters
ParameterTypeDescription
pathstringpath to the file.
opts?FilesystemRequestOpts & objectconnection options.
Returns

Promise<ReadableStream<Uint8Array>>

file content as ReadableStream

remove()

remove(path: string, opts?: FilesystemRequestOpts): Promise<void>

Remove a file or directory.

Parameters
ParameterTypeDescription
pathstringpath to a file or directory.
opts?FilesystemRequestOptsconnection options.
Returns

Promise<void>

rename()

rename(
   oldPath: string, 
   newPath: string, 
opts?: FilesystemRequestOpts): Promise<EntryInfo>

Rename a file or directory.

Parameters
ParameterTypeDescription
oldPathstringpath to the file or directory to rename.
newPathstringnew path for the file or directory.
opts?FilesystemRequestOptsconnection options.
Returns

Promise<EntryInfo>

information about renamed file or directory.

watchDir()

watchDir(
   path: string, 
   onEvent: (event: FilesystemEvent) => void | Promise<void>, 
opts?: WatchOpts): Promise<WatchHandle>

Start watching a directory for filesystem events.

Parameters
ParameterTypeDescription
pathstringpath to directory to watch.
onEvent(event: FilesystemEvent) => void | Promise<void>callback to call when an event in the directory occurs.
opts?WatchOptsconnection options.
Returns

Promise<WatchHandle>

WatchHandle object for stopping watching directory.

write()

write(
   path: string, 
   data: string | ArrayBuffer | Blob | ReadableStream<any>, 
opts?: FilesystemRequestOpts): Promise<EntryInfo>

Write content to a file.

Writing to a file that doesn't exist creates the file.

Writing to a file that already exists overwrites the file.

Writing to a file at path that doesn't exist creates the necessary directories.

Parameters
ParameterTypeDescription
pathstringpath to file.
datastring | ArrayBuffer | Blob | ReadableStream<any>data to write to the file. Data can be a string, ArrayBuffer, Blob, or ReadableStream.
opts?FilesystemRequestOptsconnection options.
Returns

Promise<EntryInfo>

information about the written file

Interfaces

EntryInfo

Sandbox filesystem object information.

Properties

name

name: string;

Name of the filesystem object.

path

path: string;

Path to the filesystem object.

type?

optional type: FileType;

Type of the filesystem object.


FilesystemRequestOpts

Options for the sandbox filesystem operations.

Extended by

  • WatchOpts

Properties

requestTimeoutMs?

optional requestTimeoutMs: number;

Timeout for requests to the API in milliseconds.

Default
30_000 // 30 seconds

user?

optional user: Username;

User to use for the operation in the sandbox. This affects the resolution of relative paths and ownership of the created filesystem objects.


WatchOpts

Options for watching a directory.

Properties

onExit()?

optional onExit: (err?: Error) => void | Promise<void>;

Callback to call when the watch operation stops.

Parameters
ParameterType
err?Error
Returns

void | Promise<void>

recursive?

optional recursive: boolean;

Watch the directory recursively

requestTimeoutMs?

optional requestTimeoutMs: number;

Timeout for requests to the API in milliseconds.

Default
30_000 // 30 seconds

timeoutMs?

optional timeoutMs: number;

Timeout for the watch operation in milliseconds. You can pass 0 to disable the timeout.

Default
60_000 // 60 seconds

user?

optional user: Username;

User to use for the operation in the sandbox. This affects the resolution of relative paths and ownership of the created filesystem objects.