@pokewallet/sdk 0.1.1 → 0.1.3
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 +1 -1
- package/dist/index.cjs +17 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +76 -39
- package/dist/index.d.ts +76 -39
- package/dist/index.js +17 -10
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -120,8 +120,8 @@ interface Card {
|
|
|
120
120
|
variants: string[];
|
|
121
121
|
/**
|
|
122
122
|
* Set identifiers. `setId` is the numeric id (possibly negative); `setCode` the short code.
|
|
123
|
-
* Source: `card_info.set_id` / `card_info.set_code
|
|
124
|
-
*
|
|
123
|
+
* Source: `card_info.set_id` / `card_info.set_code`; for cards listed by a set, both come from the
|
|
124
|
+
* response's `set` object.
|
|
125
125
|
* One Piece search and detail answers carry neither, so both are null there.
|
|
126
126
|
*/
|
|
127
127
|
setId: string | null;
|
|
@@ -161,7 +161,7 @@ interface Page<T> {
|
|
|
161
161
|
totalPages: number;
|
|
162
162
|
}
|
|
163
163
|
interface SearchPage extends Page<Card> {
|
|
164
|
-
/**
|
|
164
|
+
/** Pokémon and games: the candidate list was cut at its cap, refine the query instead of paging. Always false for One Piece. */
|
|
165
165
|
truncated: boolean;
|
|
166
166
|
}
|
|
167
167
|
interface SetPage extends Page<Card> {
|
|
@@ -255,7 +255,6 @@ interface TopCard {
|
|
|
255
255
|
setId: string | null;
|
|
256
256
|
setCode: string | null;
|
|
257
257
|
price: number | null;
|
|
258
|
-
previousPrice7d: number | null;
|
|
259
258
|
change7d: string | null;
|
|
260
259
|
raw: unknown;
|
|
261
260
|
}
|
|
@@ -286,10 +285,10 @@ type PricesOptions = {
|
|
|
286
285
|
source?: 'tcg' | 'cm';
|
|
287
286
|
};
|
|
288
287
|
type StatisticsOptions = {
|
|
289
|
-
variant?:
|
|
288
|
+
variant?: 'normal' | 'foil';
|
|
290
289
|
};
|
|
291
290
|
type TrendingOptions = {
|
|
292
|
-
period?: '7d'
|
|
291
|
+
period?: '7d';
|
|
293
292
|
limit?: number;
|
|
294
293
|
};
|
|
295
294
|
type TopCardsOptions = {
|
|
@@ -368,8 +367,6 @@ interface World {
|
|
|
368
367
|
interface CardWorldConfig {
|
|
369
368
|
/** Route prefix: `''` for Pokémon, `/mtg` for a game. */
|
|
370
369
|
prefix: string;
|
|
371
|
-
/** Pokémon accepts `period=30d` on trending; the other worlds only `7d`. */
|
|
372
|
-
periods: readonly ('7d' | '30d')[];
|
|
373
370
|
/** Minimum search length: the games reject queries shorter than 2 characters. */
|
|
374
371
|
minQuery: number;
|
|
375
372
|
}
|
|
@@ -567,7 +564,7 @@ declare class UnavailableError extends PokeWalletError {
|
|
|
567
564
|
declare class ServerError extends PokeWalletError {
|
|
568
565
|
}
|
|
569
566
|
|
|
570
|
-
declare const VERSION = "0.1.
|
|
567
|
+
declare const VERSION = "0.1.3";
|
|
571
568
|
|
|
572
569
|
/**
|
|
573
570
|
* This file was auto-generated by openapi-typescript.
|
|
@@ -623,9 +620,10 @@ interface paths {
|
|
|
623
620
|
};
|
|
624
621
|
/**
|
|
625
622
|
* Search Pokémon cards by name, number, set or rarity
|
|
626
|
-
* @description
|
|
627
|
-
*
|
|
628
|
-
*
|
|
623
|
+
* @description `metadata.truncated` is true when the candidates were cut at 500: a more specific query is needed.
|
|
624
|
+
* `page` and `limit`: a missing, non-numeric or lower-than-1 value falls back to the default, and a
|
|
625
|
+
* value above the cap (100 for `limit`) is clamped. The SDKs still check both before sending.
|
|
626
|
+
* A name may contain parentheses, e.g. `Pikachu (Cosmos Holo)`.
|
|
629
627
|
*/
|
|
630
628
|
get: operations["pokemonSearch"];
|
|
631
629
|
put?: never;
|
|
@@ -660,7 +658,10 @@ interface paths {
|
|
|
660
658
|
path?: never;
|
|
661
659
|
cookie?: never;
|
|
662
660
|
};
|
|
663
|
-
/**
|
|
661
|
+
/**
|
|
662
|
+
* Sets with the strongest CardMarket price change (Pro or trial)
|
|
663
|
+
* @description Same format in every world. Only `period=7d` exists; `30d` answers 400 `Invalid parameter`.
|
|
664
|
+
*/
|
|
664
665
|
get: operations["pokemonTrendingSets"];
|
|
665
666
|
put?: never;
|
|
666
667
|
post?: never;
|
|
@@ -685,8 +686,9 @@ interface paths {
|
|
|
685
686
|
* **200** with `disambiguation: true` and `matches`; on `/prices/{setCode}` it is **300**, on
|
|
686
687
|
* statistics and completion-value it is **409**. Disambiguate with `?language=` or the numeric `set_id`.
|
|
687
688
|
*
|
|
688
|
-
*
|
|
689
|
-
* `/cards/{id}` and `/search
|
|
689
|
+
* In this listing `card_info.set_code` and `card_info.set_id` hold the set's real code ("PLF") and
|
|
690
|
+
* numeric id ("1382"), the same as in `/cards/{id}` and `/search`; the `set` object carries `set_id` too.
|
|
691
|
+
* `prices` is always `[]` here.
|
|
690
692
|
*
|
|
691
693
|
* Note: send `limit` and `page` within range (see `/search`).
|
|
692
694
|
*/
|
|
@@ -708,8 +710,9 @@ interface paths {
|
|
|
708
710
|
};
|
|
709
711
|
/**
|
|
710
712
|
* Price and rarity statistics of a set (Pro or trial)
|
|
711
|
-
* @description
|
|
712
|
-
*
|
|
713
|
+
* @description Same format in every world: `set_info` is `{name, set_code, set_id, total_cards}` with the real set code;
|
|
714
|
+
* `total_cards` counts cards (sealed products excluded), not finishes. `trend_direction` compares the
|
|
715
|
+
* 7-day with the 30-day average. Ambiguous set: **409**.
|
|
713
716
|
*/
|
|
714
717
|
get: operations["pokemonSetStatistics"];
|
|
715
718
|
put?: never;
|
|
@@ -727,7 +730,10 @@ interface paths {
|
|
|
727
730
|
path?: never;
|
|
728
731
|
cookie?: never;
|
|
729
732
|
};
|
|
730
|
-
/**
|
|
733
|
+
/**
|
|
734
|
+
* Cost to complete a set (Pro or trial)
|
|
735
|
+
* @description One copy of each card, in its base finish. `set_info` has the same shape as in statistics.
|
|
736
|
+
*/
|
|
731
737
|
get: operations["pokemonSetCompletionValue"];
|
|
732
738
|
put?: never;
|
|
733
739
|
post?: never;
|
|
@@ -746,7 +752,8 @@ interface paths {
|
|
|
746
752
|
};
|
|
747
753
|
/**
|
|
748
754
|
* Prices of every card in a set (Pro or trial; hundreds of rows)
|
|
749
|
-
* @description
|
|
755
|
+
* @description The response carries both `set_id` and `group_id` (the same value).
|
|
756
|
+
* Ambiguous set: **300** with the `Disambiguation` body (no `error` field).
|
|
750
757
|
*/
|
|
751
758
|
get: operations["pokemonSetPrices"];
|
|
752
759
|
put?: never;
|
|
@@ -767,7 +774,7 @@ interface paths {
|
|
|
767
774
|
/**
|
|
768
775
|
* Pokémon card detail
|
|
769
776
|
* @description `id` is `pk_<hex>`, a 64-character hex CardMarket `encrypted_id`, or a plain card number
|
|
770
|
-
* (`086`, `086/078`) to be combined with `set_code`. An id from another game (`op_`, `mtg_`...)
|
|
777
|
+
* (`086`, `086/078`, `010a/073`) to be combined with `set_code`. An id from another game (`op_`, `mtg_`...)
|
|
771
778
|
* gives 400 with a hint to the right route.
|
|
772
779
|
*/
|
|
773
780
|
get: operations["pokemonGetCard"];
|
|
@@ -803,7 +810,14 @@ interface paths {
|
|
|
803
810
|
path?: never;
|
|
804
811
|
cookie?: never;
|
|
805
812
|
};
|
|
806
|
-
/**
|
|
813
|
+
/**
|
|
814
|
+
* Ranking by price or growth (Pro or trial)
|
|
815
|
+
* @description Same item format in every world: `{id, card_info, current_price, change_7d?}` (`change_7d` only for growth).
|
|
816
|
+
* `card_info` is the full common card info. Price ranking uses the TCGPlayer market price (`tcg`) or the
|
|
817
|
+
* CardMarket trend price (`cm`). A CardMarket row linked to a TCGPlayer card carries that card's `pk_` id,
|
|
818
|
+
* the others the CardMarket encrypted id; both open with `/cards/{id}`. Growth with `source=tcg` exists
|
|
819
|
+
* for Pokémon only.
|
|
820
|
+
*/
|
|
807
821
|
get: operations["pokemonTopCards"];
|
|
808
822
|
put?: never;
|
|
809
823
|
post?: never;
|
|
@@ -823,7 +837,8 @@ interface paths {
|
|
|
823
837
|
/**
|
|
824
838
|
* Search One Piece cards
|
|
825
839
|
* @description Flat pagination `{data,total,page,limit}` (differs from Pokémon, which nests it in `pagination`).
|
|
826
|
-
* `page
|
|
840
|
+
* `page` and `limit`: a missing, non-numeric or lower-than-1 value falls back to the default, and a
|
|
841
|
+
* value above the cap is clamped. A name may contain parentheses, e.g. `Buggy (Reprint)`.
|
|
827
842
|
*/
|
|
828
843
|
get: operations["opSearch"];
|
|
829
844
|
put?: never;
|
|
@@ -957,6 +972,7 @@ interface paths {
|
|
|
957
972
|
* Prices of every card in a set (Pro or trial)
|
|
958
973
|
* @description The set goes in the query (`set_code` or `group_id`), not in the path as on other routes.
|
|
959
974
|
* At least one of the two is required, otherwise 400.
|
|
975
|
+
* Like the other worlds, the response has `source`, `set_code`, `set_id` and a `product_type` on every row.
|
|
960
976
|
*/
|
|
961
977
|
get: operations["opSetPrices"];
|
|
962
978
|
put?: never;
|
|
@@ -1261,8 +1277,8 @@ interface components {
|
|
|
1261
1277
|
};
|
|
1262
1278
|
/**
|
|
1263
1279
|
* @description Common fields. The ten games add their own fields in snake_case (`mtg`: `p`,`t`,`sub_type`;
|
|
1264
|
-
* `ygo`: `attack`,`defense`...).
|
|
1265
|
-
*
|
|
1280
|
+
* `ygo`: `attack`,`defense`...). `set_code` is the set's real code and `set_id` its numeric id,
|
|
1281
|
+
* also in Pokémon set listings; `card_text` and `card_type` are often `null`.
|
|
1266
1282
|
*/
|
|
1267
1283
|
CardInfo: {
|
|
1268
1284
|
name: string;
|
|
@@ -1275,6 +1291,7 @@ interface components {
|
|
|
1275
1291
|
card_type?: string | null;
|
|
1276
1292
|
/** @description `card` or sealed product. */
|
|
1277
1293
|
product_type?: string | null;
|
|
1294
|
+
/** @description Finishes, `Normal` first, then alphabetical. Present in Pokémon search and detail too. */
|
|
1278
1295
|
variants?: string[];
|
|
1279
1296
|
card_text?: string | null;
|
|
1280
1297
|
hp?: string | null;
|
|
@@ -1321,7 +1338,7 @@ interface components {
|
|
|
1321
1338
|
tcg_only?: number;
|
|
1322
1339
|
cardmarket_only?: number;
|
|
1323
1340
|
both_sources?: number;
|
|
1324
|
-
/** @description
|
|
1341
|
+
/** @description True when the candidate list was cut at its cap (500 for Pokémon): use a more specific query. */
|
|
1325
1342
|
truncated?: boolean;
|
|
1326
1343
|
};
|
|
1327
1344
|
};
|
|
@@ -1382,12 +1399,13 @@ interface components {
|
|
|
1382
1399
|
tcgplayer?: components["schemas"]["TcgplayerPrice"] | null;
|
|
1383
1400
|
cardmarket?: components["schemas"]["CardmarketPrice"] | null;
|
|
1384
1401
|
};
|
|
1385
|
-
/** @description
|
|
1402
|
+
/** @description Carries both `set_id` and `group_id` (the same value). */
|
|
1386
1403
|
PokemonPricesResponse: {
|
|
1387
1404
|
success?: boolean;
|
|
1388
1405
|
/** @enum {string} */
|
|
1389
1406
|
source?: "both" | "tcg" | "cm";
|
|
1390
1407
|
set_code?: string | null;
|
|
1408
|
+
set_id?: string;
|
|
1391
1409
|
group_id?: string;
|
|
1392
1410
|
data?: components["schemas"]["PriceRow"][];
|
|
1393
1411
|
total?: number;
|
|
@@ -1402,11 +1420,13 @@ interface components {
|
|
|
1402
1420
|
total?: number;
|
|
1403
1421
|
};
|
|
1404
1422
|
StatisticsResponse: {
|
|
1405
|
-
/** @description
|
|
1423
|
+
/** @description Same in every world. */
|
|
1406
1424
|
set_info: {
|
|
1407
1425
|
name?: string;
|
|
1426
|
+
/** @description The real set code. */
|
|
1408
1427
|
set_code?: string | null;
|
|
1409
1428
|
set_id?: string;
|
|
1429
|
+
/** @description Cards, not finishes; sealed products excluded. */
|
|
1410
1430
|
total_cards?: number;
|
|
1411
1431
|
};
|
|
1412
1432
|
price_statistics: {
|
|
@@ -1424,7 +1444,6 @@ interface components {
|
|
|
1424
1444
|
min_price?: number;
|
|
1425
1445
|
max_price?: number;
|
|
1426
1446
|
most_expensive?: {
|
|
1427
|
-
/** @description Missing in Pokémon. */
|
|
1428
1447
|
id?: string;
|
|
1429
1448
|
name?: string;
|
|
1430
1449
|
price?: number;
|
|
@@ -1436,7 +1455,10 @@ interface components {
|
|
|
1436
1455
|
}) | null;
|
|
1437
1456
|
CompletionValueResponse: {
|
|
1438
1457
|
set_info: {
|
|
1439
|
-
|
|
1458
|
+
name?: string;
|
|
1459
|
+
set_code?: string | null;
|
|
1460
|
+
set_id?: string;
|
|
1461
|
+
total_cards?: number;
|
|
1440
1462
|
};
|
|
1441
1463
|
completion_cost: {
|
|
1442
1464
|
tcgplayer?: {
|
|
@@ -1465,7 +1487,6 @@ interface components {
|
|
|
1465
1487
|
trending_sets: {
|
|
1466
1488
|
set_name?: string | null;
|
|
1467
1489
|
set_code?: string | null;
|
|
1468
|
-
/** @description Missing in Pokémon. */
|
|
1469
1490
|
set_id?: string;
|
|
1470
1491
|
card_count?: number;
|
|
1471
1492
|
cardmarket?: {
|
|
@@ -1478,7 +1499,7 @@ interface components {
|
|
|
1478
1499
|
change?: string;
|
|
1479
1500
|
}[];
|
|
1480
1501
|
};
|
|
1481
|
-
/** @description `{status
|
|
1502
|
+
/** @description `{status, message}` (TCGPlayer history is not available yet) or `null`. */
|
|
1482
1503
|
tcgplayer?: {
|
|
1483
1504
|
[key: string]: unknown;
|
|
1484
1505
|
} | null;
|
|
@@ -1493,7 +1514,6 @@ interface components {
|
|
|
1493
1514
|
id: string;
|
|
1494
1515
|
card_info: components["schemas"]["CardInfo"];
|
|
1495
1516
|
current_price: number;
|
|
1496
|
-
previous_price_7d?: number;
|
|
1497
1517
|
change_7d?: string;
|
|
1498
1518
|
}[];
|
|
1499
1519
|
};
|
|
@@ -1526,7 +1546,7 @@ interface components {
|
|
|
1526
1546
|
};
|
|
1527
1547
|
};
|
|
1528
1548
|
} | null;
|
|
1529
|
-
/** @description Flat card: no `card_info`, `ext_*` fields; `prices` is a single object (Pokémon: an array per finish). */
|
|
1549
|
+
/** @description Flat card: no `card_info`, `ext_*` fields; `prices` is a single object (Pokémon: an array per finish). CardMarket prices are attached to the cards of the English sets too (OP15, OP14, PRB-02, EB04), so more search and detail answers carry a `cardmarket` block. */
|
|
1530
1550
|
OpCard: {
|
|
1531
1551
|
/** @description `op_<hex>` */
|
|
1532
1552
|
id: string;
|
|
@@ -1584,6 +1604,10 @@ interface components {
|
|
|
1584
1604
|
};
|
|
1585
1605
|
OpPricesResponse: {
|
|
1586
1606
|
success?: boolean;
|
|
1607
|
+
/** @enum {string} */
|
|
1608
|
+
source?: "both" | "tcg" | "cm";
|
|
1609
|
+
set_code?: string | null;
|
|
1610
|
+
set_id?: string;
|
|
1587
1611
|
group_id?: string | number;
|
|
1588
1612
|
data?: components["schemas"]["PriceRow"][];
|
|
1589
1613
|
total?: number;
|
|
@@ -1591,8 +1615,8 @@ interface components {
|
|
|
1591
1615
|
};
|
|
1592
1616
|
responses: {
|
|
1593
1617
|
/**
|
|
1594
|
-
* @description Missing or invalid parameter.
|
|
1595
|
-
*
|
|
1618
|
+
* @description Missing or invalid parameter. A bad parameter value answers `{error: 'Invalid parameter', message, docs}`
|
|
1619
|
+
* in every world. Other 400 bodies may carry only `{error}`.
|
|
1596
1620
|
*/
|
|
1597
1621
|
BadRequest: {
|
|
1598
1622
|
headers: {
|
|
@@ -1685,7 +1709,10 @@ interface components {
|
|
|
1685
1709
|
Game: components["schemas"]["GameCode"];
|
|
1686
1710
|
/** @description `set_code` (`PLF`) or numeric `set_id`, possibly negative. */
|
|
1687
1711
|
SetCode: string;
|
|
1712
|
+
/** @description Missing, non-numeric or lower than 1 falls back to 1. */
|
|
1688
1713
|
Page: number;
|
|
1714
|
+
/** @description `normal` or `foil`; anything else gives 400 `Invalid parameter`. On Pokémon `holo` is still accepted as a legacy alias of `foil`. */
|
|
1715
|
+
Variant: "normal" | "foil";
|
|
1689
1716
|
/** @description Set language (`eng`, `jap`, `chn`, `en`, `jp`...): the vocabulary is not uniform between Pokémon and One Piece. */
|
|
1690
1717
|
Language: string;
|
|
1691
1718
|
Metric: "price" | "growth";
|
|
@@ -1760,6 +1787,7 @@ interface operations {
|
|
|
1760
1787
|
parameters: {
|
|
1761
1788
|
query: {
|
|
1762
1789
|
q: string;
|
|
1790
|
+
/** @description Missing, non-numeric or lower than 1 falls back to 1. */
|
|
1763
1791
|
page?: components["parameters"]["Page"];
|
|
1764
1792
|
limit?: number;
|
|
1765
1793
|
};
|
|
@@ -1831,7 +1859,8 @@ interface operations {
|
|
|
1831
1859
|
pokemonTrendingSets: {
|
|
1832
1860
|
parameters: {
|
|
1833
1861
|
query?: {
|
|
1834
|
-
|
|
1862
|
+
/** @description Only 7d (30d gives 400). */
|
|
1863
|
+
period?: "7d";
|
|
1835
1864
|
limit?: number;
|
|
1836
1865
|
};
|
|
1837
1866
|
header?: never;
|
|
@@ -1867,6 +1896,7 @@ interface operations {
|
|
|
1867
1896
|
pokemonGetSet: {
|
|
1868
1897
|
parameters: {
|
|
1869
1898
|
query?: {
|
|
1899
|
+
/** @description Missing, non-numeric or lower than 1 falls back to 1. */
|
|
1870
1900
|
page?: components["parameters"]["Page"];
|
|
1871
1901
|
limit?: number;
|
|
1872
1902
|
/** @description Set language (`eng`, `jap`, `chn`, `en`, `jp`...): the vocabulary is not uniform between Pokémon and One Piece. */
|
|
@@ -1908,7 +1938,8 @@ interface operations {
|
|
|
1908
1938
|
pokemonSetStatistics: {
|
|
1909
1939
|
parameters: {
|
|
1910
1940
|
query?: {
|
|
1911
|
-
|
|
1941
|
+
/** @description `normal` or `foil`; anything else gives 400 `Invalid parameter`. On Pokémon `holo` is still accepted as a legacy alias of `foil`. */
|
|
1942
|
+
variant?: components["parameters"]["Variant"];
|
|
1912
1943
|
};
|
|
1913
1944
|
header?: never;
|
|
1914
1945
|
path: {
|
|
@@ -2144,6 +2175,7 @@ interface operations {
|
|
|
2144
2175
|
parameters: {
|
|
2145
2176
|
query: {
|
|
2146
2177
|
q: string;
|
|
2178
|
+
/** @description Missing, non-numeric or lower than 1 falls back to 1. */
|
|
2147
2179
|
page?: components["parameters"]["Page"];
|
|
2148
2180
|
limit?: number;
|
|
2149
2181
|
};
|
|
@@ -2252,6 +2284,7 @@ interface operations {
|
|
|
2252
2284
|
opGetSet: {
|
|
2253
2285
|
parameters: {
|
|
2254
2286
|
query?: {
|
|
2287
|
+
/** @description Missing, non-numeric or lower than 1 falls back to 1. */
|
|
2255
2288
|
page?: components["parameters"]["Page"];
|
|
2256
2289
|
limit?: number;
|
|
2257
2290
|
};
|
|
@@ -2290,7 +2323,8 @@ interface operations {
|
|
|
2290
2323
|
opSetStatistics: {
|
|
2291
2324
|
parameters: {
|
|
2292
2325
|
query?: {
|
|
2293
|
-
|
|
2326
|
+
/** @description `normal` or `foil`; anything else gives 400 `Invalid parameter`. On Pokémon `holo` is still accepted as a legacy alias of `foil`. */
|
|
2327
|
+
variant?: components["parameters"]["Variant"];
|
|
2294
2328
|
};
|
|
2295
2329
|
header?: never;
|
|
2296
2330
|
path: {
|
|
@@ -2474,6 +2508,7 @@ interface operations {
|
|
|
2474
2508
|
parameters: {
|
|
2475
2509
|
query: {
|
|
2476
2510
|
q: string;
|
|
2511
|
+
/** @description Missing, non-numeric or lower than 1 falls back to 1. */
|
|
2477
2512
|
page?: components["parameters"]["Page"];
|
|
2478
2513
|
limit?: number;
|
|
2479
2514
|
};
|
|
@@ -2587,6 +2622,7 @@ interface operations {
|
|
|
2587
2622
|
gameGetSet: {
|
|
2588
2623
|
parameters: {
|
|
2589
2624
|
query?: {
|
|
2625
|
+
/** @description Missing, non-numeric or lower than 1 falls back to 1. */
|
|
2590
2626
|
page?: components["parameters"]["Page"];
|
|
2591
2627
|
limit?: number;
|
|
2592
2628
|
};
|
|
@@ -2626,7 +2662,8 @@ interface operations {
|
|
|
2626
2662
|
gameSetStatistics: {
|
|
2627
2663
|
parameters: {
|
|
2628
2664
|
query?: {
|
|
2629
|
-
|
|
2665
|
+
/** @description `normal` or `foil`; anything else gives 400 `Invalid parameter`. On Pokémon `holo` is still accepted as a legacy alias of `foil`. */
|
|
2666
|
+
variant?: components["parameters"]["Variant"];
|
|
2630
2667
|
};
|
|
2631
2668
|
header?: never;
|
|
2632
2669
|
path: {
|