UNPKG

@injectivelabs/exchange-api

Version:

Injective Exchange API client with generated gRPC bindings.

150 lines (137 loc) 4.21 kB
// package: injective_auction_rpc // file: injective_auction_rpc.proto var injective_auction_rpc_pb = require("./injective_auction_rpc_pb"); var grpc = require("@improbable-eng/grpc-web").grpc; var InjectiveAuctionRPC = (function () { function InjectiveAuctionRPC() {} InjectiveAuctionRPC.serviceName = "injective_auction_rpc.InjectiveAuctionRPC"; return InjectiveAuctionRPC; }()); InjectiveAuctionRPC.AuctionEndpoint = { methodName: "AuctionEndpoint", service: InjectiveAuctionRPC, requestStream: false, responseStream: false, requestType: injective_auction_rpc_pb.AuctionRequest, responseType: injective_auction_rpc_pb.AuctionResponse }; InjectiveAuctionRPC.Auctions = { methodName: "Auctions", service: InjectiveAuctionRPC, requestStream: false, responseStream: false, requestType: injective_auction_rpc_pb.AuctionsRequest, responseType: injective_auction_rpc_pb.AuctionsResponse }; InjectiveAuctionRPC.StreamBids = { methodName: "StreamBids", service: InjectiveAuctionRPC, requestStream: false, responseStream: true, requestType: injective_auction_rpc_pb.StreamBidsRequest, responseType: injective_auction_rpc_pb.StreamBidsResponse }; exports.InjectiveAuctionRPC = InjectiveAuctionRPC; function InjectiveAuctionRPCClient(serviceHost, options) { this.serviceHost = serviceHost; this.options = options || {}; } InjectiveAuctionRPCClient.prototype.auctionEndpoint = function auctionEndpoint(requestMessage, metadata, callback) { if (arguments.length === 2) { callback = arguments[1]; } var client = grpc.unary(InjectiveAuctionRPC.AuctionEndpoint, { 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(); } }; }; InjectiveAuctionRPCClient.prototype.auctions = function auctions(requestMessage, metadata, callback) { if (arguments.length === 2) { callback = arguments[1]; } var client = grpc.unary(InjectiveAuctionRPC.Auctions, { 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(); } }; }; InjectiveAuctionRPCClient.prototype.streamBids = function streamBids(requestMessage, metadata) { var listeners = { data: [], end: [], status: [] }; var client = grpc.invoke(InjectiveAuctionRPC.StreamBids, { 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.InjectiveAuctionRPCClient = InjectiveAuctionRPCClient;