import { grpc } from '@improbable-eng/grpc-web'; import { NodeHttpTransport } from '@improbable-eng/grpc-web-node-http-transport'; import { ChatClientImpl, GrpcWebImpl as GrpcChatImpl } from '../api/v0/chat'; import { protoMeta } from './token'; import storage from './storage'; function getOptions(metaData?: any) { return { transport: NodeHttpTransport(), metadata: new grpc.Metadata({ ...protoMeta(), ...metaData }), } } export const getChatClient = (metaData?: any) => { return new ChatClientImpl(new GrpcChatImpl(metaData?.grpcHost || storage.grpcHost, getOptions())); };