@reactivemarkets/switchboard-api
Version:
Generated api for Reactive Markets Switchboard network
123 lines (122 loc) • 5.04 kB
JavaScript
"use strict";
// automatically generated by the FlatBuffers compiler, do not modify
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.MarketDataRequest = void 0;
const flatbuffers = __importStar(require("flatbuffers"));
const Enum_generated_js_1 = require("./Enum_generated.js");
const Market_generated_js_1 = require("./Market_generated.js");
/**
* The Market Data Request message is sent by the taker to update the
* market-data subscription list for the session.
* All active subscriptions will be cancelled by the maker when the
* session is disconnected, so they must be reissued by the taker when
* the session is reestablished.
*/
class MarketDataRequest {
constructor() {
this.bb = null;
this.bb_pos = 0;
}
__init(i, bb) {
this.bb_pos = i;
this.bb = bb;
return this;
}
static getRootAsMarketDataRequest(bb, obj) {
return (obj || new MarketDataRequest()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
}
static getSizePrefixedRootAsMarketDataRequest(bb, obj) {
bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);
return (obj || new MarketDataRequest()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
}
account(optionalEncoding) {
const offset = this.bb.__offset(this.bb_pos, 4);
return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null;
}
reqId(optionalEncoding) {
const offset = this.bb.__offset(this.bb_pos, 6);
return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null;
}
/**
* Subscription request type.
*/
subReqType() {
const offset = this.bb.__offset(this.bb_pos, 8);
return offset ? this.bb.readInt16(this.bb_pos + offset) : Enum_generated_js_1.SubReqType.Snapshot;
}
/**
* Market list to un/subscribe to.
*/
markets(index, obj) {
const offset = this.bb.__offset(this.bb_pos, 10);
return offset ? (obj || new Market_generated_js_1.Market()).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null;
}
marketsLength() {
const offset = this.bb.__offset(this.bb_pos, 10);
return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
}
static startMarketDataRequest(builder) {
builder.startObject(4);
}
static addAccount(builder, accountOffset) {
builder.addFieldOffset(0, accountOffset, 0);
}
static addReqId(builder, reqIdOffset) {
builder.addFieldOffset(1, reqIdOffset, 0);
}
static addSubReqType(builder, subReqType) {
builder.addFieldInt16(2, subReqType, Enum_generated_js_1.SubReqType.Snapshot);
}
static addMarkets(builder, marketsOffset) {
builder.addFieldOffset(3, marketsOffset, 0);
}
static createMarketsVector(builder, data) {
builder.startVector(4, data.length, 4);
for (let i = data.length - 1; i >= 0; i--) {
builder.addOffset(data[i]);
}
return builder.endVector();
}
static startMarketsVector(builder, numElems) {
builder.startVector(4, numElems, 4);
}
static endMarketDataRequest(builder) {
const offset = builder.endObject();
builder.requiredField(offset, 4); // account
builder.requiredField(offset, 6); // req_id
builder.requiredField(offset, 10); // markets
return offset;
}
static createMarketDataRequest(builder, accountOffset, reqIdOffset, subReqType, marketsOffset) {
MarketDataRequest.startMarketDataRequest(builder);
MarketDataRequest.addAccount(builder, accountOffset);
MarketDataRequest.addReqId(builder, reqIdOffset);
MarketDataRequest.addSubReqType(builder, subReqType);
MarketDataRequest.addMarkets(builder, marketsOffset);
return MarketDataRequest.endMarketDataRequest(builder);
}
}
exports.MarketDataRequest = MarketDataRequest;