0.0.1 • Published 2 months ago

@shinka-rpc/shared-worker v0.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

@shinka-rpc/shared-worker

Symmetric RPC bus

This package contains a parametrizers of @shinka-rpc/core for SharedWorker

Usage

client case

import { ClientBus, FactoryClient } from "@shinka-rpc/core";
import { SharedWorker2FactoryData } from "@shinka-rpc/shared-worker";

const factory: FactoryClient<ClientBus> = async (bus) =>
  SharedWorker2FactoryData(
    new SharedWorker(new URL("./worker.ts", import.meta.url)),
    bus,
  );

export const bus = new ClientBus({ factory });

bus.start();

server case

// @ts-nocheck
declare let onconnect: (event: MessageEvent) => void;

import { ServerBus } from "@shinka-rpc/core";
import { SharedWorkerServer } from "@shinka-rpc/shared-worker";

export const server = new ServerBus();

onconnect = SharedWorkerServer(server);