nse-bse-api 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.
Files changed (154) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +194 -0
  3. package/dist/bse/BSE.d.ts +141 -0
  4. package/dist/bse/BSE.d.ts.map +1 -0
  5. package/dist/bse/BSE.js +453 -0
  6. package/dist/bse/BSE.js.map +1 -0
  7. package/dist/bse/constants/index.d.ts +341 -0
  8. package/dist/bse/constants/index.d.ts.map +1 -0
  9. package/dist/bse/constants/index.js +341 -0
  10. package/dist/bse/constants/index.js.map +1 -0
  11. package/dist/bse/index.d.ts +12 -0
  12. package/dist/bse/index.d.ts.map +1 -0
  13. package/dist/bse/index.js +16 -0
  14. package/dist/bse/index.js.map +1 -0
  15. package/dist/bse/types/index.d.ts +120 -0
  16. package/dist/bse/types/index.d.ts.map +1 -0
  17. package/dist/bse/types/index.js +20 -0
  18. package/dist/bse/types/index.js.map +1 -0
  19. package/dist/bse/utils/SymbolParser.d.ts +16 -0
  20. package/dist/bse/utils/SymbolParser.d.ts.map +1 -0
  21. package/dist/bse/utils/SymbolParser.js +58 -0
  22. package/dist/bse/utils/SymbolParser.js.map +1 -0
  23. package/dist/bse/utils/helpers.d.ts +21 -0
  24. package/dist/bse/utils/helpers.d.ts.map +1 -0
  25. package/dist/bse/utils/helpers.js +77 -0
  26. package/dist/bse/utils/helpers.js.map +1 -0
  27. package/dist/bse/utils/throttle.d.ts +4 -0
  28. package/dist/bse/utils/throttle.d.ts.map +1 -0
  29. package/dist/bse/utils/throttle.js +38 -0
  30. package/dist/bse/utils/throttle.js.map +1 -0
  31. package/dist/index.d.ts +12 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +15 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/nse/api/corporate-api.d.ts +30 -0
  36. package/dist/nse/api/corporate-api.d.ts.map +1 -0
  37. package/dist/nse/api/corporate-api.js +90 -0
  38. package/dist/nse/api/corporate-api.js.map +1 -0
  39. package/dist/nse/api/download-api.d.ts +42 -0
  40. package/dist/nse/api/download-api.d.ts.map +1 -0
  41. package/dist/nse/api/download-api.js +144 -0
  42. package/dist/nse/api/download-api.js.map +1 -0
  43. package/dist/nse/api/equity-api.d.ts +50 -0
  44. package/dist/nse/api/equity-api.d.ts.map +1 -0
  45. package/dist/nse/api/equity-api.js +103 -0
  46. package/dist/nse/api/equity-api.js.map +1 -0
  47. package/dist/nse/api/historical-api.d.ts +34 -0
  48. package/dist/nse/api/historical-api.d.ts.map +1 -0
  49. package/dist/nse/api/historical-api.js +126 -0
  50. package/dist/nse/api/historical-api.js.map +1 -0
  51. package/dist/nse/api/index.d.ts +11 -0
  52. package/dist/nse/api/index.d.ts.map +1 -0
  53. package/dist/nse/api/index.js +11 -0
  54. package/dist/nse/api/index.js.map +1 -0
  55. package/dist/nse/api/ipo-api.d.ts +26 -0
  56. package/dist/nse/api/ipo-api.d.ts.map +1 -0
  57. package/dist/nse/api/ipo-api.js +46 -0
  58. package/dist/nse/api/ipo-api.js.map +1 -0
  59. package/dist/nse/api/market-api.d.ts +34 -0
  60. package/dist/nse/api/market-api.d.ts.map +1 -0
  61. package/dist/nse/api/market-api.js +58 -0
  62. package/dist/nse/api/market-api.js.map +1 -0
  63. package/dist/nse/api/options-api.d.ts +35 -0
  64. package/dist/nse/api/options-api.d.ts.map +1 -0
  65. package/dist/nse/api/options-api.js +207 -0
  66. package/dist/nse/api/options-api.js.map +1 -0
  67. package/dist/nse/constants/index.d.ts +29 -0
  68. package/dist/nse/constants/index.d.ts.map +1 -0
  69. package/dist/nse/constants/index.js +43 -0
  70. package/dist/nse/constants/index.js.map +1 -0
  71. package/dist/nse/http/http-client.d.ts +38 -0
  72. package/dist/nse/http/http-client.d.ts.map +1 -0
  73. package/dist/nse/http/http-client.js +164 -0
  74. package/dist/nse/http/http-client.js.map +1 -0
  75. package/dist/nse/index.d.ts +19 -0
  76. package/dist/nse/index.d.ts.map +1 -0
  77. package/dist/nse/index.js +24 -0
  78. package/dist/nse/index.js.map +1 -0
  79. package/dist/nse/nse/nse-client.d.ts +85 -0
  80. package/dist/nse/nse/nse-client.d.ts.map +1 -0
  81. package/dist/nse/nse/nse-client.js +105 -0
  82. package/dist/nse/nse/nse-client.js.map +1 -0
  83. package/dist/nse/types/index.d.ts +123 -0
  84. package/dist/nse/types/index.d.ts.map +1 -0
  85. package/dist/nse/types/index.js +5 -0
  86. package/dist/nse/types/index.js.map +1 -0
  87. package/dist/nse/utils/date-formatter.d.ts +36 -0
  88. package/dist/nse/utils/date-formatter.d.ts.map +1 -0
  89. package/dist/nse/utils/date-formatter.js +70 -0
  90. package/dist/nse/utils/date-formatter.js.map +1 -0
  91. package/dist/nse/utils/file-operations.d.ts +16 -0
  92. package/dist/nse/utils/file-operations.d.ts.map +1 -0
  93. package/dist/nse/utils/file-operations.js +74 -0
  94. package/dist/nse/utils/file-operations.js.map +1 -0
  95. package/dist/nse/utils/index.d.ts +6 -0
  96. package/dist/nse/utils/index.d.ts.map +1 -0
  97. package/dist/nse/utils/index.js +6 -0
  98. package/dist/nse/utils/index.js.map +1 -0
  99. package/dist/types/index.d.ts +17 -0
  100. package/dist/types/index.d.ts.map +1 -0
  101. package/dist/types/index.js +11 -0
  102. package/dist/types/index.js.map +1 -0
  103. package/dist-cjs/bse/BSE.js +493 -0
  104. package/dist-cjs/bse/BSE.js.map +1 -0
  105. package/dist-cjs/bse/constants/index.js +352 -0
  106. package/dist-cjs/bse/constants/index.js.map +1 -0
  107. package/dist-cjs/bse/index.js +36 -0
  108. package/dist-cjs/bse/index.js.map +1 -0
  109. package/dist-cjs/bse/types/index.js +26 -0
  110. package/dist-cjs/bse/types/index.js.map +1 -0
  111. package/dist-cjs/bse/utils/SymbolParser.js +62 -0
  112. package/dist-cjs/bse/utils/SymbolParser.js.map +1 -0
  113. package/dist-cjs/bse/utils/helpers.js +117 -0
  114. package/dist-cjs/bse/utils/helpers.js.map +1 -0
  115. package/dist-cjs/bse/utils/throttle.js +42 -0
  116. package/dist-cjs/bse/utils/throttle.js.map +1 -0
  117. package/dist-cjs/index.js +54 -0
  118. package/dist-cjs/index.js.map +1 -0
  119. package/dist-cjs/nse/api/corporate-api.js +94 -0
  120. package/dist-cjs/nse/api/corporate-api.js.map +1 -0
  121. package/dist-cjs/nse/api/download-api.js +151 -0
  122. package/dist-cjs/nse/api/download-api.js.map +1 -0
  123. package/dist-cjs/nse/api/equity-api.js +107 -0
  124. package/dist-cjs/nse/api/equity-api.js.map +1 -0
  125. package/dist-cjs/nse/api/historical-api.js +130 -0
  126. package/dist-cjs/nse/api/historical-api.js.map +1 -0
  127. package/dist-cjs/nse/api/index.js +21 -0
  128. package/dist-cjs/nse/api/index.js.map +1 -0
  129. package/dist-cjs/nse/api/ipo-api.js +50 -0
  130. package/dist-cjs/nse/api/ipo-api.js.map +1 -0
  131. package/dist-cjs/nse/api/market-api.js +62 -0
  132. package/dist-cjs/nse/api/market-api.js.map +1 -0
  133. package/dist-cjs/nse/api/options-api.js +211 -0
  134. package/dist-cjs/nse/api/options-api.js.map +1 -0
  135. package/dist-cjs/nse/constants/index.js +46 -0
  136. package/dist-cjs/nse/constants/index.js.map +1 -0
  137. package/dist-cjs/nse/http/http-client.js +171 -0
  138. package/dist-cjs/nse/http/http-client.js.map +1 -0
  139. package/dist-cjs/nse/index.js +50 -0
  140. package/dist-cjs/nse/index.js.map +1 -0
  141. package/dist-cjs/nse/nse/nse-client.js +109 -0
  142. package/dist-cjs/nse/nse/nse-client.js.map +1 -0
  143. package/dist-cjs/nse/types/index.js +6 -0
  144. package/dist-cjs/nse/types/index.js.map +1 -0
  145. package/dist-cjs/nse/utils/date-formatter.js +80 -0
  146. package/dist-cjs/nse/utils/date-formatter.js.map +1 -0
  147. package/dist-cjs/nse/utils/file-operations.js +82 -0
  148. package/dist-cjs/nse/utils/file-operations.js.map +1 -0
  149. package/dist-cjs/nse/utils/index.js +22 -0
  150. package/dist-cjs/nse/utils/index.js.map +1 -0
  151. package/dist-cjs/package.json +3 -0
  152. package/dist-cjs/types/index.js +47 -0
  153. package/dist-cjs/types/index.js.map +1 -0
  154. package/package.json +99 -0
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Main NSE API client that orchestrates all API modules
3
+ */
4
+ import { EquityApi } from "../api/equity-api.js";
5
+ import { OptionsApi } from "../api/options-api.js";
6
+ import { HistoricalApi } from "../api/historical-api.js";
7
+ import { CorporateApi } from "../api/corporate-api.js";
8
+ import { IpoApi } from "../api/ipo-api.js";
9
+ import { MarketApi } from "../api/market-api.js";
10
+ import { DownloadApi } from "../api/download-api.js";
11
+ import { NSEOptions } from "../types/index.js";
12
+ export declare class NSEClient {
13
+ static readonly __version__ = "0.1.0";
14
+ static readonly SEGMENT_EQUITY: "equities";
15
+ static readonly SEGMENT_SME: "sme";
16
+ static readonly SEGMENT_MF: "mf";
17
+ static readonly SEGMENT_DEBT: "debt";
18
+ static readonly HOLIDAY_CLEARING: "clearing";
19
+ static readonly HOLIDAY_TRADING: "trading";
20
+ static readonly FNO_BANK: "banknifty";
21
+ static readonly FNO_NIFTY: "nifty";
22
+ static readonly FNO_FINNIFTY: "finnifty";
23
+ static readonly FNO_IT: "niftyit";
24
+ static readonly UDIFF_SWITCH_DATE: Date;
25
+ private httpClient;
26
+ private downloadDir;
27
+ readonly equity: EquityApi;
28
+ readonly options: OptionsApi;
29
+ readonly historical: HistoricalApi;
30
+ readonly corporate: CorporateApi;
31
+ readonly ipo: IpoApi;
32
+ readonly market: MarketApi;
33
+ readonly download: DownloadApi;
34
+ constructor(downloadFolder: string, opts?: NSEOptions);
35
+ /**
36
+ * Clean up resources and save cookies
37
+ */
38
+ exit(): void;
39
+ status(): Promise<any[]>;
40
+ lookup(query: string): Promise<Record<string, any>>;
41
+ equityBhavcopy(date: Date, folder?: string): Promise<string>;
42
+ deliveryBhavcopy(date: Date, folder?: string): Promise<string>;
43
+ indicesBhavcopy(date: Date, folder?: string): Promise<string>;
44
+ fnoBhavcopy(date: Date, folder?: string): Promise<string>;
45
+ priceband_report(date: Date, folder?: string): Promise<string>;
46
+ pr_bhavcopy(date: Date, folder?: string): Promise<string>;
47
+ cm_mii_security_report(date: Date, folder?: string): Promise<string>;
48
+ download_document(url: string, folder?: string, extract_files?: string[]): Promise<string>;
49
+ actions(params?: any): Promise<any[]>;
50
+ announcements(params?: any): Promise<any[]>;
51
+ boardMeetings(params?: any): Promise<any[]>;
52
+ annual_reports(symbol: string, segment?: any): Promise<any>;
53
+ circulars(params?: any): Promise<any>;
54
+ equityMetaInfo(symbol: string): Promise<any>;
55
+ quote(params: any): Promise<any>;
56
+ equityQuote(symbol: string): Promise<import("../types/index.js").EquityQuoteData>;
57
+ gainers(data: any, count?: number): any[];
58
+ losers(data: any, count?: number): any[];
59
+ listEquityStocksByIndex(index?: string): Promise<any>;
60
+ listIndices(): Promise<any>;
61
+ listEtf(): Promise<any>;
62
+ listSme(): Promise<any>;
63
+ listSgb(): Promise<any>;
64
+ listCurrentIPO(): Promise<any>;
65
+ listUpcomingIPO(): Promise<any>;
66
+ getIpoDetails(params: any): Promise<any>;
67
+ listPastIPO(from_date?: Date, to_date?: Date): Promise<any>;
68
+ blockDeals(): Promise<any>;
69
+ bulkdeals(fromdate: Date, todate: Date): Promise<any[]>;
70
+ holidays(type?: any): Promise<any>;
71
+ fnoLots(): Promise<Record<string, number>>;
72
+ optionChain(symbol: string): Promise<any>;
73
+ filteredOptionChain(symbol: string, strikeRange?: number): Promise<any>;
74
+ static maxpain(optionChain: any, expiryDate: Date): number;
75
+ getFuturesExpiry(index?: any): Promise<string[]>;
76
+ compileOptionChain(symbol: string, expiryDate: Date): Promise<import("../types/index.js").CompiledOptionChain>;
77
+ fetch_equity_historical_data(params: any): Promise<Record<string, any>[]>;
78
+ fetch_historical_vix_data(params?: any): Promise<Record<string, any>[]>;
79
+ fetch_historical_fno_data(params: any): Promise<Record<string, any>[]>;
80
+ fetch_historical_index_data(params: any): Promise<import("../types/index.js").IndexHistoricalData>;
81
+ fetch_fno_underlying(): Promise<import("../types/index.js").FnoUnderlyingData>;
82
+ fetch_index_names(): Promise<Record<string, [string, string][]>>;
83
+ fetch_daily_reports_file_metadata(segment?: any): Promise<any>;
84
+ }
85
+ //# sourceMappingURL=nse-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nse-client.d.ts","sourceRoot":"","sources":["../../../src/nse/nse/nse-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Main NSE API client that orchestrates all API modules
3
+ */
4
+ import { HttpClient } from "../http/http-client.js";
5
+ import { EquityApi } from "../api/equity-api.js";
6
+ import { OptionsApi } from "../api/options-api.js";
7
+ import { HistoricalApi } from "../api/historical-api.js";
8
+ import { CorporateApi } from "../api/corporate-api.js";
9
+ import { IpoApi } from "../api/ipo-api.js";
10
+ import { MarketApi } from "../api/market-api.js";
11
+ import { DownloadApi } from "../api/download-api.js";
12
+ import { getPath } from "../utils/file-operations.js";
13
+ import { DEFAULT_TIMEOUT } from "../constants/index.js";
14
+ export class NSEClient {
15
+ static __version__ = "0.1.0";
16
+ // Re-export constants for backward compatibility
17
+ static SEGMENT_EQUITY = "equities";
18
+ static SEGMENT_SME = "sme";
19
+ static SEGMENT_MF = "mf";
20
+ static SEGMENT_DEBT = "debt";
21
+ static HOLIDAY_CLEARING = "clearing";
22
+ static HOLIDAY_TRADING = "trading";
23
+ static FNO_BANK = "banknifty";
24
+ static FNO_NIFTY = "nifty";
25
+ static FNO_FINNIFTY = "finnifty";
26
+ static FNO_IT = "niftyit";
27
+ static UDIFF_SWITCH_DATE = new Date("2024-07-08");
28
+ httpClient;
29
+ downloadDir;
30
+ // API modules
31
+ equity;
32
+ options;
33
+ historical;
34
+ corporate;
35
+ ipo;
36
+ market;
37
+ download;
38
+ constructor(downloadFolder, opts = {}) {
39
+ const server = !!opts.server;
40
+ const timeout = opts.timeout ?? DEFAULT_TIMEOUT;
41
+ this.downloadDir = getPath(downloadFolder, true);
42
+ this.httpClient = new HttpClient(this.downloadDir, server, timeout);
43
+ // Initialize API modules
44
+ this.equity = new EquityApi(this.httpClient);
45
+ this.options = new OptionsApi(this.httpClient);
46
+ this.historical = new HistoricalApi(this.httpClient);
47
+ this.corporate = new CorporateApi(this.httpClient);
48
+ this.ipo = new IpoApi(this.httpClient);
49
+ this.market = new MarketApi(this.httpClient);
50
+ this.download = new DownloadApi(this.httpClient, this.downloadDir);
51
+ }
52
+ /**
53
+ * Clean up resources and save cookies
54
+ */
55
+ exit() {
56
+ this.httpClient.saveCookies();
57
+ }
58
+ // Backward compatibility methods - delegate to appropriate modules
59
+ async status() { return this.market.getStatus(); }
60
+ async lookup(query) { return this.market.lookup(query); }
61
+ async equityBhavcopy(date, folder) { return this.download.downloadEquityBhavcopy(date, folder); }
62
+ async deliveryBhavcopy(date, folder) { return this.download.downloadDeliveryBhavcopy(date, folder); }
63
+ async indicesBhavcopy(date, folder) { return this.download.downloadIndicesBhavcopy(date, folder); }
64
+ async fnoBhavcopy(date, folder) { return this.download.downloadFnoBhavcopy(date, folder); }
65
+ async priceband_report(date, folder) { return this.download.downloadPricebandReport(date, folder); }
66
+ async pr_bhavcopy(date, folder) { return this.download.downloadPrBhavcopy(date, folder); }
67
+ async cm_mii_security_report(date, folder) { return this.download.downloadCmMiiSecurityReport(date, folder); }
68
+ async download_document(url, folder, extract_files) { return this.download.downloadDocument(url, folder, extract_files); }
69
+ async actions(params = {}) { return this.corporate.getActions(params); }
70
+ async announcements(params = {}) { return this.corporate.getAnnouncements(params); }
71
+ async boardMeetings(params = {}) { return this.corporate.getBoardMeetings(params); }
72
+ async annual_reports(symbol, segment = "equities") { return this.corporate.getAnnualReports(symbol, segment); }
73
+ async circulars(params = {}) { return this.corporate.getCirculars(params); }
74
+ async equityMetaInfo(symbol) { return this.equity.getEquityMetaInfo(symbol); }
75
+ async quote(params) { return this.equity.getQuote(params); }
76
+ async equityQuote(symbol) { return this.equity.getEquityQuote(symbol); }
77
+ gainers(data, count) { return this.equity.getGainers(data, count); }
78
+ losers(data, count) { return this.equity.getLosers(data, count); }
79
+ async listEquityStocksByIndex(index) { return this.equity.listEquityStocksByIndex(index); }
80
+ async listIndices() { return this.equity.listIndices(); }
81
+ async listEtf() { return this.equity.listEtf(); }
82
+ async listSme() { return this.equity.listSme(); }
83
+ async listSgb() { return this.equity.listSgb(); }
84
+ async listCurrentIPO() { return this.ipo.listCurrentIPO(); }
85
+ async listUpcomingIPO() { return this.ipo.listUpcomingIPO(); }
86
+ async getIpoDetails(params) { return this.ipo.getIpoDetails(params); }
87
+ async listPastIPO(from_date, to_date) { return this.ipo.listPastIPO(from_date, to_date); }
88
+ async blockDeals() { return this.market.getBlockDeals(); }
89
+ async bulkdeals(fromdate, todate) { return this.market.getBulkDeals(fromdate, todate); }
90
+ async holidays(type = "trading") { return this.market.getHolidays(type); }
91
+ async fnoLots() { return this.options.getFnoLots(); }
92
+ async optionChain(symbol) { return this.options.getOptionChain(symbol); }
93
+ async filteredOptionChain(symbol, strikeRange) { return this.options.getFilteredOptionChain(symbol, strikeRange); }
94
+ static maxpain(optionChain, expiryDate) { return OptionsApi.calculateMaxPain(optionChain, expiryDate); }
95
+ async getFuturesExpiry(index = "nifty") { return this.options.getFuturesExpiry(index); }
96
+ async compileOptionChain(symbol, expiryDate) { return this.options.compileOptionChain(symbol, expiryDate); }
97
+ async fetch_equity_historical_data(params) { return this.historical.fetchEquityHistoricalData(params); }
98
+ async fetch_historical_vix_data(params = {}) { return this.historical.fetchHistoricalVixData(params); }
99
+ async fetch_historical_fno_data(params) { return this.historical.fetchHistoricalFnoData(params); }
100
+ async fetch_historical_index_data(params) { return this.historical.fetchHistoricalIndexData(params); }
101
+ async fetch_fno_underlying() { return this.historical.fetchFnoUnderlying(); }
102
+ async fetch_index_names() { return this.historical.fetchIndexNames(); }
103
+ async fetch_daily_reports_file_metadata(segment = "CM") { return this.market.getDailyReportsFileMetadata(segment); }
104
+ }
105
+ //# sourceMappingURL=nse-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nse-client.js","sourceRoot":"","sources":["../../../src/nse/nse/nse-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Type definitions and interfaces for NSE API
3
+ */
4
+ export type Literal<T extends string> = T;
5
+ export type Segment = "equities" | "sme" | "mf" | "debt";
6
+ export type HolidayType = "clearing" | "trading";
7
+ export type FnoIndex = "banknifty" | "nifty" | "finnifty" | "niftyit";
8
+ export type InstrumentType = "FUTIDX" | "FUTSTK" | "OPTIDX" | "OPTSTK" | "FUTIVX";
9
+ export type OptionType = "CE" | "PE";
10
+ export type QuoteType = "equity" | "fno";
11
+ export type QuoteSection = "trade_info";
12
+ export interface NSEOptions {
13
+ server?: boolean;
14
+ timeout?: number;
15
+ }
16
+ export interface ActionParams {
17
+ segment?: Segment;
18
+ symbol?: string;
19
+ from_date?: Date;
20
+ to_date?: Date;
21
+ }
22
+ export interface AnnouncementParams {
23
+ index?: Segment | "invitsreits";
24
+ symbol?: string;
25
+ fno?: boolean;
26
+ from_date?: Date;
27
+ to_date?: Date;
28
+ }
29
+ export interface BoardMeetingParams {
30
+ index?: "equities" | "sme";
31
+ symbol?: string;
32
+ fno?: boolean;
33
+ from_date?: Date;
34
+ to_date?: Date;
35
+ }
36
+ export interface QuoteParams {
37
+ symbol: string;
38
+ type?: QuoteType;
39
+ section?: QuoteSection;
40
+ }
41
+ export interface IpoDetailsParams {
42
+ symbol: string;
43
+ series?: "EQ" | "SME";
44
+ }
45
+ export interface CircularParams {
46
+ subject?: string;
47
+ dept_code?: string;
48
+ from_date?: Date;
49
+ to_date?: Date;
50
+ }
51
+ export interface EquityHistoricalParams {
52
+ symbol: string;
53
+ from_date?: Date;
54
+ to_date?: Date;
55
+ series?: string[];
56
+ }
57
+ export interface VixHistoricalParams {
58
+ from_date?: Date;
59
+ to_date?: Date;
60
+ }
61
+ export interface FnoHistoricalParams {
62
+ symbol: string;
63
+ instrument?: InstrumentType;
64
+ from_date?: Date;
65
+ to_date?: Date;
66
+ expiry?: Date;
67
+ option_type?: OptionType;
68
+ strike_price?: number;
69
+ }
70
+ export interface IndexHistoricalParams {
71
+ index: string;
72
+ from_date?: Date;
73
+ to_date?: Date;
74
+ }
75
+ export interface EquityQuoteData {
76
+ date?: string;
77
+ open?: number;
78
+ high?: number;
79
+ low?: number;
80
+ close?: number;
81
+ volume?: number;
82
+ }
83
+ export interface MarketData {
84
+ data: Array<{
85
+ pChange: number;
86
+ [k: string]: any;
87
+ }>;
88
+ }
89
+ export interface OptionChainData {
90
+ records: {
91
+ data: any[];
92
+ timestamp: string;
93
+ underlyingValue: number;
94
+ };
95
+ filtered: {
96
+ data: Array<{
97
+ strikePrice: number;
98
+ }>;
99
+ };
100
+ }
101
+ export interface CompiledOptionChain {
102
+ expiry: string;
103
+ timestamp: string;
104
+ underlying: number;
105
+ atm: number;
106
+ maxpain: number;
107
+ maxCoi: number;
108
+ maxPoi: number;
109
+ coiTotal: number;
110
+ poiTotal: number;
111
+ pcr: number;
112
+ chain: Record<string, any>;
113
+ }
114
+ export interface IndexHistoricalData {
115
+ price: any[];
116
+ turnover: any[];
117
+ }
118
+ export interface FnoUnderlyingData {
119
+ IndexList: any[];
120
+ UnderlyingList: any[];
121
+ }
122
+ export type DailyReportSegment = "CM" | "INDEX" | "SLBS" | "SME" | "FO" | "COM" | "CD" | "NBF" | "WDM" | "CBM" | "TRI-PARTY";
123
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/nse/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Type definitions and interfaces for NSE API
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nse/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Date formatting utilities for NSE API
3
+ */
4
+ /**
5
+ * Format date as DD-MM-YYYY
6
+ */
7
+ export declare function formatDateDMY(date: Date): string;
8
+ /**
9
+ * Format date as DDMMYYYY
10
+ */
11
+ export declare function formatDateDDMMYYYY(date: Date): string;
12
+ /**
13
+ * Format date as DDMMYY
14
+ */
15
+ export declare function formatDateDDMMYY(date: Date): string;
16
+ /**
17
+ * Format date as YYYYMMDD
18
+ */
19
+ export declare function formatDateYMD(date: Date): string;
20
+ /**
21
+ * Format date for NSE archive URLs (DDMMMYYYY format)
22
+ */
23
+ export declare function formatDateArchive(date: Date): string;
24
+ /**
25
+ * Format date for option expiry (DD-MMM-YYYY format)
26
+ */
27
+ export declare function formatDateExpiry(date: Date): string;
28
+ /**
29
+ * Validate date range
30
+ */
31
+ export declare function validateDateRange(fromDate: Date, toDate: Date): void;
32
+ /**
33
+ * Split date range into chunks for API pagination
34
+ */
35
+ export declare function splitDateRange(from: Date, to: Date, maxChunkSizeDays?: number): Array<[Date, Date]>;
36
+ //# sourceMappingURL=date-formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-formatter.d.ts","sourceRoot":"","sources":["../../../src/nse/utils/date-formatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEhD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAErD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEhD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CASpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,CAIpE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,SAAM,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAahG"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Date formatting utilities for NSE API
3
+ */
4
+ /**
5
+ * Format date as DD-MM-YYYY
6
+ */
7
+ export function formatDateDMY(date) {
8
+ return `${String(date.getDate()).padStart(2, "0")}-${String(date.getMonth() + 1).padStart(2, "0")}-${date.getFullYear()}`;
9
+ }
10
+ /**
11
+ * Format date as DDMMYYYY
12
+ */
13
+ export function formatDateDDMMYYYY(date) {
14
+ return `${String(date.getDate()).padStart(2, "0")}${String(date.getMonth() + 1).padStart(2, "0")}${date.getFullYear()}`;
15
+ }
16
+ /**
17
+ * Format date as DDMMYY
18
+ */
19
+ export function formatDateDDMMYY(date) {
20
+ return `${String(date.getDate()).padStart(2, "0")}${String(date.getMonth() + 1).padStart(2, "0")}${String(date.getFullYear()).slice(-2)}`;
21
+ }
22
+ /**
23
+ * Format date as YYYYMMDD
24
+ */
25
+ export function formatDateYMD(date) {
26
+ return `${date.getFullYear()}${String(date.getMonth() + 1).padStart(2, "0")}${String(date.getDate()).padStart(2, "0")}`;
27
+ }
28
+ /**
29
+ * Format date for NSE archive URLs (DDMMMYYYY format)
30
+ */
31
+ export function formatDateArchive(date) {
32
+ return date
33
+ .toLocaleDateString("en-GB", {
34
+ day: "2-digit",
35
+ month: "short",
36
+ year: "numeric",
37
+ })
38
+ .toUpperCase()
39
+ .replace(/ /g, "");
40
+ }
41
+ /**
42
+ * Format date for option expiry (DD-MMM-YYYY format)
43
+ */
44
+ export function formatDateExpiry(date) {
45
+ return `${String(date.getDate()).padStart(2, "0")}-${new Intl.DateTimeFormat("en-GB", { month: "short" }).format(date)}-${date.getFullYear()}`;
46
+ }
47
+ /**
48
+ * Validate date range
49
+ */
50
+ export function validateDateRange(fromDate, toDate) {
51
+ if (fromDate > toDate) {
52
+ throw new Error("'from_date' cannot be greater than 'to_date'");
53
+ }
54
+ }
55
+ /**
56
+ * Split date range into chunks for API pagination
57
+ */
58
+ export function splitDateRange(from, to, maxChunkSizeDays = 365) {
59
+ const chunks = [];
60
+ let currentStart = new Date(from.getFullYear(), from.getMonth(), from.getDate());
61
+ const end = new Date(to.getFullYear(), to.getMonth(), to.getDate());
62
+ while (currentStart.getTime() <= end.getTime()) {
63
+ const currentEnd = new Date(currentStart.getTime() + (maxChunkSizeDays - 1) * 86400000);
64
+ const boundedEnd = currentEnd.getTime() > end.getTime() ? end : currentEnd;
65
+ chunks.push([currentStart, boundedEnd]);
66
+ currentStart = new Date(boundedEnd.getTime() + 86400000);
67
+ }
68
+ return chunks;
69
+ }
70
+ //# sourceMappingURL=date-formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-formatter.js","sourceRoot":"","sources":["../../../src/nse/utils/date-formatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * File operations utilities for NSE API
3
+ */
4
+ /**
5
+ * Resolve and validate file/folder path
6
+ */
7
+ export declare function getPath(p: string, isFolder?: boolean): string;
8
+ /**
9
+ * Extract zip or gzip files
10
+ */
11
+ export declare function unzipFile(filePath: string, folder: string, extractFiles?: string[]): Promise<string>;
12
+ /**
13
+ * Save file from stream
14
+ */
15
+ export declare function saveStreamToFile(stream: NodeJS.ReadableStream, filePath: string): Promise<void>;
16
+ //# sourceMappingURL=file-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-operations.d.ts","sourceRoot":"","sources":["../../../src/nse/utils/file-operations.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,MAAM,CAkB3D;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA+B1G;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAErG"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * File operations utilities for NSE API
3
+ */
4
+ import fs from "fs";
5
+ import path from "path";
6
+ import { promisify } from "util";
7
+ import zlib from "zlib";
8
+ import { pipeline as pipelineCb } from "stream";
9
+ import AdmZip from "adm-zip";
10
+ const pipeline = promisify(pipelineCb);
11
+ /**
12
+ * Resolve and validate file/folder path
13
+ */
14
+ export function getPath(p, isFolder = false) {
15
+ const resolved = path.resolve(p);
16
+ if (isFolder) {
17
+ try {
18
+ const stat = fs.existsSync(resolved) ? fs.statSync(resolved) : undefined;
19
+ if (stat && stat.isFile()) {
20
+ throw new Error(`${resolved}: must be a folder`);
21
+ }
22
+ if (!stat) {
23
+ fs.mkdirSync(resolved, { recursive: true });
24
+ }
25
+ }
26
+ catch (e) {
27
+ throw e;
28
+ }
29
+ }
30
+ return resolved;
31
+ }
32
+ /**
33
+ * Extract zip or gzip files
34
+ */
35
+ export async function unzipFile(filePath, folder, extractFiles) {
36
+ const ext = path.extname(filePath).toLowerCase();
37
+ if (ext === ".zip") {
38
+ const zip = new AdmZip(filePath);
39
+ if (extractFiles && extractFiles.length > 0) {
40
+ zip.extractEntryTo(extractFiles[extractFiles.length - 1], folder, false, true);
41
+ const out = path.join(folder, extractFiles[extractFiles.length - 1]);
42
+ fs.rmSync(filePath, { force: true });
43
+ return out;
44
+ }
45
+ else {
46
+ const entries = zip.getEntries();
47
+ if (!entries.length) {
48
+ throw new Error("Zip is empty");
49
+ }
50
+ const first = entries[0].entryName;
51
+ zip.extractAllTo(folder, true);
52
+ const out = path.join(folder, first);
53
+ fs.rmSync(filePath, { force: true });
54
+ return out;
55
+ }
56
+ }
57
+ else if (ext === ".gz") {
58
+ const dest = path.join(path.dirname(filePath), path.basename(filePath, ".gz"));
59
+ const gzip = zlib.createGunzip();
60
+ await pipeline(fs.createReadStream(filePath), gzip, fs.createWriteStream(dest));
61
+ fs.rmSync(filePath, { force: true });
62
+ return dest;
63
+ }
64
+ else {
65
+ throw new Error("Unknown file format");
66
+ }
67
+ }
68
+ /**
69
+ * Save file from stream
70
+ */
71
+ export async function saveStreamToFile(stream, filePath) {
72
+ await pipeline(stream, fs.createWriteStream(filePath));
73
+ }
74
+ //# sourceMappingURL=file-operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-operations.js","sourceRoot":"","sources":["../../../src/nse/utils/file-operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Utility functions for NSE API
3
+ */
4
+ export * from "./date-formatter.js";
5
+ export * from "./file-operations.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/nse/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Utility functions for NSE API
3
+ */
4
+ export * from "./date-formatter.js";
5
+ export * from "./file-operations.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nse/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Combined Types Module
3
+ *
4
+ * Re-exports types from both NSE and BSE modules with proper namespacing
5
+ */
6
+ import * as NSETypes from '../nse/types/index.js';
7
+ import * as BSETypes from '../bse/types/index.js';
8
+ export { NSETypes, BSETypes };
9
+ export interface UnifiedStockData {
10
+ symbol: string;
11
+ price: number;
12
+ change: number;
13
+ changePercent: number;
14
+ volume?: number;
15
+ source: 'NSE' | 'BSE';
16
+ }
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAG9B,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;CACvB"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Combined Types Module
3
+ *
4
+ * Re-exports types from both NSE and BSE modules with proper namespacing
5
+ */
6
+ // NSE Types (with namespace to avoid conflicts)
7
+ import * as NSETypes from '../nse/types/index.js';
8
+ import * as BSETypes from '../bse/types/index.js';
9
+ // Export namespaced types
10
+ export { NSETypes, BSETypes };
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gDAAgD;AAChD,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAC;AAElD,0BAA0B;AAC1B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC"}