@tigeropenapi/tigeropen 0.1.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/README.md +475 -104
  2. package/dist/cjs/client/api-request.js +16 -10
  3. package/dist/cjs/client/api-response.js +23 -3
  4. package/dist/cjs/client/case-convert.js +35 -0
  5. package/dist/cjs/client/http-client.js +47 -21
  6. package/dist/cjs/client/index.js +6 -2
  7. package/dist/cjs/config/client-config.js +130 -49
  8. package/dist/cjs/config/domain.js +21 -2
  9. package/dist/cjs/config/index.js +3 -1
  10. package/dist/cjs/index.js +1 -1
  11. package/dist/cjs/model/contract.js +1 -2
  12. package/dist/cjs/model/enums.js +89 -7
  13. package/dist/cjs/model/order-helpers.js +9 -9
  14. package/dist/cjs/model/order-status.js +46 -0
  15. package/dist/cjs/model/order.js +5 -2
  16. package/dist/cjs/model/position.js +1 -2
  17. package/dist/cjs/model/quote-requests.js +11 -0
  18. package/dist/cjs/model/quote.js +7 -0
  19. package/dist/cjs/model/trade-requests.js +13 -0
  20. package/dist/cjs/model/trade.js +2 -0
  21. package/dist/cjs/push/index.js +6 -3
  22. package/dist/cjs/push/pb/AssetData.js +208 -0
  23. package/dist/cjs/push/pb/KlineData.js +184 -0
  24. package/dist/cjs/push/pb/OptionTopData.js +427 -0
  25. package/dist/cjs/push/pb/OrderStatusData.js +592 -0
  26. package/dist/cjs/push/pb/OrderTransactionData.js +256 -0
  27. package/dist/cjs/push/pb/PositionData.js +316 -0
  28. package/dist/cjs/push/pb/PushData.js +219 -0
  29. package/dist/cjs/push/pb/QuoteBBOData.js +160 -0
  30. package/dist/cjs/push/pb/QuoteBasicData.js +329 -0
  31. package/dist/cjs/push/pb/QuoteData.js +507 -0
  32. package/dist/cjs/push/pb/QuoteDepthData.js +220 -0
  33. package/dist/cjs/push/pb/Request.js +278 -0
  34. package/dist/cjs/push/pb/Response.js +97 -0
  35. package/dist/cjs/push/pb/SocketCommon.js +86 -0
  36. package/dist/cjs/push/pb/StockTopData.js +199 -0
  37. package/dist/cjs/push/pb/TickData.js +202 -0
  38. package/dist/cjs/push/pb/TradeTickData.js +308 -0
  39. package/dist/cjs/push/pb/index.js +49 -0
  40. package/dist/cjs/push/proto-message.js +135 -0
  41. package/dist/cjs/push/push-client.js +361 -163
  42. package/dist/cjs/push/push-message.js +8 -60
  43. package/dist/cjs/push/varint.js +76 -0
  44. package/dist/cjs/quote/index.js +3 -2
  45. package/dist/cjs/quote/quote-client.js +440 -94
  46. package/dist/cjs/signer/signer.js +10 -10
  47. package/dist/cjs/trade/trade-client.js +197 -62
  48. package/dist/esm/client/api-request.js +14 -8
  49. package/dist/esm/client/api-response.js +22 -3
  50. package/dist/esm/client/case-convert.js +31 -0
  51. package/dist/esm/client/http-client.js +48 -22
  52. package/dist/esm/client/index.js +3 -2
  53. package/dist/esm/config/client-config.js +131 -51
  54. package/dist/esm/config/domain.js +20 -2
  55. package/dist/esm/config/index.js +2 -2
  56. package/dist/esm/index.js +1 -1
  57. package/dist/esm/model/contract.js +1 -2
  58. package/dist/esm/model/enums.js +87 -6
  59. package/dist/esm/model/order-helpers.js +9 -9
  60. package/dist/esm/model/order-status.js +43 -0
  61. package/dist/esm/model/order.js +5 -2
  62. package/dist/esm/model/position.js +1 -2
  63. package/dist/esm/model/quote-requests.js +10 -0
  64. package/dist/esm/model/quote.js +6 -0
  65. package/dist/esm/model/trade-requests.js +12 -0
  66. package/dist/esm/model/trade.js +1 -0
  67. package/dist/esm/push/index.js +4 -2
  68. package/dist/esm/push/pb/AssetData.js +205 -0
  69. package/dist/esm/push/pb/KlineData.js +181 -0
  70. package/dist/esm/push/pb/OptionTopData.js +424 -0
  71. package/dist/esm/push/pb/OrderStatusData.js +589 -0
  72. package/dist/esm/push/pb/OrderTransactionData.js +253 -0
  73. package/dist/esm/push/pb/PositionData.js +313 -0
  74. package/dist/esm/push/pb/PushData.js +216 -0
  75. package/dist/esm/push/pb/QuoteBBOData.js +157 -0
  76. package/dist/esm/push/pb/QuoteBasicData.js +326 -0
  77. package/dist/esm/push/pb/QuoteData.js +504 -0
  78. package/dist/esm/push/pb/QuoteDepthData.js +217 -0
  79. package/dist/esm/push/pb/Request.js +275 -0
  80. package/dist/esm/push/pb/Response.js +94 -0
  81. package/dist/esm/push/pb/SocketCommon.js +83 -0
  82. package/dist/esm/push/pb/StockTopData.js +196 -0
  83. package/dist/esm/push/pb/TickData.js +199 -0
  84. package/dist/esm/push/pb/TradeTickData.js +305 -0
  85. package/dist/esm/push/pb/index.js +25 -0
  86. package/dist/esm/push/proto-message.js +127 -0
  87. package/dist/esm/push/push-client.js +329 -164
  88. package/dist/esm/push/push-message.js +7 -56
  89. package/dist/esm/push/varint.js +72 -0
  90. package/dist/esm/quote/index.js +2 -2
  91. package/dist/esm/quote/quote-client.js +439 -94
  92. package/dist/esm/signer/signer.js +10 -10
  93. package/dist/esm/trade/trade-client.js +197 -62
  94. package/dist/types/client/api-request.d.ts +12 -11
  95. package/dist/types/client/api-response.d.ts +15 -7
  96. package/dist/types/client/case-convert.d.ts +16 -0
  97. package/dist/types/client/http-client.d.ts +26 -14
  98. package/dist/types/client/index.d.ts +3 -2
  99. package/dist/types/config/client-config.d.ts +29 -13
  100. package/dist/types/config/domain.d.ts +9 -0
  101. package/dist/types/config/index.d.ts +2 -2
  102. package/dist/types/index.d.ts +1 -1
  103. package/dist/types/model/contract.d.ts +13 -29
  104. package/dist/types/model/enums.d.ts +60 -6
  105. package/dist/types/model/order-helpers.d.ts +21 -20
  106. package/dist/types/model/order-status.d.ts +14 -0
  107. package/dist/types/model/order.d.ts +101 -55
  108. package/dist/types/model/position.d.ts +26 -24
  109. package/dist/types/model/quote-requests.d.ts +344 -0
  110. package/dist/types/model/quote.d.ts +572 -0
  111. package/dist/types/model/trade-requests.d.ts +195 -0
  112. package/dist/types/model/trade.d.ts +235 -0
  113. package/dist/types/push/callbacks.d.ts +32 -51
  114. package/dist/types/push/index.d.ts +5 -3
  115. package/dist/types/push/pb/AssetData.d.ts +47 -0
  116. package/dist/types/push/pb/KlineData.d.ts +43 -0
  117. package/dist/types/push/pb/OptionTopData.d.ts +76 -0
  118. package/dist/types/push/pb/OrderStatusData.d.ts +100 -0
  119. package/dist/types/push/pb/OrderTransactionData.d.ts +51 -0
  120. package/dist/types/push/pb/PositionData.d.ts +63 -0
  121. package/dist/types/push/pb/PushData.d.ts +46 -0
  122. package/dist/types/push/pb/QuoteBBOData.d.ts +35 -0
  123. package/dist/types/push/pb/QuoteBasicData.d.ts +66 -0
  124. package/dist/types/push/pb/QuoteData.d.ts +94 -0
  125. package/dist/types/push/pb/QuoteDepthData.d.ts +37 -0
  126. package/dist/types/push/pb/Request.d.ts +44 -0
  127. package/dist/types/push/pb/Response.d.ts +30 -0
  128. package/dist/types/push/pb/SocketCommon.d.ts +64 -0
  129. package/dist/types/push/pb/StockTopData.d.ts +37 -0
  130. package/dist/types/push/pb/TickData.d.ts +44 -0
  131. package/dist/types/push/pb/TradeTickData.d.ts +53 -0
  132. package/dist/types/push/pb/index.d.ts +39 -0
  133. package/dist/types/push/proto-message.d.ts +33 -0
  134. package/dist/types/push/push-client.d.ts +100 -68
  135. package/dist/types/push/push-message.d.ts +7 -147
  136. package/dist/types/push/varint.d.ts +23 -0
  137. package/dist/types/quote/index.d.ts +2 -2
  138. package/dist/types/quote/quote-client.d.ts +154 -47
  139. package/dist/types/signer/signer.d.ts +6 -6
  140. package/dist/types/trade/trade-client.d.ts +106 -38
  141. package/package.json +11 -6
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Protobuf 生成代码统一导出
3
+ *
4
+ * 由 ts-proto 从 proto 文件生成的所有类型、枚举和编解码函数
5
+ */
6
+ // 基础层:命令和数据类型枚举
7
+ export { SocketCommon_Command, SocketCommon_DataType, SocketCommon_QuoteType, } from './SocketCommon';
8
+ // 协议层:请求和响应消息
9
+ export { Request, Request_Connect, Request_Subscribe } from './Request';
10
+ export { Response } from './Response';
11
+ export { PushData } from './PushData';
12
+ // 数据层:业务数据消息
13
+ export { QuoteData } from './QuoteData';
14
+ export { QuoteBasicData } from './QuoteBasicData';
15
+ export { QuoteBBOData } from './QuoteBBOData';
16
+ export { QuoteDepthData } from './QuoteDepthData';
17
+ export { TradeTickData } from './TradeTickData';
18
+ export { TickData } from './TickData';
19
+ export { AssetData } from './AssetData';
20
+ export { PositionData } from './PositionData';
21
+ export { OrderStatusData } from './OrderStatusData';
22
+ export { OrderTransactionData } from './OrderTransactionData';
23
+ export { StockTopData } from './StockTopData';
24
+ export { OptionTopData } from './OptionTopData';
25
+ export { KlineData } from './KlineData';
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Protobuf 消息构建器
3
+ *
4
+ * 对齐 Java SDK 的 ProtoMessageUtil,提供构建各种 Request 消息的工具函数。
5
+ * 所有构建函数共享一个递增的 requestId 计数器。
6
+ */
7
+ import { Request, Request_Connect, Request_Subscribe, } from './pb/Request';
8
+ import { SocketCommon_Command, SocketCommon_DataType, } from './pb/SocketCommon';
9
+ import { SubjectType } from './push-message';
10
+ /** 递增请求 ID 计数器(单线程环境,简单递增变量) */
11
+ let requestId = 0;
12
+ /**
13
+ * 获取下一个请求 ID
14
+ */
15
+ function nextRequestId() {
16
+ requestId += 1;
17
+ return requestId;
18
+ }
19
+ /**
20
+ * 构建 CONNECT 请求消息
21
+ */
22
+ export function buildConnectMessage(tigerId, sign, sdkVersion, acceptVersion, sendInterval, receiveInterval, useFullTick) {
23
+ return Request.fromPartial({
24
+ command: SocketCommon_Command.CONNECT,
25
+ id: nextRequestId(),
26
+ connect: Request_Connect.fromPartial({
27
+ tigerId,
28
+ sign,
29
+ sdkVersion,
30
+ acceptVersion,
31
+ sendInterval,
32
+ receiveInterval,
33
+ useFullTick,
34
+ }),
35
+ });
36
+ }
37
+ /**
38
+ * 构建 HEARTBEAT 请求消息
39
+ */
40
+ export function buildHeartBeatMessage() {
41
+ return Request.fromPartial({
42
+ command: SocketCommon_Command.HEARTBEAT,
43
+ id: nextRequestId(),
44
+ });
45
+ }
46
+ /**
47
+ * 构建 SUBSCRIBE 请求消息
48
+ */
49
+ export function buildSubscribeMessage(dataType, symbols, account, market) {
50
+ return Request.fromPartial({
51
+ command: SocketCommon_Command.SUBSCRIBE,
52
+ id: nextRequestId(),
53
+ subscribe: Request_Subscribe.fromPartial({
54
+ dataType,
55
+ symbols,
56
+ account,
57
+ market,
58
+ }),
59
+ });
60
+ }
61
+ /**
62
+ * 构建 UNSUBSCRIBE 请求消息
63
+ */
64
+ export function buildUnSubscribeMessage(dataType, symbols, account, market) {
65
+ return Request.fromPartial({
66
+ command: SocketCommon_Command.UNSUBSCRIBE,
67
+ id: nextRequestId(),
68
+ subscribe: Request_Subscribe.fromPartial({
69
+ dataType,
70
+ symbols,
71
+ account,
72
+ market,
73
+ }),
74
+ });
75
+ }
76
+ /**
77
+ * 构建 DISCONNECT 请求消息
78
+ */
79
+ export function buildDisconnectMessage() {
80
+ return Request.fromPartial({
81
+ command: SocketCommon_Command.DISCONNECT,
82
+ id: nextRequestId(),
83
+ });
84
+ }
85
+ /**
86
+ * 将 SubjectType 映射到 SocketCommon_DataType
87
+ */
88
+ export function subjectToDataType(subject) {
89
+ switch (subject) {
90
+ case SubjectType.Quote:
91
+ return SocketCommon_DataType.Quote;
92
+ case SubjectType.Option:
93
+ return SocketCommon_DataType.Option;
94
+ case SubjectType.Future:
95
+ return SocketCommon_DataType.Future;
96
+ case SubjectType.Depth:
97
+ return SocketCommon_DataType.QuoteDepth;
98
+ case SubjectType.Tick:
99
+ return SocketCommon_DataType.TradeTick;
100
+ case SubjectType.Asset:
101
+ return SocketCommon_DataType.Asset;
102
+ case SubjectType.Position:
103
+ return SocketCommon_DataType.Position;
104
+ case SubjectType.Order:
105
+ return SocketCommon_DataType.OrderStatus;
106
+ case SubjectType.Transaction:
107
+ return SocketCommon_DataType.OrderTransaction;
108
+ case SubjectType.StockTop:
109
+ return SocketCommon_DataType.StockTop;
110
+ case SubjectType.OptionTop:
111
+ return SocketCommon_DataType.OptionTop;
112
+ case SubjectType.Kline:
113
+ return SocketCommon_DataType.Kline;
114
+ case SubjectType.FullTick:
115
+ return SocketCommon_DataType.TradeTick;
116
+ case SubjectType.QuoteBBO:
117
+ return SocketCommon_DataType.Quote;
118
+ case SubjectType.Cc:
119
+ // 加密货币推送
120
+ return SocketCommon_DataType.Cc;
121
+ case SubjectType.Market:
122
+ // 市场状态推送协议上 dataType=Quote,只设置 market 字段
123
+ return SocketCommon_DataType.Quote;
124
+ default:
125
+ return SocketCommon_DataType.Unknown;
126
+ }
127
+ }