scryfall-api 3.2.2 → 3.2.4

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 (59) hide show
  1. package/README.md +3 -1
  2. package/dist/index.d.ts +591 -0
  3. package/dist/scryfall-api.mjs +113 -113
  4. package/dist/scryfall-api.umd.js +1 -1
  5. package/package.json +8 -15
  6. package/dist/scryfall-api.js +0 -1
  7. package/dist/types/src/api/CardIdentifierBuilder.d.ts +0 -28
  8. package/dist/types/src/api/Cards.d.ts +0 -17
  9. package/dist/types/src/api/Catalog.d.ts +0 -18
  10. package/dist/types/src/api/Rulings.d.ts +0 -10
  11. package/dist/types/src/api/Sets.d.ts +0 -9
  12. package/dist/types/src/api/Symbology.d.ts +0 -7
  13. package/dist/types/src/error/MagicQueryError.d.ts +0 -3
  14. package/dist/types/src/index.d.ts +0 -10
  15. package/dist/types/src/query/MagicPageResult.d.ts +0 -12
  16. package/dist/types/src/query/MagicQuery.d.ts +0 -13
  17. package/dist/types/src/types/Border.d.ts +0 -1
  18. package/dist/types/src/types/BulkDataDefinition.d.ts +0 -0
  19. package/dist/types/src/types/BulkDataType.d.ts +0 -0
  20. package/dist/types/src/types/BulkDataTypes.d.ts +0 -1
  21. package/dist/types/src/types/Card.d.ts +0 -0
  22. package/dist/types/src/types/CardFace.d.ts +0 -0
  23. package/dist/types/src/types/CardIdentifier.d.ts +0 -0
  24. package/dist/types/src/types/CardSymbol.d.ts +0 -0
  25. package/dist/types/src/types/Color.d.ts +0 -1
  26. package/dist/types/src/types/Format.d.ts +0 -1
  27. package/dist/types/src/types/FrameEffect.d.ts +0 -1
  28. package/dist/types/src/types/Game.d.ts +0 -1
  29. package/dist/types/src/types/HomepageLink.d.ts +0 -0
  30. package/dist/types/src/types/ImageUris.d.ts +0 -0
  31. package/dist/types/src/types/Layout.d.ts +0 -1
  32. package/dist/types/src/types/Legalties.d.ts +0 -0
  33. package/dist/types/src/types/Legalty.d.ts +0 -1
  34. package/dist/types/src/types/ManaCost.d.ts +0 -0
  35. package/dist/types/src/types/PageQuery.d.ts +0 -0
  36. package/dist/types/src/types/PageQueryValue.d.ts +0 -0
  37. package/dist/types/src/types/Preview.d.ts +0 -0
  38. package/dist/types/src/types/Prices.d.ts +0 -0
  39. package/dist/types/src/types/PromoType.d.ts +0 -1
  40. package/dist/types/src/types/PurchaseUris.d.ts +0 -0
  41. package/dist/types/src/types/Query.d.ts +0 -0
  42. package/dist/types/src/types/Rarity.d.ts +0 -1
  43. package/dist/types/src/types/RelatedCard.d.ts +0 -0
  44. package/dist/types/src/types/RelatedCardComponent.d.ts +0 -1
  45. package/dist/types/src/types/RelatedUris.d.ts +0 -0
  46. package/dist/types/src/types/ResultCatalog.d.ts +0 -0
  47. package/dist/types/src/types/ResultData.d.ts +0 -0
  48. package/dist/types/src/types/ResultList.d.ts +0 -0
  49. package/dist/types/src/types/RetryStrategy.d.ts +0 -0
  50. package/dist/types/src/types/Ruling.d.ts +0 -0
  51. package/dist/types/src/types/SearchError.d.ts +0 -0
  52. package/dist/types/src/types/SearchOptions.d.ts +0 -0
  53. package/dist/types/src/types/Set.d.ts +0 -0
  54. package/dist/types/src/types/SetType.d.ts +0 -1
  55. package/dist/types/src/types/Sort.d.ts +0 -1
  56. package/dist/types/src/types/SortDirection.d.ts +0 -1
  57. package/dist/types/src/types/TOrArrayOfT.d.ts +0 -0
  58. package/dist/types/src/types/UniqueStrategy.d.ts +0 -1
  59. package/dist/types/src/types/index.d.ts +0 -42
@@ -1,33 +1,33 @@
1
1
  import g from "axios";
