API reference@evolu/commonWorker › TestWorker

Defined in: packages/common/src/Worker.ts:468

Test Worker with access to its paired worker-side self.

Use self to simulate messages and behavior from inside the worker.

Extends

Methods

[dispose]()

dispose: void;

Defined in: node_modules/@typescript/old/lib/lib.esnext.disposable.d.ts:34

Inherited from

Worker.[dispose]

Properties

native

readonly native: NativeMessagePort<Input, Output>;

Defined in: packages/common/src/Worker.ts:87

The native underlying port for transferring via postMessage.

Prepare a port for transfer:

import { createMessageChannel, type NativeMessagePort } from "@evolu/common";

interface ConsoleMessage {
  readonly type: "ConsoleEntry";
  readonly text: string;
}

using consoleChannel = createMessageChannel<ConsoleMessage>();
const init = {
  type: "InitConsole",
  port: consoleChannel.port1.native,
};

expectTypeOf(init.port).toEqualTypeOf<NativeMessagePort<ConsoleMessage>>();

Inherited from

Worker.native


onMessage

onMessage: ((message: Output) => void) | null;

Defined in: packages/common/src/Worker.ts:58

Handler for incoming messages. Messages are queued until this is assigned, matching native MessagePort behavior where setting onmessage implicitly calls start(). This enables safe async initialization — the sender can post messages immediately while the receiver sets up.

Inherited from

Worker.onMessage


postMessage

readonly postMessage: (message: Input, transfer?: readonly Transferable[]) => void;

Defined in: packages/common/src/Worker.ts:47

Inherited from

Worker.postMessage


self

readonly self: WorkerSelf<Input, Output>;

Defined in: packages/common/src/Worker.ts:473

Typed self counterpart for worker-side testing assertions.