# IndexedDB API reference

> Exports of @anymux/indexeddb.

Source: https://anymux-docs.n.yatsyk.com/docs/indexeddb/jsdoc

## Classes

### IndexedDBFileSystem

```ts
class IndexedDBFileSystem
```

- `promises: this`
- `constants: FSConstants`
- `constructor(config?: Partial<IndexedDBConfig>): IndexedDBFileSystem`
- `init(): Promise<void>`
- `isImplemented(method: string): boolean`
- `readFile(path: string, options?: { encoding?: BufferEncoding; flag?: string; } | BufferEncoding): Promise<Buffer | string>`
- `writeFile(path: string, data: Buffer | string | Uint8Array, options?: { encoding?: BufferEncoding; mode?: number; flag?: string; }): Promise<void>`
- `appendFile(path: string, data: Buffer | string | Uint8Array, options?: { encoding?: BufferEncoding; mode?: number; flag?: string; }): Promise<void>`
- `copyFile(src: string, dest: string, mode?: number): Promise<void>`
- `mkdir(path: string, options?: { recursive?: boolean; mode?: number; }): Promise<string | undefined>`
- `readdir(path: string, options?: { encoding?: BufferEncoding; withFileTypes?: false; recursive?: boolean; }): Promise<string[]>`
- `readdir(path: string, options: { encoding?: BufferEncoding; withFileTypes: true; recursive?: boolean; }): Promise<Dirent[]>`
- `readdir(path: string, options?: { encoding?: BufferEncoding; withFileTypes?: boolean; recursive?: boolean; }): Promise<string[] | Dirent[]>`
- `rmdir(path: string, options?: { maxRetries?: number; recursive?: boolean; retryDelay?: number; }): Promise<void>`
- `stat(path: string, options?: { bigint?: false; }): Promise<Stats>`
- `stat(path: string, options: { bigint: true; }): Promise<BigIntStats>`
- `stat(path: string, options?: { bigint?: boolean; }): Promise<Stats | BigIntStats>`
- `lstat(path: string, options?: { bigint?: false; }): Promise<Stats>`
- `lstat(path: string, options: { bigint: true; }): Promise<BigIntStats>`
- `lstat(path: string, options?: { bigint?: boolean; }): Promise<Stats | BigIntStats>`
- `access(path: string, mode?: number): Promise<void>`
- `rename(oldPath: string, newPath: string): Promise<void>`
- `unlink(path: string): Promise<void>`
- `rm(path: string, options?: { force?: boolean; maxRetries?: number; recursive?: boolean; retryDelay?: number; }): Promise<void>`
- `exists(path: string): Promise<boolean>`
- `truncate(path: string, len?: number): Promise<void>`
- `utimes(path: string, atime: string | number | Date, mtime: string | number | Date): Promise<void>`
- `chmod(path: string, mode: string | number): Promise<void>`
- `chown(path: string, uid: number, gid: number): Promise<void>`
- `readlink(path: string, options?: { encoding?: BufferEncoding; }): Promise<string>`
- `symlink(target: string, path: string, type?: "dir" | "file" | "junction"): Promise<void>`
- `link(existingPath: string, newPath: string): Promise<void>`
- `createReadStream(path: string, options?: { encoding?: BufferEncoding; start?: number; end?: number; }): ReadStream`
- `createWriteStream(path: string, options?: { encoding?: BufferEncoding; flags?: string; mode?: number; }): WriteStream`
- `watch(path: string, options?: { encoding?: BufferEncoding; persistent?: boolean; recursive?: boolean; }): FSWatcher`
- `open(path: string, flags?: string | number, mode?: number): Promise<IFileHandle>`
- `opendir(path: string, options?: { encoding?: BufferEncoding; bufferSize?: number; recursive?: boolean; }): Promise<IDir>`
- `realpath(path: string, options?: { encoding?: BufferEncoding; }): Promise<string>`
- `cp(src: string, dest: string, options?: any): Promise<void>`
- `mkdtemp(prefix: string, options?: { encoding?: BufferEncoding; }): Promise<string>`
- `statfs(path: string, options?: { bigint?: false; }): Promise<StatFs>`
- `statfs(path: string, options: { bigint: true; }): Promise<BigIntStatFs>`
- `statfs(_path: string, _options?: { bigint?: boolean; }): Promise<StatFs | BigIntStatFs>`
- `lutimes(path: string, atime: string | number | Date, mtime: string | number | Date): Promise<void>`
- `lchown(path: string, uid: number, gid: number): Promise<void>`
- `lchmod(path: string, mode: string | number): Promise<void>`

## Types

### IndexedDBConfig

```ts
type IndexedDBConfig = { dbName?: string; storeName?: string; version?: number; }
```

## Constants

### IndexedDBConfigSchema

```ts
const IndexedDBConfigSchema: z.ZodObject<{ dbName: z.ZodDefault<z.ZodString>; storeName: z.ZodDefault<z.ZodString>; version: z.ZodDefault<z.ZodNumber>; }, "strip", z.ZodTypeAny, { dbName?: string; storeName?: string; version?: number; }, { dbName?: string; storeName?: string; version?: number; }>
```
