@xtr-dev/zod-rpc
Version:
Simple, type-safe RPC library with Zod validation and automatic TypeScript inference
16 lines • 636 B
JavaScript
export function createTypedInvoker(contract, invoke) {
return async (targetId, input, timeout) => {
return invoke(targetId, contract.id, input, contract.input, contract.output, timeout);
};
}
export function createBoundServiceClient(serviceContracts, targetId, invoke) {
const client = {};
for (const [methodName, contract] of Object.entries(serviceContracts)) {
const typedInvoker = createTypedInvoker(contract, invoke);
client[methodName] = (input, timeout) => {
return typedInvoker(targetId, input, timeout);
};
}
return client;
}
//# sourceMappingURL=method.js.map