UNPKG

@injectivelabs/exchange-api

Version:

Injective Exchange API client with generated gRPC bindings.

190 lines (175 loc) 5.13 kB
// package: injective_meta_rpc // file: injective_meta_rpc.proto var injective_meta_rpc_pb = require("./injective_meta_rpc_pb"); var grpc = require("@improbable-eng/grpc-web").grpc; var InjectiveMetaRPC = (function () { function InjectiveMetaRPC() {} InjectiveMetaRPC.serviceName = "injective_meta_rpc.InjectiveMetaRPC"; return InjectiveMetaRPC; }()); InjectiveMetaRPC.Ping = { methodName: "Ping", service: InjectiveMetaRPC, requestStream: false, responseStream: false, requestType: injective_meta_rpc_pb.PingRequest, responseType: injective_meta_rpc_pb.PingResponse }; InjectiveMetaRPC.Version = { methodName: "Version", service: InjectiveMetaRPC, requestStream: false, responseStream: false, requestType: injective_meta_rpc_pb.VersionRequest, responseType: injective_meta_rpc_pb.VersionResponse }; InjectiveMetaRPC.Info = { methodName: "Info", service: InjectiveMetaRPC, requestStream: false, responseStream: false, requestType: injective_meta_rpc_pb.InfoRequest, responseType: injective_meta_rpc_pb.InfoResponse }; InjectiveMetaRPC.StreamKeepalive = { methodName: "StreamKeepalive", service: InjectiveMetaRPC, requestStream: false, responseStream: true, requestType: injective_meta_rpc_pb.StreamKeepaliveRequest, responseType: injective_meta_rpc_pb.StreamKeepaliveResponse }; exports.InjectiveMetaRPC = InjectiveMetaRPC; function InjectiveMetaRPCClient(serviceHost, options) { this.serviceHost = serviceHost; this.options = options || {}; } InjectiveMetaRPCClient.prototype.ping = function ping(requestMessage, metadata, callback) { if (arguments.length === 2) { callback = arguments[1]; } var client = grpc.unary(InjectiveMetaRPC.Ping, { request: requestMessage, host: this.serviceHost, metadata: metadata, transport: this.options.transport, debug: this.options.debug, onEnd: function (response) { if (callback) { if (response.status !== grpc.Code.OK) { var err = new Error(response.statusMessage); err.code = response.status; err.metadata = response.trailers; callback(err, null); } else { callback(null, response.message); } } } }); return { cancel: function () { callback = null; client.close(); } }; }; InjectiveMetaRPCClient.prototype.version = function version(requestMessage, metadata, callback) { if (arguments.length === 2) { callback = arguments[1]; } var client = grpc.unary(InjectiveMetaRPC.Version, { request: requestMessage, host: this.serviceHost, metadata: metadata, transport: this.options.transport, debug: this.options.debug, onEnd: function (response) { if (callback) { if (response.status !== grpc.Code.OK) { var err = new Error(response.statusMessage); err.code = response.status; err.metadata = response.trailers; callback(err, null); } else { callback(null, response.message); } } } }); return { cancel: function () { callback = null; client.close(); } }; }; InjectiveMetaRPCClient.prototype.info = function info(requestMessage, metadata, callback) { if (arguments.length === 2) { callback = arguments[1]; } var client = grpc.unary(InjectiveMetaRPC.Info, { request: requestMessage, host: this.serviceHost, metadata: metadata, transport: this.options.transport, debug: this.options.debug, onEnd: function (response) { if (callback) { if (response.status !== grpc.Code.OK) { var err = new Error(response.statusMessage); err.code = response.status; err.metadata = response.trailers; callback(err, null); } else { callback(null, response.message); } } } }); return { cancel: function () { callback = null; client.close(); } }; }; InjectiveMetaRPCClient.prototype.streamKeepalive = function streamKeepalive(requestMessage, metadata) { var listeners = { data: [], end: [], status: [] }; var client = grpc.invoke(InjectiveMetaRPC.StreamKeepalive, { request: requestMessage, host: this.serviceHost, metadata: metadata, transport: this.options.transport, debug: this.options.debug, onMessage: function (responseMessage) { listeners.data.forEach(function (handler) { handler(responseMessage); }); }, onEnd: function (status, statusMessage, trailers) { listeners.status.forEach(function (handler) { handler({ code: status, details: statusMessage, metadata: trailers }); }); listeners.end.forEach(function (handler) { handler({ code: status, details: statusMessage, metadata: trailers }); }); listeners = null; } }); return { on: function (type, handler) { listeners[type].push(handler); return this; }, cancel: function () { listeners = null; client.close(); } }; }; exports.InjectiveMetaRPCClient = InjectiveMetaRPCClient;