UNPKG

@jsonjoy.com/reactive-rpc

Version:

Reactive-RPC is a library for building reactive APIs over WebSocket, HTTP, and other RPCs.

29 lines 903 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RpcCodec = void 0; class RpcCodec { constructor(msg, req, res) { this.msg = msg; this.req = req; this.res = res; } specifier() { const specifier = `rpc.${this.msg.id}.${this.req.id}` + (this.req.id !== this.res.id ? `-${this.res.id}` : ''); return specifier; } encode(messages, valueCodec) { const encoder = valueCodec.encoder; const writer = encoder.writer; writer.reset(); this.msg.encodeBatch(valueCodec, messages); return writer.flush(); } decode(data, valueCodec) { const decoder = valueCodec.decoder; const reader = decoder.reader; reader.reset(data); return this.msg.decodeBatch(valueCodec, data); } } exports.RpcCodec = RpcCodec; //# sourceMappingURL=RpcCodec.js.map