@orpc/client
Advanced tools
@@ -1,3 +0,3 @@ | ||
| import { value, isPlainObject, toStringOrBytes } from '@orpc/shared'; | ||
| import { ClientPeer, encodePeerMessage, decodePeerMessage, isServerPeerSendMessage } from '@standardserver/peer'; | ||
| import { value } from '@orpc/shared'; | ||
| import { ClientPeer, encodePeerMessage, decodePeerMessage, isServerPeerSendMessage, isPeerMessage } from '@standardserver/peer'; | ||
| import { S as StandardLink, R as RPCLinkCodec } from '../../shared/client.BN52ep3E.mjs'; | ||
@@ -62,15 +62,20 @@ import '@standardserver/core'; | ||
| }); | ||
| onMessagePortMessage(port, async (message) => { | ||
| if (isPlainObject(message)) { | ||
| await this.peer.message(message); | ||
| return; | ||
| onMessagePortMessage(port, async (data) => { | ||
| let peerMessage; | ||
| if (typeof data === "string" || data instanceof Uint8Array) { | ||
| const result = decodePeerMessage(data, decodePeerMessageOptions); | ||
| if (result.matched && isServerPeerSendMessage(result.message)) { | ||
| peerMessage = result.message; | ||
| } | ||
| } else if (isPeerMessage(data) && isServerPeerSendMessage(data)) { | ||
| peerMessage = data; | ||
| } | ||
| const encodedMessage = await toStringOrBytes(message); | ||
| const result = decodePeerMessage(encodedMessage, decodePeerMessageOptions); | ||
| if (result.matched && isServerPeerSendMessage(result.message)) { | ||
| await this.peer.message(result.message); | ||
| if (peerMessage === void 0) { | ||
| return { matched: false }; | ||
| } | ||
| await this.peer.message(peerMessage); | ||
| return { matched: true }; | ||
| }); | ||
| onMessagePortClose(port, () => { | ||
| this.peer.close(); | ||
| onMessagePortClose(port, async () => { | ||
| await this.peer.close(); | ||
| }); | ||
@@ -77,0 +82,0 @@ } |
@@ -1,2 +0,2 @@ | ||
| import { runWithSignal, AbortError, sleep, promiseWithResolvers, toStringOrBytes } from '@orpc/shared'; | ||
| import { runWithSignal, AbortError, sleep, promiseWithResolvers, sequential, loadBytes, toStringOrBytes } from '@orpc/shared'; | ||
| import { ClientPeer, encodePeerMessage, decodePeerMessage, isServerPeerSendMessage } from '@standardserver/peer'; | ||
@@ -74,9 +74,9 @@ import { S as StandardLink, R as RPCLinkCodec } from '../../shared/client.BN52ep3E.mjs'; | ||
| } | ||
| websocket.addEventListener("message", async (event) => { | ||
| const message = await toStringOrBytes(event.data); | ||
| websocket.addEventListener("message", sequential(async (event) => { | ||
| const message = event.data instanceof Blob ? await loadBytes(event.data) : toStringOrBytes(event.data); | ||
| const result = decodePeerMessage(message, this.decodePeerMessageOptions); | ||
| if (result.matched && isServerPeerSendMessage(result.message)) { | ||
| await peer.message(result.message); | ||
| peer.message(result.message); | ||
| } | ||
| }); | ||
| })); | ||
| websocket.addEventListener("close", async (event) => { | ||
@@ -83,0 +83,0 @@ connectingResolvers?.resolve(); |
+2
-2
| { | ||
| "name": "@orpc/client", | ||
| "type": "module", | ||
| "version": "2.0.0-beta.11", | ||
| "version": "2.0.0-beta.12", | ||
| "license": "MIT", | ||
@@ -56,3 +56,3 @@ "homepage": "https://orpc.dev", | ||
| "@standardserver/peer": "^0.0.25", | ||
| "@orpc/shared": "2.0.0-beta.11" | ||
| "@orpc/shared": "2.0.0-beta.12" | ||
| }, | ||
@@ -59,0 +59,0 @@ "devDependencies": { |
+1
-0
@@ -53,2 +53,3 @@ <h1 align="center">oRPC - Typesafe APIs Made Simple 🪄</h1> | ||
| - [@orpc/bun](https://www.npmjs.com/package/@orpc/bun): Adapters for [Bun's Redis](https://bun.sh/). | ||
| - [@orpc/cloudflare](https://www.npmjs.com/package/@orpc/cloudflare): Adapters for [Cloudflare's RateLimit and Durable Objects](https://developers.cloudflare.com/workers/). | ||
@@ -55,0 +56,0 @@ **Observability** |
182143
0.23%2646
0.19%193
0.52%+ Added
- Removed
Updated