# ZipReadFileSystem

Class · implements [`ReadFileSystem`](https://api.playcanvas.com/splat-transform/interfaces/ReadFileSystem.md)

Source: https://github.com/playcanvas/splat-transform/blob/b6424a5b3b929695fbaafe738a995adb1240d675/src/lib/io/read/zip-file-system.ts#L202

Virtual filesystem for reading files from a zip archive.
Wraps any ReadSource and provides memory-efficient streaming access.

## Methods

### close

```ts
close(): void
```

Close the zip filesystem and underlying source.

### createSource

```ts
createSource(filename: string, _progress?: ProgressCallback): Promise<ReadSource>
```

Create a readable source for the given path/identifier.

**Parameters**

- `filename` (`string`): Path or identifier for the resource
- `_progress` ([`ProgressCallback`](https://api.playcanvas.com/splat-transform/types/ProgressCallback.md), optional)

**Returns** `Promise<`[`ReadSource`](https://api.playcanvas.com/splat-transform/interfaces/ReadSource.md)`>`: Promise resolving to a ReadSource

### getEntry

```ts
getEntry(filename: string): Promise<ZipEntry>
```

Get entry metadata.

**Parameters**

- `filename` (`string`): Entry name

**Returns** `Promise<`[`ZipEntry`](https://api.playcanvas.com/splat-transform/types/ZipEntry.md)`>`: Entry metadata or undefined if not found

### list

```ts
list(): Promise<string[]>
```

List all entries in the zip file.

**Returns** `Promise<string[]>`: Array of entry names
