UNPKG

@xtr-dev/zod-rpc

Version:

Simple, type-safe RPC library with Zod validation and automatic TypeScript inference

21 lines 881 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createBoundServiceClient = exports.createTypedInvoker = void 0; function createTypedInvoker(contract, invoke) { return async (targetId, input, timeout) => { return invoke(targetId, contract.id, input, contract.input, contract.output, timeout); }; } exports.createTypedInvoker = createTypedInvoker; 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; } exports.createBoundServiceClient = createBoundServiceClient; //# sourceMappingURL=method.js.map