https://github.com/mys1024/m-rpc
A message based rpc library.
https://github.com/mys1024/m-rpc
javascript jsr message npm package rpc
Last synced: about 2 months ago
JSON representation
A message based rpc library.
- Host: GitHub
- URL: https://github.com/mys1024/m-rpc
- Owner: mys1024
- License: mit
- Created: 2024-03-13T09:24:33.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-05T17:17:53.000Z (12 months ago)
- Last Synced: 2025-02-23T04:07:05.727Z (2 months ago)
- Topics: javascript, jsr, message, npm, package, rpc
- Language: TypeScript
- Homepage:
- Size: 124 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# m-rpc
[](https://jsr.io/@mys/m-rpc)
[](https://www.npmjs.com/package/@mys-x/m-rpc)
[](https://bundlephobia.com/package/@mys-x/m-rpc)
[](https://jsr.io/@mys/m-rpc/doc?style=flat-square)
[](https://github.com/mys1024/m-rpc)
[](./LICENSE)[](https://app.codecov.io/gh/mys1024/m-rpc)
[](https://github.com/mys1024/m-rpc/actions/workflows/ci.yml)
[](https://github.com/mys1024/m-rpc/actions/workflows/release.yml)_A message based RPC library._
## Usage
### basic
```typescript
import { MRpc } from "@mys-x/m-rpc"; // or "jsr:@mys/m-rpc"function add(a: number, b: number) {
return a + b;
}// The port can be a MessagePort, a WebSocket, a Worker, or a WorkerGlobalScope
const { port1, port2 } = new MessageChannel();
const rpc1 = new MRpc(port1);
const rpc2 = new MRpc(port2);rpc1.defineLocalFn("add", add);
await rpc2.callRemoteFn("add", [1, 2]); // 3
```## License
[MIT](./LICENSE) License © 2024-PRESENT
[mys1024](https://github.com/mys1024)