API reference › @evolu/common › Worker › WorkerSelf
Defined in: packages/common/src/Worker.ts:275
Typed self for code running inside a dedicated worker.
This is the worker-side counterpart to Worker — a typed
MessagePort that wraps self inside the worker.
Extends
MessagePort<Output,Input>
Methods
[dispose]()
dispose: void;
Defined in: node_modules/@typescript/old/lib/lib.esnext.disposable.d.ts:34
Inherited from
Properties
native
readonly native: NativeMessagePort<Output, Input>;
Defined in: packages/common/src/Worker.ts:86
The native underlying port for transferring via postMessage.
Prepare a port for transfer:
import {
assertType,
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,
};
assertType<NativeMessagePort<ConsoleMessage>, typeof init.port>();
Inherited from
onMessage
onMessage: ((message: Input) => 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
postMessage
readonly postMessage: (message: Output, transfer?: readonly Transferable[]) => void;
Defined in: packages/common/src/Worker.ts:47