UNPKG

@snap/camera-kit

Version:
36 lines 1.3 kB
import { __awaiter } from "tslib"; import { entries, fromEntries } from "../common/entries"; function messageClass(message, data) { return class Message { constructor() { Object.assign(this, message.fromPartial(data)); } static deserializeBinary(data) { return new (messageClass(message, message.decode(data)))(); } serializeBinary() { return message.encode(this).finish(); } toObject() { return this; } }; } export function createTsProtoClient(serviceDefinition, handler) { return fromEntries(entries(serviceDefinition.methods).map(([methodName, methodDefinition]) => { return [ methodName, (request) => __awaiter(this, void 0, void 0, function* () { const requestType = messageClass(methodDefinition.requestType, request); const responseType = messageClass(methodDefinition.responseType, {}); return handler({ serviceName: serviceDefinition.fullName, methodName: methodDefinition.name, requestType, responseType, }); }), ]; })); } //# sourceMappingURL=createTsProtoClient.js.map