@jsonjoy.com/reactive-rpc
Version:
Reactive-RPC is a library for building reactive APIs over WebSocket, HTTP, and other RPCs.
29 lines • 903 B
JavaScript
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
;