@fugle/node-twstock 2.2.1-alpha.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 (137) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1837 -0
  3. package/lib/enums/exchange.enum.d.ts +5 -0
  4. package/lib/enums/exchange.enum.js +9 -0
  5. package/lib/enums/futopt.enum.d.ts +34 -0
  6. package/lib/enums/futopt.enum.js +38 -0
  7. package/lib/enums/index.d.ts +6 -0
  8. package/lib/enums/index.enum.d.ts +67 -0
  9. package/lib/enums/index.enum.js +71 -0
  10. package/lib/enums/index.js +22 -0
  11. package/lib/enums/industry.enum.d.ts +40 -0
  12. package/lib/enums/industry.enum.js +44 -0
  13. package/lib/enums/market.enum.d.ts +5 -0
  14. package/lib/enums/market.enum.js +9 -0
  15. package/lib/enums/scraper.enum.d.ts +10 -0
  16. package/lib/enums/scraper.enum.js +14 -0
  17. package/lib/index.d.ts +2 -0
  18. package/lib/index.js +18 -0
  19. package/lib/interfaces/futopt-exchange-rates.interface.d.ts +13 -0
  20. package/lib/interfaces/futopt-exchange-rates.interface.js +2 -0
  21. package/lib/interfaces/futopt-historical.interface.d.ts +23 -0
  22. package/lib/interfaces/futopt-historical.interface.js +2 -0
  23. package/lib/interfaces/futopt-institutional.interface.d.ts +21 -0
  24. package/lib/interfaces/futopt-institutional.interface.js +2 -0
  25. package/lib/interfaces/futopt-large-traders.interface.d.ts +16 -0
  26. package/lib/interfaces/futopt-large-traders.interface.js +2 -0
  27. package/lib/interfaces/futopt-mxf-retail-position.interface.d.ts +7 -0
  28. package/lib/interfaces/futopt-mxf-retail-position.interface.js +2 -0
  29. package/lib/interfaces/futopt-quote.interface.d.ts +31 -0
  30. package/lib/interfaces/futopt-quote.interface.js +2 -0
  31. package/lib/interfaces/futopt-tmf-retail-position.interface.d.ts +7 -0
  32. package/lib/interfaces/futopt-tmf-retail-position.interface.js +2 -0
  33. package/lib/interfaces/futopt-txo-put-call-ratio.interface.d.ts +9 -0
  34. package/lib/interfaces/futopt-txo-put-call-ratio.interface.js +2 -0
  35. package/lib/interfaces/futopt.interface.d.ts +7 -0
  36. package/lib/interfaces/futopt.interface.js +2 -0
  37. package/lib/interfaces/index-historical.interface.d.ts +11 -0
  38. package/lib/interfaces/index-historical.interface.js +2 -0
  39. package/lib/interfaces/index-quote.interface.d.ts +13 -0
  40. package/lib/interfaces/index-quote.interface.js +2 -0
  41. package/lib/interfaces/index-trades.interface.d.ts +9 -0
  42. package/lib/interfaces/index-trades.interface.js +2 -0
  43. package/lib/interfaces/index.d.ts +37 -0
  44. package/lib/interfaces/index.js +53 -0
  45. package/lib/interfaces/market-breadth.interface.d.ts +11 -0
  46. package/lib/interfaces/market-breadth.interface.js +2 -0
  47. package/lib/interfaces/market-institutional.interface.d.ts +10 -0
  48. package/lib/interfaces/market-institutional.interface.js +2 -0
  49. package/lib/interfaces/market-margin-trades.interface.d.ts +19 -0
  50. package/lib/interfaces/market-margin-trades.interface.js +2 -0
  51. package/lib/interfaces/market-trades.interface.d.ts +7 -0
  52. package/lib/interfaces/market-trades.interface.js +2 -0
  53. package/lib/interfaces/rate-limit-options.interface.d.ts +4 -0
  54. package/lib/interfaces/rate-limit-options.interface.js +2 -0
  55. package/lib/interfaces/stock-capital-reductions.interface.d.ts +23 -0
  56. package/lib/interfaces/stock-capital-reductions.interface.js +2 -0
  57. package/lib/interfaces/stock-dividends.interface.d.ts +27 -0
  58. package/lib/interfaces/stock-dividends.interface.js +2 -0
  59. package/lib/interfaces/stock-eps.interface.d.ts +8 -0
  60. package/lib/interfaces/stock-eps.interface.js +2 -0
  61. package/lib/interfaces/stock-fini-holdings.interface.d.ts +12 -0
  62. package/lib/interfaces/stock-fini-holdings.interface.js +2 -0
  63. package/lib/interfaces/stock-futopt.interface.d.ts +8 -0
  64. package/lib/interfaces/stock-futopt.interface.js +2 -0
  65. package/lib/interfaces/stock-historical.interface.d.ts +14 -0
  66. package/lib/interfaces/stock-historical.interface.js +2 -0
  67. package/lib/interfaces/stock-institutional.interface.d.ts +12 -0
  68. package/lib/interfaces/stock-institutional.interface.js +2 -0
  69. package/lib/interfaces/stock-margin-trades.interface.d.ts +20 -0
  70. package/lib/interfaces/stock-margin-trades.interface.js +2 -0
  71. package/lib/interfaces/stock-quote.interface.d.ts +19 -0
  72. package/lib/interfaces/stock-quote.interface.js +2 -0
  73. package/lib/interfaces/stock-revenue.interface.d.ts +8 -0
  74. package/lib/interfaces/stock-revenue.interface.js +2 -0
  75. package/lib/interfaces/stock-shareholders.interface.d.ts +11 -0
  76. package/lib/interfaces/stock-shareholders.interface.js +2 -0
  77. package/lib/interfaces/stock-short-sales.interface.d.ts +19 -0
  78. package/lib/interfaces/stock-short-sales.interface.js +2 -0
  79. package/lib/interfaces/stock-splits.interface.d.ts +12 -0
  80. package/lib/interfaces/stock-splits.interface.js +2 -0
  81. package/lib/interfaces/stock-values.interface.d.ts +10 -0
  82. package/lib/interfaces/stock-values.interface.js +2 -0
  83. package/lib/interfaces/stock.interface.d.ts +8 -0
  84. package/lib/interfaces/stock.interface.js +2 -0
  85. package/lib/interfaces/stocks-capital-reduction-announcement.interface.d.ts +19 -0
  86. package/lib/interfaces/stocks-capital-reduction-announcement.interface.js +2 -0
  87. package/lib/interfaces/stocks-dividends-announcement.interface.d.ts +21 -0
  88. package/lib/interfaces/stocks-dividends-announcement.interface.js +2 -0
  89. package/lib/interfaces/stocks-etf-split-announcement.interface.d.ts +11 -0
  90. package/lib/interfaces/stocks-etf-split-announcement.interface.js +2 -0
  91. package/lib/interfaces/stocks-listing-application.interface.d.ts +16 -0
  92. package/lib/interfaces/stocks-listing-application.interface.js +2 -0
  93. package/lib/interfaces/stocks-split-announcement.interface.d.ts +11 -0
  94. package/lib/interfaces/stocks-split-announcement.interface.js +2 -0
  95. package/lib/interfaces/ticker.interface.d.ts +10 -0
  96. package/lib/interfaces/ticker.interface.js +2 -0
  97. package/lib/scrapers/index.d.ts +10 -0
  98. package/lib/scrapers/index.js +26 -0
  99. package/lib/scrapers/isin-scraper.d.ts +13 -0
  100. package/lib/scrapers/isin-scraper.js +76 -0
  101. package/lib/scrapers/mis-taifex-scraper.d.ts +17 -0
  102. package/lib/scrapers/mis-taifex-scraper.js +126 -0
  103. package/lib/scrapers/mis-twse-scraper.d.ts +15 -0
  104. package/lib/scrapers/mis-twse-scraper.js +97 -0
  105. package/lib/scrapers/mops-scraper.d.ts +17 -0
  106. package/lib/scrapers/mops-scraper.js +64 -0
  107. package/lib/scrapers/scraper-factory.d.ts +25 -0
  108. package/lib/scrapers/scraper-factory.js +62 -0
  109. package/lib/scrapers/scraper.d.ts +6 -0
  110. package/lib/scrapers/scraper.js +20 -0
  111. package/lib/scrapers/taifex-scraper.d.ts +44 -0
  112. package/lib/scrapers/taifex-scraper.js +406 -0
  113. package/lib/scrapers/tdcc-scraper.d.ts +11 -0
  114. package/lib/scrapers/tdcc-scraper.js +82 -0
  115. package/lib/scrapers/tpex-scraper.d.ts +95 -0
  116. package/lib/scrapers/tpex-scraper.js +786 -0
  117. package/lib/scrapers/twse-scraper.d.ts +110 -0
  118. package/lib/scrapers/twse-scraper.js +967 -0
  119. package/lib/twstock.d.ts +229 -0
  120. package/lib/twstock.js +507 -0
  121. package/lib/utils/as-exchange.util.d.ts +2 -0
  122. package/lib/utils/as-exchange.util.js +15 -0
  123. package/lib/utils/as-index.util.d.ts +1 -0
  124. package/lib/utils/as-index.util.js +178 -0
  125. package/lib/utils/as-industry.util.d.ts +2 -0
  126. package/lib/utils/as-industry.util.js +49 -0
  127. package/lib/utils/date-converter.util.d.ts +47 -0
  128. package/lib/utils/date-converter.util.js +113 -0
  129. package/lib/utils/html-cleaner.util.d.ts +29 -0
  130. package/lib/utils/html-cleaner.util.js +45 -0
  131. package/lib/utils/index.d.ts +7 -0
  132. package/lib/utils/index.js +23 -0
  133. package/lib/utils/is-warrant.util.d.ts +1 -0
  134. package/lib/utils/is-warrant.util.js +25 -0
  135. package/lib/utils/parse-numeric.util.d.ts +21 -0
  136. package/lib/utils/parse-numeric.util.js +58 -0
  137. package/package.json +70 -0
