w-dwdata-hub 1.0.13 → 1.0.15

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 (72) hide show
  1. package/dist/w-dwdata-hub.umd.js +2 -2
  2. package/dist/w-dwdata-hub.umd.js.map +1 -1
  3. package/docs/WDwdataHub.mjs.html +1 -1
  4. package/docs/decodeEntities.mjs.html +1 -1
  5. package/docs/extractDivContent.mjs.html +1 -1
  6. package/docs/fetchAiNewsAggregator.mjs.html +2 -2
  7. package/docs/fetchAisixiang.mjs.html +13 -13
  8. package/docs/fetchCnyes.mjs.html +8 -8
  9. package/docs/fetchGuancha.mjs.html +15 -15
  10. package/docs/fetchHackerNews.mjs.html +2 -2
  11. package/docs/fetchMoneydj.mjs.html +4 -4
  12. package/docs/fetchMops.mjs.html +14 -14
  13. package/docs/fetchRSS.mjs.html +2 -2
  14. package/docs/fetchStatementdog.mjs.html +6 -6
  15. package/docs/fetchTaifex.mjs.html +14 -14
  16. package/docs/fetchTpex3insti.mjs.html +5 -5
  17. package/docs/fetchTpexMargin.mjs.html +5 -5
  18. package/docs/fetchTpexStock.mjs.html +4 -4
  19. package/docs/fetchTwDataHoliday.mjs.html +2 -2
  20. package/docs/fetchTwseMargin.mjs.html +5 -5
  21. package/docs/fetchTwseStock.mjs.html +4 -4
  22. package/docs/fetchTwseT86.mjs.html +5 -5
  23. package/docs/fetchWithRetry.mjs.html +7 -7
  24. package/docs/getOptFetch.mjs.html +9 -9
  25. package/docs/global.html +29 -29
  26. package/docs/htmlToMarkdown.mjs.html +1 -1
  27. package/docs/index.html +1 -1
  28. package/docs/isYmd.mjs.html +1 -1
  29. package/docs/parseIntComma.mjs.html +1 -1
  30. package/docs/safeFilename.mjs.html +1 -1
  31. package/docs/stripHtml.mjs.html +1 -1
  32. package/docs/toDatetimeUTC8.mjs.html +1 -1
  33. package/docs/toRocDate.mjs.html +1 -1
  34. package/g.mjs +13 -13
  35. package/package.json +5 -5
  36. package/src/fetchAiNewsAggregator.mjs +1 -1
  37. package/src/fetchAisixiang.mjs +12 -12
  38. package/src/fetchCnyes.mjs +7 -7
  39. package/src/fetchGuancha.mjs +14 -14
  40. package/src/fetchHackerNews.mjs +1 -1
  41. package/src/fetchMoneydj.mjs +3 -3
  42. package/src/fetchMops.mjs +13 -13
  43. package/src/fetchRSS.mjs +1 -1
  44. package/src/fetchStatementdog.mjs +5 -5
  45. package/src/fetchTaifex.mjs +13 -13
  46. package/src/fetchTpex3insti.mjs +4 -4
  47. package/src/fetchTpexMargin.mjs +4 -4
  48. package/src/fetchTpexStock.mjs +3 -3
  49. package/src/fetchTwDataHoliday.mjs +1 -1
  50. package/src/fetchTwseMargin.mjs +4 -4
  51. package/src/fetchTwseStock.mjs +3 -3
  52. package/src/fetchTwseT86.mjs +4 -4
  53. package/src/fetchWithRetry.mjs +6 -6
  54. package/src/getOptFetch.mjs +8 -8
  55. package/test/fetchAiNewsAggregator.test.mjs +5 -5
  56. package/test/fetchAisixiang.test.mjs +1 -1
  57. package/test/fetchCnyes.test.mjs +5 -5
  58. package/test/fetchGuancha.test.mjs +1 -1
  59. package/test/fetchHackerNews.test.mjs +5 -5
  60. package/test/fetchMoneydj.test.mjs +1 -1
  61. package/test/fetchMops.test.mjs +2 -2
  62. package/test/fetchRSS.test.mjs +11 -11
  63. package/test/fetchStatementdog.test.mjs +1 -1
  64. package/test/fetchTaifex.test.mjs +1 -1
  65. package/test/fetchTpex3insti.test.mjs +1 -1
  66. package/test/fetchTpexMargin.test.mjs +1 -1
  67. package/test/fetchTpexStock.test.mjs +1 -1
  68. package/test/fetchTwDataHoliday.test.mjs +1 -1
  69. package/test/fetchTwseMargin.test.mjs +1 -1
  70. package/test/fetchTwseStock.test.mjs +1 -1
  71. package/test/fetchTwseT86.test.mjs +1 -1
  72. package/test/fetchWithRetry.test.mjs +1 -1
