norikae-mcp 0.1.0 → 0.1.2
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/README.md +26 -0
- package/dist/index.js +83 -4
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +22 -9
- package/dist/index.test.js.map +1 -1
- package/dist/test.js +19 -5
- package/dist/test.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -12,6 +12,7 @@ Uses Yahoo! Transit data to find optimal routes between stations.*
|
|
|
12
12
|
## 機能 / Features
|
|
13
13
|
|
|
14
14
|
- 🚉 駅から駅への乗り換えルート検索 / Station-to-station route search
|
|
15
|
+
- 🔀 経由駅の指定(最大3駅)/ Via station specification (up to 3 stations)
|
|
15
16
|
- ⏰ 指定時刻での検索(出発・到着時刻指定)/ Departure or arrival time specification
|
|
16
17
|
- 💰 IC運賃の表示 / IC card fare display
|
|
17
18
|
- 🔄 乗り換え回数・所要時間の比較 / Transfer count and travel time comparison
|
|
@@ -90,6 +91,7 @@ npx norikae-mcp
|
|
|
90
91
|
|-----------|------|------|---------------------|
|
|
91
92
|
| `from` | string | ✅ | 出発駅名 / Departure station (e.g., 東京, 新宿) |
|
|
92
93
|
| `to` | string | ✅ | 到着駅名 / Arrival station (e.g., 九段下, 横浜) |
|
|
94
|
+
| `via` | string[] | - | 経由駅名の配列(最大3駅)/ Via stations array (max 3) |
|
|
93
95
|
| `year` | number | - | 出発年 / Year (default: current) |
|
|
94
96
|
| `month` | number | - | 出発月 / Month (default: current) |
|
|
95
97
|
| `day` | number | - | 出発日 / Day (default: current) |
|
|
@@ -131,6 +133,16 @@ AIに以下のように話しかけると、自動的に適切なオプション
|
|
|
131
133
|
| "How to get from Tokyo to Shibuya" | `from: 東京`, `to: 渋谷` |
|
|
132
134
|
| "Route from Shinjuku to Yokohama" | `from: 新宿`, `to: 横浜` |
|
|
133
135
|
|
|
136
|
+
### 経由駅の指定 / Via Stations
|
|
137
|
+
|
|
138
|
+
| あなたの質問 / Your Question | 認識されるオプション / Recognized Options |
|
|
139
|
+
|------------------------------|------------------------------------------|
|
|
140
|
+
| 「東京から新宿まで、表参道経由で」 | `from: 東京`, `to: 新宿`, `via: ["表参道"]` |
|
|
141
|
+
| 「渋谷から池袋、原宿と新宿を経由して」 | `from: 渋谷`, `to: 池袋`, `via: ["原宿", "新宿"]` |
|
|
142
|
+
| 「品川から上野、東京駅と秋葉原を通って」 | `from: 品川`, `to: 上野`, `via: ["東京", "秋葉原"]` |
|
|
143
|
+
| "From Tokyo to Shinjuku via Omotesando" | `from: 東京`, `to: 新宿`, `via: ["表参道"]` |
|
|
144
|
+
| "Shibuya to Ikebukuro, passing through Harajuku and Shinjuku" | `from: 渋谷`, `to: 池袋`, `via: ["原宿", "新宿"]` |
|
|
145
|
+
|
|
134
146
|
### 時刻指定 / Time Specification
|
|
135
147
|
|
|
136
148
|
| あなたの質問 / Your Question | 認識されるオプション / Recognized Options |
|
|
@@ -222,6 +234,20 @@ AIに以下のように話しかけると、自動的に適切なオプション
|
|
|
222
234
|
```
|
|
223
235
|
→ `from: 新宿`, `to: 品川`, `timeType: arrival`, `hour: 18`, `useShinkansen: false`, `useAirline: false`, `sortBy: transfer`
|
|
224
236
|
|
|
237
|
+
**例5 / Example 5: 経由駅を指定 / Specifying via stations**
|
|
238
|
+
```
|
|
239
|
+
「東京から新宿まで、表参道と飯田橋を経由して、一番安いルートで」
|
|
240
|
+
"From Tokyo to Shinjuku via Omotesando and Iidabashi, cheapest route"
|
|
241
|
+
```
|
|
242
|
+
→ `from: 東京`, `to: 新宿`, `via: ["表参道", "飯田橋"]`, `sortBy: fare`
|
|
243
|
+
|
|
244
|
+
**例6 / Example 6: 観光ルート / Sightseeing route**
|
|
245
|
+
```
|
|
246
|
+
「浅草から原宿まで、上野と秋葉原と東京を通って、ゆっくり歩きで」
|
|
247
|
+
"From Asakusa to Harajuku, passing through Ueno, Akihabara, and Tokyo, walking slowly"
|
|
248
|
+
```
|
|
249
|
+
→ `from: 浅草`, `to: 原宿`, `via: ["上野", "秋葉原", "東京"]`, `walkSpeed: slow`
|
|
250
|
+
|
|
225
251
|
## 開発 / Development
|
|
226
252
|
|
|
227
253
|
```bash
|
package/dist/index.js
CHANGED
|
@@ -10,6 +10,7 @@ const server = new McpServer({
|
|
|
10
10
|
const searchRouteSchema = {
|
|
11
11
|
from: z.string().describe('出発駅名(例:東京、新宿、渋谷)'),
|
|
12
12
|
to: z.string().describe('到着駅名(例:九段下、横浜、品川)'),
|
|
13
|
+
via: z.array(z.string()).optional().describe('経由駅名の配列(最大3駅、例:["表参道", "飯田橋"])'),
|
|
13
14
|
year: z.number().optional().describe('出発年(例:2026)'),
|
|
14
15
|
month: z.number().optional().describe('出発月(1-12)'),
|
|
15
16
|
day: z.number().optional().describe('出発日(1-31)'),
|
|
@@ -26,17 +27,89 @@ const searchRouteSchema = {
|
|
|
26
27
|
useLocalBus: z.boolean().optional().describe('路線バスを使う'),
|
|
27
28
|
useFerry: z.boolean().optional().describe('フェリーを使う'),
|
|
28
29
|
};
|
|
30
|
+
// register prompt for usage instructions
|
|
31
|
+
server.registerPrompt('norikae-usage', {
|
|
32
|
+
description: 'Instructions for using the Japanese train route search tool',
|
|
33
|
+
}, () => ({
|
|
34
|
+
messages: [
|
|
35
|
+
{
|
|
36
|
+
role: 'user',
|
|
37
|
+
content: {
|
|
38
|
+
type: 'text',
|
|
39
|
+
text: `# 乗換案内MCP 使用ガイド / Norikae MCP Usage Guide
|
|
40
|
+
|
|
41
|
+
## 重要 / Important
|
|
42
|
+
- 駅名は必ず日本語(漢字・かな)で入力してください
|
|
43
|
+
- Station names MUST be in Japanese kanji/kana
|
|
44
|
+
- Convert English AND Chinese station names to Japanese before calling
|
|
45
|
+
|
|
46
|
+
## 英語→日本語 / English → Japanese
|
|
47
|
+
| English | Japanese |
|
|
48
|
+
|---------|----------|
|
|
49
|
+
| Tokyo | 東京 |
|
|
50
|
+
| Shinjuku | 新宿 |
|
|
51
|
+
| Shibuya | 渋谷 |
|
|
52
|
+
| Ikebukuro | 池袋 |
|
|
53
|
+
| Ueno | 上野 |
|
|
54
|
+
| Akihabara | 秋葉原 |
|
|
55
|
+
| Ginza | 銀座 |
|
|
56
|
+
| Roppongi | 六本木 |
|
|
57
|
+
| Harajuku | 原宿 |
|
|
58
|
+
| Yokohama | 横浜 |
|
|
59
|
+
| Osaka | 大阪 |
|
|
60
|
+
| Kyoto | 京都 |
|
|
61
|
+
| Narita Airport | 成田空港 |
|
|
62
|
+
| Haneda Airport | 羽田空港 |
|
|
63
|
+
|
|
64
|
+
## 中国語→日本語 / Chinese → Japanese
|
|
65
|
+
Japanese kanji may differ from Chinese hanzi:
|
|
66
|
+
| 简体/繁體 | 日本語 |
|
|
67
|
+
|-----------|--------|
|
|
68
|
+
| 东京/東京 | 東京 |
|
|
69
|
+
| 涩谷/澀谷 | 渋谷 |
|
|
70
|
+
| 秋叶原/秋葉原 | 秋葉原 |
|
|
71
|
+
| 横滨/橫濱 | 横浜 |
|
|
72
|
+
|
|
73
|
+
## 使用例 / Usage Examples
|
|
74
|
+
User: "How do I get from Tokyo to Shinjuku?"
|
|
75
|
+
→ Call search_route with: from="東京", to="新宿"
|
|
76
|
+
|
|
77
|
+
User: "東京から渋谷まで表参道経由で"
|
|
78
|
+
→ Call search_route with: from="東京", to="渋谷", via=["表参道"]`,
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
],
|
|
82
|
+
}));
|
|
29
83
|
// register search_route tool
|
|
84
|
+
const toolDescription = `Search train routes between stations in Japan using Yahoo! Transit.
|
|
85
|
+
|
|
86
|
+
IMPORTANT: Station names MUST be in Japanese kanji/kana. Convert before calling:
|
|
87
|
+
|
|
88
|
+
English → Japanese:
|
|
89
|
+
- Tokyo → 東京, Shinjuku → 新宿, Shibuya → 渋谷, Ikebukuro → 池袋
|
|
90
|
+
- Ueno → 上野, Akihabara → 秋葉原, Ginza → 銀座, Roppongi → 六本木
|
|
91
|
+
- Yokohama → 横浜, Osaka → 大阪, Kyoto → 京都
|
|
92
|
+
- Narita Airport → 成田空港, Haneda Airport → 羽田空港
|
|
93
|
+
|
|
94
|
+
Chinese (Simplified/Traditional) → Japanese kanji:
|
|
95
|
+
- 东京/東京 → 東京, 新宿 → 新宿, 涩谷/澀谷 → 渋谷
|
|
96
|
+
- 秋叶原/秋葉原 → 秋葉原, 横滨/橫濱 → 横浜
|
|
97
|
+
Note: Japanese kanji may differ from Chinese hanzi (e.g., 渋 vs 涩/澀, 横 vs 横/橫)
|
|
98
|
+
|
|
99
|
+
Examples:
|
|
100
|
+
- "Tokyo to Shinjuku" → from: "東京", to: "新宿"
|
|
101
|
+
- "从东京到新宿" → from: "東京", to: "新宿"
|
|
102
|
+
- "Shibuya to Ikebukuro via Harajuku" → from: "渋谷", to: "池袋", via: ["原宿"]`;
|
|
30
103
|
server.registerTool('search_route', {
|
|
31
104
|
title: '乗り換え検索',
|
|
32
|
-
description:
|
|
105
|
+
description: toolDescription,
|
|
33
106
|
inputSchema: searchRouteSchema,
|
|
34
107
|
annotations: {
|
|
35
108
|
readOnlyHint: true, // data is only read, not modified
|
|
36
109
|
openWorldHint: true, // interacts with external service (Yahoo)
|
|
37
110
|
},
|
|
38
111
|
}, async (args) => {
|
|
39
|
-
const { from, to, year, month, day, hour, minute, timeType, ticket, walkSpeed, sortBy, useAirline, useShinkansen, useExpress, useHighwayBus, useLocalBus, useFerry, } = args;
|
|
112
|
+
const { from, to, via, year, month, day, hour, minute, timeType, ticket, walkSpeed, sortBy, useAirline, useShinkansen, useExpress, useHighwayBus, useLocalBus, useFerry, } = args;
|
|
40
113
|
// default to current time if not specified
|
|
41
114
|
const now = new Date();
|
|
42
115
|
const y = year ?? now.getFullYear();
|
|
@@ -44,6 +117,8 @@ server.registerTool('search_route', {
|
|
|
44
117
|
const d = day ?? now.getDate();
|
|
45
118
|
const hh = hour ?? now.getHours();
|
|
46
119
|
const mm = minute ?? now.getMinutes();
|
|
120
|
+
// limit via stations to max 3
|
|
121
|
+
const viaStations = via?.slice(0, 3) ?? [];
|
|
47
122
|
const options = {
|
|
48
123
|
timeType: timeType ?? 'departure',
|
|
49
124
|
ticket: ticket ?? 'ic',
|
|
@@ -56,7 +131,7 @@ server.registerTool('search_route', {
|
|
|
56
131
|
useLocalBus: useLocalBus ?? true,
|
|
57
132
|
useFerry: useFerry ?? true,
|
|
58
133
|
};
|
|
59
|
-
const url = buildYahooTransitUrl(from, to, y, m, d, hh, mm, options);
|
|
134
|
+
const url = buildYahooTransitUrl(from, to, viaStations, y, m, d, hh, mm, options);
|
|
60
135
|
try {
|
|
61
136
|
const response = await fetch(url);
|
|
62
137
|
const html = await response.text();
|
|
@@ -72,7 +147,7 @@ server.registerTool('search_route', {
|
|
|
72
147
|
};
|
|
73
148
|
}
|
|
74
149
|
});
|
|
75
|
-
function buildYahooTransitUrl(from, to, year, month, day, hour, minute, options) {
|
|
150
|
+
function buildYahooTransitUrl(from, to, via, year, month, day, hour, minute, options) {
|
|
76
151
|
// map options to Yahoo URL parameters
|
|
77
152
|
const timeTypeMap = { departure: '1', arrival: '2' };
|
|
78
153
|
const walkSpeedMap = { fast: '1', slightly_fast: '2', slightly_slow: '3', slow: '4' };
|
|
@@ -98,6 +173,10 @@ function buildYahooTransitUrl(from, to, year, month, day, hour, minute, options)
|
|
|
98
173
|
lb: options.useLocalBus ? '1' : '0',
|
|
99
174
|
sr: options.useFerry ? '1' : '0',
|
|
100
175
|
});
|
|
176
|
+
// add via stations (multiple via params supported)
|
|
177
|
+
for (const station of via) {
|
|
178
|
+
params.append('via', station);
|
|
179
|
+
}
|
|
101
180
|
return `https://transit.yahoo.co.jp/search/result?${params.toString()}`;
|
|
102
181
|
}
|
|
103
182
|
function extractMainContent(html) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,gCAAgC;AAChC,MAAM,iBAAiB,GAAG;IACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC7C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;IACnD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;IAClD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;IAChD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IACtD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACrG,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAC9E,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;IACjG,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IAC7G,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;IACpD,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACxD,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;IACtD,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;IACzD,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;IACvD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;CACrD,CAAC;AAEF,6BAA6B;AAC7B,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;IACE,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.test.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Run: npm test
|
|
4
4
|
*/
|
|
5
5
|
import { describe, it, expect } from 'vitest';
|
|
6
|
-
function buildYahooTransitUrl(from, to, year, month, day, hour, minute, options) {
|
|
6
|
+
function buildYahooTransitUrl(from, to, via, year, month, day, hour, minute, options) {
|
|
7
7
|
const timeTypeMap = { departure: '1', arrival: '2' };
|
|
8
8
|
const walkSpeedMap = { fast: '1', slightly_fast: '2', slightly_slow: '3', slow: '4' };
|
|
9
9
|
const sortByMap = { time: '0', transfer: '1', fare: '2' };
|
|
@@ -28,6 +28,9 @@ function buildYahooTransitUrl(from, to, year, month, day, hour, minute, options)
|
|
|
28
28
|
lb: options.useLocalBus ? '1' : '0',
|
|
29
29
|
sr: options.useFerry ? '1' : '0',
|
|
30
30
|
});
|
|
31
|
+
for (const station of via) {
|
|
32
|
+
params.append('via', station);
|
|
33
|
+
}
|
|
31
34
|
return `https://transit.yahoo.co.jp/search/result?${params.toString()}`;
|
|
32
35
|
}
|
|
33
36
|
const defaultOptions = {
|
|
@@ -44,12 +47,12 @@ const defaultOptions = {
|
|
|
44
47
|
};
|
|
45
48
|
describe('buildYahooTransitUrl', () => {
|
|
46
49
|
it('should build basic URL with from and to', () => {
|
|
47
|
-
const url = buildYahooTransitUrl('東京', '九段下', 2026, 1, 22, 10, 30, defaultOptions);
|
|
50
|
+
const url = buildYahooTransitUrl('東京', '九段下', [], 2026, 1, 22, 10, 30, defaultOptions);
|
|
48
51
|
expect(url).toContain('from=%E6%9D%B1%E4%BA%AC'); // 東京 encoded
|
|
49
52
|
expect(url).toContain('to=%E4%B9%9D%E6%AE%B5%E4%B8%8B'); // 九段下 encoded
|
|
50
53
|
});
|
|
51
54
|
it('should set correct time parameters', () => {
|
|
52
|
-
const url = buildYahooTransitUrl('東京', '大阪', 2026, 1, 22, 10, 35, defaultOptions);
|
|
55
|
+
const url = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 10, 35, defaultOptions);
|
|
53
56
|
expect(url).toContain('y=2026');
|
|
54
57
|
expect(url).toContain('m=01');
|
|
55
58
|
expect(url).toContain('d=22');
|
|
@@ -58,44 +61,54 @@ describe('buildYahooTransitUrl', () => {
|
|
|
58
61
|
expect(url).toContain('m2=5'); // 35 % 10 = 5
|
|
59
62
|
});
|
|
60
63
|
it('should set departure type by default', () => {
|
|
61
|
-
const url = buildYahooTransitUrl('東京', '大阪', 2026, 1, 22, 10, 30, defaultOptions);
|
|
64
|
+
const url = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 10, 30, defaultOptions);
|
|
62
65
|
expect(url).toContain('type=1'); // departure
|
|
63
66
|
});
|
|
64
67
|
it('should set arrival type when specified', () => {
|
|
65
|
-
const url = buildYahooTransitUrl('東京', '大阪', 2026, 1, 22, 18, 0, {
|
|
68
|
+
const url = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 18, 0, {
|
|
66
69
|
...defaultOptions,
|
|
67
70
|
timeType: 'arrival',
|
|
68
71
|
});
|
|
69
72
|
expect(url).toContain('type=2'); // arrival
|
|
70
73
|
});
|
|
71
74
|
it('should disable shinkansen when specified', () => {
|
|
72
|
-
const url = buildYahooTransitUrl('東京', '大阪', 2026, 1, 22, 10, 30, {
|
|
75
|
+
const url = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 10, 30, {
|
|
73
76
|
...defaultOptions,
|
|
74
77
|
useShinkansen: false,
|
|
75
78
|
});
|
|
76
79
|
expect(url).toContain('shin=0');
|
|
77
80
|
});
|
|
78
81
|
it('should set sort by fare', () => {
|
|
79
|
-
const url = buildYahooTransitUrl('東京', '大阪', 2026, 1, 22, 10, 30, {
|
|
82
|
+
const url = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 10, 30, {
|
|
80
83
|
...defaultOptions,
|
|
81
84
|
sortBy: 'fare',
|
|
82
85
|
});
|
|
83
86
|
expect(url).toContain('s=2'); // fare
|
|
84
87
|
});
|
|
85
88
|
it('should set walk speed to fast', () => {
|
|
86
|
-
const url = buildYahooTransitUrl('東京', '大阪', 2026, 1, 22, 10, 30, {
|
|
89
|
+
const url = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 10, 30, {
|
|
87
90
|
...defaultOptions,
|
|
88
91
|
walkSpeed: 'fast',
|
|
89
92
|
});
|
|
90
93
|
expect(url).toContain('ws=1'); // fast
|
|
91
94
|
});
|
|
92
95
|
it('should set cash ticket type', () => {
|
|
93
|
-
const url = buildYahooTransitUrl('東京', '大阪', 2026, 1, 22, 10, 30, {
|
|
96
|
+
const url = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 10, 30, {
|
|
94
97
|
...defaultOptions,
|
|
95
98
|
ticket: 'cash',
|
|
96
99
|
});
|
|
97
100
|
expect(url).toContain('ticket=cash');
|
|
98
101
|
});
|
|
102
|
+
it('should include single via station', () => {
|
|
103
|
+
const url = buildYahooTransitUrl('東京', '新宿', ['表参道'], 2026, 1, 22, 10, 30, defaultOptions);
|
|
104
|
+
expect(url).toContain('via=%E8%A1%A8%E5%8F%82%E9%81%93'); // 表参道 encoded
|
|
105
|
+
});
|
|
106
|
+
it('should include multiple via stations', () => {
|
|
107
|
+
const url = buildYahooTransitUrl('東京', '新宿', ['表参道', '飯田橋', '広尾'], 2026, 1, 22, 10, 30, defaultOptions);
|
|
108
|
+
expect(url).toContain('via=%E8%A1%A8%E5%8F%82%E9%81%93'); // 表参道
|
|
109
|
+
expect(url).toContain('via=%E9%A3%AF%E7%94%B0%E6%A9%8B'); // 飯田橋
|
|
110
|
+
expect(url).toContain('via=%E5%BA%83%E5%B0%BE'); // 広尾
|
|
111
|
+
});
|
|
99
112
|
});
|
|
100
113
|
describe('extractMainContent', () => {
|
|
101
114
|
// simple mock test for HTML extraction
|
package/dist/index.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAgB9C,SAAS,oBAAoB,CAC3B,IAAY,EACZ,EAAU,EACV,IAAY,EACZ,KAAa,EACb,GAAW,EACX,IAAY,EACZ,MAAc,EACd,OAAsB;IAEtB,MAAM,WAAW,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IACrD,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACtF,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAE1D,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,IAAI,EAAE,IAAI;QACV,EAAE,EAAE,EAAE;QACN,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE;QAClB,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QACpC,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QAClC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE;QACnB,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;QACtC,EAAE,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC5B,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;QACnC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,GAAG;QACZ,EAAE,EAAE,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC;QACnC,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;QAC5B,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QAClC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QACvC,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QAClC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QACrC,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QACnC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;KACjC,CAAC,CAAC;IAEH,OAAO,6CAA6C,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;AAC1E,CAAC;AAED,MAAM,cAAc,GAAkB;IACpC,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,eAAe;IAC1B,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,IAAI;IACjB,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAgB9C,SAAS,oBAAoB,CAC3B,IAAY,EACZ,EAAU,EACV,GAAa,EACb,IAAY,EACZ,KAAa,EACb,GAAW,EACX,IAAY,EACZ,MAAc,EACd,OAAsB;IAEtB,MAAM,WAAW,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IACrD,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACtF,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAE1D,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,IAAI,EAAE,IAAI;QACV,EAAE,EAAE,EAAE;QACN,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE;QAClB,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QACpC,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QAClC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE;QACnB,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;QACtC,EAAE,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC5B,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;QACnC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,GAAG;QACZ,EAAE,EAAE,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC;QACnC,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;QAC5B,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QAClC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QACvC,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QAClC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QACrC,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QACnC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;KACjC,CAAC,CAAC;IAEH,KAAK,MAAM,OAAO,IAAI,GAAG,EAAE,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,6CAA6C,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;AAC1E,CAAC;AAED,MAAM,cAAc,GAAkB;IACpC,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,eAAe;IAC1B,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,IAAI;IACjB,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;QACvF,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC,CAAC,aAAa;QAC/D,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC,CAAC,cAAc;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;QACtF,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc;QAC7C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;QACtF,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;YACnE,GAAG,cAAc;YACjB,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;YACpE,GAAG,cAAc;YACjB,aAAa,EAAE,KAAK;SACrB,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;YACpE,GAAG,cAAc;YACjB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;YACpE,GAAG,cAAc;YACjB,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;YACpE,GAAG,cAAc;YACjB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;QAC3F,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC,CAAC,cAAc;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;QACxG,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC,CAAC,MAAM;QAChE,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC,CAAC,MAAM;QAChE,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC,CAAC,KAAK;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,uCAAuC;IACvC,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,QAAQ,GAAG;;;;;;;;KAQhB,CAAC;QAEF,uDAAuD;QACvD,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/test.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Test script for core logic (without MCP)
|
|
4
4
|
* Run: npx ts-node src/test.ts
|
|
5
5
|
*/
|
|
6
|
-
function buildYahooTransitUrl(from, to, year, month, day, hour, minute, options) {
|
|
6
|
+
function buildYahooTransitUrl(from, to, via, year, month, day, hour, minute, options) {
|
|
7
7
|
const timeTypeMap = { departure: '1', arrival: '2' };
|
|
8
8
|
const walkSpeedMap = { fast: '1', slightly_fast: '2', slightly_slow: '3', slow: '4' };
|
|
9
9
|
const sortByMap = { time: '0', transfer: '1', fare: '2' };
|
|
@@ -28,6 +28,9 @@ function buildYahooTransitUrl(from, to, year, month, day, hour, minute, options)
|
|
|
28
28
|
lb: options.useLocalBus ? '1' : '0',
|
|
29
29
|
sr: options.useFerry ? '1' : '0',
|
|
30
30
|
});
|
|
31
|
+
for (const station of via) {
|
|
32
|
+
params.append('via', station);
|
|
33
|
+
}
|
|
31
34
|
return `https://transit.yahoo.co.jp/search/result?${params.toString()}`;
|
|
32
35
|
}
|
|
33
36
|
function extractMainContent(html) {
|
|
@@ -74,12 +77,12 @@ async function testUrlBuilder() {
|
|
|
74
77
|
useFerry: true,
|
|
75
78
|
};
|
|
76
79
|
// test 1: basic route
|
|
77
|
-
const url1 = buildYahooTransitUrl('東京', '九段下', 2026, 1, 22, 10, 30, defaultOptions);
|
|
80
|
+
const url1 = buildYahooTransitUrl('東京', '九段下', [], 2026, 1, 22, 10, 30, defaultOptions);
|
|
78
81
|
console.log('Test 1 - Basic route:');
|
|
79
82
|
console.log(` From: 東京 → To: 九段下`);
|
|
80
83
|
console.log(` URL: ${url1}\n`);
|
|
81
84
|
// test 2: arrival time + no shinkansen
|
|
82
|
-
const url2 = buildYahooTransitUrl('東京', '大阪', 2026, 1, 22, 18, 0, {
|
|
85
|
+
const url2 = buildYahooTransitUrl('東京', '大阪', [], 2026, 1, 22, 18, 0, {
|
|
83
86
|
...defaultOptions,
|
|
84
87
|
timeType: 'arrival',
|
|
85
88
|
useShinkansen: false,
|
|
@@ -88,13 +91,23 @@ async function testUrlBuilder() {
|
|
|
88
91
|
console.log(` From: 東京 → To: 大阪 (arrive by 18:00)`);
|
|
89
92
|
console.log(` URL: ${url2}\n`);
|
|
90
93
|
// test 3: sort by fare
|
|
91
|
-
const url3 = buildYahooTransitUrl('新宿', '横浜', 2026, 1, 22, 12, 0, {
|
|
94
|
+
const url3 = buildYahooTransitUrl('新宿', '横浜', [], 2026, 1, 22, 12, 0, {
|
|
92
95
|
...defaultOptions,
|
|
93
96
|
sortBy: 'fare',
|
|
94
97
|
});
|
|
95
98
|
console.log('Test 3 - Sort by fare:');
|
|
96
99
|
console.log(` From: 新宿 → To: 横浜`);
|
|
97
100
|
console.log(` URL: ${url3}\n`);
|
|
101
|
+
// test 4: single via station
|
|
102
|
+
const url4 = buildYahooTransitUrl('東京', '新宿', ['表参道'], 2026, 1, 22, 10, 30, defaultOptions);
|
|
103
|
+
console.log('Test 4 - Single via station:');
|
|
104
|
+
console.log(` From: 東京 → Via: 表参道 → To: 新宿`);
|
|
105
|
+
console.log(` URL: ${url4}\n`);
|
|
106
|
+
// test 5: multiple via stations
|
|
107
|
+
const url5 = buildYahooTransitUrl('東京', '新宿', ['表参道', '飯田橋', '広尾'], 2026, 1, 22, 10, 30, defaultOptions);
|
|
108
|
+
console.log('Test 5 - Multiple via stations:');
|
|
109
|
+
console.log(` From: 東京 → Via: 表参道, 飯田橋, 広尾 → To: 新宿`);
|
|
110
|
+
console.log(` URL: ${url5}\n`);
|
|
98
111
|
}
|
|
99
112
|
async function testFetchAndParse() {
|
|
100
113
|
console.log('=== Test: Fetch and Parse ===\n');
|
|
@@ -110,7 +123,8 @@ async function testFetchAndParse() {
|
|
|
110
123
|
useLocalBus: true,
|
|
111
124
|
useFerry: true,
|
|
112
125
|
};
|
|
113
|
-
|
|
126
|
+
// test with via station
|
|
127
|
+
const url = buildYahooTransitUrl('東京', '新宿', ['表参道'], 2026, 1, 22, 10, 30, defaultOptions);
|
|
114
128
|
console.log(`Fetching: ${url}\n`);
|
|
115
129
|
try {
|
|
116
130
|
const response = await fetch(url);
|
package/dist/test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"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"}
|