scryfall-api 3.0.1 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/README.md +1 -1
  2. package/dist/declarations/dist/src/api/CardIdentifierBuilder.d.ts +10 -0
  3. package/dist/declarations/dist/src/api/Cards.d.ts +19 -0
  4. package/dist/declarations/dist/src/api/Catalog.d.ts +18 -0
  5. package/dist/declarations/dist/src/api/Rulings.d.ts +11 -0
  6. package/dist/declarations/dist/src/api/Sets.d.ts +10 -0
  7. package/dist/declarations/dist/src/api/Symbology.d.ts +8 -0
  8. package/dist/declarations/dist/src/error/MagicQueryError.d.ts +5 -0
  9. package/dist/declarations/dist/src/index.d.ts +10 -0
  10. package/dist/declarations/dist/src/query/MagicPageResult.d.ts +18 -0
  11. package/dist/declarations/dist/src/query/MagicQuery.d.ts +13 -0
  12. package/dist/declarations/dist/src/types/Border.d.ts +7 -0
  13. package/dist/declarations/dist/src/types/BulkDataDefinition.d.ts +14 -0
  14. package/dist/declarations/dist/src/types/BulkDataType.d.ts +2 -0
  15. package/dist/declarations/dist/src/types/BulkDataTypes.d.ts +7 -0
  16. package/dist/declarations/dist/src/types/Card.d.ts +91 -0
  17. package/dist/declarations/dist/src/types/CardFace.d.ts +22 -0
  18. package/dist/declarations/dist/src/types/CardIdentifier.d.ts +10 -0
  19. package/dist/declarations/dist/src/types/CardSymbol.d.ts +13 -0
  20. package/dist/declarations/dist/src/types/Color.d.ts +9 -0
  21. package/dist/declarations/dist/src/types/Format.d.ts +15 -0
  22. package/dist/declarations/dist/src/types/FrameEffect.d.ts +17 -0
  23. package/dist/declarations/dist/src/types/Game.d.ts +5 -0
  24. package/dist/declarations/dist/src/types/HomepageLink.d.ts +9 -0
  25. package/dist/declarations/dist/src/types/ImageUris.d.ts +8 -0
  26. package/dist/declarations/dist/src/types/Layout.d.ts +20 -0
  27. package/dist/declarations/dist/src/types/Legalties.d.ts +5 -0
  28. package/dist/declarations/dist/src/types/Legalty.d.ts +6 -0
  29. package/dist/declarations/dist/src/types/ManaCost.d.ts +9 -0
  30. package/dist/declarations/dist/src/types/PageQuery.d.ts +5 -0
  31. package/dist/declarations/dist/src/types/PageQueryValue.d.ts +1 -0
  32. package/dist/declarations/dist/src/types/Preview.d.ts +5 -0
  33. package/dist/declarations/dist/src/types/Prices.d.ts +6 -0
  34. package/dist/declarations/dist/src/types/PromoType.d.ts +27 -0
  35. package/dist/declarations/dist/src/types/PurchaseUris.d.ts +6 -0
  36. package/dist/declarations/dist/src/types/Query.d.ts +4 -0
  37. package/dist/declarations/dist/src/types/Rarity.d.ts +6 -0
  38. package/dist/declarations/dist/src/types/RelatedCard.d.ts +9 -0
  39. package/dist/declarations/dist/src/types/RelatedCardComponent.d.ts +6 -0
  40. package/dist/declarations/dist/src/types/RelatedUris.d.ts +7 -0
  41. package/dist/declarations/dist/src/types/ResultCatalog.d.ts +2 -0
  42. package/dist/declarations/dist/src/types/ResultData.d.ts +4 -0
  43. package/dist/declarations/dist/src/types/ResultList.d.ts +7 -0
  44. package/dist/declarations/dist/src/types/RetryStrategy.d.ts +11 -0
  45. package/dist/declarations/dist/src/types/Ruling.d.ts +5 -0
  46. package/dist/declarations/dist/src/types/SearchError.d.ts +7 -0
  47. package/dist/declarations/dist/src/types/SearchOptions.d.ts +15 -0
  48. package/dist/declarations/dist/src/types/Set.d.ts +20 -0
  49. package/dist/declarations/dist/src/types/SetType.d.ts +22 -0
  50. package/dist/declarations/dist/src/types/Sort.d.ts +15 -0
  51. package/dist/declarations/dist/src/types/SortDirection.d.ts +5 -0
  52. package/dist/declarations/dist/src/types/TOrArrayOfT.d.ts +1 -0
  53. package/dist/declarations/dist/src/types/UniqueStrategy.d.ts +5 -0
  54. package/dist/declarations/dist/src/types/index.d.ts +42 -0
  55. package/dist/scryfall-api.cjs.d.ts +1 -1
  56. package/dist/scryfall-api.cjs.dev.js +53 -122
  57. package/dist/scryfall-api.cjs.prod.js +53 -122
  58. package/dist/scryfall-api.esm.js +54 -122
  59. package/dist/scryfall-api.umd.min.js +1 -1
  60. package/dist/scryfall-api.umd.min.js.map +1 -1
  61. package/package.json +59 -7
  62. package/CHANGELOG.md +0 -13
  63. package/DOCUMENTATION.md +0 -505
  64. package/SUPPORT.md +0 -38
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  A Javascript library for [Scryfall](https://scryfall.com/docs/api) written in Typescript.
7
7
 
8
- As of [January 29th, 2022](./CHANGELOG.md), almost all features described in the [Scryfall documentation](https://scryfall.com/docs/api) are supported. If you see something that isn't supported, make an issue! See [support readme](./SUPPORT.md).
8
+ As of [August 6th, 2022](./CHANGELOG.md), almost all features described in the [Scryfall documentation](https://scryfall.com/docs/api) are supported. If you see something that isn't supported, make an issue! See [support readme](./SUPPORT.md).
9
9
 
10
10
  ## Installation
11
11
 
@@ -0,0 +1,10 @@
1
+ import { CardIdentifier } from '../types';
2
+ export declare class CardIdentifierBuilder {
3
+ static byId(id: string): CardIdentifier;
4
+ static byIllustrationId(id: string): CardIdentifier;
5
+ static byMtgoId(id: number): CardIdentifier;
6
+ static byMultiverseId(id: number): CardIdentifier;
7
+ static byName(name: string, set?: string): CardIdentifier;
8
+ static byOracleId(id: string): CardIdentifier;
9
+ static bySet(set: string, collectorNumber: string | number): CardIdentifier;
10
+ }
@@ -0,0 +1,19 @@
1
+ import MagicPageResult from '../query/MagicPageResult';
2
+ import MagicQuery from '../query/MagicQuery';
3
+ import { Card, CardIdentifier, SearchOptions } from '../types';
4
+ declare class Cards extends MagicQuery {
5
+ autoCompleteName(name: string): Promise<string[]>;
6
+ byArenaId(id: number): Promise<Card | undefined>;
7
+ byId(id: string): Promise<Card | undefined>;
8
+ byMtgoId(id: number): Promise<Card | undefined>;
9
+ byMultiverseId(id: number): Promise<Card | undefined>;
10
+ byName(name: string, fuzzy?: boolean): Promise<Card | undefined>;
11
+ byName(name: string, set?: string, fuzzy?: boolean): Promise<Card | undefined>;
12
+ bySet(setCode: string, collectorNumber: number, lang?: string): Promise<Card | undefined>;
13
+ byTcgPlayerId(id: number): Promise<Card | undefined>;
14
+ collection(...identifiers: CardIdentifier[]): Promise<Card[]>;
15
+ random(): Promise<Card | undefined>;
16
+ search(query: string, options?: SearchOptions | number): MagicPageResult<Card, Cards>;
17
+ }
18
+ declare const _default: Cards;
19
+ export default _default;
@@ -0,0 +1,18 @@
1
+ import MagicQuery from '../query/MagicQuery';
2
+ declare class Catalog extends MagicQuery {
3
+ artifactTypes(): Promise<string[]>;
4
+ artistNames(): Promise<string[]>;
5
+ cardNames(): Promise<string[]>;
6
+ creatureTypes(): Promise<string[]>;
7
+ enchantmentTypes(): Promise<string[]>;
8
+ landTypes(): Promise<string[]>;
9
+ loyalties(): Promise<string[]>;
10
+ planeswalkerTypes(): Promise<string[]>;
11
+ powers(): Promise<string[]>;
12
+ spellTypes(): Promise<string[]>;
13
+ toughnesses(): Promise<string[]>;
14
+ watermarks(): Promise<string[]>;
15
+ wordBank(): Promise<string[]>;
16
+ }
17
+ declare const _default: Catalog;
18
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import MagicQuery from '../query/MagicQuery';
2
+ import { Ruling } from '../types';
3
+ declare class Rulings extends MagicQuery {
4
+ byArenaId(id: number): Promise<Ruling[]>;
5
+ byId(id: string): Promise<Ruling[]>;
6
+ byMtgoId(id: number): Promise<Ruling[]>;
7
+ byMultiverseId(id: number): Promise<Ruling[]>;
8
+ bySet(setCode: string, collectorNumber: string | number): Promise<Ruling[]>;
9
+ }
10
+ declare const _default: Rulings;
11
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import MagicQuery from '../query/MagicQuery';
2
+ import { Set } from '../types';
3
+ declare class Sets extends MagicQuery {
4
+ all(): Promise<Set[]>;
5
+ byCode(code: string): Promise<Set | undefined>;
6
+ byId(id: string): Promise<Set | undefined>;
7
+ byTcgPlayerId(id: number): Promise<Set | undefined>;
8
+ }
9
+ declare const _default: Sets;
10
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import MagicQuery from '../query/MagicQuery';
2
+ import { CardSymbol, ManaCost } from '../types';
3
+ declare class Symbology extends MagicQuery {
4
+ all(): Promise<CardSymbol[]>;
5
+ parseMana(shorthand: string): Promise<ManaCost | undefined>;
6
+ }
7
+ declare const _default: Symbology;
8
+ export default _default;
@@ -0,0 +1,5 @@
1
+ import { SearchError } from '../types';
2
+ export declare class MagicQueryError extends Error {
3
+ readonly data?: SearchError | undefined;
4
+ constructor(data?: SearchError | undefined);
5
+ }
@@ -0,0 +1,10 @@
1
+ export { default as Cards } from './api/Cards';
2
+ export { default as Catalog } from './api/Catalog';
3
+ export { default as Rulings } from './api/Rulings';
4
+ export { default as Sets } from './api/Sets';
5
+ export { default as Symbology } from './api/Symbology';
6
+ export * from './api/CardIdentifierBuilder';
7
+ export * from './error/MagicQueryError';
8
+ export * from './query/MagicQuery';
9
+ export * from './query/MagicPageResult';
10
+ export * from './types';
@@ -0,0 +1,18 @@
1
+ import { PageQuery } from '../types';
2
+ import MagicQuery from './MagicQuery';
3
+ export default class MagicPageResult<T, Q extends MagicQuery, P = unknown> {
4
+ private readonly q;
5
+ private readonly apiPath;
6
+ private readonly query;
7
+ private readonly post?;
8
+ private _hasMore;
9
+ private _count;
10
+ constructor(q: Q, apiPath: string, query: PageQuery, post?: P | undefined);
11
+ get count(): number;
12
+ get hasMore(): boolean;
13
+ all(): Promise<T[]>;
14
+ get(limit: number): Promise<T[]>;
15
+ next(): Promise<T[]>;
16
+ page(page: number): Promise<T[]>;
17
+ private setNextPage;
18
+ }
@@ -0,0 +1,13 @@
1
+ import { AxiosRequestConfig } from 'axios';
2
+ import { Query, RetryStrategy, TOrArrayOfT } from '../types';
3
+ export default class MagicQuery {
4
+ static retry: RetryStrategy;
5
+ private static readonly endpoint;
6
+ private static lastQuery;
7
+ private static readonly rateLimit;
8
+ private static canRetry;
9
+ private static debounce;
10
+ private static sleep;
11
+ private static tryQuery;
12
+ query<T = unknown, Y = unknown>(apiPath: TOrArrayOfT<string | number | undefined>, query?: Query, post?: Y, requestOptions?: AxiosRequestConfig): Promise<T | undefined>;
13
+ }
@@ -0,0 +1,7 @@
1
+ export declare enum Border {
2
+ black = 0,
3
+ borderless = 1,
4
+ gold = 2,
5
+ silver = 3,
6
+ white = 4
7
+ }
@@ -0,0 +1,14 @@
1
+ import { BulkDataType } from './BulkDataType';
2
+ export interface BulkDataDefinition {
3
+ compressed_size: number;
4
+ content_encoding: string;
5
+ content_type: string;
6
+ description: string;
7
+ download_uri: string;
8
+ id: string;
9
+ name: string;
10
+ object: 'bulk_data';
11
+ type: BulkDataType;
12
+ updated_at: string;
13
+ uri: string;
14
+ }
@@ -0,0 +1,2 @@
1
+ import { BulkDataTypes } from './BulkDataTypes';
2
+ export declare type BulkDataType = keyof typeof BulkDataTypes;
@@ -0,0 +1,7 @@
1
+ export declare enum BulkDataTypes {
2
+ oracle_cards = 0,
3
+ unique_artwork = 1,
4
+ default_cards = 2,
5
+ all_cards = 3,
6
+ rulings = 4
7
+ }
@@ -0,0 +1,91 @@
1
+ import { Border } from './Border';
2
+ import { CardFace } from './CardFace';
3
+ import { Color } from './Color';
4
+ import { FrameEffect } from './FrameEffect';
5
+ import { Game } from './Game';
6
+ import { ImageUris } from './ImageUris';
7
+ import { Layout } from './Layout';
8
+ import { Legalities } from './Legalties';
9
+ import { Preview } from './Preview';
10
+ import { Prices } from './Prices';
11
+ import { PromoType } from './PromoType';
12
+ import { PurchaseUris } from './PurchaseUris';
13
+ import { Rarity } from './Rarity';
14
+ import { RelatedCard } from './RelatedCard';
15
+ import { RelatedUris } from './RelatedUris';
16
+ import { Set as ScryfallSet } from './Set';
17
+ export interface Card {
18
+ object: 'card';
19
+ arena_id?: number;
20
+ id: string;
21
+ lang: string;
22
+ mtgo_id?: number;
23
+ mtgo_foil_id?: number;
24
+ multiverse_ids?: number[];
25
+ tcgplayer_id?: number;
26
+ oracle_id: string;
27
+ prints_search_uri: string;
28
+ rulings_uri: string;
29
+ scryfall_uri: string;
30
+ uri: string;
31
+ all_parts?: RelatedCard[];
32
+ card_faces?: CardFace[];
33
+ cmc: number;
34
+ colors?: Color[];
35
+ color_identity: Color[];
36
+ color_indicator?: Color[];
37
+ edhrec_rank?: number;
38
+ foil: boolean;
39
+ hand_modifier?: string;
40
+ layout: keyof typeof Layout;
41
+ legalities: Legalities;
42
+ life_modifier?: string;
43
+ loyalty?: string;
44
+ mana_cost?: string;
45
+ name: string;
46
+ nonfoil: boolean;
47
+ oracle_text?: string;
48
+ oversized: boolean;
49
+ power?: string;
50
+ reserved: boolean;
51
+ toughness?: string;
52
+ type_line: string;
53
+ artist?: string;
54
+ artist_ids?: string[];
55
+ booster: boolean;
56
+ border_color: keyof typeof Border;
57
+ card_back_id: string;
58
+ collector_number: string;
59
+ digital: boolean;
60
+ flavor_text?: string;
61
+ frame_effects?: (keyof typeof FrameEffect)[];
62
+ frame: '1993' | '1997' | '2003' | '2015' | 'Future';
63
+ full_art: boolean;
64
+ games: (keyof typeof Game)[];
65
+ highres_image: boolean;
66
+ illustration_id?: string;
67
+ image_uris?: ImageUris;
68
+ prices: Prices;
69
+ printed_name?: string;
70
+ printed_text?: string;
71
+ printed_type_line?: string;
72
+ promo: boolean;
73
+ promo_types?: (keyof typeof PromoType)[];
74
+ purchase_uris: PurchaseUris;
75
+ rarity: keyof typeof Rarity;
76
+ related_uris: RelatedUris;
77
+ released_at: string;
78
+ reprint: boolean;
79
+ scryfall_set_uri: string;
80
+ set_name: string;
81
+ set_search_uri: string;
82
+ set_type: ScryfallSet['set_type'];
83
+ set_uri: string;
84
+ set: string;
85
+ story_spotlight: boolean;
86
+ textless: boolean;
87
+ variation: boolean;
88
+ variation_of?: string;
89
+ watermark?: string;
90
+ preview?: Preview;
91
+ }
@@ -0,0 +1,22 @@
1
+ import { Color } from './Color';
2
+ import { ImageUris } from './ImageUris';
3
+ export interface CardFace {
4
+ object: 'card_face';
5
+ artist?: string;
6
+ color_indicator?: Color[];
7
+ colors: Color[];
8
+ flavor_text?: string;
9
+ illustration_id?: string;
10
+ image_uris?: ImageUris;
11
+ loyalty?: string;
12
+ mana_cost: string;
13
+ name: string;
14
+ oracle_text?: string;
15
+ power?: string;
16
+ printed_name?: string;
17
+ printed_text?: string;
18
+ printed_type_line?: string;
19
+ toughness?: string;
20
+ type_line: string;
21
+ watermark?: string;
22
+ }
@@ -0,0 +1,10 @@
1
+ export interface CardIdentifier {
2
+ id?: string;
3
+ mtgo_id?: number;
4
+ multiverse_id?: number;
5
+ oracle_id?: string;
6
+ illustration_id?: string;
7
+ name?: string;
8
+ set?: string;
9
+ collector_number?: string;
10
+ }
@@ -0,0 +1,13 @@
1
+ import { Color } from './Color';
2
+ export interface CardSymbol {
3
+ symbol: string;
4
+ loose_variant?: string;
5
+ english: string;
6
+ transposable: boolean;
7
+ represents_mana: boolean;
8
+ converted_mana_cost?: number;
9
+ colors: Color[];
10
+ appears_in_mana_costs: boolean;
11
+ funny: boolean;
12
+ gatherer_alternates?: string[];
13
+ }
@@ -0,0 +1,9 @@
1
+ declare enum Colors {
2
+ W = 0,
3
+ B = 1,
4
+ R = 2,
5
+ U = 3,
6
+ G = 4
7
+ }
8
+ export declare type Color = keyof typeof Colors;
9
+ export {};
@@ -0,0 +1,15 @@
1
+ export declare enum Format {
2
+ standard = 0,
3
+ future = 1,
4
+ historic = 2,
5
+ pioneer = 3,
6
+ modern = 4,
7
+ legacy = 5,
8
+ pauper = 6,
9
+ vintage = 7,
10
+ penny = 8,
11
+ commander = 9,
12
+ brawl = 10,
13
+ duel = 11,
14
+ oldschool = 12
15
+ }
@@ -0,0 +1,17 @@
1
+ export declare enum FrameEffect {
2
+ legendary = 0,
3
+ miracle = 1,
4
+ nyxtouched = 2,
5
+ draft = 3,
6
+ devoid = 4,
7
+ tombstone = 5,
8
+ colorshifted = 6,
9
+ inverted = 7,
10
+ sunmoondfc = 8,
11
+ compasslanddfc = 9,
12
+ originpwdfc = 10,
13
+ mooneldrazidfc = 11,
14
+ moonreversemoondfc = 12,
15
+ showcase = 13,
16
+ extendedart = 14
17
+ }
@@ -0,0 +1,5 @@
1
+ export declare enum Game {
2
+ paper = 0,
3
+ arena = 1,
4
+ mtgo = 2
5
+ }
@@ -0,0 +1,9 @@
1
+ export interface HomepageLink {
2
+ id: number;
3
+ created_at: string;
4
+ updated_at: string;
5
+ priority: number;
6
+ text: string;
7
+ uri: string;
8
+ badge?: string;
9
+ }
@@ -0,0 +1,8 @@
1
+ export interface ImageUris {
2
+ small: string;
3
+ normal: string;
4
+ large: string;
5
+ png: string;
6
+ art_crop: string;
7
+ border_crop: string;
8
+ }
@@ -0,0 +1,20 @@
1
+ export declare enum Layout {
2
+ normal = 0,
3
+ split = 1,
4
+ flip = 2,
5
+ transform = 3,
6
+ meld = 4,
7
+ leveler = 5,
8
+ saga = 6,
9
+ adventure = 7,
10
+ planar = 8,
11
+ scheme = 9,
12
+ vanguard = 10,
13
+ token = 11,
14
+ double_faced_token = 12,
15
+ emblem = 13,
16
+ augment = 14,
17
+ host = 15,
18
+ art_series = 16,
19
+ double_sided = 17
20
+ }
@@ -0,0 +1,5 @@
1
+ import { Format } from './Format';
2
+ import { Legality } from './Legalty';
3
+ export declare type Legalities = {
4
+ [key in keyof typeof Format]: keyof typeof Legality;
5
+ };
@@ -0,0 +1,6 @@
1
+ export declare enum Legality {
2
+ legal = 0,
3
+ not_legal = 1,
4
+ restricted = 2,
5
+ banned = 3
6
+ }
@@ -0,0 +1,9 @@
1
+ import { Color } from './Color';
2
+ export interface ManaCost {
3
+ cost: string;
4
+ cmc: number;
5
+ colors: Color[];
6
+ colorless: boolean;
7
+ monocolored: boolean;
8
+ multicolored: boolean;
9
+ }
@@ -0,0 +1,5 @@
1
+ import { QueryValue } from './PageQueryValue';
2
+ export declare type PageQuery = {
3
+ [key: string]: QueryValue;
4
+ page: number;
5
+ };
@@ -0,0 +1 @@
1
+ export declare type QueryValue = string | number | boolean | undefined;
@@ -0,0 +1,5 @@
1
+ export interface Preview {
2
+ previewed_at?: string;
3
+ source_uri?: string;
4
+ source?: string;
5
+ }
@@ -0,0 +1,6 @@
1
+ export interface Prices {
2
+ usd?: string;
3
+ usd_foil?: string;
4
+ eur?: string;
5
+ tix?: string;
6
+ }
@@ -0,0 +1,27 @@
1
+ export declare enum PromoType {
2
+ tourney = 0,
3
+ prerelease = 1,
4
+ datestamped = 2,
5
+ planeswalkerdeck = 3,
6
+ buyabox = 4,
7
+ judgegift = 5,
8
+ event = 6,
9
+ convention = 7,
10
+ starterdeck = 8,
11
+ instore = 9,
12
+ setpromo = 10,
13
+ fnm = 11,
14
+ openhouse = 12,
15
+ league = 13,
16
+ draftweekend = 14,
17
+ gameday = 15,
18
+ release = 16,
19
+ intropack = 17,
20
+ giftbox = 18,
21
+ duels = 19,
22
+ wizardsplaynetwork = 20,
23
+ premiereshop = 21,
24
+ playerrewards = 22,
25
+ gateway = 23,
26
+ arenaleague = 24
27
+ }
@@ -0,0 +1,6 @@
1
+ export interface PurchaseUris {
2
+ tcgplayer?: string;
3
+ cardmarket?: string;
4
+ cardhoarder?: string;
5
+ [key: string]: string | undefined;
6
+ }
@@ -0,0 +1,4 @@
1
+ import { QueryValue } from './PageQueryValue';
2
+ export declare type Query = {
3
+ [key: string]: QueryValue;
4
+ };
@@ -0,0 +1,6 @@
1
+ export declare enum Rarity {
2
+ common = 0,
3
+ uncommon = 1,
4
+ rare = 2,
5
+ mythic = 3
6
+ }
@@ -0,0 +1,9 @@
1
+ import { RelatedCardComponent } from './RelatedCardComponent';
2
+ export interface RelatedCard {
3
+ component: keyof typeof RelatedCardComponent;
4
+ id: string;
5
+ name: string;
6
+ object: 'related_card';
7
+ type_line: string;
8
+ uri: string;
9
+ }
@@ -0,0 +1,6 @@
1
+ export declare enum RelatedCardComponent {
2
+ token = 0,
3
+ meld_part = 1,
4
+ meld_result = 2,
5
+ combo_piece = 3
6
+ }
@@ -0,0 +1,7 @@
1
+ export interface RelatedUris {
2
+ gatherer?: string;
3
+ tcgplayer_decks?: string;
4
+ edhrec?: string;
5
+ mtgtop8?: string;
6
+ [key: string]: string | undefined;
7
+ }
@@ -0,0 +1,2 @@
1
+ import { ResultData } from './ResultData';
2
+ export declare type ResultCatalog = ResultData<string>;
@@ -0,0 +1,4 @@
1
+ export interface ResultData<T, NOT_FOUND = never> {
2
+ data: T[];
3
+ not_found?: NOT_FOUND[];
4
+ }
@@ -0,0 +1,7 @@
1
+ import { ResultData } from './ResultData';
2
+ export interface ResultList<T, NOT_FOUND = never> extends ResultData<T, NOT_FOUND> {
3
+ has_more: boolean;
4
+ next_page: string;
5
+ total_cards: string;
6
+ warnings: string[];
7
+ }
@@ -0,0 +1,11 @@
1
+ import { SearchError } from './SearchError';
2
+ export interface RetryStrategy {
3
+ attempts: number;
4
+ timeout?: number;
5
+ /**
6
+ * Whether even `not_found` and `bad_request` errors should be retried.
7
+ * @deprecated Don't use this, this is for unit tests
8
+ */
9
+ forced?: boolean;
10
+ canRetry?(error?: SearchError): boolean;
11
+ }
@@ -0,0 +1,5 @@
1
+ export interface Ruling {
2
+ source: string;
3
+ published_at: string;
4
+ comment: string;
5
+ }
@@ -0,0 +1,7 @@
1
+ export interface SearchError {
2
+ object: 'error';
3
+ code: string;
4
+ status: number;
5
+ details: string;
6
+ warnings?: string[];
7
+ }
@@ -0,0 +1,15 @@
1
+ import { Sort } from './Sort';
2
+ import { SortDirection } from './SortDirection';
3
+ import { UniqueStrategy } from './UniqueStrategy';
4
+ export interface SearchOptions {
5
+ unique?: keyof typeof UniqueStrategy;
6
+ order?: keyof typeof Sort;
7
+ dir?: keyof typeof SortDirection;
8
+ include_extras?: boolean;
9
+ include_multilingual?: boolean;
10
+ include_variations?: boolean;
11
+ /**
12
+ * The page to start on. Defaults to `1`, for first page. A page is 175 cards.
13
+ */
14
+ page?: number;
15
+ }
@@ -0,0 +1,20 @@
1
+ import { SetType } from './SetType';
2
+ export interface Set {
3
+ id: string;
4
+ code: string;
5
+ mtgo_code?: string;
6
+ tcgplayer_id?: number;
7
+ name: string;
8
+ set_type: keyof typeof SetType;
9
+ released_at?: string;
10
+ block_code?: string;
11
+ block?: string;
12
+ parent_set_code?: string;
13
+ card_count: number;
14
+ digital: boolean;
15
+ foil_only: boolean;
16
+ scryfall_uri: string;
17
+ uri: string;
18
+ icon_svg_uri: string;
19
+ search_uri: string;
20
+ }
@@ -0,0 +1,22 @@
1
+ export declare enum SetType {
2
+ core = 0,
3
+ expansion = 1,
4
+ masters = 2,
5
+ masterpiece = 3,
6
+ from_the_vault = 4,
7
+ spellbook = 5,
8
+ premium_deck = 6,
9
+ duel_deck = 7,
10
+ draft_innovation = 8,
11
+ treasure_chest = 9,
12
+ commander = 10,
13
+ planechase = 11,
14
+ archenemy = 12,
15
+ vanguard = 13,
16
+ funny = 14,
17
+ starter = 15,
18
+ box = 16,
19
+ promo = 17,
20
+ token = 18,
21
+ memorabilia = 19
22
+ }