@@ -40,7 +40,7 @@ describe('fetchRSS', function() {
40
40
  })
41
41
 
42
42
  it('解析RSS並轉為統一格式, from優先取creator否則退回訂閱源標題', async function() {
43
- let r = await fetchRSS(svr.url('/rss/feed.xml'), { showLog: false })
43
+ let r = await fetchRSS(svr.url('/rss/feed.xml'), { useShowLog: false })
44
44
  let rr = [
45
45
  {
46
46
  url: 'https://rss.example/1',
@@ -62,7 +62,7 @@ describe('fetchRSS', function() {
62
62
 
63
63
  it('HTTP 404納入重試範圍, 含初始共執行maxRetries+1次', async function() {
64
64
  let c0 = svr.getCount('/status/404')
65
- await fetchRSS(svr.url('/status/404'), { maxRetries: 2, baseDelayMs: 10, maxDelayMs: 10, showLog: false })
65
+ await fetchRSS(svr.url('/status/404'), { maxRetries: 2, baseDelayMs: 10, maxDelayMs: 10, useShowLog: false })
66
66
  .catch(() => {})
67
67
  let r = svr.getCount('/status/404') - c0
68
68
  let rr = 3
@@ -71,7 +71,7 @@ describe('fetchRSS', function() {
71
71
 
72
72
  it('內容非XML時reject', async function() {
73
73
  let r = null
74
- await fetchRSS(svr.url('/json/ok'), { maxRetries: 0, showLog: false })
74
+ await fetchRSS(svr.url('/json/ok'), { maxRetries: 0, useShowLog: false })
75
75
  .then(() => {
76
76
  r = 'resolved'
77
77
  })
@@ -83,14 +83,14 @@ describe('fetchRSS', function() {
83
83
  })
84
84
 
85
85
  it('預設不附content欄, 回傳形狀維持五欄不變', async function() {
86
- let t = await fetchRSS(svr.url('/rss/feed-content.xml'), { showLog: false })
86
+ let t = await fetchRSS(svr.url('/rss/feed-content.xml'), { useShowLog: false })
87
87
  let r = Object.keys(t[0])
88
88
  let rr = ['url', 'time', 'title', 'description', 'from']
89
89
  assert.strict.deepEqual(r, rr)
90
90
  })
91
91
 
92
92
  it('withContent為true時附content欄, 取content:encoded去標籤與實體且顯著長於description', async function() {
93
- let t = await fetchRSS(svr.url('/rss/feed-content.xml'), { withContent: true, showLog: false })
93
+ let t = await fetchRSS(svr.url('/rss/feed-content.xml'), { withContent: true, useShowLog: false })
94
94
  let r = [
95
95
  Object.keys(t[0]),
96
96
  t[0].description,
@@ -111,14 +111,14 @@ describe('fetchRSS', function() {
111
111
  })
112
112
 
113
113
  it('withContent對無content:encoded之feed(arXiv系)退取content, 全文與description一致', async function() {
114
- let t = await fetchRSS(svr.url('/rss/feed-desc.xml'), { withContent: true, showLog: false })
114
+ let t = await fetchRSS(svr.url('/rss/feed-desc.xml'), { withContent: true, useShowLog: false })
115
115
  let r = [t[0].content, t[0].content === t[0].description]
116
116
  let rr = ['arXiv:2608.01234 Announce Type: new Abstract: 這是一段完整摘要,不含HTML標籤,長度足以代表全文內容本體。', true]
117
117
  assert.strict.deepEqual(r, rr)
118
118
  })
119
119
 
120
120
  it('method為curl時走系統curl抓取, 解析結果與fetch相同', async function() {
121
- let t = await fetchRSS(svr.url('/rss/feed.xml'), { method: 'curl', maxRetries: 0, showLog: false })
121
+ let t = await fetchRSS(svr.url('/rss/feed.xml'), { method: 'curl', maxRetries: 0, useShowLog: false })
122
122
  let r = [t.length, t[0].title, t[0].from, t[1].from]
123
123
  let rr = [2, 'RSS標題一', '作者甲', '測試訂閱源']
124
124
  assert.strict.deepEqual(r, rr)
@@ -127,7 +127,7 @@ describe('fetchRSS', function() {
127
127
  it('curl模式對極短feed判empty-response而reject, 證明分派確實走curl路徑', async function() {
128
128
  //同一網址fetch模式可正常解析(見下一測試), 故此reject即為curl路徑之行為證據
129
129
  let r = null
130
- await fetchRSS(svr.url('/rss/feed-tiny.xml'), { method: 'curl', maxRetries: 0, showLog: false })
130
+ await fetchRSS(svr.url('/rss/feed-tiny.xml'), { method: 'curl', maxRetries: 0, useShowLog: false })
131
131
  .then(() => {
132
132
  r = 'resolved'
133
133
  })
@@ -139,13 +139,13 @@ describe('fetchRSS', function() {
139
139
  })
140
140
 
141
141
  it('fetch模式對極短feed正常解析為0項, 與curl模式行為對照', async function() {
142
- let r = await fetchRSS(svr.url('/rss/feed-tiny.xml'), { maxRetries: 0, showLog: false })
142
+ let r = await fetchRSS(svr.url('/rss/feed-tiny.xml'), { maxRetries: 0, useShowLog: false })
143
143
  let rr = []
144
144
  assert.strict.deepEqual(r, rr)
145
145
  })
146
146
 
147
147
  it('auto模式於curl失敗時退回fetch, 極短feed不reject而回0項', async function() {
148
- let r = await fetchRSS(svr.url('/rss/feed-tiny.xml'), { method: 'auto', maxRetries: 0, showLog: false })
148
+ let r = await fetchRSS(svr.url('/rss/feed-tiny.xml'), { method: 'auto', maxRetries: 0, useShowLog: false })
149
149
  let rr = []
150
150
  assert.strict.deepEqual(r, rr)
151
151
  })
@@ -153,7 +153,7 @@ describe('fetchRSS', function() {
153
153
  it('method非法值一律退回預設fetch行為', async function() {
154
154
  let r = []
155
155
  for (let method of ['FETCH', 'wget', 123, null, {}]) {
156
- let t = await fetchRSS(svr.url('/rss/feed.xml'), { method, showLog: false })
156
+ let t = await fetchRSS(svr.url('/rss/feed.xml'), { method, useShowLog: false })
157
157
  r.push(t.length)
158
158
  }
159
159
  let rr = [2, 2, 2, 2, 2]
@@ -8,7 +8,7 @@ describe('fetchStatementdog', function() {
8
8
  let svr = null
9
9
 
10
10
  //optFast, 令重試等待縮至10毫秒, 避免測試耗時
11
- let optFast = { baseDelayMs: 10, maxDelayMs: 10, showLog: false }
11
+ let optFast = { baseDelayMs: 10, maxDelayMs: 10, useShowLog: false }
12
12
 
13
13
  before(async function() {
14
14
  svr = await serverForTest()
@@ -10,7 +10,7 @@ describe('fetchTaifex', function() {
10
10
 
11
11
  before(async function() {
12
12
  svr = await serverForTest()
13
- optFast = { baseUrl: svr.url(''), baseDelayMs: 10, maxDelayMs: 10, interRequestDelayMs: 0, showLog: false }
13
+ optFast = { baseUrl: svr.url(''), baseDelayMs: 10, maxDelayMs: 10, interRequestDelayMs: 0, useShowLog: false }
14
14
  })
15
15
 
16
16
  after(async function() {
@@ -10,7 +10,7 @@ describe('fetchTpex3insti', function() {
10
10
 
11
11
  before(async function() {
12
12
  svr = await serverForTest()
13
- optFast = { baseUrl: svr.url(''), baseDelayMs: 10, maxDelayMs: 10, showLog: false }
13
+ optFast = { baseUrl: svr.url(''), baseDelayMs: 10, maxDelayMs: 10, useShowLog: false }
14
14
  })
15
15
 
16
16
  after(async function() {
@@ -10,7 +10,7 @@ describe('fetchTpexMargin', function() {
10
10
 
11
11
  before(async function() {
12
12
  svr = await serverForTest()
13
- optFast = { baseUrl: svr.url(''), baseDelayMs: 10, maxDelayMs: 10, showLog: false }
13
+ optFast = { baseUrl: svr.url(''), baseDelayMs: 10, maxDelayMs: 10, useShowLog: false }
14
14
  })
15
15
 
16
16
  after(async function() {
@@ -10,7 +10,7 @@ describe('fetchTpexStock', function() {
10
10
 
11
11
  before(async function() {
12
12
  svr = await serverForTest()
13
- optFast = { baseUrl: svr.url(''), baseDelayMs: 10, maxDelayMs: 10, showLog: false }
13
+ optFast = { baseUrl: svr.url(''), baseDelayMs: 10, maxDelayMs: 10, useShowLog: false }
14
14
  })
15
15
 
16
16
  after(async function() {
@@ -10,7 +10,7 @@ describe('fetchTwDataHoliday', function() {
10
10
 
11
11
  before(async function() {
12
12
  svr = await serverForTest()
13
- optFast = { url: svr.url('/v1/holidaySchedule/holidaySchedule'), baseDelayMs: 10, maxDelayMs: 10, showLog: false }
13
+ optFast = { url: svr.url('/v1/holidaySchedule/holidaySchedule'), baseDelayMs: 10, maxDelayMs: 10, useShowLog: false }
14
14
  })
15
15
 
16
16
  after(async function() {
@@ -10,7 +10,7 @@ describe('fetchTwseMargin', function() {
10
10
 
11
11
  before(async function() {
12
12
  svr = await serverForTest()
13
- optFast = { baseUrl: svr.url(''), baseDelayMs: 10, maxDelayMs: 10, showLog: false }
13
+ optFast = { baseUrl: svr.url(''), baseDelayMs: 10, maxDelayMs: 10, useShowLog: false }
14
14
  })
15
15
 
16
16
  after(async function() {
@@ -10,7 +10,7 @@ describe('fetchTwseStock', function() {
10
10
 
11
11
  before(async function() {
12
12
  svr = await serverForTest()
13
- optFast = { baseUrl: svr.url(''), baseDelayMs: 10, maxDelayMs: 10, showLog: false }
13
+ optFast = { baseUrl: svr.url(''), baseDelayMs: 10, maxDelayMs: 10, useShowLog: false }
14
14
  })
15
15
 
16
16
  after(async function() {
@@ -10,7 +10,7 @@ describe('fetchTwseT86', function() {
10
10
 
11
11
  before(async function() {
12
12
  svr = await serverForTest()
13
- optFast = { baseUrl: svr.url(''), baseDelayMs: 10, maxDelayMs: 10, showLog: false }
13
+ optFast = { baseUrl: svr.url(''), baseDelayMs: 10, maxDelayMs: 10, useShowLog: false }
14
14
  })
15
15
 
16
16
  after(async function() {
@@ -8,7 +8,7 @@ describe('fetchWithRetry', function() {
8
8
  let svr = null
9
9
 
10
10
  //optFast, 令重試等待縮至10毫秒, 避免測試耗時
11
- let optFast = { baseDelayMs: 10, maxDelayMs: 10, showLog: false }
11
+ let optFast = { baseDelayMs: 10, maxDelayMs: 10, useShowLog: false }
12
12
 
13
13
  before(async function() {
14
14
  svr = await serverForTest()