tinkoff-invest-api
Version:
Node.js SDK for Tinkoff Invest API
956 lines • 37.9 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.SignalServiceDefinition = exports.Signal = exports.GetSignalsResponse = exports.GetSignalsRequest = exports.Strategy = exports.GetStrategiesResponse = exports.GetStrategiesRequest = exports.signalStateToJSON = exports.signalStateFromJSON = exports.SignalState = exports.signalDirectionToJSON = exports.signalDirectionFromJSON = exports.SignalDirection = exports.strategyTypeToJSON = exports.strategyTypeFromJSON = exports.StrategyType = exports.protobufPackage = void 0;
/* eslint-disable */
const long_1 = __importDefault(require("long"));
const minimal_js_1 = __importDefault(require("protobufjs/minimal.js"));
const common_js_1 = require("./common.js");
const timestamp_js_1 = require("./google/protobuf/timestamp.js");
exports.protobufPackage = "tinkoff.public.invest.api.contract.v1";
/** Тип стратегии. */
var StrategyType;
(function (StrategyType) {
/** STRATEGY_TYPE_UNSPECIFIED - Не определен. */
StrategyType[StrategyType["STRATEGY_TYPE_UNSPECIFIED"] = 0] = "STRATEGY_TYPE_UNSPECIFIED";
/** STRATEGY_TYPE_TECHNICAL - Техническая стратегия. */
StrategyType[StrategyType["STRATEGY_TYPE_TECHNICAL"] = 1] = "STRATEGY_TYPE_TECHNICAL";
/** STRATEGY_TYPE_FUNDAMENTAL - Фундаментальная стратегия. */
StrategyType[StrategyType["STRATEGY_TYPE_FUNDAMENTAL"] = 2] = "STRATEGY_TYPE_FUNDAMENTAL";
StrategyType[StrategyType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(StrategyType || (exports.StrategyType = StrategyType = {}));
function strategyTypeFromJSON(object) {
switch (object) {
case 0:
case "STRATEGY_TYPE_UNSPECIFIED":
return StrategyType.STRATEGY_TYPE_UNSPECIFIED;
case 1:
case "STRATEGY_TYPE_TECHNICAL":
return StrategyType.STRATEGY_TYPE_TECHNICAL;
case 2:
case "STRATEGY_TYPE_FUNDAMENTAL":
return StrategyType.STRATEGY_TYPE_FUNDAMENTAL;
case -1:
case "UNRECOGNIZED":
default:
return StrategyType.UNRECOGNIZED;
}
}
exports.strategyTypeFromJSON = strategyTypeFromJSON;
function strategyTypeToJSON(object) {
switch (object) {
case StrategyType.STRATEGY_TYPE_UNSPECIFIED:
return "STRATEGY_TYPE_UNSPECIFIED";
case StrategyType.STRATEGY_TYPE_TECHNICAL:
return "STRATEGY_TYPE_TECHNICAL";
case StrategyType.STRATEGY_TYPE_FUNDAMENTAL:
return "STRATEGY_TYPE_FUNDAMENTAL";
case StrategyType.UNRECOGNIZED:
default:
return "UNRECOGNIZED";
}
}
exports.strategyTypeToJSON = strategyTypeToJSON;
/** Направление сигнала. */
var SignalDirection;
(function (SignalDirection) {
/** SIGNAL_DIRECTION_UNSPECIFIED - Не определен. */
SignalDirection[SignalDirection["SIGNAL_DIRECTION_UNSPECIFIED"] = 0] = "SIGNAL_DIRECTION_UNSPECIFIED";
/** SIGNAL_DIRECTION_BUY - Покупка. */
SignalDirection[SignalDirection["SIGNAL_DIRECTION_BUY"] = 1] = "SIGNAL_DIRECTION_BUY";
/** SIGNAL_DIRECTION_SELL - Продажа. */
SignalDirection[SignalDirection["SIGNAL_DIRECTION_SELL"] = 2] = "SIGNAL_DIRECTION_SELL";
SignalDirection[SignalDirection["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(SignalDirection || (exports.SignalDirection = SignalDirection = {}));
function signalDirectionFromJSON(object) {
switch (object) {
case 0:
case "SIGNAL_DIRECTION_UNSPECIFIED":
return SignalDirection.SIGNAL_DIRECTION_UNSPECIFIED;
case 1:
case "SIGNAL_DIRECTION_BUY":
return SignalDirection.SIGNAL_DIRECTION_BUY;
case 2:
case "SIGNAL_DIRECTION_SELL":
return SignalDirection.SIGNAL_DIRECTION_SELL;
case -1:
case "UNRECOGNIZED":
default:
return SignalDirection.UNRECOGNIZED;
}
}
exports.signalDirectionFromJSON = signalDirectionFromJSON;
function signalDirectionToJSON(object) {
switch (object) {
case SignalDirection.SIGNAL_DIRECTION_UNSPECIFIED:
return "SIGNAL_DIRECTION_UNSPECIFIED";
case SignalDirection.SIGNAL_DIRECTION_BUY:
return "SIGNAL_DIRECTION_BUY";
case SignalDirection.SIGNAL_DIRECTION_SELL:
return "SIGNAL_DIRECTION_SELL";
case SignalDirection.UNRECOGNIZED:
default:
return "UNRECOGNIZED";
}
}
exports.signalDirectionToJSON = signalDirectionToJSON;
/** Статус сигнала. */
var SignalState;
(function (SignalState) {
/** SIGNAL_STATE_UNSPECIFIED - Не определен. */
SignalState[SignalState["SIGNAL_STATE_UNSPECIFIED"] = 0] = "SIGNAL_STATE_UNSPECIFIED";
/** SIGNAL_STATE_ACTIVE - Активный сигнал. */
SignalState[SignalState["SIGNAL_STATE_ACTIVE"] = 1] = "SIGNAL_STATE_ACTIVE";
/** SIGNAL_STATE_CLOSED - Закрытый сигнал. */
SignalState[SignalState["SIGNAL_STATE_CLOSED"] = 2] = "SIGNAL_STATE_CLOSED";
/** SIGNAL_STATE_ALL - Все состояния. */
SignalState[SignalState["SIGNAL_STATE_ALL"] = 3] = "SIGNAL_STATE_ALL";
SignalState[SignalState["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(SignalState || (exports.SignalState = SignalState = {}));
function signalStateFromJSON(object) {
switch (object) {
case 0:
case "SIGNAL_STATE_UNSPECIFIED":
return SignalState.SIGNAL_STATE_UNSPECIFIED;
case 1:
case "SIGNAL_STATE_ACTIVE":
return SignalState.SIGNAL_STATE_ACTIVE;
case 2:
case "SIGNAL_STATE_CLOSED":
return SignalState.SIGNAL_STATE_CLOSED;
case 3:
case "SIGNAL_STATE_ALL":
return SignalState.SIGNAL_STATE_ALL;
case -1:
case "UNRECOGNIZED":
default:
return SignalState.UNRECOGNIZED;
}
}
exports.signalStateFromJSON = signalStateFromJSON;
function signalStateToJSON(object) {
switch (object) {
case SignalState.SIGNAL_STATE_UNSPECIFIED:
return "SIGNAL_STATE_UNSPECIFIED";
case SignalState.SIGNAL_STATE_ACTIVE:
return "SIGNAL_STATE_ACTIVE";
case SignalState.SIGNAL_STATE_CLOSED:
return "SIGNAL_STATE_CLOSED";
case SignalState.SIGNAL_STATE_ALL:
return "SIGNAL_STATE_ALL";
case SignalState.UNRECOGNIZED:
default:
return "UNRECOGNIZED";
}
}
exports.signalStateToJSON = signalStateToJSON;
function createBaseGetStrategiesRequest() {
return { strategyId: undefined };
}
exports.GetStrategiesRequest = {
encode(message, writer = minimal_js_1.default.Writer.create()) {
if (message.strategyId !== undefined) {
writer.uint32(10).string(message.strategyId);
}
return writer;
},
decode(input, length) {
const reader = input instanceof minimal_js_1.default.Reader ? input : minimal_js_1.default.Reader.create(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseGetStrategiesRequest();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
if (tag !== 10) {
break;
}
message.strategyId = reader.string();
continue;
}
if ((tag & 7) === 4 || tag === 0) {
break;
}
reader.skipType(tag & 7);
}
return message;
},
fromJSON(object) {
return { strategyId: isSet(object.strategyId) ? globalThis.String(object.strategyId) : undefined };
},
toJSON(message) {
const obj = {};
if (message.strategyId !== undefined) {
obj.strategyId = message.strategyId;
}
return obj;
},
};
function createBaseGetStrategiesResponse() {
return { strategies: [] };
}
exports.GetStrategiesResponse = {
encode(message, writer = minimal_js_1.default.Writer.create()) {
for (const v of message.strategies) {
exports.Strategy.encode(v, writer.uint32(10).fork()).ldelim();
}
return writer;
},
decode(input, length) {
const reader = input instanceof minimal_js_1.default.Reader ? input : minimal_js_1.default.Reader.create(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseGetStrategiesResponse();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
if (tag !== 10) {
break;
}
message.strategies.push(exports.Strategy.decode(reader, reader.uint32()));
continue;
}
if ((tag & 7) === 4 || tag === 0) {
break;
}
reader.skipType(tag & 7);
}
return message;
},
fromJSON(object) {
return {
strategies: globalThis.Array.isArray(object?.strategies)
? object.strategies.map((e) => exports.Strategy.fromJSON(e))
: [],
};
},
toJSON(message) {
const obj = {};
if (message.strategies?.length) {
obj.strategies = message.strategies.map((e) => exports.Strategy.toJSON(e));
}
return obj;
},
};
function createBaseStrategy() {
return {
strategyId: "",
strategyName: "",
strategyDescription: undefined,
strategyUrl: undefined,
strategyType: 0,
activeSignals: 0,
totalSignals: 0,
timeInPosition: 0,
averageSignalYield: undefined,
averageSignalYieldYear: undefined,
yield: undefined,
yieldYear: undefined,
};
}
exports.Strategy = {
encode(message, writer = minimal_js_1.default.Writer.create()) {
if (message.strategyId !== "") {
writer.uint32(10).string(message.strategyId);
}
if (message.strategyName !== "") {
writer.uint32(18).string(message.strategyName);
}
if (message.strategyDescription !== undefined) {
writer.uint32(26).string(message.strategyDescription);
}
if (message.strategyUrl !== undefined) {
writer.uint32(34).string(message.strategyUrl);
}
if (message.strategyType !== 0) {
writer.uint32(40).int32(message.strategyType);
}
if (message.activeSignals !== 0) {
writer.uint32(48).int32(message.activeSignals);
}
if (message.totalSignals !== 0) {
writer.uint32(56).int32(message.totalSignals);
}
if (message.timeInPosition !== 0) {
writer.uint32(64).int64(message.timeInPosition);
}
if (message.averageSignalYield !== undefined) {
common_js_1.Quotation.encode(message.averageSignalYield, writer.uint32(74).fork()).ldelim();
}
if (message.averageSignalYieldYear !== undefined) {
common_js_1.Quotation.encode(message.averageSignalYieldYear, writer.uint32(82).fork()).ldelim();
}
if (message.yield !== undefined) {
common_js_1.Quotation.encode(message.yield, writer.uint32(90).fork()).ldelim();
}
if (message.yieldYear !== undefined) {
common_js_1.Quotation.encode(message.yieldYear, writer.uint32(98).fork()).ldelim();
}
return writer;
},
decode(input, length) {
const reader = input instanceof minimal_js_1.default.Reader ? input : minimal_js_1.default.Reader.create(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseStrategy();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
if (tag !== 10) {
break;
}
message.strategyId = reader.string();
continue;
case 2:
if (tag !== 18) {
break;
}
message.strategyName = reader.string();
continue;
case 3:
if (tag !== 26) {
break;
}
message.strategyDescription = reader.string();
continue;
case 4:
if (tag !== 34) {
break;
}
message.strategyUrl = reader.string();
continue;
case 5:
if (tag !== 40) {
break;
}
message.strategyType = reader.int32();
continue;
case 6:
if (tag !== 48) {
break;
}
message.activeSignals = reader.int32();
continue;
case 7:
if (tag !== 56) {
break;
}
message.totalSignals = reader.int32();
continue;
case 8:
if (tag !== 64) {
break;
}
message.timeInPosition = longToNumber(reader.int64());
continue;
case 9:
if (tag !== 74) {
break;
}
message.averageSignalYield = common_js_1.Quotation.decode(reader, reader.uint32());
continue;
case 10:
if (tag !== 82) {
break;
}
message.averageSignalYieldYear = common_js_1.Quotation.decode(reader, reader.uint32());
continue;
case 11:
if (tag !== 90) {
break;
}
message.yield = common_js_1.Quotation.decode(reader, reader.uint32());
continue;
case 12:
if (tag !== 98) {
break;
}
message.yieldYear = common_js_1.Quotation.decode(reader, reader.uint32());
continue;
}
if ((tag & 7) === 4 || tag === 0) {
break;
}
reader.skipType(tag & 7);
}
return message;
},
fromJSON(object) {
return {
strategyId: isSet(object.strategyId) ? globalThis.String(object.strategyId) : "",
strategyName: isSet(object.strategyName) ? globalThis.String(object.strategyName) : "",
strategyDescription: isSet(object.strategyDescription)
? globalThis.String(object.strategyDescription)
: undefined,
strategyUrl: isSet(object.strategyUrl) ? globalThis.String(object.strategyUrl) : undefined,
strategyType: isSet(object.strategyType) ? strategyTypeFromJSON(object.strategyType) : 0,
activeSignals: isSet(object.activeSignals) ? globalThis.Number(object.activeSignals) : 0,
totalSignals: isSet(object.totalSignals) ? globalThis.Number(object.totalSignals) : 0,
timeInPosition: isSet(object.timeInPosition) ? globalThis.Number(object.timeInPosition) : 0,
averageSignalYield: isSet(object.averageSignalYield) ? common_js_1.Quotation.fromJSON(object.averageSignalYield) : undefined,
averageSignalYieldYear: isSet(object.averageSignalYieldYear)
? common_js_1.Quotation.fromJSON(object.averageSignalYieldYear)
: undefined,
yield: isSet(object.yield) ? common_js_1.Quotation.fromJSON(object.yield) : undefined,
yieldYear: isSet(object.yieldYear) ? common_js_1.Quotation.fromJSON(object.yieldYear) : undefined,
};
},
toJSON(message) {
const obj = {};
if (message.strategyId !== "") {
obj.strategyId = message.strategyId;
}
if (message.strategyName !== "") {
obj.strategyName = message.strategyName;
}
if (message.strategyDescription !== undefined) {
obj.strategyDescription = message.strategyDescription;
}
if (message.strategyUrl !== undefined) {
obj.strategyUrl = message.strategyUrl;
}
if (message.strategyType !== 0) {
obj.strategyType = strategyTypeToJSON(message.strategyType);
}
if (message.activeSignals !== 0) {
obj.activeSignals = Math.round(message.activeSignals);
}
if (message.totalSignals !== 0) {
obj.totalSignals = Math.round(message.totalSignals);
}
if (message.timeInPosition !== 0) {
obj.timeInPosition = Math.round(message.timeInPosition);
}
if (message.averageSignalYield !== undefined) {
obj.averageSignalYield = common_js_1.Quotation.toJSON(message.averageSignalYield);
}
if (message.averageSignalYieldYear !== undefined) {
obj.averageSignalYieldYear = common_js_1.Quotation.toJSON(message.averageSignalYieldYear);
}
if (message.yield !== undefined) {
obj.yield = common_js_1.Quotation.toJSON(message.yield);
}
if (message.yieldYear !== undefined) {
obj.yieldYear = common_js_1.Quotation.toJSON(message.yieldYear);
}
return obj;
},
};
function createBaseGetSignalsRequest() {
return {
signalId: undefined,
strategyId: undefined,
strategyType: undefined,
instrumentUid: undefined,
from: undefined,
to: undefined,
direction: undefined,
active: undefined,
paging: undefined,
};
}
exports.GetSignalsRequest = {
encode(message, writer = minimal_js_1.default.Writer.create()) {
if (message.signalId !== undefined) {
writer.uint32(10).string(message.signalId);
}
if (message.strategyId !== undefined) {
writer.uint32(18).string(message.strategyId);
}
if (message.strategyType !== undefined) {
writer.uint32(24).int32(message.strategyType);
}
if (message.instrumentUid !== undefined) {
writer.uint32(34).string(message.instrumentUid);
}
if (message.from !== undefined) {
timestamp_js_1.Timestamp.encode(toTimestamp(message.from), writer.uint32(42).fork()).ldelim();
}
if (message.to !== undefined) {
timestamp_js_1.Timestamp.encode(toTimestamp(message.to), writer.uint32(50).fork()).ldelim();
}
if (message.direction !== undefined) {
writer.uint32(56).int32(message.direction);
}
if (message.active !== undefined) {
writer.uint32(64).int32(message.active);
}
if (message.paging !== undefined) {
common_js_1.Page.encode(message.paging, writer.uint32(74).fork()).ldelim();
}
return writer;
},
decode(input, length) {
const reader = input instanceof minimal_js_1.default.Reader ? input : minimal_js_1.default.Reader.create(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseGetSignalsRequest();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
if (tag !== 10) {
break;
}
message.signalId = reader.string();
continue;
case 2:
if (tag !== 18) {
break;
}
message.strategyId = reader.string();
continue;
case 3:
if (tag !== 24) {
break;
}
message.strategyType = reader.int32();
continue;
case 4:
if (tag !== 34) {
break;
}
message.instrumentUid = reader.string();
continue;
case 5:
if (tag !== 42) {
break;
}
message.from = fromTimestamp(timestamp_js_1.Timestamp.decode(reader, reader.uint32()));
continue;
case 6:
if (tag !== 50) {
break;
}
message.to = fromTimestamp(timestamp_js_1.Timestamp.decode(reader, reader.uint32()));
continue;
case 7:
if (tag !== 56) {
break;
}
message.direction = reader.int32();
continue;
case 8:
if (tag !== 64) {
break;
}
message.active = reader.int32();
continue;
case 9:
if (tag !== 74) {
break;
}
message.paging = common_js_1.Page.decode(reader, reader.uint32());
continue;
}
if ((tag & 7) === 4 || tag === 0) {
break;
}
reader.skipType(tag & 7);
}
return message;
},
fromJSON(object) {
return {
signalId: isSet(object.signalId) ? globalThis.String(object.signalId) : undefined,
strategyId: isSet(object.strategyId) ? globalThis.String(object.strategyId) : undefined,
strategyType: isSet(object.strategyType) ? strategyTypeFromJSON(object.strategyType) : undefined,
instrumentUid: isSet(object.instrumentUid) ? globalThis.String(object.instrumentUid) : undefined,
from: isSet(object.from) ? fromJsonTimestamp(object.from) : undefined,
to: isSet(object.to) ? fromJsonTimestamp(object.to) : undefined,
direction: isSet(object.direction) ? signalDirectionFromJSON(object.direction) : undefined,
active: isSet(object.active) ? signalStateFromJSON(object.active) : undefined,
paging: isSet(object.paging) ? common_js_1.Page.fromJSON(object.paging) : undefined,
};
},
toJSON(message) {
const obj = {};
if (message.signalId !== undefined) {
obj.signalId = message.signalId;
}
if (message.strategyId !== undefined) {
obj.strategyId = message.strategyId;
}
if (message.strategyType !== undefined) {
obj.strategyType = strategyTypeToJSON(message.strategyType);
}
if (message.instrumentUid !== undefined) {
obj.instrumentUid = message.instrumentUid;
}
if (message.from !== undefined) {
obj.from = message.from.toISOString();
}
if (message.to !== undefined) {
obj.to = message.to.toISOString();
}
if (message.direction !== undefined) {
obj.direction = signalDirectionToJSON(message.direction);
}
if (message.active !== undefined) {
obj.active = signalStateToJSON(message.active);
}
if (message.paging !== undefined) {
obj.paging = common_js_1.Page.toJSON(message.paging);
}
return obj;
},
};
function createBaseGetSignalsResponse() {
return { signals: [], paging: undefined };
}
exports.GetSignalsResponse = {
encode(message, writer = minimal_js_1.default.Writer.create()) {
for (const v of message.signals) {
exports.Signal.encode(v, writer.uint32(10).fork()).ldelim();
}
if (message.paging !== undefined) {
common_js_1.PageResponse.encode(message.paging, writer.uint32(18).fork()).ldelim();
}
return writer;
},
decode(input, length) {
const reader = input instanceof minimal_js_1.default.Reader ? input : minimal_js_1.default.Reader.create(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseGetSignalsResponse();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
if (tag !== 10) {
break;
}
message.signals.push(exports.Signal.decode(reader, reader.uint32()));
continue;
case 2:
if (tag !== 18) {
break;
}
message.paging = common_js_1.PageResponse.decode(reader, reader.uint32());
continue;
}
if ((tag & 7) === 4 || tag === 0) {
break;
}
reader.skipType(tag & 7);
}
return message;
},
fromJSON(object) {
return {
signals: globalThis.Array.isArray(object?.signals) ? object.signals.map((e) => exports.Signal.fromJSON(e)) : [],
paging: isSet(object.paging) ? common_js_1.PageResponse.fromJSON(object.paging) : undefined,
};
},
toJSON(message) {
const obj = {};
if (message.signals?.length) {
obj.signals = message.signals.map((e) => exports.Signal.toJSON(e));
}
if (message.paging !== undefined) {
obj.paging = common_js_1.PageResponse.toJSON(message.paging);
}
return obj;
},
};
function createBaseSignal() {
return {
signalId: "",
strategyId: "",
strategyName: "",
instrumentUid: "",
createDt: undefined,
direction: 0,
initialPrice: undefined,
info: undefined,
name: "",
targetPrice: undefined,
endDt: undefined,
probability: undefined,
stoploss: undefined,
closePrice: undefined,
closeDt: undefined,
};
}
exports.Signal = {
encode(message, writer = minimal_js_1.default.Writer.create()) {
if (message.signalId !== "") {
writer.uint32(10).string(message.signalId);
}
if (message.strategyId !== "") {
writer.uint32(18).string(message.strategyId);
}
if (message.strategyName !== "") {
writer.uint32(26).string(message.strategyName);
}
if (message.instrumentUid !== "") {
writer.uint32(34).string(message.instrumentUid);
}
if (message.createDt !== undefined) {
timestamp_js_1.Timestamp.encode(toTimestamp(message.createDt), writer.uint32(42).fork()).ldelim();
}
if (message.direction !== 0) {
writer.uint32(48).int32(message.direction);
}
if (message.initialPrice !== undefined) {
common_js_1.Quotation.encode(message.initialPrice, writer.uint32(58).fork()).ldelim();
}
if (message.info !== undefined) {
writer.uint32(66).string(message.info);
}
if (message.name !== "") {
writer.uint32(74).string(message.name);
}
if (message.targetPrice !== undefined) {
common_js_1.Quotation.encode(message.targetPrice, writer.uint32(82).fork()).ldelim();
}
if (message.endDt !== undefined) {
timestamp_js_1.Timestamp.encode(toTimestamp(message.endDt), writer.uint32(90).fork()).ldelim();
}
if (message.probability !== undefined) {
writer.uint32(96).int32(message.probability);
}
if (message.stoploss !== undefined) {
common_js_1.Quotation.encode(message.stoploss, writer.uint32(106).fork()).ldelim();
}
if (message.closePrice !== undefined) {
common_js_1.Quotation.encode(message.closePrice, writer.uint32(114).fork()).ldelim();
}
if (message.closeDt !== undefined) {
timestamp_js_1.Timestamp.encode(toTimestamp(message.closeDt), writer.uint32(122).fork()).ldelim();
}
return writer;
},
decode(input, length) {
const reader = input instanceof minimal_js_1.default.Reader ? input : minimal_js_1.default.Reader.create(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseSignal();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
if (tag !== 10) {
break;
}
message.signalId = reader.string();
continue;
case 2:
if (tag !== 18) {
break;
}
message.strategyId = reader.string();
continue;
case 3:
if (tag !== 26) {
break;
}
message.strategyName = reader.string();
continue;
case 4:
if (tag !== 34) {
break;
}
message.instrumentUid = reader.string();
continue;
case 5:
if (tag !== 42) {
break;
}
message.createDt = fromTimestamp(timestamp_js_1.Timestamp.decode(reader, reader.uint32()));
continue;
case 6:
if (tag !== 48) {
break;
}
message.direction = reader.int32();
continue;
case 7:
if (tag !== 58) {
break;
}
message.initialPrice = common_js_1.Quotation.decode(reader, reader.uint32());
continue;
case 8:
if (tag !== 66) {
break;
}
message.info = reader.string();
continue;
case 9:
if (tag !== 74) {
break;
}
message.name = reader.string();
continue;
case 10:
if (tag !== 82) {
break;
}
message.targetPrice = common_js_1.Quotation.decode(reader, reader.uint32());
continue;
case 11:
if (tag !== 90) {
break;
}
message.endDt = fromTimestamp(timestamp_js_1.Timestamp.decode(reader, reader.uint32()));
continue;
case 12:
if (tag !== 96) {
break;
}
message.probability = reader.int32();
continue;
case 13:
if (tag !== 106) {
break;
}
message.stoploss = common_js_1.Quotation.decode(reader, reader.uint32());
continue;
case 14:
if (tag !== 114) {
break;
}
message.closePrice = common_js_1.Quotation.decode(reader, reader.uint32());
continue;
case 15:
if (tag !== 122) {
break;
}
message.closeDt = fromTimestamp(timestamp_js_1.Timestamp.decode(reader, reader.uint32()));
continue;
}
if ((tag & 7) === 4 || tag === 0) {
break;
}
reader.skipType(tag & 7);
}
return message;
},
fromJSON(object) {
return {
signalId: isSet(object.signalId) ? globalThis.String(object.signalId) : "",
strategyId: isSet(object.strategyId) ? globalThis.String(object.strategyId) : "",
strategyName: isSet(object.strategyName) ? globalThis.String(object.strategyName) : "",
instrumentUid: isSet(object.instrumentUid) ? globalThis.String(object.instrumentUid) : "",
createDt: isSet(object.createDt) ? fromJsonTimestamp(object.createDt) : undefined,
direction: isSet(object.direction) ? signalDirectionFromJSON(object.direction) : 0,
initialPrice: isSet(object.initialPrice) ? common_js_1.Quotation.fromJSON(object.initialPrice) : undefined,
info: isSet(object.info) ? globalThis.String(object.info) : undefined,
name: isSet(object.name) ? globalThis.String(object.name) : "",
targetPrice: isSet(object.targetPrice) ? common_js_1.Quotation.fromJSON(object.targetPrice) : undefined,
endDt: isSet(object.endDt) ? fromJsonTimestamp(object.endDt) : undefined,
probability: isSet(object.probability) ? globalThis.Number(object.probability) : undefined,
stoploss: isSet(object.stoploss) ? common_js_1.Quotation.fromJSON(object.stoploss) : undefined,
closePrice: isSet(object.closePrice) ? common_js_1.Quotation.fromJSON(object.closePrice) : undefined,
closeDt: isSet(object.closeDt) ? fromJsonTimestamp(object.closeDt) : undefined,
};
},
toJSON(message) {
const obj = {};
if (message.signalId !== "") {
obj.signalId = message.signalId;
}
if (message.strategyId !== "") {
obj.strategyId = message.strategyId;
}
if (message.strategyName !== "") {
obj.strategyName = message.strategyName;
}
if (message.instrumentUid !== "") {
obj.instrumentUid = message.instrumentUid;
}
if (message.createDt !== undefined) {
obj.createDt = message.createDt.toISOString();
}
if (message.direction !== 0) {
obj.direction = signalDirectionToJSON(message.direction);
}
if (message.initialPrice !== undefined) {
obj.initialPrice = common_js_1.Quotation.toJSON(message.initialPrice);
}
if (message.info !== undefined) {
obj.info = message.info;
}
if (message.name !== "") {
obj.name = message.name;
}
if (message.targetPrice !== undefined) {
obj.targetPrice = common_js_1.Quotation.toJSON(message.targetPrice);
}
if (message.endDt !== undefined) {
obj.endDt = message.endDt.toISOString();
}
if (message.probability !== undefined) {
obj.probability = Math.round(message.probability);
}
if (message.stoploss !== undefined) {
obj.stoploss = common_js_1.Quotation.toJSON(message.stoploss);
}
if (message.closePrice !== undefined) {
obj.closePrice = common_js_1.Quotation.toJSON(message.closePrice);
}
if (message.closeDt !== undefined) {
obj.closeDt = message.closeDt.toISOString();
}
return obj;
},
};
exports.SignalServiceDefinition = {
name: "SignalService",
fullName: "tinkoff.public.invest.api.contract.v1.SignalService",
methods: {
/** Запросить стратегии. */
getStrategies: {
name: "GetStrategies",
requestType: exports.GetStrategiesRequest,
requestStream: false,
responseType: exports.GetStrategiesResponse,
responseStream: false,
options: {},
},
/** Запросить сигналы. */
getSignals: {
name: "GetSignals",
requestType: exports.GetSignalsRequest,
requestStream: false,
responseType: exports.GetSignalsResponse,
responseStream: false,
options: {},
},
},
};
function toTimestamp(date) {
const seconds = date.getTime() / 1000;
const nanos = (date.getTime() % 1000) * 1000000;
return { seconds, nanos };
}
function fromTimestamp(t) {
let millis = (t.seconds || 0) * 1000;
millis += (t.nanos || 0) / 1000000;
return new globalThis.Date(millis);
}
function fromJsonTimestamp(o) {
if (o instanceof globalThis.Date) {
return o;
}
else if (typeof o === "string") {
return new globalThis.Date(o);
}
else {
return fromTimestamp(timestamp_js_1.Timestamp.fromJSON(o));
}
}
function longToNumber(long) {
if (long.gt(globalThis.Number.MAX_SAFE_INTEGER)) {
throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
}
return long.toNumber();
}
if (minimal_js_1.default.util.Long !== long_1.default) {
minimal_js_1.default.util.Long = long_1.default;
minimal_js_1.default.configure();
}
function isSet(value) {
return value !== null && value !== undefined;
}
//# sourceMappingURL=signals.js.map