mconnectb 1.0.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 +351 -0
- package/dist/constants/index.d.ts +158 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +161 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants/routes.d.ts +109 -0
- package/dist/constants/routes.d.ts.map +1 -0
- package/dist/constants/routes.js +120 -0
- package/dist/constants/routes.js.map +1 -0
- package/dist/example/example.d.ts +44 -0
- package/dist/example/example.d.ts.map +1 -0
- package/dist/example/example.js +727 -0
- package/dist/example/example.js.map +1 -0
- package/dist/example/websocket-stream.d.ts +2 -0
- package/dist/example/websocket-stream.d.ts.map +1 -0
- package/dist/example/websocket-stream.js +116 -0
- package/dist/example/websocket-stream.js.map +1 -0
- package/dist/lib/connect.d.ts +306 -0
- package/dist/lib/connect.d.ts.map +1 -0
- package/dist/lib/connect.js +514 -0
- package/dist/lib/connect.js.map +1 -0
- package/dist/lib/index.d.ts +5 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +27 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/response-logger.d.ts +15 -0
- package/dist/lib/response-logger.d.ts.map +1 -0
- package/dist/lib/response-logger.js +73 -0
- package/dist/lib/response-logger.js.map +1 -0
- package/dist/lib/ticker.d.ts +43 -0
- package/dist/lib/ticker.d.ts.map +1 -0
- package/dist/lib/ticker.js +362 -0
- package/dist/lib/ticker.js.map +1 -0
- package/dist/lib/utils.d.ts +36 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +75 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/test/test-websocket.d.ts +2 -0
- package/dist/test/test-websocket.d.ts.map +1 -0
- package/dist/test/test-websocket.js +116 -0
- package/dist/test/test-websocket.js.map +1 -0
- package/dist/test/test.d.ts +2 -0
- package/dist/test/test.d.ts.map +1 -0
- package/dist/test/test.js +892 -0
- package/dist/test/test.js.map +1 -0
- package/dist/types/config.d.ts +138 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +12 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/index.d.ts +631 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +12 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +91 -0
|
@@ -0,0 +1,514 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.MConnect = void 0;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
const routes_1 = require("../constants/routes");
|
|
9
|
+
const constants_1 = require("../constants");
|
|
10
|
+
/**
|
|
11
|
+
* REST API Client for TypeB Trading API
|
|
12
|
+
*
|
|
13
|
+
* This class provides a comprehensive interface for interacting with the TypeB trading API.
|
|
14
|
+
* It handles authentication, order management, portfolio operations, market data retrieval,
|
|
15
|
+
* and other trading functionalities through RESTful endpoints.
|
|
16
|
+
*
|
|
17
|
+
* @class MConnect
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* const client = new MConnect('https://api.mstock.trade', 'your-api-key');
|
|
21
|
+
* await client.login({ clientcode: 'user', password: 'pass', totp: '123456', state: 'state' });
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
class MConnect {
|
|
25
|
+
/**
|
|
26
|
+
* Creates an instance of MConnect
|
|
27
|
+
*
|
|
28
|
+
* @param {string} baseUrl - Base URL for the API (defaults to https://api.mstock.trade)
|
|
29
|
+
* @param {string} apiKey - API key for authentication
|
|
30
|
+
* @param {string | null} [jwtToken=null] - JWT token for authenticated requests
|
|
31
|
+
*/
|
|
32
|
+
constructor(baseUrl, apiKey, jwtToken = null) {
|
|
33
|
+
this.baseURL = baseUrl || constants_1.DEFAULTS.API_BASE_URL;
|
|
34
|
+
this.apiKey = apiKey;
|
|
35
|
+
this.jwtToken = jwtToken;
|
|
36
|
+
this.httpClient = axios_1.default.create({ baseURL: this.baseURL });
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Sets the access token for authenticated requests
|
|
40
|
+
*
|
|
41
|
+
* @param {string} jwtToken - JWT token received after successful login
|
|
42
|
+
*/
|
|
43
|
+
setAccessToken(jwtToken) {
|
|
44
|
+
this.jwtToken = jwtToken;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Executes an HTTP request with proper authentication headers
|
|
48
|
+
*
|
|
49
|
+
* @private
|
|
50
|
+
* @template T - Expected response type
|
|
51
|
+
* @param {AxiosRequestConfig} config - Request configuration
|
|
52
|
+
* @returns {Promise<T>} Promise resolving to the response data
|
|
53
|
+
* @throws {Error} Throws error if request fails
|
|
54
|
+
*/
|
|
55
|
+
async executeRequest(config) {
|
|
56
|
+
try {
|
|
57
|
+
const headers = {
|
|
58
|
+
'Authorization': `Bearer ${this.jwtToken}`,
|
|
59
|
+
'X-PrivateKey': this.apiKey,
|
|
60
|
+
'X-Mirae-Version': '1',
|
|
61
|
+
'Accept': 'application/json',
|
|
62
|
+
...config.headers,
|
|
63
|
+
};
|
|
64
|
+
const finalConfig = { ...config, headers };
|
|
65
|
+
const response = await this.httpClient(finalConfig);
|
|
66
|
+
return response.data;
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
if (axios_1.default.isAxiosError(error) && error.response) {
|
|
70
|
+
throw new Error(`API Error: ${error.response.status} ${error.response.data?.message || error.message}`);
|
|
71
|
+
}
|
|
72
|
+
throw error;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* User login endpoint
|
|
77
|
+
*
|
|
78
|
+
* Authenticates user credentials and returns access tokens
|
|
79
|
+
*
|
|
80
|
+
* @param {LoginReq} params - Login credentials
|
|
81
|
+
* @returns {Promise<APIResponse<TypeBToken>>} Authentication response with tokens
|
|
82
|
+
*/
|
|
83
|
+
async login(params) {
|
|
84
|
+
const route = routes_1.ROUTES.login;
|
|
85
|
+
return this.executeRequest({
|
|
86
|
+
method: 'POST',
|
|
87
|
+
url: route,
|
|
88
|
+
data: params,
|
|
89
|
+
headers: { 'Content-Type': 'application/json' },
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Verify OTP for session token
|
|
94
|
+
*
|
|
95
|
+
* @param {string} refreshToken - Refresh token from login
|
|
96
|
+
* @param {string} otp - One-time password
|
|
97
|
+
* @returns {Promise<APIResponse<TypeBToken>>} Updated authentication tokens
|
|
98
|
+
*/
|
|
99
|
+
async verifyOTP(refreshToken, otp) {
|
|
100
|
+
const params = { refreshToken, otp };
|
|
101
|
+
return this.executeRequest({
|
|
102
|
+
method: 'POST',
|
|
103
|
+
url: routes_1.ROUTES.sessionToken,
|
|
104
|
+
data: params,
|
|
105
|
+
headers: { 'Content-Type': 'application/json' },
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Verify TOTP for two-factor authentication
|
|
110
|
+
*
|
|
111
|
+
* @param {string} refreshToken - Refresh token
|
|
112
|
+
* @param {string} totp - Time-based one-time password
|
|
113
|
+
* @returns {Promise<APIResponse<TypeBToken>>} Authentication response
|
|
114
|
+
*/
|
|
115
|
+
async verifyTOTP(refreshToken, totp) {
|
|
116
|
+
const params = { refreshToken, totp };
|
|
117
|
+
return this.executeRequest({
|
|
118
|
+
method: 'POST',
|
|
119
|
+
url: routes_1.ROUTES.verifyTOTP,
|
|
120
|
+
data: params,
|
|
121
|
+
headers: { 'Content-Type': 'application/json' },
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Place a new order
|
|
126
|
+
*
|
|
127
|
+
* Submits a new order to the exchange
|
|
128
|
+
*
|
|
129
|
+
* @param {PlaceOrderParams} params - Order parameters
|
|
130
|
+
* @returns {Promise<APIResponse<{ orderid: string }>>} Order placement response
|
|
131
|
+
*/
|
|
132
|
+
async placeOrder(params) {
|
|
133
|
+
return this.executeRequest({
|
|
134
|
+
method: 'POST',
|
|
135
|
+
url: routes_1.ROUTES.placeOrder,
|
|
136
|
+
data: params,
|
|
137
|
+
headers: { 'Content-Type': 'application/json' },
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Modify an existing order
|
|
142
|
+
*
|
|
143
|
+
* Updates order parameters for an existing order
|
|
144
|
+
*
|
|
145
|
+
* @param {ModifyOrderParams} params - Order modification parameters
|
|
146
|
+
* @returns {Promise<APIResponse<{ orderid: string }>>} Modification response
|
|
147
|
+
*/
|
|
148
|
+
async modifyOrder(params) {
|
|
149
|
+
const route = routes_1.ROUTES.modifyOrder.replace('{orderid}', params.orderid);
|
|
150
|
+
return this.executeRequest({
|
|
151
|
+
method: 'PUT',
|
|
152
|
+
url: route,
|
|
153
|
+
data: params,
|
|
154
|
+
headers: { 'Content-Type': 'application/json' },
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Cancel an existing order
|
|
159
|
+
*
|
|
160
|
+
* Cancels a pending or partially filled order
|
|
161
|
+
*
|
|
162
|
+
* @param {CancelOrderParams} params - Order cancellation parameters
|
|
163
|
+
* @returns {Promise<APIResponse<{ orderid: string }>>} Cancellation response
|
|
164
|
+
*/
|
|
165
|
+
async cancelOrder(params) {
|
|
166
|
+
const route = routes_1.ROUTES.cancelOrder.replace('{orderid}', params.orderid);
|
|
167
|
+
return this.executeRequest({
|
|
168
|
+
method: 'DELETE',
|
|
169
|
+
url: route,
|
|
170
|
+
data: params,
|
|
171
|
+
headers: { 'Content-Type': 'application/json' }
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Get detailed order information
|
|
176
|
+
*
|
|
177
|
+
* Retrieves comprehensive details for a specific order
|
|
178
|
+
*
|
|
179
|
+
* @param {OrderDetailsReq} params - Order details request parameters
|
|
180
|
+
* @returns {Promise<OrderDetails[]>} Detailed order information
|
|
181
|
+
*/
|
|
182
|
+
async getOrderDetails(params) {
|
|
183
|
+
const route = routes_1.ROUTES.getorderdetails;
|
|
184
|
+
return this.executeRequest({
|
|
185
|
+
method: 'POST',
|
|
186
|
+
url: route,
|
|
187
|
+
data: params,
|
|
188
|
+
headers: { 'Content-Type': 'application/json' }
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Get trade history
|
|
193
|
+
*
|
|
194
|
+
* Retrieves historical trades for a date range
|
|
195
|
+
*
|
|
196
|
+
* @param {TradeHistoryReq} params - Trade history parameters
|
|
197
|
+
* @returns {Promise<any[]>} Array of trade records
|
|
198
|
+
*/
|
|
199
|
+
async getTradeHistory(params) {
|
|
200
|
+
const route = routes_1.ROUTES.trades;
|
|
201
|
+
return this.executeRequest({
|
|
202
|
+
method: 'POST',
|
|
203
|
+
url: route,
|
|
204
|
+
data: params,
|
|
205
|
+
headers: { 'Content-Type': 'application/json' }
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Calculate order margin
|
|
210
|
+
*
|
|
211
|
+
* Calculates the required margin for placing orders
|
|
212
|
+
*
|
|
213
|
+
* @param {OrderMarginReq} params - Order margin calculation parameters
|
|
214
|
+
* @returns {Promise<any[]>} Margin calculation results
|
|
215
|
+
*/
|
|
216
|
+
async orderMargin(params) {
|
|
217
|
+
const route = routes_1.ROUTES.ordermargin;
|
|
218
|
+
return this.executeRequest({
|
|
219
|
+
method: 'POST',
|
|
220
|
+
url: route,
|
|
221
|
+
data: params,
|
|
222
|
+
headers: { 'Content-Type': 'application/json' }
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Get top losers and gainers
|
|
227
|
+
*
|
|
228
|
+
* Retrieves market data for top performing and underperforming securities
|
|
229
|
+
*
|
|
230
|
+
* @param {LoserGainer} params - Loser/gainer request parameters
|
|
231
|
+
* @returns {Promise<any[]>} Array of market performance data
|
|
232
|
+
*/
|
|
233
|
+
async loserGainer(params) {
|
|
234
|
+
const route = routes_1.ROUTES.losergainer;
|
|
235
|
+
return this.executeRequest({
|
|
236
|
+
method: 'POST',
|
|
237
|
+
url: route,
|
|
238
|
+
data: params,
|
|
239
|
+
headers: { 'Content-Type': 'application/json' }
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Cancel all open orders
|
|
244
|
+
*
|
|
245
|
+
* Cancels all pending orders across all segments
|
|
246
|
+
*
|
|
247
|
+
* @returns {Promise<any>} Cancellation response
|
|
248
|
+
*/
|
|
249
|
+
async cancelAllOrders() {
|
|
250
|
+
return this.executeRequest({ method: 'POST', url: routes_1.ROUTES.cancelAll });
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Get fund summary
|
|
254
|
+
*
|
|
255
|
+
* Retrieves account balance and fund summary
|
|
256
|
+
*
|
|
257
|
+
* @returns {Promise<any>} Fund summary data
|
|
258
|
+
*/
|
|
259
|
+
async getFundSummary() {
|
|
260
|
+
return this.executeRequest({ method: 'GET', url: routes_1.ROUTES.fundSummary });
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Get order book
|
|
264
|
+
*
|
|
265
|
+
* Retrieves all orders including pending, executed, and cancelled orders
|
|
266
|
+
*
|
|
267
|
+
* @returns {Promise<APIResponse<OrderBookData[]>>} Order book data
|
|
268
|
+
*/
|
|
269
|
+
async getOrderBook() {
|
|
270
|
+
return this.executeRequest({ method: 'GET', url: routes_1.ROUTES.getOrders });
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Get open positions
|
|
274
|
+
*
|
|
275
|
+
* Retrieves current open positions across all segments
|
|
276
|
+
*
|
|
277
|
+
* @returns {Promise<APIResponse<PositionData[]>>} Position data
|
|
278
|
+
*/
|
|
279
|
+
async getPositions() {
|
|
280
|
+
return this.executeRequest({ method: 'GET', url: routes_1.ROUTES.getPositions });
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Get portfolio holdings
|
|
284
|
+
*
|
|
285
|
+
* Retrieves current portfolio holdings
|
|
286
|
+
*
|
|
287
|
+
* @returns {Promise<APIResponse<TypeBHolding[]>>} Holdings data
|
|
288
|
+
*/
|
|
289
|
+
async getHoldings() {
|
|
290
|
+
return this.executeRequest({ method: 'GET', url: routes_1.ROUTES.getHoldings });
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Get historical candlestick data
|
|
294
|
+
*
|
|
295
|
+
* Retrieves historical price data in OHLC format
|
|
296
|
+
*
|
|
297
|
+
* @param {HistoricalDataParams} params - Historical data parameters
|
|
298
|
+
* @returns {Promise<APIResponse<[string, number, number, number, number, number][]>>} Historical data
|
|
299
|
+
*/
|
|
300
|
+
async getHistoricalData(params) {
|
|
301
|
+
return this.executeRequest({
|
|
302
|
+
method: 'POST',
|
|
303
|
+
url: routes_1.ROUTES.historicalData,
|
|
304
|
+
data: params,
|
|
305
|
+
headers: { 'Content-Type': 'application/json' },
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Get intraday chart data
|
|
310
|
+
*
|
|
311
|
+
* Retrieves intraday price data for charting
|
|
312
|
+
*
|
|
313
|
+
* @param {IntradyChartDataParams} params - Intraday data parameters
|
|
314
|
+
* @returns {Promise<APIResponse<[string, number, number, number, number, number][]>>} Intraday data
|
|
315
|
+
*/
|
|
316
|
+
async getIntradayChartData(params) {
|
|
317
|
+
return this.executeRequest({
|
|
318
|
+
method: 'POST',
|
|
319
|
+
url: routes_1.ROUTES.intradayChartData,
|
|
320
|
+
data: params,
|
|
321
|
+
headers: { 'Content-Type': 'application/json' },
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Get instrument master data
|
|
326
|
+
*
|
|
327
|
+
* Retrieves complete instrument master data in CSV format
|
|
328
|
+
*
|
|
329
|
+
* @returns {Promise<string>} CSV formatted instrument data
|
|
330
|
+
*/
|
|
331
|
+
async getInstrumentMaster() {
|
|
332
|
+
return this.executeRequest({
|
|
333
|
+
method: 'GET',
|
|
334
|
+
url: routes_1.ROUTES.scriptMaster,
|
|
335
|
+
headers: {
|
|
336
|
+
'Accept': 'text/csv, application/json'
|
|
337
|
+
}
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Get real-time quotes
|
|
342
|
+
*
|
|
343
|
+
* Retrieves real-time quotes for specified instruments
|
|
344
|
+
*
|
|
345
|
+
* @param {QuoteParams} params - Quote request parameters
|
|
346
|
+
* @returns {Promise<APIResponse<QuoteData<FetchedLtp | FetchedOhlc>>>} Quote data
|
|
347
|
+
*/
|
|
348
|
+
async getQuote(params) {
|
|
349
|
+
return this.executeRequest({
|
|
350
|
+
method: 'POST',
|
|
351
|
+
url: routes_1.ROUTES.quote,
|
|
352
|
+
data: params,
|
|
353
|
+
headers: { 'Content-Type': 'application/json' },
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Convert position type
|
|
358
|
+
*
|
|
359
|
+
* Converts position from one product type to another (e.g., intraday to delivery)
|
|
360
|
+
*
|
|
361
|
+
* @param {ConvertPositionParams} params - Position conversion parameters
|
|
362
|
+
* @returns {Promise<APIResponse<any>>} Conversion response
|
|
363
|
+
*/
|
|
364
|
+
async convertPosition(params) {
|
|
365
|
+
return this.executeRequest({
|
|
366
|
+
method: 'POST',
|
|
367
|
+
url: routes_1.ROUTES.convertPosition,
|
|
368
|
+
data: params,
|
|
369
|
+
headers: { 'Content-Type': 'application/json' },
|
|
370
|
+
});
|
|
371
|
+
}
|
|
372
|
+
/**
|
|
373
|
+
* Get trade book
|
|
374
|
+
*
|
|
375
|
+
* Retrieves trade book with all executed trades
|
|
376
|
+
*
|
|
377
|
+
* @returns {Promise<APIResponse<any>>} Trade book data
|
|
378
|
+
*/
|
|
379
|
+
async getTradeBook() {
|
|
380
|
+
return this.executeRequest({ method: 'GET', url: routes_1.ROUTES.tradeBook });
|
|
381
|
+
}
|
|
382
|
+
/**
|
|
383
|
+
* User logout
|
|
384
|
+
*
|
|
385
|
+
* Logs out the current user and invalidates the session
|
|
386
|
+
*
|
|
387
|
+
* @param {string} clientCode - Client code
|
|
388
|
+
* @param {string} jwtToken - JWT token
|
|
389
|
+
* @returns {Promise<APIResponse<any>>} Logout response
|
|
390
|
+
*/
|
|
391
|
+
async logout(clientCode, jwtToken) {
|
|
392
|
+
return this.executeRequest({
|
|
393
|
+
method: 'GET',
|
|
394
|
+
url: routes_1.ROUTES.logout,
|
|
395
|
+
headers: { 'Content-Type': 'application/json' },
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* Fetch basket orders
|
|
400
|
+
*
|
|
401
|
+
* Retrieves all basket orders
|
|
402
|
+
*
|
|
403
|
+
* @returns {Promise<FetchBasket[]>} Array of basket orders
|
|
404
|
+
*/
|
|
405
|
+
async fetchBasket() {
|
|
406
|
+
return this.executeRequest({ method: 'GET', url: routes_1.ROUTES.fetchbasket });
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* Create basket order
|
|
410
|
+
*
|
|
411
|
+
* Creates a new basket order
|
|
412
|
+
*
|
|
413
|
+
* @param {CreateBasket} params - Basket creation parameters
|
|
414
|
+
* @returns {Promise<any[]>} Creation response
|
|
415
|
+
*/
|
|
416
|
+
async createBasket(params) {
|
|
417
|
+
const route = routes_1.ROUTES.createbasket;
|
|
418
|
+
return this.executeRequest({
|
|
419
|
+
method: 'POST',
|
|
420
|
+
url: route,
|
|
421
|
+
data: params,
|
|
422
|
+
headers: { 'Content-Type': 'application/json' },
|
|
423
|
+
});
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* Rename basket order
|
|
427
|
+
*
|
|
428
|
+
* Renames an existing basket order
|
|
429
|
+
*
|
|
430
|
+
* @param {RenameBasket} params - Basket rename parameters
|
|
431
|
+
* @returns {Promise<any[]>} Rename response
|
|
432
|
+
*/
|
|
433
|
+
async renameBasket(params) {
|
|
434
|
+
const route = routes_1.ROUTES.renamebasket;
|
|
435
|
+
return this.executeRequest({
|
|
436
|
+
method: 'PUT',
|
|
437
|
+
url: route,
|
|
438
|
+
data: params,
|
|
439
|
+
headers: { 'Content-Type': 'application/json' },
|
|
440
|
+
});
|
|
441
|
+
}
|
|
442
|
+
/**
|
|
443
|
+
* Delete basket order
|
|
444
|
+
*
|
|
445
|
+
* Deletes an existing basket order
|
|
446
|
+
*
|
|
447
|
+
* @param {DeleteBasket} params - Basket deletion parameters
|
|
448
|
+
* @returns {Promise<any[]>} Deletion response
|
|
449
|
+
*/
|
|
450
|
+
async deleteBasket(params) {
|
|
451
|
+
const route = routes_1.ROUTES.deletebasket;
|
|
452
|
+
return this.executeRequest({
|
|
453
|
+
method: 'DELETE',
|
|
454
|
+
url: route,
|
|
455
|
+
data: params,
|
|
456
|
+
headers: { 'Content-Type': 'application/json' },
|
|
457
|
+
});
|
|
458
|
+
}
|
|
459
|
+
/**
|
|
460
|
+
* Calculate basket order
|
|
461
|
+
*
|
|
462
|
+
* Calculates basket order details including margin requirements
|
|
463
|
+
*
|
|
464
|
+
* @param {CalcualteBasket} params - Basket calculation parameters
|
|
465
|
+
* @returns {Promise<any[]>} Calculation results
|
|
466
|
+
*/
|
|
467
|
+
async calculateBasket(params) {
|
|
468
|
+
const route = routes_1.ROUTES.calculatebasket;
|
|
469
|
+
return this.executeRequest({
|
|
470
|
+
method: 'POST',
|
|
471
|
+
url: route,
|
|
472
|
+
data: params,
|
|
473
|
+
headers: { 'Content-Type': 'application/json' },
|
|
474
|
+
});
|
|
475
|
+
}
|
|
476
|
+
/**
|
|
477
|
+
* Get option chain master data
|
|
478
|
+
*
|
|
479
|
+
* Retrieves option chain master data for a specific exchange
|
|
480
|
+
*
|
|
481
|
+
* @param {string} exchange - Exchange identifier
|
|
482
|
+
* @returns {Promise<any>} Option chain master data
|
|
483
|
+
*/
|
|
484
|
+
async getOptionChainMaster(exchange) {
|
|
485
|
+
const route = routes_1.ROUTES.optionchainmaster
|
|
486
|
+
.replace('{exchange}', String(exchange));
|
|
487
|
+
return this.executeRequest({
|
|
488
|
+
method: 'GET',
|
|
489
|
+
url: route
|
|
490
|
+
});
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
* Get option chain data
|
|
494
|
+
*
|
|
495
|
+
* Retrieves detailed option chain data for specific expiry and token
|
|
496
|
+
*
|
|
497
|
+
* @param {string} exchange - Exchange identifier
|
|
498
|
+
* @param {string} expiry - Expiry date
|
|
499
|
+
* @param {string} token - Symbol token
|
|
500
|
+
* @returns {Promise<any>} Option chain data
|
|
501
|
+
*/
|
|
502
|
+
async getOptionChain(exchange, expiry, token) {
|
|
503
|
+
const route = routes_1.ROUTES.optionchain
|
|
504
|
+
.replace('{exchange}', exchange)
|
|
505
|
+
.replace('{expiry}', expiry)
|
|
506
|
+
.replace('{token}', token);
|
|
507
|
+
return this.executeRequest({
|
|
508
|
+
method: 'GET',
|
|
509
|
+
url: route
|
|
510
|
+
});
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
exports.MConnect = MConnect;
|
|
514
|
+
//# sourceMappingURL=connect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../lib/connect.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.ResponseLogger = exports.MTicker = exports.MConnect = void 0;
|
|
18
|
+
// Main exports for the TypeB Trading API SDK
|
|
19
|
+
var connect_1 = require("./connect");
|
|
20
|
+
Object.defineProperty(exports, "MConnect", { enumerable: true, get: function () { return connect_1.MConnect; } });
|
|
21
|
+
var ticker_1 = require("./ticker");
|
|
22
|
+
Object.defineProperty(exports, "MTicker", { enumerable: true, get: function () { return ticker_1.MTicker; } });
|
|
23
|
+
var response_logger_1 = require("./response-logger");
|
|
24
|
+
Object.defineProperty(exports, "ResponseLogger", { enumerable: true, get: function () { return response_logger_1.ResponseLogger; } });
|
|
25
|
+
// Export types and interfaces
|
|
26
|
+
__exportStar(require("../types"), exports);
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAA6C;AAC7C,qCAAqC;AAA5B,mGAAA,QAAQ,OAAA;AACjB,mCAAmC;AAA1B,iGAAA,OAAO,OAAA;AAChB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AAEvB,8BAA8B;AAC9B,2CAAyB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ResponseLogger class for logging API responses to a file.
|
|
3
|
+
*
|
|
4
|
+
* This class handles the creation and management of a log file
|
|
5
|
+
* for recording API responses with timestamps in IST.
|
|
6
|
+
*/
|
|
7
|
+
export declare class ResponseLogger {
|
|
8
|
+
private logFile;
|
|
9
|
+
constructor(logFileName?: string);
|
|
10
|
+
private initLog;
|
|
11
|
+
logResponse(operation: string, response: any): void;
|
|
12
|
+
private getISTTime;
|
|
13
|
+
getLogPath(): string;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=response-logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-logger.d.ts","sourceRoot":"","sources":["../../lib/response-logger.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,OAAO,CAAS;gBAEZ,WAAW,GAAE,MAA4B;IAKrD,OAAO,CAAC,OAAO;IAKR,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG;IAWnD,OAAO,CAAC,UAAU;IAKX,UAAU,IAAI,MAAM;CAG9B"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.ResponseLogger = void 0;
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
/**
|
|
40
|
+
* ResponseLogger class for logging API responses to a file.
|
|
41
|
+
*
|
|
42
|
+
* This class handles the creation and management of a log file
|
|
43
|
+
* for recording API responses with timestamps in IST.
|
|
44
|
+
*/
|
|
45
|
+
class ResponseLogger {
|
|
46
|
+
constructor(logFileName = 'api-responses.log') {
|
|
47
|
+
this.logFile = path.join(process.cwd(), logFileName);
|
|
48
|
+
this.initLog();
|
|
49
|
+
}
|
|
50
|
+
initLog() {
|
|
51
|
+
const initEntry = `=== API Response Log Started at ${this.getISTTime()} ===\n\n`;
|
|
52
|
+
fs.writeFileSync(this.logFile, initEntry);
|
|
53
|
+
}
|
|
54
|
+
logResponse(operation, response) {
|
|
55
|
+
const timestamp = this.getISTTime();
|
|
56
|
+
const logEntry = `[${timestamp}] ${operation}:\n${JSON.stringify(response, null, 2)}\n\n`;
|
|
57
|
+
try {
|
|
58
|
+
fs.appendFileSync(this.logFile, logEntry);
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
console.error('Failed to write response log:', error);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
getISTTime() {
|
|
65
|
+
const options = { timeZone: 'Asia/Kolkata', hour12: false };
|
|
66
|
+
return new Date().toLocaleString('en-IN', options);
|
|
67
|
+
}
|
|
68
|
+
getLogPath() {
|
|
69
|
+
return this.logFile;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.ResponseLogger = ResponseLogger;
|
|
73
|
+
//# sourceMappingURL=response-logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-logger.js","sourceRoot":"","sources":["../../lib/response-logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAE7B;;;;;GAKG;AACH,MAAa,cAAc;IAGvB,YAAY,cAAsB,mBAAmB;QACjD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;IAEO,OAAO;QACX,MAAM,SAAS,GAAG,mCAAmC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC;QACjF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC;IAEM,WAAW,CAAC,SAAiB,EAAE,QAAa;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,SAAS,KAAK,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAE1F,IAAI,CAAC;YACD,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IAEO,UAAU;QACd,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC5D,OAAO,IAAI,IAAI,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CACJ;AAhCD,wCAgCC"}
|