2
2
  class J {
3
- static byId(e) {
4
- return { id: e };
3
+ static byId(a) {
4
+ return { id: a };
5
5
  }
6
- static byIllustrationId(e) {
7
- return { illustration_id: e };
6
+ static byIllustrationId(a) {
7
+ return { illustration_id: a };
8
8
  }
9
- static byMtgoId(e) {
10
- return { mtgo_id: e };
9
+ static byMtgoId(a) {
10
+ return { mtgo_id: a };
11
11
  }
12
- static byMultiverseId(e) {
13
- return { multiverse_id: e };
12
+ static byMultiverseId(a) {
13
+ return { multiverse_id: a };
14
14
  }
15
- static byName(e, a) {
16
- return a ? { name: e, set: a } : { name: e };
15
+ static byName(a, e) {
16
+ return e ? { name: a, set: e } : { name: a };
17
17
  }
18
- static byOracleId(e) {
19
- return { oracle_id: e };
18
+ static byOracleId(a) {
19
+ return { oracle_id: a };
20
20
  }
21
- static bySet(e, a) {
22
- return { collector_number: `${a}`, set: e };
21
+ static bySet(a, e) {
22
+ return { collector_number: `${e}`, set: a };
23
23
  }
24
24
  }
25
25
  class w {
26
- constructor(e, a, t, n) {
27
- this.q = e, this.apiPath = a, this.query = t, this.post = n, this._hasMore = !0, this._count = 0;
26
+ constructor(a, e, r, n) {
27
+ this.q = a, this.apiPath = e, this.query = r, this.post = n, this._hasMore = !0, this._count = 0;
28
28
  }
29
- _hasMore;
30
29
  _count;
30
+ _hasMore;
31
31
  get count() {
32
32
  return this._count;
33
33
  }
@@ -35,41 +35,41 @@ class w {
35
35
  return this._hasMore;
36
36
  }
37
37
  async all() {
38
- const e = [];
38
+ const a = [];
39
39
  for (; this._hasMore; ) {
40
- const a = await this.next();
41
- e.push(...a);
40
+ const e = await this.next();
41
+ a.push(...e);
42
42
  }
43
- return e;
43
+ return a;
44
44
  }
45
- async get(e) {
46
- const a = [];
45
+ async get(a) {
46
+ const e = [];
47
47
  for (; this._hasMore; ) {
48
- const t = await this.next();
49
- if (a.push(...t), a.length === e)
50
- return a;
51
- if (a.length > e)
52
- return a.slice(0, e);
48
+ const r = await this.next();
49
+ if (e.push(...r), e.length === a)
50
+ return e;
51
+ if (e.length > a)
52
+ return e.slice(0, a);
53
53
  }
54
- return a;
54
+ return e;
55
55
  }
56
56
  async next() {
57
- const e = await this.q.query(this.apiPath, this.query, this.post);
58
- return this._hasMore = e?.has_more ?? !1, this._count = Number.parseInt(`${e?.total_cards ?? 0}`, 10), this._hasMore && this.setNextPage(), e?.data ?? [];
57
+ const a = await this.q.query(this.apiPath, this.query, this.post);
58
+ return this._hasMore = a?.has_more ?? !1, this._count = Number.parseInt(`${a?.total_cards ?? 0}`, 10), this._hasMore && this.setNextPage(), a?.data ?? [];
59
59
  }
60
- async page(e) {
61
- return this.query.page = e, this.next();
60
+ async page(a) {
61
+ return this.query.page = a, this.next();
62
62
  }
63
63
  setNextPage() {
64
64
  this.query.page = this.query.page + 1;
65
65
  }
66
66
  }
67
67
  class d extends Error {
68
- constructor(e) {
69
- super(typeof e == "string" ? e : e?.details), this.data = e, Object.setPrototypeOf(this, d.prototype);
68
+ constructor(a) {
69
+ super(typeof a == "string" ? a : a?.details), this.data = a, Object.setPrototypeOf(this, d.prototype);
70
70
  }
71
71
  }
72
- class r {
72
+ class t {
73
73
  static retry = { attempts: 1 };
74
74
  // the path to the api
75
75
  static endpoint = "https://api.scryfall.com";
@@ -77,30 +77,30 @@ class r {
77
77
  static lastQuery = 100;
78
78
  // the api requests 50-100 ms between calls, we go on the generous side and never wait less than 100 ms between calls
79
79
  static rateLimit = 100;
80
- static canRetry(e) {
81
- return typeof e == "string" || e?.code === "not_found" || e?.code === "bad_request" ? !1 : !r.retry.canRetry || r.retry.canRetry(e);
80
+ static canRetry(a) {
81
+ return typeof a == "string" || a?.code === "not_found" || a?.code === "bad_request" ? !1 : !t.retry.canRetry || t.retry.canRetry(a);
82
82
  }
83
83
  static async debounce() {
84
- const e = Date.now(), a = e - r.lastQuery;
85
- if (a >= r.rateLimit)
86
- r.lastQuery = e;
84
+ const a = Date.now(), e = a - t.lastQuery;
85
+ if (e >= t.rateLimit)
86
+ t.lastQuery = a;
87
87
  else {
88
- const t = r.rateLimit - a;
89
- r.lastQuery += t, await r.sleep(t);
88
+ const r = t.rateLimit - e;
89
+ t.lastQuery += r, await t.sleep(r);
90
90
  }
91
91
  }
92
- static async sleep(e = 0) {
93
- return new Promise((a) => {
94
- setTimeout(a, e);
92
+ static async sleep(a = 0) {
93
+ return new Promise((e) => {
94
+ setTimeout(e, a);
95
95
  });
96
96
  }
97
- static async tryQuery(e, a, t, n) {
98
- await r.debounce();
97
+ static async tryQuery(a, e, r, n) {
98
+ await t.debounce();
99
99
  const c = {
100
- data: t,
101
- method: t ? "POST" : "GET",
102
- params: a,
103
- url: `${r.endpoint}/${e}`,
100
+ data: r,
101
+ method: r ? "POST" : "GET",
102
+ params: e,
103
+ url: `${t.endpoint}/${a}`,
104
104
  headers: { "Accept-Encoding": "gzip,deflate,compress" },
105
105
  ...n
106
106
  };
@@ -114,83 +114,83 @@ class r {
114
114
  throw i;
115
115
  }
116
116
  }
117
- async query(e, a, t, n) {
117
+ async query(a, e, r, n) {
118
118
  let c = "";
119
- typeof e == "number" || typeof e == "string" ? c = e : e && (c = e.join("/"));
119
+ typeof a == "number" || typeof a == "string" ? c = a : a && (c = a.join("/"));
120
120
  let i, l;
121
- for (i = 0; i < r.retry.attempts; i++) {
121
+ for (i = 0; i < t.retry.attempts; i++) {
122
122
  let h;
123
123
  try {
124
- l = await r.tryQuery(`${c}`, a, t, n);
124
+ l = await t.tryQuery(`${c}`, e, r, n);
125
125
  } catch (u) {
126
126
  if (u instanceof d)
127
127
  h = u.data;
128
128
  else
129
129
  throw u;
130
130
  }
131
- if (l || !r.canRetry(h))
131
+ if (l || !t.canRetry(h))
132
132
  break;
133
- await r.sleep(r.retry.timeout);
133
+ await t.sleep(t.retry.timeout);
134
134
  }
135
135
  return l?.data;
136
136
  }
137
137
  }
138
- class o extends r {
139
- async autoCompleteName(e) {
138
+ class o extends t {
139
+ async autoCompleteName(a) {
140
140
  return (await this.query("cards/autocomplete", {
141
- q: e
141
+ q: a
142
142
  }))?.data ?? [];
143
143
  }
144
- async byArenaId(e) {
145
- return this.query(["cards/arena", e]);
144
+ async byArenaId(a) {
145
+ return this.query(["cards/arena", a]);
146
146
  }
147
- async byId(e) {
148
- return this.query(["cards", e]);
147
+ async byId(a) {
148
+ return this.query(["cards", a]);
149
149
  }
150
- async byMtgoId(e) {
151
- return this.query(["cards/mtgo", e]);
150
+ async byMtgoId(a) {
151
+ return this.query(["cards/mtgo", a]);
152
152
  }
153
- async byMultiverseId(e) {
154
- return this.query(["cards/multiverse", e]);
153
+ async byMultiverseId(a) {
154
+ return this.query(["cards/multiverse", a]);
155
155
  }
156
- async byName(e, a, t = !1) {
157
- let n = t, c = a;
158
- return typeof a == "boolean" && (n = a, c = void 0), this.query("cards/named", {
159
- [n ? "fuzzy" : "exact"]: e,
156
+ async byName(a, e, r = !1) {
157
+ let n = r, c = e;
158
+ return typeof e == "boolean" && (n = e, c = void 0), this.query("cards/named", {
159
+ [n ? "fuzzy" : "exact"]: a,
160
160
  set: c
161
161
  });
162
162
  }
163
- async bySet(e, a, t) {
164
- const n = ["cards", e, a];
165
- return t && n.push(t), this.query(n);
163
+ async bySet(a, e, r) {
164
+ const n = ["cards", a, e];
165
+ return r && n.push(r), this.query(n);
166
166
  }
167
- async byTcgPlayerId(e) {
168
- return this.query(["cards/tcgplayer", e]);
167
+ async byTcgPlayerId(a) {
168
+ return this.query(["cards/tcgplayer", a]);
169
169
  }
170
- async collection(...e) {
171
- const a = [];
172
- for (let t = 0; t < e.length; t += 75) {
173
- const n = { identifiers: e.slice(t, t + 75) }, c = await this.query(
170
+ async collection(...a) {
171
+ const e = [];
172
+ for (let r = 0; r < a.length; r += 75) {
173
+ const n = { identifiers: a.slice(r, r + 75) }, c = await this.query(
174
174
  "cards/collection",
175
175
  void 0,
176
176
  n
177
177
  );
178
- a.push(...c?.data ?? []);
178
+ e.push(...c?.data ?? []);
179
179
  }
180
- return a;
180
+ return e;
181
181
  }
182
182
  async random() {
183
183
  return this.query("cards/random");
184
184
  }
185
- search(e, a) {
185
+ search(a, e) {
186
186
  return new w(this, "cards/search", {
187
- q: e,
188
- ...typeof a == "number" ? { page: a } : { page: 1, ...a }
187
+ q: a,
188
+ ...typeof e == "number" ? { page: e } : { page: 1, ...e }
189
189
  });
190
190
  }
191
191
  }
192
192
  const K = new o();
193
- class b extends r {
193
+ class b extends t {
194
194
  async artifactTypes() {
195
195
  return (await this.query("catalog/artifact-types"))?.data ?? [];
196
196
  }
@@ -232,64 +232,64 @@ class b extends r {
232
232
  }
233
233
  }
234
234
  const V = new b();
235
- class v extends r {
236
- async byArenaId(e) {
237
- return (await this.query(["cards/arena", e, "rulings"]))?.data ?? [];
235
+ class v extends t {
236
+ async byArenaId(a) {
237
+ return (await this.query(["cards/arena", a, "rulings"]))?.data ?? [];
238
238
  }
239
- async byId(e) {
240
- return (await this.query(["cards", e, "rulings"]))?.data ?? [];
239
+ async byId(a) {
240
+ return (await this.query(["cards", a, "rulings"]))?.data ?? [];
241
241
  }
242
- async byMtgoId(e) {
243
- return (await this.query(["cards/mtgo", e, "rulings"]))?.data ?? [];
242
+ async byMtgoId(a) {
243
+ return (await this.query(["cards/mtgo", a, "rulings"]))?.data ?? [];
244
244
  }
245
- async byMultiverseId(e) {
246
- return (await this.query(["cards/multiverse", e, "rulings"]))?.data ?? [];
245
+ async byMultiverseId(a) {
246
+ return (await this.query(["cards/multiverse", a, "rulings"]))?.data ?? [];
247
247
  }
248
- async bySet(e, a) {
248
+ async bySet(a, e) {
249
249
  return (await this.query([
250
250
  "cards",
251
- e,
252
- `${a}`,
251
+ a,
252
+ `${e}`,
253
253
  "rulings"
254
254
  ]))?.data ?? [];
255
255
  }
256
256
  }
257
257
  const W = new v();
258
- class q extends r {
258
+ class q extends t {
259
259
  async all() {
260
260
  return (await this.query("sets"))?.data ?? [];
261
261
  }
262
- async byCode(e) {
263
- return await this.query(["sets", e]);
262
+ async byCode(a) {
263
+ return await this.query(["sets", a]);
264
264
  }
265
- async byId(e) {
266
- return this.query(["sets", e]);
265
+ async byId(a) {
266
+ return this.query(["sets", a]);
267
267
  }
268
- async byTcgPlayerId(e) {
269
- return this.query(["sets/tcgplayer", e]);
268
+ async byTcgPlayerId(a) {
269
+ return this.query(["sets/tcgplayer", a]);
270
270
  }
271
271
  }
272
272
  const X = new q();
273
- class _ extends r {
273
+ class _ extends t {
274
274
  async all() {
275
275
  return (await this.query("symbology"))?.data ?? [];
276
276
  }
277
- async parseMana(e) {
277
+ async parseMana(a) {
278
278
  return await this.query("symbology/parse-mana", {
279
- cost: e
279
+ cost: a
280
280
  });
281
281
  }
282
282
  }
283
283
  const Y = new _();
284
- var x = /* @__PURE__ */ ((s) => (s[s.black = 0] = "black", s[s.borderless = 1] = "borderless", s[s.gold = 2] = "gold", s[s.silver = 3] = "silver", s[s.white = 4] = "white", s))(x || {}), k = /* @__PURE__ */ ((s) => (s[s.oracle_cards = 0] = "oracle_cards", s[s.unique_artwork = 1] = "unique_artwork", s[s.default_cards = 2] = "default_cards", s[s.all_cards = 3] = "all_cards", s[s.rulings = 4] = "rulings", s))(k || {}), y = /* @__PURE__ */ ((s) => (s[s.standard = 0] = "standard", s[s.future = 1] = "future", s[s.historic = 2] = "historic", s[s.pioneer = 3] = "pioneer", s[s.modern = 4] = "modern", s[s.legacy = 5] = "legacy", s[s.pauper = 6] = "pauper", s[s.vintage = 7] = "vintage", s[s.penny = 8] = "penny", s[s.commander = 9] = "commander", s[s.brawl = 10] = "brawl", s[s.duel = 11] = "duel", s[s.oldschool = 12] = "oldschool", s))(y || {}), m = /* @__PURE__ */ ((s) => (s[s.legendary = 0] = "legendary", s[s.miracle = 1] = "miracle", s[s.nyxtouched = 2] = "nyxtouched", s[s.draft = 3] = "draft", s[s.devoid = 4] = "devoid", s[s.tombstone = 5] = "tombstone", s[s.colorshifted = 6] = "colorshifted", s[s.inverted = 7] = "inverted", s[s.sunmoondfc = 8] = "sunmoondfc", s[s.compasslanddfc = 9] = "compasslanddfc", s[s.originpwdfc = 10] = "originpwdfc", s[s.mooneldrazidfc = 11] = "mooneldrazidfc", s[s.moonreversemoondfc = 12] = "moonreversemoondfc", s[s.showcase = 13] = "showcase", s[s.extendedart = 14] = "extendedart", s))(m || {}), f = /* @__PURE__ */ ((s) => (s[s.paper = 0] = "paper", s[s.arena = 1] = "arena", s[s.mtgo = 2] = "mtgo", s))(f || {}), I = /* @__PURE__ */ ((s) => (s[s.normal = 0] = "normal", s[s.split = 1] = "split", s[s.flip = 2] = "flip", s[s.transform = 3] = "transform", s[s.modal_dfc = 4] = "modal_dfc", s[s.meld = 5] = "meld", s[s.leveler = 6] = "leveler", s[s.class = 7] = "class", s[s.saga = 8] = "saga", s[s.adventure = 9] = "adventure", s[s.planar = 10] = "planar", s[s.scheme = 11] = "scheme", s[s.vanguard = 12] = "vanguard", s[s.token = 13] = "token", s[s.double_faced_token = 14] = "double_faced_token", s[s.emblem = 15] = "emblem", s[s.augment = 16] = "augment", s[s.host = 17] = "host", s[s.art_series = 18] = "art_series", s[s.reversible_card = 19] = "reversible_card", s))(I || {}), p = /* @__PURE__ */ ((s) => (s[s.legal = 0] = "legal", s[s.not_legal = 1] = "not_legal", s[s.restricted = 2] = "restricted", s[s.banned = 3] = "banned", s))(p || {}), $ = /* @__PURE__ */ ((s) => (s[s.tourney = 0] = "tourney", s[s.prerelease = 1] = "prerelease", s[s.datestamped = 2] = "datestamped", s[s.planeswalkerdeck = 3] = "planeswalkerdeck", s[s.buyabox = 4] = "buyabox", s[s.judgegift = 5] = "judgegift", s[s.event = 6] = "event", s[s.convention = 7] = "convention", s[s.starterdeck = 8] = "starterdeck", s[s.instore = 9] = "instore", s[s.setpromo = 10] = "setpromo", s[s.fnm = 11] = "fnm", s[s.openhouse = 12] = "openhouse", s[s.league = 13] = "league", s[s.draftweekend = 14] = "draftweekend", s[s.gameday = 15] = "gameday", s[s.release = 16] = "release", s[s.intropack = 17] = "intropack", s[s.giftbox = 18] = "giftbox", s[s.duels = 19] = "duels", s[s.wizardsplaynetwork = 20] = "wizardsplaynetwork", s[s.premiereshop = 21] = "premiereshop", s[s.playerrewards = 22] = "playerrewards", s[s.gateway = 23] = "gateway", s[s.arenaleague = 24] = "arenaleague", s))($ || {}), N = /* @__PURE__ */ ((s) => (s[s.common = 0] = "common", s[s.uncommon = 1] = "uncommon", s[s.rare = 2] = "rare", s[s.mythic = 3] = "mythic", s))(N || {}), z = /* @__PURE__ */ ((s) => (s[s.token = 0] = "token", s[s.meld_part = 1] = "meld_part", s[s.meld_result = 2] = "meld_result", s[s.combo_piece = 3] = "combo_piece", s))(z || {}), A = /* @__PURE__ */ ((s) => (s[s.core = 0] = "core", s[s.expansion = 1] = "expansion", s[s.masters = 2] = "masters", s[s.masterpiece = 3] = "masterpiece", s[s.from_the_vault = 4] = "from_the_vault", s[s.spellbook = 5] = "spellbook", s[s.premium_deck = 6] = "premium_deck", s[s.duel_deck = 7] = "duel_deck", s[s.draft_innovation = 8] = "draft_innovation", s[s.treasure_chest = 9] = "treasure_chest", s[s.commander = 10] = "commander", s[s.planechase = 11] = "planechase", s[s.archenemy = 12] = "archenemy", s[s.vanguard = 13] = "vanguard", s[s.funny = 14] = "funny", s[s.starter = 15] = "starter", s[s.box = 16] = "box", s[s.promo = 17] = "promo", s[s.token = 18] = "token", s[s.memorabilia = 19] = "memorabilia", s))(A || {}), j = /* @__PURE__ */ ((s) => (s[s.name = 0] = "name", s[s.set = 1] = "set", s[s.released = 2] = "released", s[s.rarity = 3] = "rarity", s[s.color = 4] = "color", s[s.usd = 5] = "usd", s[s.tix = 6] = "tix", s[s.eur = 7] = "eur", s[s.cmc = 8] = "cmc", s[s.power = 9] = "power", s[s.toughness = 10] = "toughness", s[s.edhrec = 11] = "edhrec", s[s.artist = 12] = "artist", s))(j || {}), O = /* @__PURE__ */ ((s) => (s[s.auto = 0] = "auto", s[s.asc = 1] = "asc", s[s.desc = 2] = "desc", s))(O || {}), M = /* @__PURE__ */ ((s) => (s[s.cards = 0] = "cards", s[s.art = 1] = "art", s[s.prints = 2] = "prints", s))(M || {});
284
+ var x = /* @__PURE__ */ ((s) => (s[s.black = 0] = "black", s[s.borderless = 1] = "borderless", s[s.gold = 2] = "gold", s[s.silver = 3] = "silver", s[s.white = 4] = "white", s))(x || {}), k = /* @__PURE__ */ ((s) => (s[s.oracle_cards = 0] = "oracle_cards", s[s.unique_artwork = 1] = "unique_artwork", s[s.default_cards = 2] = "default_cards", s[s.all_cards = 3] = "all_cards", s[s.rulings = 4] = "rulings", s))(k || {}), m = /* @__PURE__ */ ((s) => (s[s.standard = 0] = "standard", s[s.future = 1] = "future", s[s.historic = 2] = "historic", s[s.pioneer = 3] = "pioneer", s[s.modern = 4] = "modern", s[s.legacy = 5] = "legacy", s[s.pauper = 6] = "pauper", s[s.vintage = 7] = "vintage", s[s.penny = 8] = "penny", s[s.commander = 9] = "commander", s[s.brawl = 10] = "brawl", s[s.duel = 11] = "duel", s[s.oldschool = 12] = "oldschool", s))(m || {}), y = /* @__PURE__ */ ((s) => (s[s.legendary = 0] = "legendary", s[s.miracle = 1] = "miracle", s[s.nyxtouched = 2] = "nyxtouched", s[s.draft = 3] = "draft", s[s.devoid = 4] = "devoid", s[s.tombstone = 5] = "tombstone", s[s.colorshifted = 6] = "colorshifted", s[s.inverted = 7] = "inverted", s[s.sunmoondfc = 8] = "sunmoondfc", s[s.compasslanddfc = 9] = "compasslanddfc", s[s.originpwdfc = 10] = "originpwdfc", s[s.mooneldrazidfc = 11] = "mooneldrazidfc", s[s.moonreversemoondfc = 12] = "moonreversemoondfc", s[s.showcase = 13] = "showcase", s[s.extendedart = 14] = "extendedart", s))(y || {}), f = /* @__PURE__ */ ((s) => (s[s.paper = 0] = "paper", s[s.arena = 1] = "arena", s[s.mtgo = 2] = "mtgo", s))(f || {}), I = /* @__PURE__ */ ((s) => (s[s.normal = 0] = "normal", s[s.split = 1] = "split", s[s.flip = 2] = "flip", s[s.transform = 3] = "transform", s[s.modal_dfc = 4] = "modal_dfc", s[s.meld = 5] = "meld", s[s.leveler = 6] = "leveler", s[s.class = 7] = "class", s[s.saga = 8] = "saga", s[s.adventure = 9] = "adventure", s[s.planar = 10] = "planar", s[s.scheme = 11] = "scheme", s[s.vanguard = 12] = "vanguard", s[s.token = 13] = "token", s[s.double_faced_token = 14] = "double_faced_token", s[s.emblem = 15] = "emblem", s[s.augment = 16] = "augment", s[s.host = 17] = "host", s[s.art_series = 18] = "art_series", s[s.reversible_card = 19] = "reversible_card", s))(I || {}), p = /* @__PURE__ */ ((s) => (s[s.legal = 0] = "legal", s[s.not_legal = 1] = "not_legal", s[s.restricted = 2] = "restricted", s[s.banned = 3] = "banned", s))(p || {}), $ = /* @__PURE__ */ ((s) => (s[s.tourney = 0] = "tourney", s[s.prerelease = 1] = "prerelease", s[s.datestamped = 2] = "datestamped", s[s.planeswalkerdeck = 3] = "planeswalkerdeck", s[s.buyabox = 4] = "buyabox", s[s.judgegift = 5] = "judgegift", s[s.event = 6] = "event", s[s.convention = 7] = "convention", s[s.starterdeck = 8] = "starterdeck", s[s.instore = 9] = "instore", s[s.setpromo = 10] = "setpromo", s[s.fnm = 11] = "fnm", s[s.openhouse = 12] = "openhouse", s[s.league = 13] = "league", s[s.draftweekend = 14] = "draftweekend", s[s.gameday = 15] = "gameday", s[s.release = 16] = "release", s[s.intropack = 17] = "intropack", s[s.giftbox = 18] = "giftbox", s[s.duels = 19] = "duels", s[s.wizardsplaynetwork = 20] = "wizardsplaynetwork", s[s.premiereshop = 21] = "premiereshop", s[s.playerrewards = 22] = "playerrewards", s[s.gateway = 23] = "gateway", s[s.arenaleague = 24] = "arenaleague", s))($ || {}), N = /* @__PURE__ */ ((s) => (s[s.common = 0] = "common", s[s.uncommon = 1] = "uncommon", s[s.rare = 2] = "rare", s[s.mythic = 3] = "mythic", s))(N || {}), z = /* @__PURE__ */ ((s) => (s[s.token = 0] = "token", s[s.meld_part = 1] = "meld_part", s[s.meld_result = 2] = "meld_result", s[s.combo_piece = 3] = "combo_piece", s))(z || {}), A = /* @__PURE__ */ ((s) => (s[s.core = 0] = "core", s[s.expansion = 1] = "expansion", s[s.masters = 2] = "masters", s[s.masterpiece = 3] = "masterpiece", s[s.from_the_vault = 4] = "from_the_vault", s[s.spellbook = 5] = "spellbook", s[s.premium_deck = 6] = "premium_deck", s[s.duel_deck = 7] = "duel_deck", s[s.draft_innovation = 8] = "draft_innovation", s[s.treasure_chest = 9] = "treasure_chest", s[s.commander = 10] = "commander", s[s.planechase = 11] = "planechase", s[s.archenemy = 12] = "archenemy", s[s.vanguard = 13] = "vanguard", s[s.funny = 14] = "funny", s[s.starter = 15] = "starter", s[s.box = 16] = "box", s[s.promo = 17] = "promo", s[s.token = 18] = "token", s[s.memorabilia = 19] = "memorabilia", s[s.alchemy = 20] = "alchemy", s[s.arsenal = 21] = "arsenal", s))(A || {}), j = /* @__PURE__ */ ((s) => (s[s.name = 0] = "name", s[s.set = 1] = "set", s[s.released = 2] = "released", s[s.rarity = 3] = "rarity", s[s.color = 4] = "color", s[s.usd = 5] = "usd", s[s.tix = 6] = "tix", s[s.eur = 7] = "eur", s[s.cmc = 8] = "cmc", s[s.power = 9] = "power", s[s.toughness = 10] = "toughness", s[s.edhrec = 11] = "edhrec", s[s.artist = 12] = "artist", s))(j || {}), O = /* @__PURE__ */ ((s) => (s[s.auto = 0] = "auto", s[s.asc = 1] = "asc", s[s.desc = 2] = "desc", s))(O || {}), M = /* @__PURE__ */ ((s) => (s[s.cards = 0] = "cards", s[s.art = 1] = "art", s[s.prints = 2] = "prints", s))(M || {});
285
285
  export {
286
286
  x as Border,
287
287
  k as BulkDataTypes,
288
288
  J as CardIdentifierBuilder,
289
289
  K as Cards,
290
290
  V as Catalog,
291
- y as Format,
292
- m as FrameEffect,
291
+ m as Format,
292
+ y as FrameEffect,
293
293
  f as Game,
294
294
  I as Layout,
295
295
  p as Legality,
@@ -1 +1 @@
1
- (function(t,u){typeof exports=="object"&&typeof module<"u"?u(exports,require("axios")):typeof define=="function"&&define.amd?define(["exports","axios"],u):(t=typeof globalThis<"u"?globalThis:t||self,u(t.Scry={},t.Axios))})(this,function(t,u){"use strict";class z{static byId(e){return{id:e}}static byIllustrationId(e){return{illustration_id:e}}static byMtgoId(e){return{mtgo_id:e}}static byMultiverseId(e){return{multiverse_id:e}}static byName(e,a){return a?{name:e,set:a}:{name:e}}static byOracleId(e){return{oracle_id:e}}static bySet(e,a){return{collector_number:`${a}`,set:e}}}class j{constructor(e,a,n,i){this.q=e,this.apiPath=a,this.query=n,this.post=i,this._hasMore=!0,this._count=0}_hasMore;_count;get count(){return this._count}get hasMore(){return this._hasMore}async all(){const e=[];for(;this._hasMore;){const a=await this.next();e.push(...a)}return e}async get(e){const a=[];for(;this._hasMore;){const n=await this.next();if(a.push(...n),a.length===e)return a;if(a.length>e)return a.slice(0,e)}return a}async next(){const e=await this.q.query(this.apiPath,this.query,this.post);return this._hasMore=e?.has_more??!1,this._count=Number.parseInt(`${e?.total_cards??0}`,10),this._hasMore&&this.setNextPage(),e?.data??[]}async page(e){return this.query.page=e,this.next()}setNextPage(){this.query.page=this.query.page+1}}class h extends Error{constructor(e){super(typeof e=="string"?e:e?.details),this.data=e,Object.setPrototypeOf(this,h.prototype)}}class r{static retry={attempts:1};static endpoint="https://api.scryfall.com";static lastQuery=100;static rateLimit=100;static canRetry(e){return typeof e=="string"||e?.code==="not_found"||e?.code==="bad_request"?!1:!r.retry.canRetry||r.retry.canRetry(e)}static async debounce(){const e=Date.now(),a=e-r.lastQuery;if(a>=r.rateLimit)r.lastQuery=e;else{const n=r.rateLimit-a;r.lastQuery+=n,await r.sleep(n)}}static async sleep(e=0){return new Promise(a=>{setTimeout(a,e)})}static async tryQuery(e,a,n,i){await r.debounce();const c={data:n,method:n?"POST":"GET",params:a,url:`${r.endpoint}/${e}`,headers:{"Accept-Encoding":"gzip,deflate,compress"},...i};try{return await u.request(c)}catch(l){if(l.isAxiosError){const d=l;throw new h(d.response?.data??d.message)}else throw l}}async query(e,a,n,i){let c="";typeof e=="number"||typeof e=="string"?c=e:e&&(c=e.join("/"));let l,d;for(l=0;l<r.retry.attempts;l++){let p;try{d=await r.tryQuery(`${c}`,a,n,i)}catch(g){if(g instanceof h)p=g.data;else throw g}if(d||!r.canRetry(p))break;await r.sleep(r.retry.timeout)}return d?.data}}class A extends r{async autoCompleteName(e){return(await this.query("cards/autocomplete",{q:e}))?.data??[]}async byArenaId(e){return this.query(["cards/arena",e])}async byId(e){return this.query(["cards",e])}async byMtgoId(e){return this.query(["cards/mtgo",e])}async byMultiverseId(e){return this.query(["cards/multiverse",e])}async byName(e,a,n=!1){let i=n,c=a;return typeof a=="boolean"&&(i=a,c=void 0),this.query("cards/named",{[i?"fuzzy":"exact"]:e,set:c})}async bySet(e,a,n){const i=["cards",e,a];return n&&i.push(n),this.query(i)}async byTcgPlayerId(e){return this.query(["cards/tcgplayer",e])}async collection(...e){const a=[];for(let n=0;n<e.length;n+=75){const i={identifiers:e.slice(n,n+75)},c=await this.query("cards/collection",void 0,i);a.push(...c?.data??[])}return a}async random(){return this.query("cards/random")}search(e,a){return new j(this,"cards/search",{q:e,...typeof a=="number"?{page:a}:{page:1,...a}})}}const O=new A;class M extends r{async artifactTypes(){return(await this.query("catalog/artifact-types"))?.data??[]}async artistNames(){return(await this.query("catalog/artist-names"))?.data??[]}async cardNames(){return(await this.query("catalog/card-names"))?.data??[]}async creatureTypes(){return(await this.query("catalog/creature-types"))?.data??[]}async enchantmentTypes(){return(await this.query("catalog/enchantment-types"))?.data??[]}async landTypes(){return(await this.query("catalog/land-types"))?.data??[]}async loyalties(){return(await this.query("catalog/loyalties"))?.data??[]}async planeswalkerTypes(){return(await this.query("catalog/planeswalker-types"))?.data??[]}async powers(){return(await this.query("catalog/powers"))?.data??[]}async spellTypes(){return(await this.query("catalog/spell-types"))?.data??[]}async toughnesses(){return(await this.query("catalog/toughnesses"))?.data??[]}async watermarks(){return(await this.query("catalog/watermarks"))?.data??[]}async wordBank(){return(await this.query("catalog/word-bank"))?.data??[]}}const H=new M;class J extends r{async byArenaId(e){return(await this.query(["cards/arena",e,"rulings"]))?.data??[]}async byId(e){return(await this.query(["cards",e,"rulings"]))?.data??[]}async byMtgoId(e){return(await this.query(["cards/mtgo",e,"rulings"]))?.data??[]}async byMultiverseId(e){return(await this.query(["cards/multiverse",e,"rulings"]))?.data??[]}async bySet(e,a){return(await this.query(["cards",e,`${a}`,"rulings"]))?.data??[]}}const K=new J;class V extends r{async all(){return(await this.query("sets"))?.data??[]}async byCode(e){return await this.query(["sets",e])}async byId(e){return this.query(["sets",e])}async byTcgPlayerId(e){return this.query(["sets/tcgplayer",e])}}const W=new V;class X extends r{async all(){return(await this.query("symbology"))?.data??[]}async parseMana(e){return await this.query("symbology/parse-mana",{cost:e})}}const Y=new X;var w=(s=>(s[s.black=0]="black",s[s.borderless=1]="borderless",s[s.gold=2]="gold",s[s.silver=3]="silver",s[s.white=4]="white",s))(w||{}),o=(s=>(s[s.oracle_cards=0]="oracle_cards",s[s.unique_artwork=1]="unique_artwork",s[s.default_cards=2]="default_cards",s[s.all_cards=3]="all_cards",s[s.rulings=4]="rulings",s))(o||{}),b=(s=>(s[s.standard=0]="standard",s[s.future=1]="future",s[s.historic=2]="historic",s[s.pioneer=3]="pioneer",s[s.modern=4]="modern",s[s.legacy=5]="legacy",s[s.pauper=6]="pauper",s[s.vintage=7]="vintage",s[s.penny=8]="penny",s[s.commander=9]="commander",s[s.brawl=10]="brawl",s[s.duel=11]="duel",s[s.oldschool=12]="oldschool",s))(b||{}),v=(s=>(s[s.legendary=0]="legendary",s[s.miracle=1]="miracle",s[s.nyxtouched=2]="nyxtouched",s[s.draft=3]="draft",s[s.devoid=4]="devoid",s[s.tombstone=5]="tombstone",s[s.colorshifted=6]="colorshifted",s[s.inverted=7]="inverted",s[s.sunmoondfc=8]="sunmoondfc",s[s.compasslanddfc=9]="compasslanddfc",s[s.originpwdfc=10]="originpwdfc",s[s.mooneldrazidfc=11]="mooneldrazidfc",s[s.moonreversemoondfc=12]="moonreversemoondfc",s[s.showcase=13]="showcase",s[s.extendedart=14]="extendedart",s))(v||{}),q=(s=>(s[s.paper=0]="paper",s[s.arena=1]="arena",s[s.mtgo=2]="mtgo",s))(q||{}),_=(s=>(s[s.normal=0]="normal",s[s.split=1]="split",s[s.flip=2]="flip",s[s.transform=3]="transform",s[s.modal_dfc=4]="modal_dfc",s[s.meld=5]="meld",s[s.leveler=6]="leveler",s[s.class=7]="class",s[s.saga=8]="saga",s[s.adventure=9]="adventure",s[s.planar=10]="planar",s[s.scheme=11]="scheme",s[s.vanguard=12]="vanguard",s[s.token=13]="token",s[s.double_faced_token=14]="double_faced_token",s[s.emblem=15]="emblem",s[s.augment=16]="augment",s[s.host=17]="host",s[s.art_series=18]="art_series",s[s.reversible_card=19]="reversible_card",s))(_||{}),y=(s=>(s[s.legal=0]="legal",s[s.not_legal=1]="not_legal",s[s.restricted=2]="restricted",s[s.banned=3]="banned",s))(y||{}),f=(s=>(s[s.tourney=0]="tourney",s[s.prerelease=1]="prerelease",s[s.datestamped=2]="datestamped",s[s.planeswalkerdeck=3]="planeswalkerdeck",s[s.buyabox=4]="buyabox",s[s.judgegift=5]="judgegift",s[s.event=6]="event",s[s.convention=7]="convention",s[s.starterdeck=8]="starterdeck",s[s.instore=9]="instore",s[s.setpromo=10]="setpromo",s[s.fnm=11]="fnm",s[s.openhouse=12]="openhouse",s[s.league=13]="league",s[s.draftweekend=14]="draftweekend",s[s.gameday=15]="gameday",s[s.release=16]="release",s[s.intropack=17]="intropack",s[s.giftbox=18]="giftbox",s[s.duels=19]="duels",s[s.wizardsplaynetwork=20]="wizardsplaynetwork",s[s.premiereshop=21]="premiereshop",s[s.playerrewards=22]="playerrewards",s[s.gateway=23]="gateway",s[s.arenaleague=24]="arenaleague",s))(f||{}),k=(s=>(s[s.common=0]="common",s[s.uncommon=1]="uncommon",s[s.rare=2]="rare",s[s.mythic=3]="mythic",s))(k||{}),m=(s=>(s[s.token=0]="token",s[s.meld_part=1]="meld_part",s[s.meld_result=2]="meld_result",s[s.combo_piece=3]="combo_piece",s))(m||{}),I=(s=>(s[s.core=0]="core",s[s.expansion=1]="expansion",s[s.masters=2]="masters",s[s.masterpiece=3]="masterpiece",s[s.from_the_vault=4]="from_the_vault",s[s.spellbook=5]="spellbook",s[s.premium_deck=6]="premium_deck",s[s.duel_deck=7]="duel_deck",s[s.draft_innovation=8]="draft_innovation",s[s.treasure_chest=9]="treasure_chest",s[s.commander=10]="commander",s[s.planechase=11]="planechase",s[s.archenemy=12]="archenemy",s[s.vanguard=13]="vanguard",s[s.funny=14]="funny",s[s.starter=15]="starter",s[s.box=16]="box",s[s.promo=17]="promo",s[s.token=18]="token",s[s.memorabilia=19]="memorabilia",s))(I||{}),x=(s=>(s[s.name=0]="name",s[s.set=1]="set",s[s.released=2]="released",s[s.rarity=3]="rarity",s[s.color=4]="color",s[s.usd=5]="usd",s[s.tix=6]="tix",s[s.eur=7]="eur",s[s.cmc=8]="cmc",s[s.power=9]="power",s[s.toughness=10]="toughness",s[s.edhrec=11]="edhrec",s[s.artist=12]="artist",s))(x||{}),$=(s=>(s[s.auto=0]="auto",s[s.asc=1]="asc",s[s.desc=2]="desc",s))($||{}),N=(s=>(s[s.cards=0]="cards",s[s.art=1]="art",s[s.prints=2]="prints",s))(N||{});t.Border=w,t.BulkDataTypes=o,t.CardIdentifierBuilder=z,t.Cards=O,t.Catalog=H,t.Format=b,t.FrameEffect=v,t.Game=q,t.Layout=_,t.Legality=y,t.MagicQueryError=h,t.PromoType=f,t.Rarity=k,t.RelatedCardComponent=m,t.Rulings=K,t.SetType=I,t.Sets=W,t.Sort=x,t.SortDirection=$,t.Symbology=Y,t.UniqueStrategy=N,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})});
1
+ (function(t,u){typeof exports=="object"&&typeof module<"u"?u(exports,require("axios")):typeof define=="function"&&define.amd?define(["exports","axios"],u):(t=typeof globalThis<"u"?globalThis:t||self,u(t.Scryfall={},t.Axios))})(this,function(t,u){"use strict";class j{static byId(e){return{id:e}}static byIllustrationId(e){return{illustration_id:e}}static byMtgoId(e){return{mtgo_id:e}}static byMultiverseId(e){return{multiverse_id:e}}static byName(e,a){return a?{name:e,set:a}:{name:e}}static byOracleId(e){return{oracle_id:e}}static bySet(e,a){return{collector_number:`${a}`,set:e}}}class A{constructor(e,a,n,i){this.q=e,this.apiPath=a,this.query=n,this.post=i,this._hasMore=!0,this._count=0}_count;_hasMore;get count(){return this._count}get hasMore(){return this._hasMore}async all(){const e=[];for(;this._hasMore;){const a=await this.next();e.push(...a)}return e}async get(e){const a=[];for(;this._hasMore;){const n=await this.next();if(a.push(...n),a.length===e)return a;if(a.length>e)return a.slice(0,e)}return a}async next(){const e=await this.q.query(this.apiPath,this.query,this.post);return this._hasMore=e?.has_more??!1,this._count=Number.parseInt(`${e?.total_cards??0}`,10),this._hasMore&&this.setNextPage(),e?.data??[]}async page(e){return this.query.page=e,this.next()}setNextPage(){this.query.page=this.query.page+1}}class h extends Error{constructor(e){super(typeof e=="string"?e:e?.details),this.data=e,Object.setPrototypeOf(this,h.prototype)}}class r{static retry={attempts:1};static endpoint="https://api.scryfall.com";static lastQuery=100;static rateLimit=100;static canRetry(e){return typeof e=="string"||e?.code==="not_found"||e?.code==="bad_request"?!1:!r.retry.canRetry||r.retry.canRetry(e)}static async debounce(){const e=Date.now(),a=e-r.lastQuery;if(a>=r.rateLimit)r.lastQuery=e;else{const n=r.rateLimit-a;r.lastQuery+=n,await r.sleep(n)}}static async sleep(e=0){return new Promise(a=>{setTimeout(a,e)})}static async tryQuery(e,a,n,i){await r.debounce();const c={data:n,method:n?"POST":"GET",params:a,url:`${r.endpoint}/${e}`,headers:{"Accept-Encoding":"gzip,deflate,compress"},...i};try{return await u.request(c)}catch(l){if(l.isAxiosError){const d=l;throw new h(d.response?.data??d.message)}else throw l}}async query(e,a,n,i){let c="";typeof e=="number"||typeof e=="string"?c=e:e&&(c=e.join("/"));let l,d;for(l=0;l<r.retry.attempts;l++){let z;try{d=await r.tryQuery(`${c}`,a,n,i)}catch(g){if(g instanceof h)z=g.data;else throw g}if(d||!r.canRetry(z))break;await r.sleep(r.retry.timeout)}return d?.data}}class O extends r{async autoCompleteName(e){return(await this.query("cards/autocomplete",{q:e}))?.data??[]}async byArenaId(e){return this.query(["cards/arena",e])}async byId(e){return this.query(["cards",e])}async byMtgoId(e){return this.query(["cards/mtgo",e])}async byMultiverseId(e){return this.query(["cards/multiverse",e])}async byName(e,a,n=!1){let i=n,c=a;return typeof a=="boolean"&&(i=a,c=void 0),this.query("cards/named",{[i?"fuzzy":"exact"]:e,set:c})}async bySet(e,a,n){const i=["cards",e,a];return n&&i.push(n),this.query(i)}async byTcgPlayerId(e){return this.query(["cards/tcgplayer",e])}async collection(...e){const a=[];for(let n=0;n<e.length;n+=75){const i={identifiers:e.slice(n,n+75)},c=await this.query("cards/collection",void 0,i);a.push(...c?.data??[])}return a}async random(){return this.query("cards/random")}search(e,a){return new A(this,"cards/search",{q:e,...typeof a=="number"?{page:a}:{page:1,...a}})}}const M=new O;class p extends r{async artifactTypes(){return(await this.query("catalog/artifact-types"))?.data??[]}async artistNames(){return(await this.query("catalog/artist-names"))?.data??[]}async cardNames(){return(await this.query("catalog/card-names"))?.data??[]}async creatureTypes(){return(await this.query("catalog/creature-types"))?.data??[]}async enchantmentTypes(){return(await this.query("catalog/enchantment-types"))?.data??[]}async landTypes(){return(await this.query("catalog/land-types"))?.data??[]}async loyalties(){return(await this.query("catalog/loyalties"))?.data??[]}async planeswalkerTypes(){return(await this.query("catalog/planeswalker-types"))?.data??[]}async powers(){return(await this.query("catalog/powers"))?.data??[]}async spellTypes(){return(await this.query("catalog/spell-types"))?.data??[]}async toughnesses(){return(await this.query("catalog/toughnesses"))?.data??[]}async watermarks(){return(await this.query("catalog/watermarks"))?.data??[]}async wordBank(){return(await this.query("catalog/word-bank"))?.data??[]}}const H=new p;class J extends r{async byArenaId(e){return(await this.query(["cards/arena",e,"rulings"]))?.data??[]}async byId(e){return(await this.query(["cards",e,"rulings"]))?.data??[]}async byMtgoId(e){return(await this.query(["cards/mtgo",e,"rulings"]))?.data??[]}async byMultiverseId(e){return(await this.query(["cards/multiverse",e,"rulings"]))?.data??[]}async bySet(e,a){return(await this.query(["cards",e,`${a}`,"rulings"]))?.data??[]}}const K=new J;class V extends r{async all(){return(await this.query("sets"))?.data??[]}async byCode(e){return await this.query(["sets",e])}async byId(e){return this.query(["sets",e])}async byTcgPlayerId(e){return this.query(["sets/tcgplayer",e])}}const W=new V;class X extends r{async all(){return(await this.query("symbology"))?.data??[]}async parseMana(e){return await this.query("symbology/parse-mana",{cost:e})}}const Y=new X;var w=(s=>(s[s.black=0]="black",s[s.borderless=1]="borderless",s[s.gold=2]="gold",s[s.silver=3]="silver",s[s.white=4]="white",s))(w||{}),o=(s=>(s[s.oracle_cards=0]="oracle_cards",s[s.unique_artwork=1]="unique_artwork",s[s.default_cards=2]="default_cards",s[s.all_cards=3]="all_cards",s[s.rulings=4]="rulings",s))(o||{}),b=(s=>(s[s.standard=0]="standard",s[s.future=1]="future",s[s.historic=2]="historic",s[s.pioneer=3]="pioneer",s[s.modern=4]="modern",s[s.legacy=5]="legacy",s[s.pauper=6]="pauper",s[s.vintage=7]="vintage",s[s.penny=8]="penny",s[s.commander=9]="commander",s[s.brawl=10]="brawl",s[s.duel=11]="duel",s[s.oldschool=12]="oldschool",s))(b||{}),v=(s=>(s[s.legendary=0]="legendary",s[s.miracle=1]="miracle",s[s.nyxtouched=2]="nyxtouched",s[s.draft=3]="draft",s[s.devoid=4]="devoid",s[s.tombstone=5]="tombstone",s[s.colorshifted=6]="colorshifted",s[s.inverted=7]="inverted",s[s.sunmoondfc=8]="sunmoondfc",s[s.compasslanddfc=9]="compasslanddfc",s[s.originpwdfc=10]="originpwdfc",s[s.mooneldrazidfc=11]="mooneldrazidfc",s[s.moonreversemoondfc=12]="moonreversemoondfc",s[s.showcase=13]="showcase",s[s.extendedart=14]="extendedart",s))(v||{}),q=(s=>(s[s.paper=0]="paper",s[s.arena=1]="arena",s[s.mtgo=2]="mtgo",s))(q||{}),_=(s=>(s[s.normal=0]="normal",s[s.split=1]="split",s[s.flip=2]="flip",s[s.transform=3]="transform",s[s.modal_dfc=4]="modal_dfc",s[s.meld=5]="meld",s[s.leveler=6]="leveler",s[s.class=7]="class",s[s.saga=8]="saga",s[s.adventure=9]="adventure",s[s.planar=10]="planar",s[s.scheme=11]="scheme",s[s.vanguard=12]="vanguard",s[s.token=13]="token",s[s.double_faced_token=14]="double_faced_token",s[s.emblem=15]="emblem",s[s.augment=16]="augment",s[s.host=17]="host",s[s.art_series=18]="art_series",s[s.reversible_card=19]="reversible_card",s))(_||{}),f=(s=>(s[s.legal=0]="legal",s[s.not_legal=1]="not_legal",s[s.restricted=2]="restricted",s[s.banned=3]="banned",s))(f||{}),y=(s=>(s[s.tourney=0]="tourney",s[s.prerelease=1]="prerelease",s[s.datestamped=2]="datestamped",s[s.planeswalkerdeck=3]="planeswalkerdeck",s[s.buyabox=4]="buyabox",s[s.judgegift=5]="judgegift",s[s.event=6]="event",s[s.convention=7]="convention",s[s.starterdeck=8]="starterdeck",s[s.instore=9]="instore",s[s.setpromo=10]="setpromo",s[s.fnm=11]="fnm",s[s.openhouse=12]="openhouse",s[s.league=13]="league",s[s.draftweekend=14]="draftweekend",s[s.gameday=15]="gameday",s[s.release=16]="release",s[s.intropack=17]="intropack",s[s.giftbox=18]="giftbox",s[s.duels=19]="duels",s[s.wizardsplaynetwork=20]="wizardsplaynetwork",s[s.premiereshop=21]="premiereshop",s[s.playerrewards=22]="playerrewards",s[s.gateway=23]="gateway",s[s.arenaleague=24]="arenaleague",s))(y||{}),m=(s=>(s[s.common=0]="common",s[s.uncommon=1]="uncommon",s[s.rare=2]="rare",s[s.mythic=3]="mythic",s))(m||{}),k=(s=>(s[s.token=0]="token",s[s.meld_part=1]="meld_part",s[s.meld_result=2]="meld_result",s[s.combo_piece=3]="combo_piece",s))(k||{}),I=(s=>(s[s.core=0]="core",s[s.expansion=1]="expansion",s[s.masters=2]="masters",s[s.masterpiece=3]="masterpiece",s[s.from_the_vault=4]="from_the_vault",s[s.spellbook=5]="spellbook",s[s.premium_deck=6]="premium_deck",s[s.duel_deck=7]="duel_deck",s[s.draft_innovation=8]="draft_innovation",s[s.treasure_chest=9]="treasure_chest",s[s.commander=10]="commander",s[s.planechase=11]="planechase",s[s.archenemy=12]="archenemy",s[s.vanguard=13]="vanguard",s[s.funny=14]="funny",s[s.starter=15]="starter",s[s.box=16]="box",s[s.promo=17]="promo",s[s.token=18]="token",s[s.memorabilia=19]="memorabilia",s[s.alchemy=20]="alchemy",s[s.arsenal=21]="arsenal",s))(I||{}),x=(s=>(s[s.name=0]="name",s[s.set=1]="set",s[s.released=2]="released",s[s.rarity=3]="rarity",s[s.color=4]="color",s[s.usd=5]="usd",s[s.tix=6]="tix",s[s.eur=7]="eur",s[s.cmc=8]="cmc",s[s.power=9]="power",s[s.toughness=10]="toughness",s[s.edhrec=11]="edhrec",s[s.artist=12]="artist",s))(x||{}),$=(s=>(s[s.auto=0]="auto",s[s.asc=1]="asc",s[s.desc=2]="desc",s))($||{}),N=(s=>(s[s.cards=0]="cards",s[s.art=1]="art",s[s.prints=2]="prints",s))(N||{});t.Border=w,t.BulkDataTypes=o,t.CardIdentifierBuilder=j,t.Cards=M,t.Catalog=H,t.Format=b,t.FrameEffect=v,t.Game=q,t.Layout=_,t.Legality=f,t.MagicQueryError=h,t.PromoType=y,t.Rarity=m,t.RelatedCardComponent=k,t.Rulings=K,t.SetType=I,t.Sets=W,t.Sort=x,t.SortDirection=$,t.Symbology=Y,t.UniqueStrategy=N,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "scryfall-api",
3
- "version": "3.2.2",
3
+ "version": "3.2.4",
4
4
  "description": "A Javascript library for https://scryfall.com/docs/api written in Typescript.",
5
5
  "keywords": [
6
6
  "magic the gathering",
@@ -27,10 +27,10 @@
27
27
  "dist"
28
28
  ],
29
29
  "module": "./dist/scryfall-api.mjs",
30
- "types": "./dist/types/src/index.d.ts",
30
+ "types": "./dist/index.d.ts",
31
31
  "exports": {
32
32
  ".": {
33
- "types": "./dist/types/src/index.d.ts",
33
+ "types": "./dist/index.d.ts",
34
34
  "require": "./dist/scryfall-api.js",
35
35
  "import": "./dist/scryfall-api.mjs",
36
36
  "default": "./dist/scryfall-api.mjs"
@@ -46,28 +46,21 @@
46
46
  "typecheck": "tsc --noEmit",
47
47
  "version": "yarn changeset version && yarn install --mode update-lockfile"
48
48
  },
49
- "engines": {
50
- "node": ">=18"
51
- },
52
49
  "peerDependencies": {
53
50
  "axios": "^0 || ^1"
54
51
  },
55
52
  "devDependencies": {
56
53
  "@changesets/cli": "2.26.0",
57
- "@hexatool/eslint-config-typescript": "1.0.1",
54
+ "@hexatool/eslint-config-typescript": "1.0.3",
58
55
  "@hexatool/tsconfig": "18.0.0",
59
56
  "@types/node": "18.11.18",
60
- "@vitest/coverage-c8": "^0.28.0",
57
+ "@vitest/coverage-c8": "0.28.3",
61
58
  "axios": "1.2.6",
62
59
  "eslint": "8.33.0",
63
- "rollup-plugin-typescript2": "0.34.1",
64
- "typescript": "4.9.4",
60
+ "typescript": "4.9.5",
65
61
  "vite": "4.0.4",
66
- "vitest": "0.28.1"
67
- },
68
- "lint-staged": {
69
- "*.{ts,tsx}": "eslint --fix",
70
- "*": "prettier --ignore-unknown --write"
62
+ "vite-plugin-dts": "1.7.2",
63
+ "vitest": "0.28.3"
71
64
  },
72
65
  "volta": {
73
66
  "node": "18.13.0",
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const $=require("axios");class N{static byId(e){return{id:e}}static byIllustrationId(e){return{illustration_id:e}}static byMtgoId(e){return{mtgo_id:e}}static byMultiverseId(e){return{multiverse_id:e}}static byName(e,a){return a?{name:e,set:a}:{name:e}}static byOracleId(e){return{oracle_id:e}}static bySet(e,a){return{collector_number:`${a}`,set:e}}}class z{constructor(e,a,t,n){this.q=e,this.apiPath=a,this.query=t,this.post=n,this._hasMore=!0,this._count=0}_hasMore;_count;get count(){return this._count}get hasMore(){return this._hasMore}async all(){const e=[];for(;this._hasMore;){const a=await this.next();e.push(...a)}return e}async get(e){const a=[];for(;this._hasMore;){const t=await this.next();if(a.push(...t),a.length===e)return a;if(a.length>e)return a.slice(0,e)}return a}async next(){const e=await this.q.query(this.apiPath,this.query,this.post);return this._hasMore=e?.has_more??!1,this._count=Number.parseInt(`${e?.total_cards??0}`,10),this._hasMore&&this.setNextPage(),e?.data??[]}async page(e){return this.query.page=e,this.next()}setNextPage(){this.query.page=this.query.page+1}}class d extends Error{constructor(e){super(typeof e=="string"?e:e?.details),this.data=e,Object.setPrototypeOf(this,d.prototype)}}class r{static retry={attempts:1};static endpoint="https://api.scryfall.com";static lastQuery=100;static rateLimit=100;static canRetry(e){return typeof e=="string"||e?.code==="not_found"||e?.code==="bad_request"?!1:!r.retry.canRetry||r.retry.canRetry(e)}static async debounce(){const e=Date.now(),a=e-r.lastQuery;if(a>=r.rateLimit)r.lastQuery=e;else{const t=r.rateLimit-a;r.lastQuery+=t,await r.sleep(t)}}static async sleep(e=0){return new Promise(a=>{setTimeout(a,e)})}static async tryQuery(e,a,t,n){await r.debounce();const c={data:t,method:t?"POST":"GET",params:a,url:`${r.endpoint}/${e}`,headers:{"Accept-Encoding":"gzip,deflate,compress"},...n};try{return await $.request(c)}catch(i){if(i.isAxiosError){const l=i;throw new d(l.response?.data??l.message)}else throw i}}async query(e,a,t,n){let c="";typeof e=="number"||typeof e=="string"?c=e:e&&(c=e.join("/"));let i,l;for(i=0;i<r.retry.attempts;i++){let h;try{l=await r.tryQuery(`${c}`,a,t,n)}catch(u){if(u instanceof d)h=u.data;else throw u}if(l||!r.canRetry(h))break;await r.sleep(r.retry.timeout)}return l?.data}}class j extends r{async autoCompleteName(e){return(await this.query("cards/autocomplete",{q:e}))?.data??[]}async byArenaId(e){return this.query(["cards/arena",e])}async byId(e){return this.query(["cards",e])}async byMtgoId(e){return this.query(["cards/mtgo",e])}async byMultiverseId(e){return this.query(["cards/multiverse",e])}async byName(e,a,t=!1){let n=t,c=a;return typeof a=="boolean"&&(n=a,c=void 0),this.query("cards/named",{[n?"fuzzy":"exact"]:e,set:c})}async bySet(e,a,t){const n=["cards",e,a];return t&&n.push(t),this.query(n)}async byTcgPlayerId(e){return this.query(["cards/tcgplayer",e])}async collection(...e){const a=[];for(let t=0;t<e.length;t+=75){const n={identifiers:e.slice(t,t+75)},c=await this.query("cards/collection",void 0,n);a.push(...c?.data??[])}return a}async random(){return this.query("cards/random")}search(e,a){return new z(this,"cards/search",{q:e,...typeof a=="number"?{page:a}:{page:1,...a}})}}const A=new j;class O extends r{async artifactTypes(){return(await this.query("catalog/artifact-types"))?.data??[]}async artistNames(){return(await this.query("catalog/artist-names"))?.data??[]}async cardNames(){return(await this.query("catalog/card-names"))?.data??[]}async creatureTypes(){return(await this.query("catalog/creature-types"))?.data??[]}async enchantmentTypes(){return(await this.query("catalog/enchantment-types"))?.data??[]}async landTypes(){return(await this.query("catalog/land-types"))?.data??[]}async loyalties(){return(await this.query("catalog/loyalties"))?.data??[]}async planeswalkerTypes(){return(await this.query("catalog/planeswalker-types"))?.data??[]}async powers(){return(await this.query("catalog/powers"))?.data??[]}async spellTypes(){return(await this.query("catalog/spell-types"))?.data??[]}async toughnesses(){return(await this.query("catalog/toughnesses"))?.data??[]}async watermarks(){return(await this.query("catalog/watermarks"))?.data??[]}async wordBank(){return(await this.query("catalog/word-bank"))?.data??[]}}const M=new O;class H extends r{async byArenaId(e){return(await this.query(["cards/arena",e,"rulings"]))?.data??[]}async byId(e){return(await this.query(["cards",e,"rulings"]))?.data??[]}async byMtgoId(e){return(await this.query(["cards/mtgo",e,"rulings"]))?.data??[]}async byMultiverseId(e){return(await this.query(["cards/multiverse",e,"rulings"]))?.data??[]}async bySet(e,a){return(await this.query(["cards",e,`${a}`,"rulings"]))?.data??[]}}const J=new H;class K extends r{async all(){return(await this.query("sets"))?.data??[]}async byCode(e){return await this.query(["sets",e])}async byId(e){return this.query(["sets",e])}async byTcgPlayerId(e){return this.query(["sets/tcgplayer",e])}}const V=new K;class W extends r{async all(){return(await this.query("symbology"))?.data??[]}async parseMana(e){return await this.query("symbology/parse-mana",{cost:e})}}const X=new W;var o=(s=>(s[s.black=0]="black",s[s.borderless=1]="borderless",s[s.gold=2]="gold",s[s.silver=3]="silver",s[s.white=4]="white",s))(o||{}),g=(s=>(s[s.oracle_cards=0]="oracle_cards",s[s.unique_artwork=1]="unique_artwork",s[s.default_cards=2]="default_cards",s[s.all_cards=3]="all_cards",s[s.rulings=4]="rulings",s))(g||{}),w=(s=>(s[s.standard=0]="standard",s[s.future=1]="future",s[s.historic=2]="historic",s[s.pioneer=3]="pioneer",s[s.modern=4]="modern",s[s.legacy=5]="legacy",s[s.pauper=6]="pauper",s[s.vintage=7]="vintage",s[s.penny=8]="penny",s[s.commander=9]="commander",s[s.brawl=10]="brawl",s[s.duel=11]="duel",s[s.oldschool=12]="oldschool",s))(w||{}),b=(s=>(s[s.legendary=0]="legendary",s[s.miracle=1]="miracle",s[s.nyxtouched=2]="nyxtouched",s[s.draft=3]="draft",s[s.devoid=4]="devoid",s[s.tombstone=5]="tombstone",s[s.colorshifted=6]="colorshifted",s[s.inverted=7]="inverted",s[s.sunmoondfc=8]="sunmoondfc",s[s.compasslanddfc=9]="compasslanddfc",s[s.originpwdfc=10]="originpwdfc",s[s.mooneldrazidfc=11]="mooneldrazidfc",s[s.moonreversemoondfc=12]="moonreversemoondfc",s[s.showcase=13]="showcase",s[s.extendedart=14]="extendedart",s))(b||{}),v=(s=>(s[s.paper=0]="paper",s[s.arena=1]="arena",s[s.mtgo=2]="mtgo",s))(v||{}),q=(s=>(s[s.normal=0]="normal",s[s.split=1]="split",s[s.flip=2]="flip",s[s.transform=3]="transform",s[s.modal_dfc=4]="modal_dfc",s[s.meld=5]="meld",s[s.leveler=6]="leveler",s[s.class=7]="class",s[s.saga=8]="saga",s[s.adventure=9]="adventure",s[s.planar=10]="planar",s[s.scheme=11]="scheme",s[s.vanguard=12]="vanguard",s[s.token=13]="token",s[s.double_faced_token=14]="double_faced_token",s[s.emblem=15]="emblem",s[s.augment=16]="augment",s[s.host=17]="host",s[s.art_series=18]="art_series",s[s.reversible_card=19]="reversible_card",s))(q||{}),_=(s=>(s[s.legal=0]="legal",s[s.not_legal=1]="not_legal",s[s.restricted=2]="restricted",s[s.banned=3]="banned",s))(_||{}),y=(s=>(s[s.tourney=0]="tourney",s[s.prerelease=1]="prerelease",s[s.datestamped=2]="datestamped",s[s.planeswalkerdeck=3]="planeswalkerdeck",s[s.buyabox=4]="buyabox",s[s.judgegift=5]="judgegift",s[s.event=6]="event",s[s.convention=7]="convention",s[s.starterdeck=8]="starterdeck",s[s.instore=9]="instore",s[s.setpromo=10]="setpromo",s[s.fnm=11]="fnm",s[s.openhouse=12]="openhouse",s[s.league=13]="league",s[s.draftweekend=14]="draftweekend",s[s.gameday=15]="gameday",s[s.release=16]="release",s[s.intropack=17]="intropack",s[s.giftbox=18]="giftbox",s[s.duels=19]="duels",s[s.wizardsplaynetwork=20]="wizardsplaynetwork",s[s.premiereshop=21]="premiereshop",s[s.playerrewards=22]="playerrewards",s[s.gateway=23]="gateway",s[s.arenaleague=24]="arenaleague",s))(y||{}),x=(s=>(s[s.common=0]="common",s[s.uncommon=1]="uncommon",s[s.rare=2]="rare",s[s.mythic=3]="mythic",s))(x||{}),k=(s=>(s[s.token=0]="token",s[s.meld_part=1]="meld_part",s[s.meld_result=2]="meld_result",s[s.combo_piece=3]="combo_piece",s))(k||{}),m=(s=>(s[s.core=0]="core",s[s.expansion=1]="expansion",s[s.masters=2]="masters",s[s.masterpiece=3]="masterpiece",s[s.from_the_vault=4]="from_the_vault",s[s.spellbook=5]="spellbook",s[s.premium_deck=6]="premium_deck",s[s.duel_deck=7]="duel_deck",s[s.draft_innovation=8]="draft_innovation",s[s.treasure_chest=9]="treasure_chest",s[s.commander=10]="commander",s[s.planechase=11]="planechase",s[s.archenemy=12]="archenemy",s[s.vanguard=13]="vanguard",s[s.funny=14]="funny",s[s.starter=15]="starter",s[s.box=16]="box",s[s.promo=17]="promo",s[s.token=18]="token",s[s.memorabilia=19]="memorabilia",s))(m||{}),f=(s=>(s[s.name=0]="name",s[s.set=1]="set",s[s.released=2]="released",s[s.rarity=3]="rarity",s[s.color=4]="color",s[s.usd=5]="usd",s[s.tix=6]="tix",s[s.eur=7]="eur",s[s.cmc=8]="cmc",s[s.power=9]="power",s[s.toughness=10]="toughness",s[s.edhrec=11]="edhrec",s[s.artist=12]="artist",s))(f||{}),p=(s=>(s[s.auto=0]="auto",s[s.asc=1]="asc",s[s.desc=2]="desc",s))(p||{}),I=(s=>(s[s.cards=0]="cards",s[s.art=1]="art",s[s.prints=2]="prints",s))(I||{});exports.Border=o;exports.BulkDataTypes=g;exports.CardIdentifierBuilder=N;exports.Cards=A;exports.Catalog=M;exports.Format=w;exports.FrameEffect=b;exports.Game=v;exports.Layout=q;exports.Legality=_;exports.MagicQueryError=d;exports.PromoType=y;exports.Rarity=x;exports.RelatedCardComponent=k;exports.Rulings=J;exports.SetType=m;exports.Sets=V;exports.Sort=f;exports.SortDirection=p;exports.Symbology=X;exports.UniqueStrategy=I;
@@ -1,28 +0,0 @@
1
- export declare class CardIdentifierBuilder {
2
- static byId(id: any): {
3
- id: any;
4
- };
5
- static byIllustrationId(id: any): {
6
- illustration_id: any;
7
- };
8
- static byMtgoId(id: any): {
9
- mtgo_id: any;
10
- };
11
- static byMultiverseId(id: any): {
12
- multiverse_id: any;
13
- };
14
- static byName(name: any, set: any): {
15
- name: any;
16
- set: any;
17
- } | {
18
- name: any;
19
- set?: never;
20
- };
21
- static byOracleId(id: any): {
22
- oracle_id: any;
23
- };
24
- static bySet(set: any, collectorNumber: any): {
25
- collector_number: string;
26
- set: any;
27
- };
28
- }
@@ -1,17 +0,0 @@
1
- import MagicPageResult from "../query/MagicPageResult";
2
- import MagicQuery from "../query/MagicQuery";
3
- declare class Cards extends MagicQuery {
4
- autoCompleteName(name: any): Promise<any>;
5
- byArenaId(id: any): Promise<unknown>;
6
- byId(id: any): Promise<unknown>;
7
- byMtgoId(id: any): Promise<unknown>;
8
- byMultiverseId(id: any): Promise<unknown>;
9
- byName(name: any, set: any, fuzzy?: boolean): Promise<unknown>;
10
- bySet(setCode: any, collectorNumber: any, lang: any): Promise<unknown>;
11
- byTcgPlayerId(id: any): Promise<unknown>;
12
- collection(...identifiers: any[]): Promise<any[]>;
13
- random(): Promise<unknown>;
14
- search(query: any, options: any): MagicPageResult<unknown, this, unknown>;
15
- }
16
- declare const _default: Cards;
17
- export default _default;
@@ -1,18 +0,0 @@
1
- import MagicQuery from "../query/MagicQuery";
2
- declare class Catalog extends MagicQuery {
3
- artifactTypes(): Promise<any>;
4
- artistNames(): Promise<any>;
5
- cardNames(): Promise<any>;
6
- creatureTypes(): Promise<any>;
7
- enchantmentTypes(): Promise<any>;
8
- landTypes(): Promise<any>;
9
- loyalties(): Promise<any>;
10
- planeswalkerTypes(): Promise<any>;
11
- powers(): Promise<any>;
12
- spellTypes(): Promise<any>;
13
- toughnesses(): Promise<any>;
14
- watermarks(): Promise<any>;
15
- wordBank(): Promise<any>;
16
- }
17
- declare const _default: Catalog;
18
- export default _default;
@@ -1,10 +0,0 @@
1
- import MagicQuery from "../query/MagicQuery";
2
- declare class Rulings extends MagicQuery {
3
- byArenaId(id: any): Promise<any>;
4
- byId(id: any): Promise<any>;
5
- byMtgoId(id: any): Promise<any>;
6
- byMultiverseId(id: any): Promise<any>;
7
- bySet(setCode: any, collectorNumber: any): Promise<any>;
8
- }
9
- declare const _default: Rulings;
10
- export default _default;
@@ -1,9 +0,0 @@
1
- import MagicQuery from "../query/MagicQuery";
2
- declare class Sets extends MagicQuery {
3
- all(): Promise<any>;
4
- byCode(code: any): Promise<any>;
5
- byId(id: any): Promise<any>;
6
- byTcgPlayerId(id: any): Promise<any>;
7
- }
8
- declare const _default: Sets;
9
- export default _default;
@@ -1,7 +0,0 @@
1
- import MagicQuery from "../query/MagicQuery";
2
- declare class Symbology extends MagicQuery {
3
- all(): Promise<any>;
4
- parseMana(shorthand: any): Promise<any>;
5
- }
6
- declare const _default: Symbology;
7
- export default _default;
@@ -1,3 +0,0 @@
1
- export declare class MagicQueryError extends Error {
2
- constructor(data: any);
3
- }