import { ShatterClient } from 'shatter-client' interface ShatterResult { result: string | number | Array<any> | object, error: string | null uuid: string } class AppClient { client: ShatterClient; constructor(host: string){ this.client = new ShatterClient(host) } async makeRequest<responseType>(operation : string, params : object) : Promise<responseType> { return await this.client.invokeRPC(operation,params) as responseType; } } class Client extends AppClient { <%= function_defs.map(&:to_typescript).join("\n") %> } export default Client;