Skip to content
2 min read · 398 words

Interface: SandboxFileSystem ​

Defined in: src/batteries/sandbox/contracts/file_system.ts:6

Filesystem capability with no copy primitive; traversal is complete and terminal-framed.

Methods ​

delete()? ​

ts
optional delete(path: string, o?: {
  signal?: AbortSignal;
}): Promise<void>;

Defined in: src/batteries/sandbox/contracts/file_system.ts:27

Delete a path. Deletion is idempotent: deleting an absent path resolves.

Parameters ​

ParameterType
pathstring
o?{ signal?: AbortSignal; }
o.signal?AbortSignal

Returns ​

Promise<void>


list() ​

ts
list(path: string, o: {
  maxDepth: number;
  signal?: AbortSignal;
}): AsyncIterable<ListFrame>;

Defined in: src/batteries/sandbox/contracts/file_system.ts:17

Lazily yield every item, followed by exactly one mandatory done frame.

Parameters ​

ParameterType
pathstring
o{ maxDepth: number; signal?: AbortSignal; }
o.maxDepthnumber
o.signal?AbortSignal

Returns ​

AsyncIterable<ListFrame>


mkdir()? ​

ts
optional mkdir(path: string, o?: {
  signal?: AbortSignal;
}): Promise<void>;

Defined in: src/batteries/sandbox/contracts/file_system.ts:34

Create a directory.

Parameters ​

ParameterType
pathstring
o?{ signal?: AbortSignal; }
o.signal?AbortSignal

Returns ​

Promise<void>


read() ​

ts
read(path: string, o?: {
  signal?: AbortSignal;
}): Promise<ReadableStream<Uint8Array<ArrayBufferLike>>>;

Defined in: src/batteries/sandbox/contracts/file_system.ts:19

Open a fresh, replayable byte stream; non-regular kinds are refused by adapters.

Parameters ​

ParameterType
pathstring
o?{ signal?: AbortSignal; }
o.signal?AbortSignal

Returns ​

Promise<ReadableStream<Uint8Array<ArrayBufferLike>>>


rename()? ​

ts
optional rename(
   from: string,
   to: string,
   o?: {
  signal?: AbortSignal;
}): Promise<void>;

Defined in: src/batteries/sandbox/contracts/file_system.ts:32

Move a path. MUST overwrite an existing destination (POSIX move semantics). Dev-tools relies on this behaviour when breaking rename cycles.

Parameters ​

ParameterType
fromstring
tostring
o?{ signal?: AbortSignal; }
o.signal?AbortSignal

Returns ​

Promise<void>


stat() ​

ts
stat(path: string): Promise<{
  dev?: number;
  ino?: number;
  kind: "other" | "file" | "dir" | "symlink";
  mtimeMs?: number;
  size: number;
  version: string;
}>;

Defined in: src/batteries/sandbox/contracts/file_system.ts:8

Return metadata. A changed version token is evidence of change; equality is not a no-change guarantee.

Parameters ​

ParameterType
pathstring

Returns ​

Promise<{ dev?: number; ino?: number; kind: "other" | "file" | "dir" | "symlink"; mtimeMs?: number; size: number; version: string; }>


write() ​

ts
write(
   path: string,
   bytes:
  | Uint8Array<ArrayBufferLike>
  | ReadableStream<Uint8Array<ArrayBufferLike>>,
   o?: {
  signal?: AbortSignal;
}): Promise<void>;

Defined in: src/batteries/sandbox/contracts/file_system.ts:21

Write bytes without imposing a battery-level size cap.

Parameters ​

ParameterType
pathstring
bytes| Uint8Array<ArrayBufferLike> | ReadableStream<Uint8Array<ArrayBufferLike>>
o?{ signal?: AbortSignal; }
o.signal?AbortSignal

Returns ​

Promise<void>