googlemaps-kit 0.2.2 → 0.3.1
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 +11 -6
- package/dist/cli/format.d.ts +24 -0
- package/dist/cli/format.d.ts.map +1 -0
- package/dist/cli/format.js +250 -0
- package/dist/cli/format.js.map +1 -0
- package/dist/cli.d.ts +8 -4
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +224 -48
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img src="https://raw.githubusercontent.com/KumarVandit/googlemaps-kit/main/assets/banner.png" alt="googlemaps-kit
|
|
2
|
+
<img src="https://raw.githubusercontent.com/KumarVandit/googlemaps-kit/main/assets/banner.png" alt="googlemaps-kit - TypeScript SDK for Google Maps consumer surfaces" width="100%">
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
# googlemaps-kit
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
> TypeScript SDK for programmatic access to Google Maps consumer surfaces.
|
|
8
8
|
|
|
9
9
|
[](https://www.npmjs.com/package/googlemaps-kit)
|
|
10
|
+
[](https://www.npmjs.com/package/googlemaps-kit)
|
|
10
11
|
[](https://www.typescriptlang.org/)
|
|
11
12
|
[](./LICENSE)
|
|
12
13
|
[](./package.json)
|
|
@@ -174,15 +175,19 @@ const tools = maps.tools(); // or createMapsTools(maps)
|
|
|
174
175
|
await tools.discover.execute({ query: 'coffee', nearLat: near.lat, nearLng: near.lng });
|
|
175
176
|
```
|
|
176
177
|
|
|
177
|
-
CLI (JSON
|
|
178
|
+
CLI (pretty tables on TTY, JSON when piped):
|
|
178
179
|
|
|
179
180
|
```bash
|
|
180
|
-
npx googlemaps-kit discover "cafes" --near 12.98,77.64
|
|
181
|
-
npx googlemaps-kit
|
|
182
|
-
npx googlemaps-kit
|
|
181
|
+
npx googlemaps-kit discover "cafes in indiranagar" --near 12.98,77.64 --limit 5
|
|
182
|
+
npx googlemaps-kit resolve --query "Cubbon Park Bangalore"
|
|
183
|
+
npx googlemaps-kit profile --query "Third Wave Coffee Indiranagar" --near 12.98,77.64
|
|
184
|
+
npx googlemaps-kit route --from "Cubbon Park, Bangalore" --to "Indiranagar, Bangalore"
|
|
185
|
+
npx googlemaps-kit opinions --query "Third Wave Coffee Indiranagar" --near 12.98,77.64
|
|
186
|
+
npx googlemaps-kit media --query "Cubbon Park Bangalore"
|
|
187
|
+
npx googlemaps-kit pipeline "cafes" --near 12.98,77.64 --max 3
|
|
183
188
|
```
|
|
184
189
|
|
|
185
|
-
Export helpers: `toCsv(places)`, `toGeoJSON(places)`.
|
|
190
|
+
Use `--json` / `--format json|csv|geojson` for machine output. Export helpers: `toCsv(places)`, `toGeoJSON(places)`.
|
|
186
191
|
|
|
187
192
|
## Advanced (under the hood)
|
|
188
193
|
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Human-friendly CLI printers (tables / cards). No color deps.
|
|
3
|
+
*/
|
|
4
|
+
import type { ReviewsResult } from '../types/common.js';
|
|
5
|
+
import type { DirectionsResult } from '../types/directions.js';
|
|
6
|
+
import type { PlaceProfile, ResolvedPlace, MediaResult, DiscoverResult } from '../types/dx.js';
|
|
7
|
+
export type OutputFormat = 'table' | 'pretty' | 'json' | 'csv' | 'geojson';
|
|
8
|
+
export declare function isTty(): boolean;
|
|
9
|
+
/** Default format: table/pretty on TTY, json when piped. */
|
|
10
|
+
export declare function defaultFormat(kind?: 'rows' | 'card'): OutputFormat;
|
|
11
|
+
export declare function printJson(value: unknown): void;
|
|
12
|
+
export declare function formatDiscoverTable(result: DiscoverResult): string;
|
|
13
|
+
export declare function formatResolvePretty(r: ResolvedPlace): string;
|
|
14
|
+
export declare function formatProfilePretty(result: PlaceProfile): string;
|
|
15
|
+
export declare function formatRoutePretty(result: DirectionsResult, label?: string): string;
|
|
16
|
+
export declare function formatOpinionsTable(result: ReviewsResult): string;
|
|
17
|
+
export declare function formatMediaPretty(result: MediaResult): string;
|
|
18
|
+
export declare function printDiscover(result: DiscoverResult, format: OutputFormat): void;
|
|
19
|
+
export declare function printResolved(result: ResolvedPlace, format: OutputFormat): void;
|
|
20
|
+
export declare function printProfile(result: PlaceProfile, format: OutputFormat): void;
|
|
21
|
+
export declare function printRoute(result: DirectionsResult, format: OutputFormat, label?: string): void;
|
|
22
|
+
export declare function printOpinions(result: ReviewsResult, format: OutputFormat): void;
|
|
23
|
+
export declare function printMedia(result: MediaResult, format: OutputFormat): void;
|
|
24
|
+
//# sourceMappingURL=format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/cli/format.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAgB,aAAa,EAAU,MAAM,oBAAoB,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAI/F,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;AAE3E,wBAAgB,KAAK,IAAI,OAAO,CAE/B;AAED,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,IAAI,GAAE,MAAM,GAAG,MAAe,GAAG,YAAY,CAG1E;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE9C;AA+BD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAgClE;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAU5D;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAkBhE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAuBlF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAiBjE;AAkCD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAgB7D;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAchF;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAM/E;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAM7E;AAED,wBAAgB,UAAU,CACxB,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,YAAY,EACpB,KAAK,CAAC,EAAE,MAAM,GACb,IAAI,CAMN;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAM/E;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAM1E"}
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Human-friendly CLI printers (tables / cards). No color deps.
|
|
3
|
+
*/
|
|
4
|
+
import { toCsv, toGeoJSON } from '../utils/export-results.js';
|
|
5
|
+
export function isTty() {
|
|
6
|
+
return Boolean(process.stdout.isTTY);
|
|
7
|
+
}
|
|
8
|
+
/** Default format: table/pretty on TTY, json when piped. */
|
|
9
|
+
export function defaultFormat(kind = 'rows') {
|
|
10
|
+
if (!isTty())
|
|
11
|
+
return 'json';
|
|
12
|
+
return kind === 'rows' ? 'table' : 'pretty';
|
|
13
|
+
}
|
|
14
|
+
export function printJson(value) {
|
|
15
|
+
console.log(JSON.stringify(value, null, 2));
|
|
16
|
+
}
|
|
17
|
+
function truncate(text, max) {
|
|
18
|
+
const t = text.replace(/\s+/g, ' ').trim();
|
|
19
|
+
if (t.length <= max)
|
|
20
|
+
return t;
|
|
21
|
+
return `${t.slice(0, Math.max(0, max - 1))}…`;
|
|
22
|
+
}
|
|
23
|
+
function pad(text, width) {
|
|
24
|
+
const t = text.length > width ? truncate(text, width) : text;
|
|
25
|
+
return t.padEnd(width);
|
|
26
|
+
}
|
|
27
|
+
function stars(rating) {
|
|
28
|
+
if (rating == null || Number.isNaN(rating))
|
|
29
|
+
return '—';
|
|
30
|
+
return rating.toFixed(1);
|
|
31
|
+
}
|
|
32
|
+
function reviews(n) {
|
|
33
|
+
if (n == null)
|
|
34
|
+
return '—';
|
|
35
|
+
if (n >= 1000)
|
|
36
|
+
return `${(n / 1000).toFixed(n >= 10000 ? 0 : 1)}k`;
|
|
37
|
+
return String(n);
|
|
38
|
+
}
|
|
39
|
+
function openLabel(place) {
|
|
40
|
+
if (place.isOpenNow === true)
|
|
41
|
+
return 'Open';
|
|
42
|
+
if (place.isOpenNow === false)
|
|
43
|
+
return 'Closed';
|
|
44
|
+
if (place.openStatus)
|
|
45
|
+
return truncate(place.openStatus, 18);
|
|
46
|
+
return '—';
|
|
47
|
+
}
|
|
48
|
+
export function formatDiscoverTable(result) {
|
|
49
|
+
const rows = result.places;
|
|
50
|
+
const cols = {
|
|
51
|
+
n: 2,
|
|
52
|
+
name: 28,
|
|
53
|
+
rating: 6,
|
|
54
|
+
reviews: 7,
|
|
55
|
+
category: 16,
|
|
56
|
+
open: 10,
|
|
57
|
+
};
|
|
58
|
+
const header = `${pad('#', cols.n)} ${pad('NAME', cols.name)} ${pad('RATING', cols.rating)} ` +
|
|
59
|
+
`${pad('REVIEWS', cols.reviews)} ${pad('CATEGORY', cols.category)} ${pad('OPEN', cols.open)}`;
|
|
60
|
+
const sep = '─'.repeat(header.length);
|
|
61
|
+
const lines = [header, sep];
|
|
62
|
+
rows.forEach((p, i) => {
|
|
63
|
+
lines.push(`${pad(String(i + 1), cols.n)} ${pad(p.name ?? '—', cols.name)} ${pad(stars(p.rating), cols.rating)} ` +
|
|
64
|
+
`${pad(reviews(p.reviewCount), cols.reviews)} ${pad(p.category ?? p.categories?.[0] ?? '—', cols.category)} ` +
|
|
65
|
+
`${pad(openLabel(p), cols.open)}`);
|
|
66
|
+
});
|
|
67
|
+
lines.push('');
|
|
68
|
+
lines.push(`${rows.length} place${rows.length === 1 ? '' : 's'} · ${Math.round(result.timingMs)}ms · mode ${result.mode}`);
|
|
69
|
+
if (result.pagination.hasMore) {
|
|
70
|
+
lines.push(`more available (offset ${result.pagination.nextOffset ?? '—'})`);
|
|
71
|
+
}
|
|
72
|
+
return lines.join('\n');
|
|
73
|
+
}
|
|
74
|
+
export function formatResolvePretty(r) {
|
|
75
|
+
const lines = [
|
|
76
|
+
r.name ?? '(unnamed)',
|
|
77
|
+
r.address ? truncate(r.address, 72) : undefined,
|
|
78
|
+
r.hexId ? `hex ${r.hexId}` : undefined,
|
|
79
|
+
r.placeId ? `id ${r.placeId}` : undefined,
|
|
80
|
+
r.lat != null && r.lng != null ? `coords ${r.lat.toFixed(5)}, ${r.lng.toFixed(5)}` : undefined,
|
|
81
|
+
`via ${r.source}`,
|
|
82
|
+
].filter(Boolean);
|
|
83
|
+
return lines.join('\n');
|
|
84
|
+
}
|
|
85
|
+
export function formatProfilePretty(result) {
|
|
86
|
+
const p = result.place;
|
|
87
|
+
const lines = [];
|
|
88
|
+
lines.push(p.name ?? '(unnamed)');
|
|
89
|
+
const meta = [];
|
|
90
|
+
if (p.rating != null)
|
|
91
|
+
meta.push(`★ ${stars(p.rating)}`);
|
|
92
|
+
if (p.reviewCount != null)
|
|
93
|
+
meta.push(`(${reviews(p.reviewCount)})`);
|
|
94
|
+
if (p.categories?.[0])
|
|
95
|
+
meta.push(p.categories[0]);
|
|
96
|
+
if (meta.length)
|
|
97
|
+
lines.push(meta.join(' · '));
|
|
98
|
+
if (p.address)
|
|
99
|
+
lines.push(truncate(p.address, 72));
|
|
100
|
+
if (p.openStatus)
|
|
101
|
+
lines.push(p.openStatus);
|
|
102
|
+
if (p.phone)
|
|
103
|
+
lines.push(p.phone);
|
|
104
|
+
if (p.website)
|
|
105
|
+
lines.push(truncate(p.website, 64));
|
|
106
|
+
if (p.hexId)
|
|
107
|
+
lines.push(`hex ${p.hexId}`);
|
|
108
|
+
lines.push(`depth ${result.depth}`);
|
|
109
|
+
return lines.join('\n');
|
|
110
|
+
}
|
|
111
|
+
export function formatRoutePretty(result, label) {
|
|
112
|
+
const lines = [];
|
|
113
|
+
if (label)
|
|
114
|
+
lines.push(label);
|
|
115
|
+
const duration = result.durationInTraffic && result.duration && result.durationInTraffic !== result.duration
|
|
116
|
+
? `${result.durationInTraffic} (traffic) · normally ${result.duration}`
|
|
117
|
+
: result.durationInTraffic ?? result.duration;
|
|
118
|
+
const primary = [result.distance, duration].filter(Boolean).join(' · ');
|
|
119
|
+
if (primary)
|
|
120
|
+
lines.push(primary);
|
|
121
|
+
if (result.summary)
|
|
122
|
+
lines.push(`via ${result.summary}`);
|
|
123
|
+
const alts = result.routes?.slice(1) ?? [];
|
|
124
|
+
for (const alt of alts.slice(0, 2)) {
|
|
125
|
+
const altDur = alt.durationInTraffic ?? alt.duration;
|
|
126
|
+
const bit = [alt.distance, altDur, alt.summary ? `via ${alt.summary}` : '']
|
|
127
|
+
.filter(Boolean)
|
|
128
|
+
.join(' · ');
|
|
129
|
+
if (bit)
|
|
130
|
+
lines.push(`alt ${bit}`);
|
|
131
|
+
}
|
|
132
|
+
if (lines.length === 0)
|
|
133
|
+
lines.push('(no route metrics)');
|
|
134
|
+
return lines.join('\n');
|
|
135
|
+
}
|
|
136
|
+
export function formatOpinionsTable(result) {
|
|
137
|
+
const lines = [];
|
|
138
|
+
const total = result.totalReviews != null
|
|
139
|
+
? `${reviews(result.totalReviews)} total`
|
|
140
|
+
: `${result.reviewCount} on page`;
|
|
141
|
+
const agg = result.aggregateRating != null ? ` · ★ ${stars(result.aggregateRating)}` : '';
|
|
142
|
+
lines.push(`Reviews · ${total}${agg}`);
|
|
143
|
+
lines.push('─'.repeat(56));
|
|
144
|
+
for (const r of result.reviews) {
|
|
145
|
+
lines.push(formatReviewLine(r));
|
|
146
|
+
lines.push('');
|
|
147
|
+
}
|
|
148
|
+
return lines.join('\n').trimEnd();
|
|
149
|
+
}
|
|
150
|
+
/** Word-wrap without truncating content. */
|
|
151
|
+
function wrapText(text, width, indent = ' ') {
|
|
152
|
+
const words = text.replace(/\s+/g, ' ').trim().split(' ');
|
|
153
|
+
const out = [];
|
|
154
|
+
let line = '';
|
|
155
|
+
for (const word of words) {
|
|
156
|
+
const next = line ? `${line} ${word}` : word;
|
|
157
|
+
if (next.length > width && line) {
|
|
158
|
+
out.push(indent + line);
|
|
159
|
+
line = word;
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
line = next;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
if (line)
|
|
166
|
+
out.push(indent + line);
|
|
167
|
+
return out.join('\n');
|
|
168
|
+
}
|
|
169
|
+
function formatReviewLine(r) {
|
|
170
|
+
const head = [
|
|
171
|
+
r.rating != null ? `★ ${r.rating}` : '★ —',
|
|
172
|
+
r.author ?? 'Anonymous',
|
|
173
|
+
r.date ? `· ${r.date}` : undefined,
|
|
174
|
+
]
|
|
175
|
+
.filter(Boolean)
|
|
176
|
+
.join(' ');
|
|
177
|
+
// Prefer full body over Google's truncated preview.
|
|
178
|
+
const body = (r.text ?? r.textPreview ?? '').replace(/\s+/g, ' ').trim();
|
|
179
|
+
if (!body)
|
|
180
|
+
return head;
|
|
181
|
+
return `${head}\n${wrapText(body, 72)}`;
|
|
182
|
+
}
|
|
183
|
+
export function formatMediaPretty(result) {
|
|
184
|
+
const lines = [`${result.photoCount} photo${result.photoCount === 1 ? '' : 's'}`];
|
|
185
|
+
if (result.photoSource)
|
|
186
|
+
lines[0] += ` · ${result.photoSource}`;
|
|
187
|
+
lines.push('─'.repeat(56));
|
|
188
|
+
result.photos.slice(0, 6).forEach((photo, i) => {
|
|
189
|
+
const url = photo.normalizedUrl ?? photo.url ?? '—';
|
|
190
|
+
const cap = photo.caption ? ` — ${truncate(photo.caption, 40)}` : '';
|
|
191
|
+
lines.push(`${i + 1}. ${truncate(url, 64)}${cap}`);
|
|
192
|
+
});
|
|
193
|
+
if (result.photos.length > 6) {
|
|
194
|
+
lines.push(`… ${result.photos.length - 6} more`);
|
|
195
|
+
}
|
|
196
|
+
if (result.nextPageToken)
|
|
197
|
+
lines.push('(more pages available)');
|
|
198
|
+
return lines.join('\n');
|
|
199
|
+
}
|
|
200
|
+
export function printDiscover(result, format) {
|
|
201
|
+
if (format === 'csv') {
|
|
202
|
+
console.log(toCsv(result.places));
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
if (format === 'geojson') {
|
|
206
|
+
printJson(toGeoJSON(result.places));
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
if (format === 'table' || format === 'pretty') {
|
|
210
|
+
console.log(formatDiscoverTable(result));
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
printJson(result);
|
|
214
|
+
}
|
|
215
|
+
export function printResolved(result, format) {
|
|
216
|
+
if (format === 'table' || format === 'pretty') {
|
|
217
|
+
console.log(formatResolvePretty(result));
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
printJson(result);
|
|
221
|
+
}
|
|
222
|
+
export function printProfile(result, format) {
|
|
223
|
+
if (format === 'table' || format === 'pretty') {
|
|
224
|
+
console.log(formatProfilePretty(result));
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
printJson(result);
|
|
228
|
+
}
|
|
229
|
+
export function printRoute(result, format, label) {
|
|
230
|
+
if (format === 'table' || format === 'pretty') {
|
|
231
|
+
console.log(formatRoutePretty(result, label));
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
printJson(result);
|
|
235
|
+
}
|
|
236
|
+
export function printOpinions(result, format) {
|
|
237
|
+
if (format === 'table' || format === 'pretty') {
|
|
238
|
+
console.log(formatOpinionsTable(result));
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
printJson(result);
|
|
242
|
+
}
|
|
243
|
+
export function printMedia(result, format) {
|
|
244
|
+
if (format === 'table' || format === 'pretty') {
|
|
245
|
+
console.log(formatMediaPretty(result));
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
printJson(result);
|
|
249
|
+
}
|
|
250
|
+
//# sourceMappingURL=format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/cli/format.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Intent CLI — pretty tables on TTY, JSON when piped.
|
|
4
4
|
*
|
|
5
5
|
* npx googlemaps-kit discover "cafes" --near 12.98,77.64
|
|
6
|
-
* npx googlemaps-kit
|
|
7
|
-
* npx googlemaps-kit
|
|
8
|
-
* npx googlemaps-kit route --from
|
|
6
|
+
* npx googlemaps-kit resolve --query "Cubbon Park Bangalore"
|
|
7
|
+
* npx googlemaps-kit profile --query "Third Wave Coffee Indiranagar" --near 12.98,77.64
|
|
8
|
+
* npx googlemaps-kit route --from "Cubbon Park, Bangalore" --to "Indiranagar, Bangalore"
|
|
9
|
+
* npx googlemaps-kit opinions --query "Third Wave Coffee Indiranagar" --near 12.98,77.64
|
|
10
|
+
* npx googlemaps-kit media --query "Cubbon Park Bangalore"
|
|
11
|
+
* npx googlemaps-kit pipeline "cafes" --near 12.98,77.64 --max 3
|
|
12
|
+
* npx googlemaps-kit capabilities
|
|
9
13
|
*/
|
|
10
14
|
export {};
|
|
11
15
|
//# sourceMappingURL=cli.d.ts.map
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG"}
|
package/dist/cli.js
CHANGED
|
@@ -1,32 +1,44 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Intent CLI — pretty tables on TTY, JSON when piped.
|
|
4
4
|
*
|
|
5
5
|
* npx googlemaps-kit discover "cafes" --near 12.98,77.64
|
|
6
|
-
* npx googlemaps-kit
|
|
7
|
-
* npx googlemaps-kit
|
|
8
|
-
* npx googlemaps-kit route --from
|
|
6
|
+
* npx googlemaps-kit resolve --query "Cubbon Park Bangalore"
|
|
7
|
+
* npx googlemaps-kit profile --query "Third Wave Coffee Indiranagar" --near 12.98,77.64
|
|
8
|
+
* npx googlemaps-kit route --from "Cubbon Park, Bangalore" --to "Indiranagar, Bangalore"
|
|
9
|
+
* npx googlemaps-kit opinions --query "Third Wave Coffee Indiranagar" --near 12.98,77.64
|
|
10
|
+
* npx googlemaps-kit media --query "Cubbon Park Bangalore"
|
|
11
|
+
* npx googlemaps-kit pipeline "cafes" --near 12.98,77.64 --max 3
|
|
12
|
+
* npx googlemaps-kit capabilities
|
|
9
13
|
*/
|
|
10
14
|
import { sdk } from './client/gmaps-client.js';
|
|
11
|
-
import {
|
|
15
|
+
import { defaultFormat, printDiscover, printJson, printMedia, printOpinions, printProfile, printResolved, printRoute, } from './cli/format.js';
|
|
12
16
|
function usage(exit = 1) {
|
|
13
|
-
console.error(`
|
|
14
|
-
|
|
15
|
-
|
|
17
|
+
console.error(`googlemaps-kit — Intent CLI
|
|
18
|
+
|
|
19
|
+
Usage:
|
|
20
|
+
googlemaps-kit discover <query> --near <lat,lng> [options]
|
|
16
21
|
googlemaps-kit resolve --query <text> [--near <lat,lng>] | --url <maps-url>
|
|
17
|
-
googlemaps-kit
|
|
22
|
+
googlemaps-kit profile <hexId> | --query <text> --near <lat,lng> [--depth card|full|complete]
|
|
23
|
+
googlemaps-kit route --from <address|lat,lng> --to <address|lat,lng> [--mode driving|walking|…]
|
|
24
|
+
googlemaps-kit opinions <hexId> | --query <text> --near <lat,lng> [--pages N] [--limit N]
|
|
25
|
+
googlemaps-kit media <hexId> | --query <text> [--near <lat,lng>] [--limit N]
|
|
26
|
+
googlemaps-kit pipeline <query> --near <lat,lng> [--max N] [--profile card|full|false] [--opinions]
|
|
27
|
+
googlemaps-kit capabilities
|
|
28
|
+
|
|
29
|
+
Global:
|
|
30
|
+
--format table|pretty|json|csv|geojson (default: table/pretty on TTY, json when piped)
|
|
31
|
+
--json shorthand for --format json
|
|
32
|
+
--hl <lang> --gl <region> locale (or GMAPS_HL / GMAPS_GL)
|
|
33
|
+
|
|
34
|
+
Discover:
|
|
35
|
+
--mode fast|full --limit N --format csv|geojson
|
|
36
|
+
|
|
37
|
+
Route:
|
|
38
|
+
--from / --to accept place names ("Cubbon Park, Bangalore") or coordinates
|
|
18
39
|
`);
|
|
19
40
|
process.exit(exit);
|
|
20
41
|
}
|
|
21
|
-
function parseNear(value) {
|
|
22
|
-
if (!value)
|
|
23
|
-
return undefined;
|
|
24
|
-
const [a, b] = value.split(',').map((s) => Number(s.trim()));
|
|
25
|
-
if (a == null || b == null || Number.isNaN(a) || Number.isNaN(b)) {
|
|
26
|
-
throw new Error(`Invalid --near/--from/--to: ${value}`);
|
|
27
|
-
}
|
|
28
|
-
return { lat: a, lng: b };
|
|
29
|
-
}
|
|
30
42
|
function flag(args, name) {
|
|
31
43
|
const i = args.indexOf(name);
|
|
32
44
|
if (i < 0)
|
|
@@ -36,6 +48,95 @@ function flag(args, name) {
|
|
|
36
48
|
function has(args, name) {
|
|
37
49
|
return args.includes(name);
|
|
38
50
|
}
|
|
51
|
+
const VALUE_FLAGS = new Set([
|
|
52
|
+
'--near',
|
|
53
|
+
'--from',
|
|
54
|
+
'--to',
|
|
55
|
+
'--mode',
|
|
56
|
+
'--limit',
|
|
57
|
+
'--format',
|
|
58
|
+
'--depth',
|
|
59
|
+
'--query',
|
|
60
|
+
'--url',
|
|
61
|
+
'--name',
|
|
62
|
+
'--pages',
|
|
63
|
+
'--max',
|
|
64
|
+
'--profile',
|
|
65
|
+
'--hl',
|
|
66
|
+
'--gl',
|
|
67
|
+
]);
|
|
68
|
+
/** First non-flag token that is not a value for a preceding option. */
|
|
69
|
+
function positional(args) {
|
|
70
|
+
for (let i = 0; i < args.length; i++) {
|
|
71
|
+
const a = args[i];
|
|
72
|
+
if (a.startsWith('-')) {
|
|
73
|
+
if (VALUE_FLAGS.has(a))
|
|
74
|
+
i += 1;
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
return a;
|
|
78
|
+
}
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
function parseCoords(value) {
|
|
82
|
+
if (!value)
|
|
83
|
+
return undefined;
|
|
84
|
+
const [a, b] = value.split(',').map((s) => Number(s.trim()));
|
|
85
|
+
if (a == null || b == null || Number.isNaN(a) || Number.isNaN(b)) {
|
|
86
|
+
throw new Error(`Invalid coordinates: ${value} (expected lat,lng)`);
|
|
87
|
+
}
|
|
88
|
+
return { lat: a, lng: b };
|
|
89
|
+
}
|
|
90
|
+
/** Address string or lat,lng — for route endpoints. */
|
|
91
|
+
function parseEndpoint(value) {
|
|
92
|
+
if (!value)
|
|
93
|
+
throw new Error('Missing endpoint');
|
|
94
|
+
if (/^-?\d+(\.\d+)?\s*,\s*-?\d+(\.\d+)?$/.test(value.trim())) {
|
|
95
|
+
return parseCoords(value);
|
|
96
|
+
}
|
|
97
|
+
return value.trim();
|
|
98
|
+
}
|
|
99
|
+
function resolveFormat(args, kind) {
|
|
100
|
+
if (has(args, '--json'))
|
|
101
|
+
return 'json';
|
|
102
|
+
const raw = flag(args, '--format');
|
|
103
|
+
if (!raw)
|
|
104
|
+
return defaultFormat(kind);
|
|
105
|
+
const allowed = ['table', 'pretty', 'json', 'csv', 'geojson'];
|
|
106
|
+
if (!allowed.includes(raw)) {
|
|
107
|
+
throw new Error(`Invalid --format ${raw} (expected ${allowed.join('|')})`);
|
|
108
|
+
}
|
|
109
|
+
return raw;
|
|
110
|
+
}
|
|
111
|
+
async function placeFromArgs(maps, args) {
|
|
112
|
+
const hexId = positional(args);
|
|
113
|
+
const query = flag(args, '--query');
|
|
114
|
+
const name = flag(args, '--name');
|
|
115
|
+
const near = parseCoords(flag(args, '--near'));
|
|
116
|
+
if (hexId && !hexId.includes(' ') && (hexId.includes('0x') || hexId.startsWith('ChIJ'))) {
|
|
117
|
+
return { hexId, name };
|
|
118
|
+
}
|
|
119
|
+
// Positional hex-like without 0x still allowed (legacy)
|
|
120
|
+
if (hexId && !query && /^[0-9a-fx:]+$/i.test(hexId)) {
|
|
121
|
+
return { hexId, name };
|
|
122
|
+
}
|
|
123
|
+
const q = query ?? (hexId && hexId.includes(' ') ? hexId : undefined);
|
|
124
|
+
if (!q) {
|
|
125
|
+
console.error('Need a place: pass <hexId> or --query "Place name" [--near lat,lng]');
|
|
126
|
+
usage();
|
|
127
|
+
}
|
|
128
|
+
const resolved = await maps.resolve({ query: q, near });
|
|
129
|
+
if (!resolved.hexId) {
|
|
130
|
+
throw new Error(`Could not resolve a place id for: ${q}`);
|
|
131
|
+
}
|
|
132
|
+
return {
|
|
133
|
+
hexId: resolved.hexId,
|
|
134
|
+
name: resolved.name ?? name,
|
|
135
|
+
lat: resolved.lat,
|
|
136
|
+
lng: resolved.lng,
|
|
137
|
+
placeId: resolved.placeId,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
39
140
|
async function main() {
|
|
40
141
|
const argv = process.argv.slice(2);
|
|
41
142
|
if (argv.length === 0 || has(argv, '-h') || has(argv, '--help'))
|
|
@@ -45,68 +146,143 @@ async function main() {
|
|
|
45
146
|
const maps = sdk({
|
|
46
147
|
warmOnCreate: false,
|
|
47
148
|
locale: {
|
|
48
|
-
hl: process.env.GMAPS_HL,
|
|
49
|
-
gl: process.env.GMAPS_GL,
|
|
149
|
+
hl: flag(rest, '--hl') ?? process.env.GMAPS_HL,
|
|
150
|
+
gl: flag(rest, '--gl') ?? process.env.GMAPS_GL,
|
|
50
151
|
},
|
|
51
152
|
});
|
|
52
153
|
if (cmd === 'discover') {
|
|
53
|
-
const query = rest
|
|
154
|
+
const query = positional(rest);
|
|
54
155
|
if (!query)
|
|
55
156
|
usage();
|
|
56
|
-
const near =
|
|
157
|
+
const near = parseCoords(flag(rest, '--near'));
|
|
57
158
|
if (!near) {
|
|
58
159
|
console.error('discover requires --near lat,lng');
|
|
59
160
|
usage();
|
|
60
161
|
}
|
|
61
162
|
const mode = flag(rest, '--mode') ?? 'fast';
|
|
62
163
|
const limit = flag(rest, '--limit') ? Number(flag(rest, '--limit')) : undefined;
|
|
63
|
-
const format =
|
|
164
|
+
const format = resolveFormat(rest, 'rows');
|
|
64
165
|
const result = await maps.discover({ query, near, mode, limit });
|
|
65
166
|
printDiscover(result, format);
|
|
66
167
|
return;
|
|
67
168
|
}
|
|
68
|
-
if (cmd === 'profile') {
|
|
69
|
-
const hexId = rest.find((a) => !a.startsWith('-'));
|
|
70
|
-
if (!hexId)
|
|
71
|
-
usage();
|
|
72
|
-
const depth = flag(rest, '--depth') ?? 'card';
|
|
73
|
-
const name = flag(rest, '--name');
|
|
74
|
-
const result = await maps.profile({ hexId, name }, { depth });
|
|
75
|
-
console.log(JSON.stringify(result, null, 2));
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
169
|
if (cmd === 'resolve') {
|
|
79
|
-
const query = flag(rest, '--query');
|
|
170
|
+
const query = flag(rest, '--query') ?? positional(rest);
|
|
80
171
|
const url = flag(rest, '--url');
|
|
81
|
-
const near =
|
|
172
|
+
const near = parseCoords(flag(rest, '--near'));
|
|
82
173
|
if (!query && !url)
|
|
83
174
|
usage();
|
|
175
|
+
const format = resolveFormat(rest, 'card');
|
|
84
176
|
const result = await maps.resolve({ query, url, near });
|
|
85
|
-
|
|
177
|
+
printResolved(result, format);
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
if (cmd === 'profile') {
|
|
181
|
+
const depth = flag(rest, '--depth') ?? 'card';
|
|
182
|
+
const format = resolveFormat(rest, 'card');
|
|
183
|
+
const ref = await placeFromArgs(maps, rest);
|
|
184
|
+
const result = await maps.profile(ref, { depth });
|
|
185
|
+
printProfile(result, format);
|
|
86
186
|
return;
|
|
87
187
|
}
|
|
88
188
|
if (cmd === 'route') {
|
|
89
|
-
const
|
|
90
|
-
const
|
|
91
|
-
if (!
|
|
189
|
+
const fromRaw = flag(rest, '--from');
|
|
190
|
+
const toRaw = flag(rest, '--to');
|
|
191
|
+
if (!fromRaw || !toRaw)
|
|
92
192
|
usage();
|
|
193
|
+
const from = parseEndpoint(fromRaw);
|
|
194
|
+
const to = parseEndpoint(toRaw);
|
|
93
195
|
const mode = flag(rest, '--mode');
|
|
196
|
+
const format = resolveFormat(rest, 'card');
|
|
94
197
|
const result = await maps.route({ from, to, mode });
|
|
95
|
-
|
|
198
|
+
const label = typeof from === 'string' && typeof to === 'string' ? `${from} → ${to}` : undefined;
|
|
199
|
+
printRoute(result, format, label);
|
|
96
200
|
return;
|
|
97
201
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
202
|
+
if (cmd === 'opinions') {
|
|
203
|
+
const pages = flag(rest, '--pages') ? Number(flag(rest, '--pages')) : 1;
|
|
204
|
+
const limit = flag(rest, '--limit') ? Number(flag(rest, '--limit')) : 5;
|
|
205
|
+
const includeAggregates = has(rest, '--aggregates');
|
|
206
|
+
const format = resolveFormat(rest, 'rows');
|
|
207
|
+
const ref = await placeFromArgs(maps, rest);
|
|
208
|
+
const result = await maps.opinions(ref, { pages, limit, includeAggregates });
|
|
209
|
+
printOpinions(result, format);
|
|
103
210
|
return;
|
|
104
211
|
}
|
|
105
|
-
if (
|
|
106
|
-
|
|
212
|
+
if (cmd === 'media') {
|
|
213
|
+
const format = resolveFormat(rest, 'card');
|
|
214
|
+
const ref = await placeFromArgs(maps, rest);
|
|
215
|
+
const pageSize = flag(rest, '--limit') ? Number(flag(rest, '--limit')) : 8;
|
|
216
|
+
const result = await maps.media(ref, { pageSize });
|
|
217
|
+
printMedia(result, format);
|
|
107
218
|
return;
|
|
108
219
|
}
|
|
109
|
-
|
|
220
|
+
if (cmd === 'pipeline') {
|
|
221
|
+
const query = positional(rest);
|
|
222
|
+
if (!query)
|
|
223
|
+
usage();
|
|
224
|
+
const near = parseCoords(flag(rest, '--near'));
|
|
225
|
+
if (!near) {
|
|
226
|
+
console.error('pipeline requires --near lat,lng');
|
|
227
|
+
usage();
|
|
228
|
+
}
|
|
229
|
+
const maxPlaces = flag(rest, '--max') ? Number(flag(rest, '--max')) : 3;
|
|
230
|
+
const profileFlag = flag(rest, '--profile') ?? 'card';
|
|
231
|
+
const profile = profileFlag === 'false' ? false : { depth: profileFlag };
|
|
232
|
+
const opinions = has(rest, '--opinions') ? { pages: 1, limit: 3 } : false;
|
|
233
|
+
const format = resolveFormat(rest, 'rows');
|
|
234
|
+
const result = await maps.pipeline({
|
|
235
|
+
discover: { query, near, mode: 'fast' },
|
|
236
|
+
maxPlaces,
|
|
237
|
+
profile,
|
|
238
|
+
opinions,
|
|
239
|
+
});
|
|
240
|
+
if (format === 'json') {
|
|
241
|
+
printJson(result);
|
|
242
|
+
return;
|
|
243
|
+
}
|
|
244
|
+
// Compact table of pipeline rows
|
|
245
|
+
const lines = [`pipeline · ${result.places.length} places · ${Math.round(result.timingMs)}ms`, '─'.repeat(56)];
|
|
246
|
+
for (const row of result.places) {
|
|
247
|
+
const p = row.profile?.place ?? row.hit;
|
|
248
|
+
const rating = p.rating != null ? `★ ${p.rating.toFixed(1)}` : '★ —';
|
|
249
|
+
const reviews = p.reviewCount != null ? `(${p.reviewCount})` : '';
|
|
250
|
+
lines.push(`${p.name ?? '—'} ${rating} ${reviews}`.trim());
|
|
251
|
+
if (p.address)
|
|
252
|
+
lines.push(` ${p.address}`);
|
|
253
|
+
if (row.opinions?.reviews?.[0]?.textPreview ?? row.opinions?.reviews?.[0]?.text) {
|
|
254
|
+
const t = (row.opinions.reviews[0].textPreview ?? row.opinions.reviews[0].text ?? '')
|
|
255
|
+
.replace(/\s+/g, ' ')
|
|
256
|
+
.trim()
|
|
257
|
+
.slice(0, 70);
|
|
258
|
+
if (t)
|
|
259
|
+
lines.push(` “${t}${t.length >= 70 ? '…' : ''}”`);
|
|
260
|
+
}
|
|
261
|
+
lines.push('');
|
|
262
|
+
}
|
|
263
|
+
console.log(lines.join('\n').trimEnd());
|
|
264
|
+
return;
|
|
265
|
+
}
|
|
266
|
+
if (cmd === 'capabilities') {
|
|
267
|
+
const caps = await maps.capabilities();
|
|
268
|
+
const format = resolveFormat(rest, 'card');
|
|
269
|
+
if (format === 'json') {
|
|
270
|
+
printJson(caps);
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
const lines = [
|
|
274
|
+
`session ${caps.session}${caps.signedIn ? ' (signed in)' : ''}`,
|
|
275
|
+
`search yes`,
|
|
276
|
+
`details yes`,
|
|
277
|
+
`reviews boq${caps.reviewsRpc ? ' + rpc' : ''}`,
|
|
278
|
+
`photos yes`,
|
|
279
|
+
`directions yes`,
|
|
280
|
+
`askMaps ${caps.askMaps ? 'yes' : 'no (needs cookies)'}`,
|
|
281
|
+
];
|
|
282
|
+
console.log(lines.join('\n'));
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
285
|
+
usage();
|
|
110
286
|
}
|
|
111
287
|
void main().catch((err) => {
|
|
112
288
|
console.error(err instanceof Error ? err.message : err);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAG7D,SAAS,KAAK,CAAC,IAAI,GAAG,CAAC;IACrB,OAAO,CAAC,KAAK,CAAC;;;;;CAKf,CAAC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,SAAS,CAAC,KAAyB;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,IAAI,CAAC,IAAc,EAAE,IAAY;IACxC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5B,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,GAAG,CAAC,IAAc,EAAE,IAAY;IACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;QAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAE1E,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;IACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,GAAG,CAAC;QACf,YAAY,EAAE,KAAK;QACnB,MAAM,EAAE;YACN,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ;YACxB,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ;SACzB;KACF,CAAC,CAAC;IAEH,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK;YAAE,KAAK,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAClD,KAAK,EAAE,CAAC;QACV,CAAC;QACD,MAAM,IAAI,GAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAiC,IAAI,MAAM,CAAC;QAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK;YAAE,KAAK,EAAE,CAAC;QACpB,MAAM,KAAK,GAAI,IAAI,CAAC,IAAI,EAAE,SAAS,CAA8C,IAAI,MAAM,CAAC;QAC5F,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG;YAAE,KAAK,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC7C,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE;YAAE,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAKnB,CAAC;QACd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,KAAK,EAAE,CAAC;AACV,CAAC;AAED,SAAS,aAAa,CAAC,MAAsB,EAAE,MAAc;IAC3D,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAClC,OAAO;IACT,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACxB,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|