---
url: 'https://adk.nht.io/api/@nhtio/adk/batteries/interfaces/BrowserWorker.md'
description: >-
  Minimal subset of the DOM `Worker` interface this module touches. Structurally
  compatible with the real DOM `Worker` — callers (and [`WorkerResolver`](https://adk.nht.io/api/@nhtio/adk/batteries/type-aliases/WorkerResolver)
  implementations) pass/construct real `Worker` instances directly.
---

# Interface: BrowserWorker

Defined in: [src/batteries/isolation/browser.ts:60](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/isolation/browser.ts#L60)

Minimal subset of the DOM `Worker` interface this module touches. Structurally compatible with the
real DOM `Worker` — callers (and [WorkerResolver](../type-aliases/WorkerResolver.md) implementations) pass/construct real `Worker`
instances directly.

## Methods

### addEventListener()

#### Call Signature

```ts
addEventListener(type: "message", listener: (ev: BrowserMessageEvent) => void): void;
```

Defined in: [src/batteries/isolation/browser.ts:64](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/isolation/browser.ts#L64)

Subscribe to the worker's `'message'` event (fired on every `postMessage` received from the guest).

##### Parameters

| Parameter  | Type                                                              |
| ---------- | ----------------------------------------------------------------- |
| `type`     | `"message"`                                                       |
| `listener` | (`ev`: [`BrowserMessageEvent`](BrowserMessageEvent.md)) => `void` |

##### Returns

`void`

#### Call Signature

```ts
addEventListener(type: "error", listener: (ev: BrowserErrorEvent) => void): void;
```

Defined in: [src/batteries/isolation/browser.ts:67](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/isolation/browser.ts#L67)

Subscribe to the worker's `'error'` event (fired when an uncaught error escapes the guest's
top-level scope).

##### Parameters

| Parameter  | Type                                                          |
| ---------- | ------------------------------------------------------------- |
| `type`     | `"error"`                                                     |
| `listener` | (`ev`: [`BrowserErrorEvent`](BrowserErrorEvent.md)) => `void` |

##### Returns

`void`

#### Call Signature

```ts
addEventListener(type: "messageerror", listener: (ev: BrowserMessageEvent) => void): void;
```

Defined in: [src/batteries/isolation/browser.ts:70](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/isolation/browser.ts#L70)

Subscribe to the worker's `'messageerror'` event (fired when a received message could not be
deserialized).

##### Parameters

| Parameter  | Type                                                              |
| ---------- | ----------------------------------------------------------------- |
| `type`     | `"messageerror"`                                                  |
| `listener` | (`ev`: [`BrowserMessageEvent`](BrowserMessageEvent.md)) => `void` |

##### Returns

`void`

***

### postMessage()

```ts
postMessage(message: unknown, transfer?: unknown[]): void;
```

Defined in: [src/batteries/isolation/browser.ts:62](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/isolation/browser.ts#L62)

Post a message to the worker, optionally transferring ownership of listed transferables.

#### Parameters

| Parameter   | Type        |
| ----------- | ----------- |
| `message`   | `unknown`   |
| `transfer?` | `unknown`\[] |

#### Returns

`void`

***

### removeEventListener()

```ts
removeEventListener(type: "error" | "message" | "messageerror", listener: (ev: never) => void): void;
```

Defined in: [src/batteries/isolation/browser.ts:72](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/isolation/browser.ts#L72)

Unsubscribe a previously-added listener.

#### Parameters

| Parameter  | Type                                         |
| ---------- | -------------------------------------------- |
| `type`     | `"error"` | `"message"` | `"messageerror"` |
| `listener` | (`ev`: `never`) => `void`                    |

#### Returns

`void`

***

### terminate()

```ts
terminate(): void;
```

Defined in: [src/batteries/isolation/browser.ts:77](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/isolation/browser.ts#L77)

Terminate the worker immediately — no further events, no graceful shutdown at this layer.

#### Returns

`void`
