@shinka-rpc/dedicated-worker
v0.0.1
Published
Symmetric RPC bus. [Documentation is here](https://shinka-rpc-js.readthedocs.io/latest/transports/dedicated-worker/)
Maintainers
Readme
@shinka-rpc/dedicated-worker [not tested!]
Symmetric RPC bus. Documentation is here
This package implements the transport implementation of @shinka-rpc/core for Worker
Usage
client case
import { ClientBus, FactoryClient } from "@shinka-rpc/core";
import { DedicatedWorker2FactoryData } from "@shinka-rpc/dedicated-worker";
const factory: FactoryClient<ClientBus> = async (bus) =>
DedicatedWorker2FactoryData(
new Worker(new URL("./worker.ts", import.meta.url)),
bus,
);
export const bus = new ClientBus({ factory });
bus.start();worker side
IMPORTANT: on
Worker side you have
to use ClientBus
// @ts-nocheck
declare let onmessage: (event: MessageEvent) => void;
import { ClientBus } from "@shinka-rpc/core";
import {
DedicatedWorkerServer,
createOnMessage,
} from "@shinka-rpc/dedicated-worker";
import serializer from "@shinka-rpc/serializer-json"; // for example
export const server = new ClientBus({
factory: DedicatedWorkerServer,
serializer,
});
onmessage = createOnMessage(server);