EdgeAIG's picture
download
raw
1.33 kB
/**
* In-memory test harness for RPC groups.
*
* `RpcTest` connects a generated client directly to `RpcServer` handlers for
* the same `RpcGroup`. It uses the no-serialization path, so requests,
* responses, stream chunks, acknowledgements, interrupts, headers, and
* middleware metadata travel through the normal client/server machinery without
* opening HTTP, socket, worker, or serializer infrastructure.
*
* @since 4.0.0
*/
import * as Effect from "../../Effect.js";
import * as RpcClient from "./RpcClient.js";
import * as RpcServer from "./RpcServer.js";
/**
* Creates an in-memory RPC client for a group, backed by the group's handlers
* from the environment and using the no-serialization test transport.
*
* @category constructors
* @since 4.0.0
*/
export const makeClient = /*#__PURE__*/Effect.fnUntraced(function* (group, options) {
// oxlint-disable-next-line prefer-const
let client;
const server = yield* RpcServer.makeNoSerialization(group, {
onFromServer(response) {
return client.write(response);
}
});
client = yield* RpcClient.makeNoSerialization(group, {
supportsAck: true,
flatten: options?.flatten,
onFromClient({
message
}) {
return server.write(0, message);
}
});
return client.client;
});
//# sourceMappingURL=RpcTest.js.map

Xet Storage Details

Size:
1.33 kB
·
Xet hash:
cede9da1757412a841f0f761c3d9bb6cc962fc84865fbfc3d4b85de8a927a083

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.