@tigeropenapi/tigeropen 0.1.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.
- package/LICENSE +21 -0
- package/README.md +272 -0
- package/dist/cjs/client/api-request.js +26 -0
- package/dist/cjs/client/api-response.js +18 -0
- package/dist/cjs/client/errors.js +51 -0
- package/dist/cjs/client/http-client.js +149 -0
- package/dist/cjs/client/index.js +19 -0
- package/dist/cjs/client/retry.js +54 -0
- package/dist/cjs/config/client-config.js +114 -0
- package/dist/cjs/config/config-parser.js +142 -0
- package/dist/cjs/config/domain.js +97 -0
- package/dist/cjs/config/index.js +14 -0
- package/dist/cjs/config/token-manager.js +116 -0
- package/dist/cjs/index.js +21 -0
- package/dist/cjs/logger/index.js +20 -0
- package/dist/cjs/logger/logger.js +68 -0
- package/dist/cjs/model/contract-helpers.js +38 -0
- package/dist/cjs/model/contract.js +6 -0
- package/dist/cjs/model/enums.js +110 -0
- package/dist/cjs/model/order-helpers.js +104 -0
- package/dist/cjs/model/order.js +6 -0
- package/dist/cjs/model/position.js +6 -0
- package/dist/cjs/push/callbacks.js +2 -0
- package/dist/cjs/push/index.js +25 -0
- package/dist/cjs/push/push-client.js +423 -0
- package/dist/cjs/push/push-message.js +83 -0
- package/dist/cjs/quote/index.js +8 -0
- package/dist/cjs/quote/quote-client.js +110 -0
- package/dist/cjs/signer/index.js +12 -0
- package/dist/cjs/signer/sign-content.js +19 -0
- package/dist/cjs/signer/signer.js +93 -0
- package/dist/cjs/trade/index.js +8 -0
- package/dist/cjs/trade/trade-client.js +99 -0
- package/dist/esm/client/api-request.js +23 -0
- package/dist/esm/client/api-response.js +15 -0
- package/dist/esm/client/errors.js +46 -0
- package/dist/esm/client/http-client.js +145 -0
- package/dist/esm/client/index.js +8 -0
- package/dist/esm/client/retry.js +48 -0
- package/dist/esm/config/client-config.js +111 -0
- package/dist/esm/config/config-parser.js +105 -0
- package/dist/esm/config/domain.js +93 -0
- package/dist/esm/config/index.js +6 -0
- package/dist/esm/config/token-manager.js +112 -0
- package/dist/esm/index.js +18 -0
- package/dist/esm/logger/index.js +4 -0
- package/dist/esm/logger/logger.js +61 -0
- package/dist/esm/model/contract-helpers.js +29 -0
- package/dist/esm/model/contract.js +5 -0
- package/dist/esm/model/enums.js +107 -0
- package/dist/esm/model/order-helpers.js +93 -0
- package/dist/esm/model/order.js +5 -0
- package/dist/esm/model/position.js +5 -0
- package/dist/esm/push/callbacks.js +1 -0
- package/dist/esm/push/index.js +6 -0
- package/dist/esm/push/push-client.js +419 -0
- package/dist/esm/push/push-message.js +77 -0
- package/dist/esm/quote/index.js +4 -0
- package/dist/esm/quote/quote-client.js +106 -0
- package/dist/esm/signer/index.js +5 -0
- package/dist/esm/signer/sign-content.js +16 -0
- package/dist/esm/signer/signer.js +88 -0
- package/dist/esm/trade/index.js +4 -0
- package/dist/esm/trade/trade-client.js +95 -0
- package/dist/types/client/api-request.d.ts +18 -0
- package/dist/types/client/api-response.d.ts +16 -0
- package/dist/types/client/errors.d.ts +19 -0
- package/dist/types/client/http-client.d.ts +45 -0
- package/dist/types/client/index.d.ts +8 -0
- package/dist/types/client/retry.d.ts +37 -0
- package/dist/types/config/client-config.d.ts +43 -0
- package/dist/types/config/config-parser.d.ts +16 -0
- package/dist/types/config/domain.d.ts +18 -0
- package/dist/types/config/index.d.ts +7 -0
- package/dist/types/config/token-manager.d.ts +38 -0
- package/dist/types/index.d.ts +18 -0
- package/dist/types/logger/index.d.ts +4 -0
- package/dist/types/logger/logger.d.ts +42 -0
- package/dist/types/model/contract-helpers.d.ts +18 -0
- package/dist/types/model/contract.d.ts +60 -0
- package/dist/types/model/enums.d.ts +97 -0
- package/dist/types/model/order-helpers.d.ts +22 -0
- package/dist/types/model/order.d.ts +95 -0
- package/dist/types/model/position.d.ts +39 -0
- package/dist/types/push/callbacks.d.ts +57 -0
- package/dist/types/push/index.d.ts +7 -0
- package/dist/types/push/push-client.d.ts +139 -0
- package/dist/types/push/push-message.d.ts +167 -0
- package/dist/types/quote/index.d.ts +4 -0
- package/dist/types/quote/quote-client.d.ts +58 -0
- package/dist/types/signer/index.d.ts +5 -0
- package/dist/types/signer/sign-content.d.ts +13 -0
- package/dist/types/signer/signer.d.ts +36 -0
- package/dist/types/trade/index.d.ts +4 -0
- package/dist/types/trade/trade-client.d.ts +48 -0
- package/package.json +54 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 推送消息类型定义和数据结构
|
|
3
|
+
*
|
|
4
|
+
* 定义 WebSocket 推送消息的类型、主题和数据结构,
|
|
5
|
+
* 使用 JSON 序列化/反序列化(简化替代 Protobuf)。
|
|
6
|
+
*/
|
|
7
|
+
/** 推送消息类型 */
|
|
8
|
+
export declare enum MessageType {
|
|
9
|
+
Connect = "connect",
|
|
10
|
+
Connected = "connected",
|
|
11
|
+
Disconnect = "disconnect",
|
|
12
|
+
Heartbeat = "heartbeat",
|
|
13
|
+
Kickout = "kickout",
|
|
14
|
+
Error = "error",
|
|
15
|
+
Subscribe = "subscribe",
|
|
16
|
+
Unsubscribe = "unsubscribe",
|
|
17
|
+
Quote = "quote",
|
|
18
|
+
Tick = "tick",
|
|
19
|
+
Depth = "depth",
|
|
20
|
+
Option = "option",
|
|
21
|
+
Future = "future",
|
|
22
|
+
Kline = "kline",
|
|
23
|
+
StockTop = "stock_top",
|
|
24
|
+
OptionTop = "option_top",
|
|
25
|
+
FullTick = "full_tick",
|
|
26
|
+
QuoteBBO = "quote_bbo",
|
|
27
|
+
Asset = "asset",
|
|
28
|
+
Position = "position",
|
|
29
|
+
Order = "order",
|
|
30
|
+
Transaction = "transaction"
|
|
31
|
+
}
|
|
32
|
+
/** 订阅主题类型 */
|
|
33
|
+
export declare enum SubjectType {
|
|
34
|
+
Quote = "quote",
|
|
35
|
+
Tick = "tick",
|
|
36
|
+
Depth = "depth",
|
|
37
|
+
Option = "option",
|
|
38
|
+
Future = "future",
|
|
39
|
+
Kline = "kline",
|
|
40
|
+
StockTop = "stock_top",
|
|
41
|
+
OptionTop = "option_top",
|
|
42
|
+
FullTick = "full_tick",
|
|
43
|
+
QuoteBBO = "quote_bbo",
|
|
44
|
+
Asset = "asset",
|
|
45
|
+
Position = "position",
|
|
46
|
+
Order = "order",
|
|
47
|
+
Transaction = "transaction"
|
|
48
|
+
}
|
|
49
|
+
/** 推送消息通用结构 */
|
|
50
|
+
export interface PushMessage {
|
|
51
|
+
type: MessageType;
|
|
52
|
+
subject?: SubjectType | string;
|
|
53
|
+
data?: unknown;
|
|
54
|
+
}
|
|
55
|
+
/** 连接认证请求 */
|
|
56
|
+
export interface ConnectRequest {
|
|
57
|
+
tigerId: string;
|
|
58
|
+
sign: string;
|
|
59
|
+
timestamp: string;
|
|
60
|
+
version: string;
|
|
61
|
+
}
|
|
62
|
+
/** 订阅/退订请求 */
|
|
63
|
+
export interface SubscribeRequest {
|
|
64
|
+
subject: SubjectType;
|
|
65
|
+
symbols?: string[];
|
|
66
|
+
account?: string;
|
|
67
|
+
market?: string;
|
|
68
|
+
}
|
|
69
|
+
/** 行情推送数据 */
|
|
70
|
+
export interface QuoteData {
|
|
71
|
+
symbol: string;
|
|
72
|
+
latestPrice?: number;
|
|
73
|
+
preClose?: number;
|
|
74
|
+
open?: number;
|
|
75
|
+
high?: number;
|
|
76
|
+
low?: number;
|
|
77
|
+
volume?: number;
|
|
78
|
+
amount?: number;
|
|
79
|
+
timestamp?: number;
|
|
80
|
+
}
|
|
81
|
+
/** 逐笔成交推送数据 */
|
|
82
|
+
export interface TickData {
|
|
83
|
+
symbol: string;
|
|
84
|
+
price: number;
|
|
85
|
+
volume: number;
|
|
86
|
+
type?: string;
|
|
87
|
+
timestamp?: number;
|
|
88
|
+
}
|
|
89
|
+
/** 价格档位 */
|
|
90
|
+
export interface PriceLevel {
|
|
91
|
+
price: number;
|
|
92
|
+
volume: number;
|
|
93
|
+
count?: number;
|
|
94
|
+
}
|
|
95
|
+
/** 深度行情推送数据 */
|
|
96
|
+
export interface DepthData {
|
|
97
|
+
symbol: string;
|
|
98
|
+
asks?: PriceLevel[];
|
|
99
|
+
bids?: PriceLevel[];
|
|
100
|
+
}
|
|
101
|
+
/** K 线推送数据 */
|
|
102
|
+
export interface KlineData {
|
|
103
|
+
symbol: string;
|
|
104
|
+
open: number;
|
|
105
|
+
high: number;
|
|
106
|
+
low: number;
|
|
107
|
+
close: number;
|
|
108
|
+
volume: number;
|
|
109
|
+
timestamp?: number;
|
|
110
|
+
}
|
|
111
|
+
/** 资产推送数据 */
|
|
112
|
+
export interface AssetData {
|
|
113
|
+
account: string;
|
|
114
|
+
netLiquidation?: number;
|
|
115
|
+
equityWithLoan?: number;
|
|
116
|
+
cashBalance?: number;
|
|
117
|
+
buyingPower?: number;
|
|
118
|
+
currency?: string;
|
|
119
|
+
}
|
|
120
|
+
/** 持仓推送数据 */
|
|
121
|
+
export interface PositionData {
|
|
122
|
+
account: string;
|
|
123
|
+
symbol: string;
|
|
124
|
+
secType?: string;
|
|
125
|
+
quantity: number;
|
|
126
|
+
averageCost?: number;
|
|
127
|
+
marketPrice?: number;
|
|
128
|
+
marketValue?: number;
|
|
129
|
+
unrealizedPnl?: number;
|
|
130
|
+
}
|
|
131
|
+
/** 订单推送数据 */
|
|
132
|
+
export interface OrderData {
|
|
133
|
+
account: string;
|
|
134
|
+
id?: number;
|
|
135
|
+
orderId?: number;
|
|
136
|
+
symbol: string;
|
|
137
|
+
action?: string;
|
|
138
|
+
orderType?: string;
|
|
139
|
+
quantity?: number;
|
|
140
|
+
limitPrice?: number;
|
|
141
|
+
status?: string;
|
|
142
|
+
filled?: number;
|
|
143
|
+
avgFillPrice?: number;
|
|
144
|
+
}
|
|
145
|
+
/** 成交推送数据 */
|
|
146
|
+
export interface TransactionData {
|
|
147
|
+
account: string;
|
|
148
|
+
id?: number;
|
|
149
|
+
orderId?: number;
|
|
150
|
+
symbol: string;
|
|
151
|
+
action?: string;
|
|
152
|
+
price?: number;
|
|
153
|
+
quantity?: number;
|
|
154
|
+
timestamp?: number;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* 创建推送消息
|
|
158
|
+
*/
|
|
159
|
+
export declare function createPushMessage(type: MessageType, subject?: SubjectType | string, data?: unknown): PushMessage;
|
|
160
|
+
/**
|
|
161
|
+
* 序列化推送消息为 JSON 字符串
|
|
162
|
+
*/
|
|
163
|
+
export declare function serializeMessage(msg: PushMessage): string;
|
|
164
|
+
/**
|
|
165
|
+
* 反序列化 JSON 字符串为推送消息
|
|
166
|
+
*/
|
|
167
|
+
export declare function deserializeMessage(data: string): PushMessage;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* QuoteClient 行情查询客户端
|
|
3
|
+
* 封装所有行情相关 API,通过 HttpClient 发送请求
|
|
4
|
+
*/
|
|
5
|
+
import type { HttpClient } from '../client/http-client';
|
|
6
|
+
/**
|
|
7
|
+
* 行情查询客户端,封装所有行情相关 API。
|
|
8
|
+
*/
|
|
9
|
+
export declare class QuoteClient {
|
|
10
|
+
private httpClient;
|
|
11
|
+
constructor(httpClient: HttpClient);
|
|
12
|
+
/**
|
|
13
|
+
* 内部通用方法:构造请求、发送、返回 data 字段
|
|
14
|
+
*/
|
|
15
|
+
private execute;
|
|
16
|
+
/** 获取市场状态 */
|
|
17
|
+
marketState(market: string): Promise<unknown>;
|
|
18
|
+
/** 获取实时报价 */
|
|
19
|
+
quoteRealTime(symbols: string[]): Promise<unknown>;
|
|
20
|
+
/** 获取 K 线数据 */
|
|
21
|
+
kline(symbol: string, period: string): Promise<unknown>;
|
|
22
|
+
/** 获取分时数据 */
|
|
23
|
+
timeline(symbols: string[]): Promise<unknown>;
|
|
24
|
+
/** 获取逐笔成交数据 */
|
|
25
|
+
tradeTick(symbols: string[]): Promise<unknown>;
|
|
26
|
+
/** 获取深度行情 */
|
|
27
|
+
quoteDepth(symbol: string): Promise<unknown>;
|
|
28
|
+
/** 获取期权到期日 */
|
|
29
|
+
optionExpiration(symbol: string): Promise<unknown>;
|
|
30
|
+
/** 获取期权链 */
|
|
31
|
+
optionChain(symbol: string, expiry: string): Promise<unknown>;
|
|
32
|
+
/** 获取期权报价 */
|
|
33
|
+
optionBrief(identifiers: string[]): Promise<unknown>;
|
|
34
|
+
/** 获取期权 K 线 */
|
|
35
|
+
optionKline(identifier: string, period: string): Promise<unknown>;
|
|
36
|
+
/** 获取期货交易所列表 */
|
|
37
|
+
futureExchange(): Promise<unknown>;
|
|
38
|
+
/** 获取期货合约列表 */
|
|
39
|
+
futureContracts(exchange: string): Promise<unknown>;
|
|
40
|
+
/** 获取期货实时报价 */
|
|
41
|
+
futureRealTimeQuote(symbols: string[]): Promise<unknown>;
|
|
42
|
+
/** 获取期货 K 线 */
|
|
43
|
+
futureKline(symbol: string, period: string): Promise<unknown>;
|
|
44
|
+
/** 获取财务日报 */
|
|
45
|
+
financialDaily(symbol: string): Promise<unknown>;
|
|
46
|
+
/** 获取财务报告 */
|
|
47
|
+
financialReport(symbol: string): Promise<unknown>;
|
|
48
|
+
/** 获取公司行动 */
|
|
49
|
+
corporateAction(symbol: string): Promise<unknown>;
|
|
50
|
+
/** 获取资金流向 */
|
|
51
|
+
capitalFlow(symbol: string): Promise<unknown>;
|
|
52
|
+
/** 获取资金分布 */
|
|
53
|
+
capitalDistribution(symbol: string): Promise<unknown>;
|
|
54
|
+
/** 选股器 */
|
|
55
|
+
marketScanner(params: Record<string, unknown>): Promise<unknown>;
|
|
56
|
+
/** 获取行情权限 */
|
|
57
|
+
grabQuotePermission(): Promise<unknown>;
|
|
58
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 请求参数排序拼接模块
|
|
3
|
+
*
|
|
4
|
+
* 按参数名字母序排列所有参数,拼接为 key=value&key=value 格式,
|
|
5
|
+
* 用于构造 RSA 签名的待签名内容。
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* 按参数名字母序排列所有参数,拼接为 key=value&key=value 格式。
|
|
9
|
+
*
|
|
10
|
+
* @param params - 参数名-值映射
|
|
11
|
+
* @returns 拼接后的字符串
|
|
12
|
+
*/
|
|
13
|
+
export declare function getSignContent(params: Record<string, string>): string;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RSA 签名模块
|
|
3
|
+
*
|
|
4
|
+
* 提供 RSA 私钥加载、SHA1WithRSA 签名和验签功能。
|
|
5
|
+
* 支持 PKCS#1、PKCS#8 PEM 格式以及裸 Base64 编码。
|
|
6
|
+
*/
|
|
7
|
+
import { KeyObject } from 'crypto';
|
|
8
|
+
/**
|
|
9
|
+
* 加载 RSA 私钥,支持以下格式:
|
|
10
|
+
* - PKCS#1 PEM(BEGIN RSA PRIVATE KEY)
|
|
11
|
+
* - PKCS#8 PEM(BEGIN PRIVATE KEY)
|
|
12
|
+
* - 裸 Base64 编码的 DER 数据(无 PEM 头尾)
|
|
13
|
+
*
|
|
14
|
+
* @param keyStr - 私钥字符串
|
|
15
|
+
* @returns KeyObject 私钥对象
|
|
16
|
+
* @throws 私钥为空或格式无效时抛出错误
|
|
17
|
+
*/
|
|
18
|
+
export declare function loadPrivateKey(keyStr: string): KeyObject;
|
|
19
|
+
/**
|
|
20
|
+
* 使用 RSA 私钥对内容进行 SHA1WithRSA 签名,返回 Base64 编码的签名字符串。
|
|
21
|
+
*
|
|
22
|
+
* @param privateKeyStr - 私钥字符串(支持 PKCS#1/PKCS#8 PEM 或裸 Base64)
|
|
23
|
+
* @param content - 待签名内容
|
|
24
|
+
* @returns Base64 编码的签名字符串
|
|
25
|
+
* @throws 私钥无效或签名失败时抛出错误
|
|
26
|
+
*/
|
|
27
|
+
export declare function signWithRSA(privateKeyStr: string, content: string): string;
|
|
28
|
+
/**
|
|
29
|
+
* 使用 RSA 公钥验证 SHA1WithRSA 签名。
|
|
30
|
+
*
|
|
31
|
+
* @param publicKey - 公钥对象
|
|
32
|
+
* @param content - 原始内容
|
|
33
|
+
* @param signature - Base64 编码的签名字符串
|
|
34
|
+
* @returns 验签是否成功
|
|
35
|
+
*/
|
|
36
|
+
export declare function verifyWithRSA(publicKey: KeyObject, content: string, signature: string): boolean;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TradeClient 交易客户端
|
|
3
|
+
* 封装所有交易相关 API,通过 HttpClient 发送请求
|
|
4
|
+
*/
|
|
5
|
+
import type { HttpClient } from '../client/http-client';
|
|
6
|
+
import type { Order } from '../model/order';
|
|
7
|
+
/**
|
|
8
|
+
* 交易客户端,封装所有交易相关 API。
|
|
9
|
+
*/
|
|
10
|
+
export declare class TradeClient {
|
|
11
|
+
private httpClient;
|
|
12
|
+
private account;
|
|
13
|
+
constructor(httpClient: HttpClient, account: string);
|
|
14
|
+
/**
|
|
15
|
+
* 内部通用方法:构造请求、发送、返回 data 字段
|
|
16
|
+
*/
|
|
17
|
+
private execute;
|
|
18
|
+
/** 查询单个合约 */
|
|
19
|
+
contract(symbol: string, secType: string): Promise<unknown>;
|
|
20
|
+
/** 批量查询合约 */
|
|
21
|
+
contracts(symbols: string[], secType: string): Promise<unknown>;
|
|
22
|
+
/** 查询衍生品合约 */
|
|
23
|
+
quoteContract(symbol: string, secType: string): Promise<unknown>;
|
|
24
|
+
/** 下单 */
|
|
25
|
+
placeOrder(order: Order): Promise<unknown>;
|
|
26
|
+
/** 预览订单 */
|
|
27
|
+
previewOrder(order: Order): Promise<unknown>;
|
|
28
|
+
/** 修改订单 */
|
|
29
|
+
modifyOrder(id: number, order: Order): Promise<unknown>;
|
|
30
|
+
/** 取消订单 */
|
|
31
|
+
cancelOrder(id: number): Promise<unknown>;
|
|
32
|
+
/** 查询全部订单 */
|
|
33
|
+
orders(): Promise<unknown>;
|
|
34
|
+
/** 查询待成交订单 */
|
|
35
|
+
activeOrders(): Promise<unknown>;
|
|
36
|
+
/** 查询已撤销订单 */
|
|
37
|
+
inactiveOrders(): Promise<unknown>;
|
|
38
|
+
/** 查询已成交订单 */
|
|
39
|
+
filledOrders(): Promise<unknown>;
|
|
40
|
+
/** 查询持仓 */
|
|
41
|
+
positions(): Promise<unknown>;
|
|
42
|
+
/** 查询资产 */
|
|
43
|
+
assets(): Promise<unknown>;
|
|
44
|
+
/** 查询综合账户资产 */
|
|
45
|
+
primeAssets(): Promise<unknown>;
|
|
46
|
+
/** 查询订单成交明细 */
|
|
47
|
+
orderTransactions(id: number): Promise<unknown>;
|
|
48
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@tigeropenapi/tigeropen",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "老虎证券 OpenAPI TypeScript SDK",
|
|
5
|
+
"main": "./dist/cjs/index.js",
|
|
6
|
+
"module": "./dist/esm/index.js",
|
|
7
|
+
"types": "./dist/types/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/esm/index.js",
|
|
11
|
+
"require": "./dist/cjs/index.js",
|
|
12
|
+
"types": "./dist/types/index.d.ts"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
18
|
+
"repository": {
|
|
19
|
+
"type": "git",
|
|
20
|
+
"url": "git+https://github.com/tigerfintech/openapi-typescript-sdk.git"
|
|
21
|
+
},
|
|
22
|
+
"homepage": "https://github.com/tigerfintech/openapi-typescript-sdk#readme",
|
|
23
|
+
"bugs": {
|
|
24
|
+
"url": "https://github.com/tigerfintech/openapi-typescript-sdk/issues"
|
|
25
|
+
},
|
|
26
|
+
"scripts": {
|
|
27
|
+
"build": "tsc -p tsconfig.json && tsc -p tsconfig.cjs.json",
|
|
28
|
+
"build:esm": "tsc -p tsconfig.json",
|
|
29
|
+
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
30
|
+
"prepublishOnly": "npm run build",
|
|
31
|
+
"test": "vitest run",
|
|
32
|
+
"test:watch": "vitest",
|
|
33
|
+
"clean": "rm -rf dist"
|
|
34
|
+
},
|
|
35
|
+
"keywords": [
|
|
36
|
+
"tiger",
|
|
37
|
+
"openapi",
|
|
38
|
+
"sdk",
|
|
39
|
+
"trading",
|
|
40
|
+
"stock"
|
|
41
|
+
],
|
|
42
|
+
"author": "Tiger Fintech",
|
|
43
|
+
"license": "MIT",
|
|
44
|
+
"engines": {
|
|
45
|
+
"node": ">=16.0.0"
|
|
46
|
+
},
|
|
47
|
+
"devDependencies": {
|
|
48
|
+
"@types/ws": "^8.5.0",
|
|
49
|
+
"fast-check": "^3.15.0",
|
|
50
|
+
"typescript": "^5.3.0",
|
|
51
|
+
"vitest": "^1.2.0",
|
|
52
|
+
"ws": "^8.16.0"
|
|
53
|
+
}
|
|
54
|
+
}
|