Skip to content
1 min read · 242 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

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>


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>>>


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>