@@ -0,0 +1,229 @@
1
+ import { RateLimitOptions, Ticker } from './interfaces';
2
+ export declare class TwStock {
3
+ private readonly _scraper;
4
+ private readonly _stocks;
5
+ private readonly _indices;
6
+ private readonly _futopt;
7
+ constructor(options?: RateLimitOptions);
8
+ get stocks(): {
9
+ list: (options?: {
10
+ exchange: "TWSE" | "TPEx";
11
+ } | undefined) => Promise<import("./interfaces").Stock[]>;
12
+ quote: (options: {
13
+ symbol: string;
14
+ odd?: boolean | undefined;
15
+ }) => Promise<import("./interfaces").StockQuote | null | undefined>;
16
+ historical: (options: {
17
+ date: string;
18
+ exchange?: "TWSE" | "TPEx" | undefined;
19
+ symbol?: string | undefined;
20
+ }) => Promise<import("./interfaces").StockHistorical | import("./interfaces").StockHistorical[] | null | undefined>;
21
+ institutional: (options: {
22
+ date: string;
23
+ exchange?: "TWSE" | "TPEx" | undefined;
24
+ symbol?: string | undefined;
25
+ }) => Promise<import("./interfaces").StockInstitutional | import("./interfaces").StockInstitutional[] | null | undefined>;
26
+ values: (options: {
27
+ date: string;
28
+ exchange?: "TWSE" | "TPEx" | undefined;
29
+ symbol?: string | undefined;
30
+ }) => Promise<import("./interfaces").StockValues | import("./interfaces").StockValues[] | null | undefined>;
31
+ finiHoldings: (options: {
32
+ date: string;
33
+ exchange?: "TWSE" | "TPEx" | undefined;
34
+ symbol?: string | undefined;
35
+ }) => Promise<import("./interfaces").StockFiniHoldings | import("./interfaces").StockFiniHoldings[] | null | undefined>;
36
+ marginTrades: (options: {
37
+ date: string;
38
+ exchange?: "TWSE" | "TPEx" | undefined;
39
+ symbol?: string | undefined;
40
+ }) => Promise<import("./interfaces").StockMarginTrades | import("./interfaces").StockMarginTrades[] | null | undefined>;
41
+ shortSales: (options: {
42
+ date: string;
43
+ exchange?: "TWSE" | "TPEx" | undefined;
44
+ symbol?: string | undefined;
45
+ }) => Promise<import("./interfaces").StockShortSales | import("./interfaces").StockShortSales[] | null | undefined>;
46
+ shareholders: (options?: {
47
+ date?: string | undefined;
48
+ symbol: string;
49
+ } | undefined) => Promise<import("./interfaces").StockShareholders | import("./interfaces").StockShareholders[] | null | undefined>;
50
+ eps: (options: {
51
+ year: number;
52
+ quarter: number;
53
+ exchange?: "TWSE" | "TPEx" | undefined;
54
+ symbol?: string | undefined;
55
+ }) => Promise<import("./interfaces").StockEps | import("./interfaces").StockEps[] | null | undefined>;
56
+ revenue: (options: {
57
+ exchange?: "TWSE" | "TPEx" | undefined;
58
+ year: number;
59
+ month: number;
60
+ foreign?: boolean | undefined;
61
+ symbol?: string | undefined;
62
+ }) => Promise<import("./interfaces").StockRevenue | import("./interfaces").StockRevenue[] | null | undefined>;
63
+ dividends: (options: {
64
+ startDate: string;
65
+ endDate: string;
66
+ exchange?: "TWSE" | "TPEx" | undefined;
67
+ symbol?: string | undefined;
68
+ includeDetail?: boolean | undefined;
69
+ }) => Promise<import("./interfaces").StockDividends[]>;
70
+ dividendsAnnouncement: (options?: {
71
+ exchange?: "TWSE" | "TPEx" | undefined;
72
+ symbol?: string | undefined;
73
+ includeDetail?: boolean | undefined;
74
+ } | undefined) => Promise<import("./interfaces").StocksDividendAnnouncement[]>;
75
+ capitalReductions: (options: {
76
+ exchange?: "TWSE" | "TPEx" | undefined;
77
+ startDate: string;
78
+ endDate: string;
79
+ symbol?: string | undefined;
80
+ includeDetail?: boolean | undefined;
81
+ }) => Promise<import("./interfaces").StockCapitalReductions[]>;
82
+ capitalReductionAnnouncement: (options?: {
83
+ exchange?: "TWSE" | "TPEx" | undefined;
84
+ symbol?: string | undefined;
85
+ includeDetail?: boolean | undefined;
86
+ } | undefined) => Promise<import("./interfaces").StocksCapitalReductionAnnouncement[]>;
87
+ splits: (options: {
88
+ exchange?: "TWSE" | "TPEx" | undefined;
89
+ startDate: string;
90
+ endDate: string;
91
+ symbol?: string | undefined;
92
+ }) => Promise<import("./interfaces").StockSplits[]>;
93
+ splitAnnouncement: (options?: {
94
+ exchange?: "TWSE" | "TPEx" | undefined;
95
+ symbol?: string | undefined;
96
+ includeDetail?: boolean | undefined;
97
+ } | undefined) => Promise<import("./interfaces").StocksSplitAnnouncement[]>;
98
+ etfSplits: (options: {
99
+ exchange?: "TWSE" | "TPEx" | undefined;
100
+ startDate: string;
101
+ endDate: string;
102
+ symbol?: string | undefined;
103
+ reverseSplit?: boolean | undefined;
104
+ }) => Promise<import("./interfaces").StockSplits[]>;
105
+ etfSplitAnnouncement: (options?: {
106
+ exchange?: "TWSE" | "TPEx" | undefined;
107
+ symbol?: string | undefined;
108
+ splitType?: "分割" | "反分割" | undefined;
109
+ } | undefined) => Promise<import("./interfaces").StocksEtfSplitAnnouncement[]>;
110
+ listingApplicants: (options?: {
111
+ exchange?: "TWSE" | "TPEx" | undefined;
112
+ symbol?: string | undefined;
113
+ year?: number | "ALL" | undefined;
114
+ } | undefined) => Promise<import("./interfaces").StocksListingApplication[]>;
115
+ };
116
+ get indices(): {
117
+ list: (options?: {
118
+ exchange: "TWSE" | "TPEx";
119
+ } | undefined) => Promise<Pick<any, string | number | symbol>[]>;
120
+ quote: (options: {
121
+ symbol: string;
122
+ }) => Promise<import("./interfaces").IndexQuote | null | undefined>;
123
+ historical: (options: {
124
+ date: string;
125
+ exchange?: "TWSE" | "TPEx" | undefined;
126
+ symbol?: string | undefined;
127
+ }) => Promise<import("./interfaces").IndexHistorical | import("./interfaces").IndexHistorical[] | null | undefined>;
128
+ trades: (options: {
129
+ date: string;
130
+ exchange?: "TWSE" | "TPEx" | undefined;
131
+ symbol?: string | undefined;
132
+ }) => Promise<import("./interfaces").IndexTrades | import("./interfaces").IndexTrades[] | null | undefined>;
133
+ };
134
+ get market(): {
135
+ trades: (options: {
136
+ date: string;
137
+ exchange?: "TWSE" | "TPEx" | undefined;
138
+ }) => Promise<import("./interfaces").MarketTrades | null>;
139
+ breadth: (options: {
140
+ date: string;
141
+ exchange?: "TWSE" | "TPEx" | undefined;
142
+ }) => Promise<import("./interfaces").MarketBreadth | null>;
143
+ institutional: (options: {
144
+ date: string;
145
+ exchange?: "TWSE" | "TPEx" | undefined;
146
+ }) => Promise<import("./interfaces").MarketInstitutional | null>;
147
+ marginTrades: (options: {
148
+ date: string;
149
+ exchange?: "TWSE" | "TPEx" | undefined;
150
+ }) => Promise<import("./interfaces").MarketMarginTrades | null>;
151
+ };
152
+ get futopt(): {
153
+ list: (options?: {
154
+ type?: "F" | "O" | undefined;
155
+ availableContracts?: boolean | undefined;
156
+ } | undefined) => Promise<import("./interfaces").FutOpt[] | Ticker[]>;
157
+ quote: (options: {
158
+ symbol: string;
159
+ afterhours?: boolean | undefined;
160
+ }) => Promise<import("./interfaces").FutOptQuote | import("./interfaces").FutOptQuote[] | null | undefined>;
161
+ historical: (options: {
162
+ date: string;
163
+ type?: "F" | "O" | undefined;
164
+ symbol?: string | undefined;
165
+ afterhours?: boolean | undefined;
166
+ }) => Promise<import("./interfaces").FutOptHistorical[] | null>;
167
+ institutional: (options: {
168
+ date: string;
169
+ symbol: string;
170
+ }) => Promise<import("./interfaces").FutOptInstitutional | null>;
171
+ largeTraders: (options: {
172
+ date: string;
173
+ symbol: string;
174
+ }) => Promise<import("./interfaces").FutOptLargeTraders | null>;
175
+ mxfRetailPosition: (options: {
176
+ date: string;
177
+ }) => Promise<import("./interfaces").FutOptMxfRetailPosition | null>;
178
+ tmfRetailPosition: (options: {
179
+ date: string;
180
+ }) => Promise<import("./interfaces").FutOptTmfRetailPosition | null>;
181
+ txoPutCallRatio: (options: {
182
+ date: string;
183
+ }) => Promise<import("./interfaces").FutOptTxoPutCallRatio | null>;
184
+ exchangeRates: (options: {
185
+ date: string;
186
+ }) => Promise<import("./interfaces/futopt-exchange-rates.interface").FutOptExchangeRates | null>;
187
+ };
188
+ private loadStocks;
189
+ private loadIndices;
190
+ private loadFutOpt;
191
+ private loadFutOptContracts;
192
+ private fetchStocksList;
193
+ private fetchStocksQuote;
194
+ private fetchStocksHistorical;
195
+ private fetchStocksInstitutional;
196
+ private fetchStocksValues;
197
+ private fetchStocksSplits;
198
+ private fetchStocksEtfSplits;
199
+ private fetchStocksDividendsAnnouncement;
200
+ private fetchStocksCapitalReductionAnnouncement;
201
+ private fetchStocksSplitAnnouncement;
202
+ private fetchStocksEtfSplitAnnouncement;
203
+ private fetchStocksCapitalReductions;
204
+ private fetchStocksListingApplicants;
205
+ private fetchStocksDividends;
206
+ private fetchStocksFiniHoldings;
207
+ private fetchStocksMarginTrades;
208
+ private fetchStocksShortSales;
209
+ private fetchStocksShareholders;
210
+ private fetchStocksEps;
211
+ private fetchStocksRevenue;
212
+ private getIndicesList;
213
+ private getIndicesQuote;
214
+ private getIndicesHistorical;
215
+ private getIndicesTrades;
216
+ private getMarketTrades;
217
+ private getMarketBreadth;
218
+ private getMarketInstitutional;
219
+ private getMarketMarginTrades;
220
+ private getFutOptList;
221
+ private getFutOptQuote;
222
+ private getFutOptHistorical;
223
+ private getFutOptInstitutional;
224
+ private getFutOptLargeTraders;
225
+ private getFutOptMxfRetailPosition;
226
+ private getFutOptTmfRetailPosition;
227
+ private getFutOptTxoPutCallRatio;
228
+ private getFutOptExchangeRates;
229
+ }