@pokepc/dataset 6.8.2 → 7.0.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 (1420) hide show
  1. package/README.md +31 -0
  2. package/build/{box-preset-sanitizer-CmgPzVjb.mjs → box-preset-sanitizer-BE4i0vEj.mjs} +2 -2
  3. package/build/{box-preset-sanitizer-CmgPzVjb.mjs.map → box-preset-sanitizer-BE4i0vEj.mjs.map} +1 -1
  4. package/build/{build-bE_0_-0H.mjs → build-1TV6PqJe.mjs} +22 -12
  5. package/build/build-1TV6PqJe.mjs.map +1 -0
  6. package/build/{build-D2oPkkzJ.mjs → build-CBmCe7Y4.mjs} +3 -4
  7. package/build/{build-D2oPkkzJ.mjs.map → build-CBmCe7Y4.mjs.map} +1 -1
  8. package/build/enums-CXl-yCW7.mjs +274 -0
  9. package/build/enums-CXl-yCW7.mjs.map +1 -0
  10. package/build/enums-DNGH357y.d.mts +43 -0
  11. package/build/enums-DNGH357y.d.mts.map +1 -0
  12. package/build/evolution-schemas-BGAv7bJJ.d.mts +428 -0
  13. package/build/evolution-schemas-BGAv7bJJ.d.mts.map +1 -0
  14. package/build/evolution-schemas-BZQILLSQ.mjs +182 -0
  15. package/build/evolution-schemas-BZQILLSQ.mjs.map +1 -0
  16. package/build/{fs-B5MIz_Bs.mjs → fs-DzSv0j9I.mjs} +2 -2
  17. package/build/{fs-B5MIz_Bs.mjs.map → fs-DzSv0j9I.mjs.map} +1 -1
  18. package/build/lib/availability-sources.d.mts +53 -0
  19. package/build/lib/availability-sources.d.mts.map +1 -0
  20. package/build/lib/availability-sources.mjs +48287 -0
  21. package/build/lib/availability-sources.mjs.map +1 -0
  22. package/build/lib/box-preset-sanitizer.mjs +1 -1
  23. package/build/lib/box-preset-transform.mjs +3 -3
  24. package/build/lib/enums.d.mts +2 -2
  25. package/build/lib/enums.mjs +2 -2
  26. package/build/lib/evolution-schemas.d.mts +2 -0
  27. package/build/lib/evolution-schemas.mjs +2 -0
  28. package/build/lib/fs.d.mts +12 -4
  29. package/build/lib/fs.d.mts.map +1 -1
  30. package/build/lib/fs.mjs +6 -2
  31. package/build/lib/fs.mjs.map +1 -1
  32. package/build/lib/schemas.d.mts +3 -2
  33. package/build/lib/schemas.mjs +3 -2
  34. package/build/lib/types.d.mts +6 -2
  35. package/build/lib/types.d.mts.map +1 -1
  36. package/build/lib-next/_build.mjs +3 -3
  37. package/build/lib-next/fs.mjs +1 -1
  38. package/build/rolldown-runtime-B4iAMlE-.mjs +35 -0
  39. package/build/{schemas-DvWBehAR.mjs → schemas-30DCmCcg.mjs} +14 -12
  40. package/build/schemas-30DCmCcg.mjs.map +1 -0
  41. package/build/{schemas-DA3qZ10-.d.mts → schemas-D2xLu3LV.d.mts} +289 -62
  42. package/build/schemas-D2xLu3LV.d.mts.map +1 -0
  43. package/data/games/b2w2-b2.json +3 -1
  44. package/data/games/b2w2-w2.json +3 -1
  45. package/data/games/b2w2.json +3 -1
  46. package/data/games/bdsp-bd.json +3 -1
  47. package/data/games/bdsp-sp.json +3 -1
  48. package/data/games/bdsp.json +3 -1
  49. package/data/games/bw-b.json +3 -1
  50. package/data/games/bw-w.json +3 -1
  51. package/data/games/bw.json +3 -1
  52. package/data/games/bwb2w2.json +3 -1
  53. package/data/games/c.json +3 -1
  54. package/data/games/champions.json +3 -1
  55. package/data/games/col.json +3 -1
  56. package/data/games/dp-d.json +3 -1
  57. package/data/games/dp-p.json +3 -1
  58. package/data/games/dp.json +3 -1
  59. package/data/games/dppt.json +3 -1
  60. package/data/games/e.json +3 -1
  61. package/data/games/frlg-fr.json +3 -1
  62. package/data/games/frlg-lg.json +3 -1
  63. package/data/games/frlg.json +3 -1
  64. package/data/games/go.json +3 -1
  65. package/data/games/gs-g.json +3 -1
  66. package/data/games/gs-s.json +3 -1
  67. package/data/games/gs.json +3 -1
  68. package/data/games/gsc.json +3 -1
  69. package/data/games/hgss-hg.json +3 -1
  70. package/data/games/hgss-ss.json +3 -1
  71. package/data/games/hgss.json +3 -1
  72. package/data/games/home.json +3 -1
  73. package/data/games/la.json +3 -1
  74. package/data/games/lgpe-lge.json +3 -1
  75. package/data/games/lgpe-lgp.json +3 -1
  76. package/data/games/lgpe.json +3 -1
  77. package/data/games/lza-megadimension.json +3 -1
  78. package/data/games/lza.json +3 -1
  79. package/data/games/oras-as.json +3 -1
  80. package/data/games/oras-or.json +3 -1
  81. package/data/games/oras.json +3 -1
  82. package/data/games/pokopia-bubblybasin.json +3 -1
  83. package/data/games/pokopia.json +3 -1
  84. package/data/games/pt.json +3 -1
  85. package/data/games/rb-b.json +3 -1
  86. package/data/games/rb-r.json +3 -1
  87. package/data/games/rb.json +3 -1
  88. package/data/games/rby.json +3 -1
  89. package/data/games/rs-r.json +3 -1
  90. package/data/games/rs-s.json +3 -1
  91. package/data/games/rs.json +3 -1
  92. package/data/games/rse.json +3 -1
  93. package/data/games/sm-m.json +3 -1
  94. package/data/games/sm-s.json +3 -1
  95. package/data/games/sm.json +3 -1
  96. package/data/games/smusum.json +3 -1
  97. package/data/games/sv-indigodisk.json +3 -1
  98. package/data/games/sv-s.json +3 -1
  99. package/data/games/sv-tealmask.json +3 -1
  100. package/data/games/sv-v.json +3 -1
  101. package/data/games/sv.json +3 -1
  102. package/data/games/swsh-crowntundra.json +3 -1
  103. package/data/games/swsh-islearmor.json +3 -1
  104. package/data/games/swsh-sh.json +3 -1
  105. package/data/games/swsh-sw.json +3 -1
  106. package/data/games/swsh.json +3 -1
  107. package/data/games/usum-um.json +3 -1
  108. package/data/games/usum-us.json +3 -1
  109. package/data/games/usum.json +3 -1
  110. package/data/games/wiwa-wa.json +3 -1
  111. package/data/games/wiwa-wi.json +3 -1
  112. package/data/games/wiwa.json +3 -1
  113. package/data/games/xd.json +3 -1
  114. package/data/games/xy-x.json +3 -1
  115. package/data/games/xy-y.json +3 -1
  116. package/data/games/xy.json +3 -1
  117. package/data/games/y.json +3 -1
  118. package/data/items.json +70 -0
  119. package/data/locations.json +8072 -2
  120. package/data/pokemon/abomasnow-f.json +23 -5
  121. package/data/pokemon/abomasnow-mega.json +2 -2
  122. package/data/pokemon/abomasnow.json +23 -5
  123. package/data/pokemon/abra.json +1 -2
  124. package/data/pokemon/absol-mega.json +12 -1
  125. package/data/pokemon/accelgor.json +8 -3
  126. package/data/pokemon/aegislash-blade.json +12 -1
  127. package/data/pokemon/aegislash.json +20 -3
  128. package/data/pokemon/aerodactyl-mega.json +14 -1
  129. package/data/pokemon/aggron-mega.json +2 -2
  130. package/data/pokemon/aggron.json +11 -4
  131. package/data/pokemon/aipom-f.json +19 -4
  132. package/data/pokemon/aipom.json +14 -3
  133. package/data/pokemon/alakazam-f.json +21 -4
  134. package/data/pokemon/alakazam-mega.json +14 -1
  135. package/data/pokemon/alakazam.json +16 -3
  136. package/data/pokemon/alcremie-caramel-swirl-berry.json +12 -2
  137. package/data/pokemon/alcremie-caramel-swirl-clover.json +12 -2
  138. package/data/pokemon/alcremie-caramel-swirl-flower.json +12 -2
  139. package/data/pokemon/alcremie-caramel-swirl-love.json +12 -2
  140. package/data/pokemon/alcremie-caramel-swirl-ribbon.json +12 -2
  141. package/data/pokemon/alcremie-caramel-swirl-star.json +12 -2
  142. package/data/pokemon/alcremie-caramel-swirl-strawberry.json +12 -2
  143. package/data/pokemon/alcremie-lemon-cream-berry.json +12 -2
  144. package/data/pokemon/alcremie-lemon-cream-clover.json +12 -2
  145. package/data/pokemon/alcremie-lemon-cream-flower.json +12 -2
  146. package/data/pokemon/alcremie-lemon-cream-love.json +12 -2
  147. package/data/pokemon/alcremie-lemon-cream-ribbon.json +12 -2
  148. package/data/pokemon/alcremie-lemon-cream-star.json +12 -2
  149. package/data/pokemon/alcremie-lemon-cream-strawberry.json +12 -2
  150. package/data/pokemon/alcremie-matcha-cream-berry.json +12 -2
  151. package/data/pokemon/alcremie-matcha-cream-clover.json +12 -2
  152. package/data/pokemon/alcremie-matcha-cream-flower.json +12 -2
  153. package/data/pokemon/alcremie-matcha-cream-love.json +12 -2
  154. package/data/pokemon/alcremie-matcha-cream-ribbon.json +12 -2
  155. package/data/pokemon/alcremie-matcha-cream-star.json +12 -2
  156. package/data/pokemon/alcremie-matcha-cream-strawberry.json +12 -2
  157. package/data/pokemon/alcremie-mint-cream-berry.json +12 -2
  158. package/data/pokemon/alcremie-mint-cream-clover.json +12 -2
  159. package/data/pokemon/alcremie-mint-cream-flower.json +12 -2
  160. package/data/pokemon/alcremie-mint-cream-love.json +12 -2
  161. package/data/pokemon/alcremie-mint-cream-ribbon.json +12 -2
  162. package/data/pokemon/alcremie-mint-cream-star.json +12 -2
  163. package/data/pokemon/alcremie-mint-cream-strawberry.json +12 -2
  164. package/data/pokemon/alcremie-rainbow-swirl-berry.json +15 -2
  165. package/data/pokemon/alcremie-rainbow-swirl-clover.json +15 -2
  166. package/data/pokemon/alcremie-rainbow-swirl-flower.json +15 -2
  167. package/data/pokemon/alcremie-rainbow-swirl-love.json +15 -2
  168. package/data/pokemon/alcremie-rainbow-swirl-ribbon.json +15 -2
  169. package/data/pokemon/alcremie-rainbow-swirl-star.json +15 -2
  170. package/data/pokemon/alcremie-rainbow-swirl-strawberry.json +15 -2
  171. package/data/pokemon/alcremie-ruby-cream-berry.json +12 -2
  172. package/data/pokemon/alcremie-ruby-cream-clover.json +12 -2
  173. package/data/pokemon/alcremie-ruby-cream-flower.json +12 -2
  174. package/data/pokemon/alcremie-ruby-cream-love.json +12 -2
  175. package/data/pokemon/alcremie-ruby-cream-ribbon.json +12 -2
  176. package/data/pokemon/alcremie-ruby-cream-star.json +12 -2
  177. package/data/pokemon/alcremie-ruby-cream-strawberry.json +12 -2
  178. package/data/pokemon/alcremie-ruby-swirl-berry.json +12 -2
  179. package/data/pokemon/alcremie-ruby-swirl-clover.json +12 -2
  180. package/data/pokemon/alcremie-ruby-swirl-flower.json +12 -2
  181. package/data/pokemon/alcremie-ruby-swirl-love.json +12 -2
  182. package/data/pokemon/alcremie-ruby-swirl-ribbon.json +12 -2
  183. package/data/pokemon/alcremie-ruby-swirl-star.json +12 -2
  184. package/data/pokemon/alcremie-ruby-swirl-strawberry.json +12 -2
  185. package/data/pokemon/alcremie-salted-cream-berry.json +12 -2
  186. package/data/pokemon/alcremie-salted-cream-clover.json +12 -2
  187. package/data/pokemon/alcremie-salted-cream-flower.json +12 -2
  188. package/data/pokemon/alcremie-salted-cream-love.json +12 -2
  189. package/data/pokemon/alcremie-salted-cream-ribbon.json +12 -2
  190. package/data/pokemon/alcremie-salted-cream-star.json +12 -2
  191. package/data/pokemon/alcremie-salted-cream-strawberry.json +12 -2
  192. package/data/pokemon/alcremie-vanilla-cream-berry.json +12 -2
  193. package/data/pokemon/alcremie-vanilla-cream-clover.json +12 -2
  194. package/data/pokemon/alcremie-vanilla-cream-flower.json +12 -2
  195. package/data/pokemon/alcremie-vanilla-cream-love.json +12 -2
  196. package/data/pokemon/alcremie-vanilla-cream-ribbon.json +12 -2
  197. package/data/pokemon/alcremie-vanilla-cream-star.json +12 -2
  198. package/data/pokemon/alcremie.json +12 -2
  199. package/data/pokemon/altaria-mega.json +2 -2
  200. package/data/pokemon/altaria.json +11 -3
  201. package/data/pokemon/amaura.json +1 -1
  202. package/data/pokemon/ambipom-f.json +12 -3
  203. package/data/pokemon/ambipom.json +9 -3
  204. package/data/pokemon/amoonguss.json +9 -3
  205. package/data/pokemon/ampharos-mega.json +2 -2
  206. package/data/pokemon/ampharos.json +22 -4
  207. package/data/pokemon/annihilape.json +8 -2
  208. package/data/pokemon/anorith.json +1 -2
  209. package/data/pokemon/appletun-gmax.json +6 -2
  210. package/data/pokemon/appletun.json +10 -4
  211. package/data/pokemon/araquanid.json +8 -2
  212. package/data/pokemon/arbok.json +13 -3
  213. package/data/pokemon/arboliva.json +8 -2
  214. package/data/pokemon/arcanine-hisui.json +8 -2
  215. package/data/pokemon/arcanine.json +10 -4
  216. package/data/pokemon/arceus-bug.json +10 -1
  217. package/data/pokemon/arceus-dark.json +10 -1
  218. package/data/pokemon/arceus-dragon.json +10 -1
  219. package/data/pokemon/arceus-electric.json +10 -1
  220. package/data/pokemon/arceus-fairy.json +13 -2
  221. package/data/pokemon/arceus-fighting.json +10 -1
  222. package/data/pokemon/arceus-fire.json +10 -1
  223. package/data/pokemon/arceus-flying.json +10 -1
  224. package/data/pokemon/arceus-ghost.json +10 -1
  225. package/data/pokemon/arceus-grass.json +10 -1
  226. package/data/pokemon/arceus-ground.json +10 -1
  227. package/data/pokemon/arceus-ice.json +10 -1
  228. package/data/pokemon/arceus-legendary.json +2 -2
  229. package/data/pokemon/arceus-poison.json +10 -1
  230. package/data/pokemon/arceus-psychic.json +10 -1
  231. package/data/pokemon/arceus-rock.json +10 -1
  232. package/data/pokemon/arceus-steel.json +10 -1
  233. package/data/pokemon/arceus-water.json +10 -1
  234. package/data/pokemon/arceus.json +10 -1
  235. package/data/pokemon/archaludon.json +9 -3
  236. package/data/pokemon/archen.json +1 -2
  237. package/data/pokemon/archeops.json +9 -4
  238. package/data/pokemon/arctibax.json +8 -2
  239. package/data/pokemon/ariados.json +10 -3
  240. package/data/pokemon/armaldo.json +9 -4
  241. package/data/pokemon/armarouge.json +10 -4
  242. package/data/pokemon/aromatisse.json +10 -4
  243. package/data/pokemon/aron.json +3 -2
  244. package/data/pokemon/articuno.json +7 -3
  245. package/data/pokemon/audino-mega.json +2 -2
  246. package/data/pokemon/audino.json +3 -1
  247. package/data/pokemon/aurorus.json +9 -4
  248. package/data/pokemon/avalugg-hisui.json +10 -2
  249. package/data/pokemon/avalugg.json +9 -3
  250. package/data/pokemon/axew.json +4 -0
  251. package/data/pokemon/azelf.json +15 -1
  252. package/data/pokemon/azumarill.json +11 -4
  253. package/data/pokemon/azurill.json +3 -2
  254. package/data/pokemon/bagon.json +12 -4
  255. package/data/pokemon/baltoy.json +12 -2
  256. package/data/pokemon/banette-mega.json +2 -2
  257. package/data/pokemon/banette.json +9 -3
  258. package/data/pokemon/barbaracle.json +21 -4
  259. package/data/pokemon/barraskewda.json +8 -2
  260. package/data/pokemon/basculegion-f.json +21 -2
  261. package/data/pokemon/basculegion.json +21 -2
  262. package/data/pokemon/basculin-blue-striped.json +1 -3
  263. package/data/pokemon/basculin.json +1 -3
  264. package/data/pokemon/bastiodon.json +10 -5
  265. package/data/pokemon/baxcalibur-mega.json +2 -2
  266. package/data/pokemon/baxcalibur.json +8 -2
  267. package/data/pokemon/bayleef.json +14 -4
  268. package/data/pokemon/beartic.json +9 -3
  269. package/data/pokemon/beautifly-f.json +22 -4
  270. package/data/pokemon/beautifly.json +22 -4
  271. package/data/pokemon/beedrill-mega.json +2 -2
  272. package/data/pokemon/beedrill.json +8 -2
  273. package/data/pokemon/beheeyem.json +9 -3
  274. package/data/pokemon/bellibolt.json +8 -2
  275. package/data/pokemon/bellossom.json +21 -4
  276. package/data/pokemon/bellsprout.json +6 -2
  277. package/data/pokemon/bergmite.json +1 -1
  278. package/data/pokemon/bewear.json +8 -2
  279. package/data/pokemon/bibarel-f.json +14 -4
  280. package/data/pokemon/bibarel.json +9 -3
  281. package/data/pokemon/bidoof-f.json +6 -2
  282. package/data/pokemon/bidoof.json +1 -1
  283. package/data/pokemon/binacle.json +13 -2
  284. package/data/pokemon/bisharp.json +9 -3
  285. package/data/pokemon/blacephalon.json +2 -2
  286. package/data/pokemon/blastoise-mega.json +2 -13
  287. package/data/pokemon/blastoise.json +8 -2
  288. package/data/pokemon/blaziken-f.json +12 -2
  289. package/data/pokemon/blaziken-mega.json +3 -3
  290. package/data/pokemon/blaziken.json +12 -2
  291. package/data/pokemon/blissey.json +9 -3
  292. package/data/pokemon/blitzle.json +1 -1
  293. package/data/pokemon/boldore.json +8 -2
  294. package/data/pokemon/boltund.json +8 -2
  295. package/data/pokemon/bouffalant.json +1 -1
  296. package/data/pokemon/braixen.json +10 -4
  297. package/data/pokemon/brambleghast.json +12 -3
  298. package/data/pokemon/bramblin.json +1 -1
  299. package/data/pokemon/braviary-hisui.json +10 -2
  300. package/data/pokemon/braviary.json +9 -6
  301. package/data/pokemon/breloom.json +19 -3
  302. package/data/pokemon/brionne.json +8 -2
  303. package/data/pokemon/bronzong.json +9 -3
  304. package/data/pokemon/bronzor.json +1 -1
  305. package/data/pokemon/brutebonnet.json +3 -3
  306. package/data/pokemon/budew.json +3 -2
  307. package/data/pokemon/buizel-f.json +8 -2
  308. package/data/pokemon/buizel.json +3 -1
  309. package/data/pokemon/buneary.json +1 -1
  310. package/data/pokemon/bunnelby.json +1 -1
  311. package/data/pokemon/burmy-sandy.json +13 -1
  312. package/data/pokemon/burmy-trash.json +13 -1
  313. package/data/pokemon/burmy.json +13 -1
  314. package/data/pokemon/butterfree-f.json +8 -2
  315. package/data/pokemon/butterfree.json +8 -2
  316. package/data/pokemon/buzzwole.json +2 -2
  317. package/data/pokemon/cacnea.json +13 -1
  318. package/data/pokemon/cacturne-f.json +26 -4
  319. package/data/pokemon/cacturne.json +21 -3
  320. package/data/pokemon/camerupt-f.json +26 -4
  321. package/data/pokemon/camerupt-mega.json +1 -1
  322. package/data/pokemon/camerupt.json +21 -3
  323. package/data/pokemon/capsakid.json +1 -1
  324. package/data/pokemon/carkol.json +8 -2
  325. package/data/pokemon/carnivine.json +11 -1
  326. package/data/pokemon/carracosta.json +9 -4
  327. package/data/pokemon/carvanha.json +1 -3
  328. package/data/pokemon/cascoon.json +22 -4
  329. package/data/pokemon/castform-rainy.json +16 -3
  330. package/data/pokemon/castform-snowy.json +16 -3
  331. package/data/pokemon/castform-sunny.json +16 -3
  332. package/data/pokemon/castform.json +13 -3
  333. package/data/pokemon/celebi.json +14 -2
  334. package/data/pokemon/celesteela.json +2 -2
  335. package/data/pokemon/centiskorch-gmax.json +6 -2
  336. package/data/pokemon/centiskorch.json +8 -2
  337. package/data/pokemon/ceruledge.json +10 -4
  338. package/data/pokemon/cetitan.json +8 -2
  339. package/data/pokemon/chandelure.json +12 -2
  340. package/data/pokemon/chansey.json +17 -5
  341. package/data/pokemon/charizard-mega-x.json +3 -13
  342. package/data/pokemon/charizard-mega-y.json +3 -13
  343. package/data/pokemon/charizard.json +8 -2
  344. package/data/pokemon/charjabug.json +8 -2
  345. package/data/pokemon/charmeleon.json +8 -2
  346. package/data/pokemon/chatot.json +1 -1
  347. package/data/pokemon/cherrim-sunshine.json +1 -3
  348. package/data/pokemon/cherrim.json +19 -3
  349. package/data/pokemon/cherubi.json +11 -1
  350. package/data/pokemon/chesnaught-mega.json +2 -2
  351. package/data/pokemon/chesnaught.json +10 -4
  352. package/data/pokemon/chespin.json +2 -2
  353. package/data/pokemon/chewtle.json +1 -1
  354. package/data/pokemon/chienpao.json +1 -1
  355. package/data/pokemon/chikorita.json +7 -3
  356. package/data/pokemon/chimchar.json +14 -1
  357. package/data/pokemon/chimecho.json +20 -3
  358. package/data/pokemon/chingling.json +1 -1
  359. package/data/pokemon/chiyu.json +1 -1
  360. package/data/pokemon/cinccino.json +9 -3
  361. package/data/pokemon/cinderace.json +8 -2
  362. package/data/pokemon/clamperl.json +1 -1
  363. package/data/pokemon/clauncher.json +2 -12
  364. package/data/pokemon/clawitzer.json +10 -14
  365. package/data/pokemon/claydol.json +20 -4
  366. package/data/pokemon/clefable.json +8 -2
  367. package/data/pokemon/clefairy.json +7 -1
  368. package/data/pokemon/clodsire.json +8 -2
  369. package/data/pokemon/cloyster.json +10 -3
  370. package/data/pokemon/coalossal-gmax.json +6 -2
  371. package/data/pokemon/coalossal.json +8 -2
  372. package/data/pokemon/cobalion.json +3 -1
  373. package/data/pokemon/cofagrigus.json +9 -3
  374. package/data/pokemon/combee-f.json +6 -2
  375. package/data/pokemon/combee.json +1 -1
  376. package/data/pokemon/combusken-f.json +17 -3
  377. package/data/pokemon/combusken.json +12 -2
  378. package/data/pokemon/conkeldurr.json +10 -2
  379. package/data/pokemon/copperajah.json +8 -2
  380. package/data/pokemon/corphish.json +1 -2
  381. package/data/pokemon/corsola-galar.json +2 -2
  382. package/data/pokemon/corsola.json +1 -2
  383. package/data/pokemon/corviknight-gmax.json +6 -2
  384. package/data/pokemon/corviknight.json +8 -2
  385. package/data/pokemon/corvisquire.json +8 -2
  386. package/data/pokemon/cosmoem.json +8 -2
  387. package/data/pokemon/cottonee.json +2 -3
  388. package/data/pokemon/crabominable.json +13 -2
  389. package/data/pokemon/cradily.json +9 -4
  390. package/data/pokemon/cramorant-gorging.json +1 -1
  391. package/data/pokemon/cramorant-gulping.json +1 -1
  392. package/data/pokemon/cramorant.json +3 -3
  393. package/data/pokemon/cranidos.json +3 -4
  394. package/data/pokemon/crawdaunt.json +9 -4
  395. package/data/pokemon/cresselia.json +15 -1
  396. package/data/pokemon/croagunk-f.json +6 -3
  397. package/data/pokemon/croagunk.json +1 -2
  398. package/data/pokemon/crobat.json +9 -2
  399. package/data/pokemon/crocalor.json +8 -2
  400. package/data/pokemon/croconaw.json +14 -4
  401. package/data/pokemon/crustle.json +11 -3
  402. package/data/pokemon/cryogonal.json +1 -1
  403. package/data/pokemon/cubchoo.json +1 -1
  404. package/data/pokemon/cursola.json +10 -4
  405. package/data/pokemon/cyclizar.json +1 -1
  406. package/data/pokemon/cyndaquil.json +7 -3
  407. package/data/pokemon/dachsbun.json +8 -2
  408. package/data/pokemon/darkrai.json +8 -2
  409. package/data/pokemon/darmanitan-galar-zen.json +2 -2
  410. package/data/pokemon/darmanitan-galar.json +10 -4
  411. package/data/pokemon/darmanitan-zen.json +2 -11
  412. package/data/pokemon/darmanitan.json +10 -14
  413. package/data/pokemon/dartrix.json +8 -2
  414. package/data/pokemon/darumaka-galar.json +2 -2
  415. package/data/pokemon/darumaka.json +2 -12
  416. package/data/pokemon/decidueye-hisui.json +10 -2
  417. package/data/pokemon/decidueye.json +8 -2
  418. package/data/pokemon/dedenne.json +1 -1
  419. package/data/pokemon/deerling-autumn.json +12 -14
  420. package/data/pokemon/deerling-summer.json +12 -14
  421. package/data/pokemon/deerling-winter.json +12 -14
  422. package/data/pokemon/deerling.json +1 -1
  423. package/data/pokemon/deino.json +5 -3
  424. package/data/pokemon/delcatty.json +23 -5
  425. package/data/pokemon/delphox-mega.json +2 -2
  426. package/data/pokemon/delphox.json +10 -4
  427. package/data/pokemon/deoxys-attack.json +8 -2
  428. package/data/pokemon/deoxys-defense.json +8 -2
  429. package/data/pokemon/deoxys-speed.json +6 -0
  430. package/data/pokemon/deoxys.json +9 -1
  431. package/data/pokemon/dewgong.json +9 -4
  432. package/data/pokemon/dewott.json +11 -3
  433. package/data/pokemon/dialga.json +6 -14
  434. package/data/pokemon/diancie-mega.json +2 -2
  435. package/data/pokemon/diancie.json +16 -2
  436. package/data/pokemon/diggersby.json +9 -3
  437. package/data/pokemon/diglett.json +16 -5
  438. package/data/pokemon/dipplin.json +8 -2
  439. package/data/pokemon/ditto.json +2 -1
  440. package/data/pokemon/dodrio-f.json +14 -4
  441. package/data/pokemon/dodrio.json +9 -3
  442. package/data/pokemon/doduo-f.json +6 -2
  443. package/data/pokemon/doduo.json +1 -1
  444. package/data/pokemon/dolliv.json +8 -2
  445. package/data/pokemon/donphan-f.json +25 -4
  446. package/data/pokemon/donphan.json +20 -3
  447. package/data/pokemon/dottler.json +8 -2
  448. package/data/pokemon/doublade.json +20 -3
  449. package/data/pokemon/dragalge.json +10 -14
  450. package/data/pokemon/dragapult.json +10 -4
  451. package/data/pokemon/dragonair.json +8 -2
  452. package/data/pokemon/dragonite-mega.json +1 -1
  453. package/data/pokemon/dragonite.json +8 -2
  454. package/data/pokemon/drakloak.json +10 -4
  455. package/data/pokemon/drampa.json +2 -2
  456. package/data/pokemon/drapion.json +11 -3
  457. package/data/pokemon/drednaw-gmax.json +6 -2
  458. package/data/pokemon/drednaw.json +9 -3
  459. package/data/pokemon/dreepy.json +2 -2
  460. package/data/pokemon/drifblim.json +11 -4
  461. package/data/pokemon/drifloon.json +3 -2
  462. package/data/pokemon/drilbur.json +1 -1
  463. package/data/pokemon/drizzile.json +8 -2
  464. package/data/pokemon/druddigon.json +1 -1
  465. package/data/pokemon/dubwool.json +8 -2
  466. package/data/pokemon/ducklett.json +14 -2
  467. package/data/pokemon/dudunsparce-three-segment.json +12 -3
  468. package/data/pokemon/dudunsparce.json +11 -2
  469. package/data/pokemon/dugtrio-alola.json +8 -2
  470. package/data/pokemon/dugtrio.json +23 -7
  471. package/data/pokemon/dunsparce.json +1 -1
  472. package/data/pokemon/duosion.json +30 -4
  473. package/data/pokemon/duraludon-gmax.json +6 -2
  474. package/data/pokemon/durant.json +1 -1
  475. package/data/pokemon/dusclops.json +22 -3
  476. package/data/pokemon/dusknoir.json +27 -3
  477. package/data/pokemon/duskull.json +14 -1
  478. package/data/pokemon/dustox-f.json +27 -5
  479. package/data/pokemon/dustox.json +22 -4
  480. package/data/pokemon/dwebble.json +3 -1
  481. package/data/pokemon/eelektrik.json +12 -2
  482. package/data/pokemon/eelektross.json +12 -2
  483. package/data/pokemon/eevee-gmax.json +6 -2
  484. package/data/pokemon/eiscue-noice.json +2 -2
  485. package/data/pokemon/eiscue.json +2 -2
  486. package/data/pokemon/ekans.json +5 -1
  487. package/data/pokemon/eldegoss.json +8 -2
  488. package/data/pokemon/electabuzz.json +21 -5
  489. package/data/pokemon/electivire.json +17 -5
  490. package/data/pokemon/electrike.json +13 -2
  491. package/data/pokemon/electrode-hisui.json +10 -4
  492. package/data/pokemon/electrode.json +11 -3
  493. package/data/pokemon/elekid.json +1 -3
  494. package/data/pokemon/elgyem.json +1 -1
  495. package/data/pokemon/emboar.json +11 -3
  496. package/data/pokemon/empoleon.json +12 -2
  497. package/data/pokemon/enamorus.json +5 -3
  498. package/data/pokemon/entei.json +6 -2
  499. package/data/pokemon/escavalier.json +8 -3
  500. package/data/pokemon/espathra.json +8 -2
  501. package/data/pokemon/espeon.json +7 -2
  502. package/data/pokemon/espurr.json +1 -1
  503. package/data/pokemon/excadrill.json +9 -3
  504. package/data/pokemon/exeggutor-alola.json +12 -2
  505. package/data/pokemon/exeggutor.json +21 -5
  506. package/data/pokemon/exploud.json +22 -4
  507. package/data/pokemon/falinks-mega.json +1 -1
  508. package/data/pokemon/farfetchd-galar.json +3 -3
  509. package/data/pokemon/farfetchd.json +15 -3
  510. package/data/pokemon/farigiraf.json +8 -3
  511. package/data/pokemon/fearow.json +8 -2
  512. package/data/pokemon/feebas.json +11 -3
  513. package/data/pokemon/fennekin.json +2 -2
  514. package/data/pokemon/feraligatr.json +14 -4
  515. package/data/pokemon/ferroseed.json +1 -1
  516. package/data/pokemon/ferrothorn.json +9 -3
  517. package/data/pokemon/fezandipiti.json +1 -1
  518. package/data/pokemon/finneon-f.json +6 -4
  519. package/data/pokemon/finneon.json +1 -3
  520. package/data/pokemon/flaaffy.json +22 -4
  521. package/data/pokemon/flabebe-blue.json +2 -2
  522. package/data/pokemon/flabebe-orange.json +2 -2
  523. package/data/pokemon/flabebe-white.json +2 -2
  524. package/data/pokemon/flabebe-yellow.json +2 -2
  525. package/data/pokemon/flabebe.json +2 -2
  526. package/data/pokemon/flapple-gmax.json +6 -2
  527. package/data/pokemon/flapple.json +10 -4
  528. package/data/pokemon/flareon.json +8 -2
  529. package/data/pokemon/fletchinder.json +8 -2
  530. package/data/pokemon/floatzel-f.json +16 -4
  531. package/data/pokemon/floatzel.json +11 -3
  532. package/data/pokemon/floette-blue.json +9 -3
  533. package/data/pokemon/floette-orange.json +9 -3
  534. package/data/pokemon/floette-white.json +9 -3
  535. package/data/pokemon/floette-yellow.json +9 -3
  536. package/data/pokemon/floette.json +9 -3
  537. package/data/pokemon/floragato.json +8 -2
  538. package/data/pokemon/florges-blue.json +9 -3
  539. package/data/pokemon/florges-orange.json +9 -3
  540. package/data/pokemon/florges-white.json +9 -3
  541. package/data/pokemon/florges-yellow.json +9 -3
  542. package/data/pokemon/florges.json +9 -3
  543. package/data/pokemon/fluttermane.json +3 -3
  544. package/data/pokemon/flygon.json +9 -4
  545. package/data/pokemon/foongus.json +1 -1
  546. package/data/pokemon/forretress.json +10 -3
  547. package/data/pokemon/fraxure.json +12 -2
  548. package/data/pokemon/frillish-f.json +6 -2
  549. package/data/pokemon/frillish.json +1 -1
  550. package/data/pokemon/froakie.json +2 -2
  551. package/data/pokemon/frogadier.json +10 -4
  552. package/data/pokemon/froslass.json +9 -5
  553. package/data/pokemon/frosmoth.json +7 -2
  554. package/data/pokemon/furfrou-dandy.json +2 -15
  555. package/data/pokemon/furfrou-debutante.json +2 -15
  556. package/data/pokemon/furfrou-diamond.json +2 -15
  557. package/data/pokemon/furfrou-heart.json +2 -15
  558. package/data/pokemon/furfrou-kabuki.json +2 -15
  559. package/data/pokemon/furfrou-la-reine.json +2 -15
  560. package/data/pokemon/furfrou-matron.json +2 -15
  561. package/data/pokemon/furfrou-pharaoh.json +2 -15
  562. package/data/pokemon/furfrou-star.json +2 -15
  563. package/data/pokemon/furfrou.json +1 -1
  564. package/data/pokemon/furret.json +21 -3
  565. package/data/pokemon/gabite-f.json +14 -5
  566. package/data/pokemon/gabite.json +9 -4
  567. package/data/pokemon/gallade-mega.json +2 -2
  568. package/data/pokemon/gallade.json +11 -4
  569. package/data/pokemon/galvantula.json +9 -3
  570. package/data/pokemon/garbodor.json +8 -2
  571. package/data/pokemon/garchomp-f.json +14 -5
  572. package/data/pokemon/garchomp-mega-z.json +2 -2
  573. package/data/pokemon/garchomp-mega.json +12 -1
  574. package/data/pokemon/garchomp.json +9 -4
  575. package/data/pokemon/gardevoir-mega.json +2 -2
  576. package/data/pokemon/gardevoir.json +11 -4
  577. package/data/pokemon/garganacl.json +8 -2
  578. package/data/pokemon/gastly.json +1 -1
  579. package/data/pokemon/gastrodon-east.json +9 -7
  580. package/data/pokemon/gastrodon.json +20 -9
  581. package/data/pokemon/genesect-burn.json +17 -2
  582. package/data/pokemon/genesect-chill.json +17 -2
  583. package/data/pokemon/genesect-douse.json +17 -2
  584. package/data/pokemon/genesect-shock.json +17 -2
  585. package/data/pokemon/genesect.json +18 -2
  586. package/data/pokemon/gengar-mega.json +12 -1
  587. package/data/pokemon/gengar.json +16 -2
  588. package/data/pokemon/geodude.json +11 -5
  589. package/data/pokemon/gholdengo.json +9 -2
  590. package/data/pokemon/gible-f.json +6 -3
  591. package/data/pokemon/gible.json +1 -2
  592. package/data/pokemon/gigalith.json +7 -1
  593. package/data/pokemon/gimmighoul-roaming.json +1 -1
  594. package/data/pokemon/girafarig-f.json +14 -1
  595. package/data/pokemon/girafarig.json +14 -1
  596. package/data/pokemon/giratina-origin.json +15 -4
  597. package/data/pokemon/giratina.json +16 -4
  598. package/data/pokemon/glaceon.json +13 -2
  599. package/data/pokemon/glalie-mega.json +1 -1
  600. package/data/pokemon/glalie.json +20 -5
  601. package/data/pokemon/glameow.json +17 -12
  602. package/data/pokemon/gligar-f.json +13 -5
  603. package/data/pokemon/gligar.json +8 -4
  604. package/data/pokemon/glimmora.json +8 -2
  605. package/data/pokemon/gliscor.json +29 -6
  606. package/data/pokemon/gloom-f.json +27 -6
  607. package/data/pokemon/gloom.json +23 -5
  608. package/data/pokemon/gogoat.json +9 -3
  609. package/data/pokemon/golbat-f.json +8 -2
  610. package/data/pokemon/golbat.json +8 -2
  611. package/data/pokemon/golduck.json +8 -2
  612. package/data/pokemon/golem-alola.json +7 -1
  613. package/data/pokemon/golem.json +26 -6
  614. package/data/pokemon/golett.json +1 -2
  615. package/data/pokemon/golisopod.json +8 -2
  616. package/data/pokemon/golurk.json +9 -4
  617. package/data/pokemon/goodra-hisui.json +9 -4
  618. package/data/pokemon/goodra.json +16 -5
  619. package/data/pokemon/goomy.json +1 -2
  620. package/data/pokemon/gorebyss.json +9 -3
  621. package/data/pokemon/gothita.json +3 -2
  622. package/data/pokemon/gothitelle.json +11 -4
  623. package/data/pokemon/gothorita.json +11 -4
  624. package/data/pokemon/gourgeist-large.json +8 -2
  625. package/data/pokemon/gourgeist-small.json +8 -2
  626. package/data/pokemon/gourgeist-super.json +8 -2
  627. package/data/pokemon/gourgeist.json +8 -2
  628. package/data/pokemon/grafaiai.json +8 -2
  629. package/data/pokemon/granbull.json +9 -3
  630. package/data/pokemon/grapploct.json +7 -2
  631. package/data/pokemon/graveler-alola.json +8 -2
  632. package/data/pokemon/graveler.json +19 -7
  633. package/data/pokemon/greattusk.json +3 -3
  634. package/data/pokemon/greedent.json +8 -2
  635. package/data/pokemon/greninja-ash.json +2 -2
  636. package/data/pokemon/greninja-mega.json +2 -2
  637. package/data/pokemon/greninja.json +10 -4
  638. package/data/pokemon/grimer-alola.json +2 -12
  639. package/data/pokemon/grimer.json +11 -6
  640. package/data/pokemon/grimmsnarl.json +8 -2
  641. package/data/pokemon/grotle.json +12 -2
  642. package/data/pokemon/groudon-primal.json +2 -2
  643. package/data/pokemon/groudon.json +4 -0
  644. package/data/pokemon/grovyle.json +12 -2
  645. package/data/pokemon/growlithe.json +3 -3
  646. package/data/pokemon/grumpig.json +22 -3
  647. package/data/pokemon/gulpin-f.json +19 -2
  648. package/data/pokemon/gulpin.json +14 -1
  649. package/data/pokemon/gumshoos.json +8 -3
  650. package/data/pokemon/gurdurr.json +11 -3
  651. package/data/pokemon/gyarados-f.json +8 -2
  652. package/data/pokemon/gyarados-mega.json +14 -1
  653. package/data/pokemon/gyarados.json +8 -2
  654. package/data/pokemon/hakamoo.json +10 -14
  655. package/data/pokemon/happiny.json +1 -2
  656. package/data/pokemon/hariyama.json +8 -2
  657. package/data/pokemon/hatterene-gmax.json +6 -2
  658. package/data/pokemon/hatterene.json +8 -2
  659. package/data/pokemon/hattrem.json +8 -2
  660. package/data/pokemon/haunter.json +9 -3
  661. package/data/pokemon/hawlucha.json +1 -1
  662. package/data/pokemon/haxorus.json +12 -2
  663. package/data/pokemon/heatmor.json +1 -1
  664. package/data/pokemon/heatran.json +15 -1
  665. package/data/pokemon/heliolisk.json +10 -4
  666. package/data/pokemon/helioptile.json +2 -2
  667. package/data/pokemon/heracross-f.json +8 -3
  668. package/data/pokemon/heracross-mega.json +3 -3
  669. package/data/pokemon/heracross.json +3 -2
  670. package/data/pokemon/herdier.json +8 -2
  671. package/data/pokemon/hippopotas-f.json +3 -1
  672. package/data/pokemon/hippopotas.json +3 -1
  673. package/data/pokemon/hippowdon-f.json +11 -3
  674. package/data/pokemon/hippowdon.json +11 -3
  675. package/data/pokemon/hitmonchan.json +21 -4
  676. package/data/pokemon/hitmonlee.json +21 -4
  677. package/data/pokemon/hitmontop.json +21 -4
  678. package/data/pokemon/honchkrow.json +9 -4
  679. package/data/pokemon/honedge.json +12 -1
  680. package/data/pokemon/hooh.json +10 -5
  681. package/data/pokemon/hoopa-unbound.json +13 -15
  682. package/data/pokemon/hoopa.json +14 -2
  683. package/data/pokemon/hoothoot.json +3 -1
  684. package/data/pokemon/hoppip.json +14 -2
  685. package/data/pokemon/horsea.json +4 -0
  686. package/data/pokemon/houndoom-f.json +17 -5
  687. package/data/pokemon/houndoom-mega.json +2 -2
  688. package/data/pokemon/houndoom.json +12 -4
  689. package/data/pokemon/houndour.json +4 -2
  690. package/data/pokemon/houndstone.json +8 -3
  691. package/data/pokemon/huntail.json +9 -3
  692. package/data/pokemon/hydrapple.json +7 -2
  693. package/data/pokemon/hydreigon.json +13 -5
  694. package/data/pokemon/hypno-f.json +8 -2
  695. package/data/pokemon/hypno.json +8 -2
  696. package/data/pokemon/illumise.json +13 -1
  697. package/data/pokemon/incineroar.json +8 -2
  698. package/data/pokemon/infernape.json +12 -2
  699. package/data/pokemon/inkay.json +1 -1
  700. package/data/pokemon/inteleon.json +8 -2
  701. package/data/pokemon/ironbundle.json +3 -3
  702. package/data/pokemon/ironhands.json +3 -3
  703. package/data/pokemon/ironjugulis.json +3 -3
  704. package/data/pokemon/ironleaves.json +1 -1
  705. package/data/pokemon/ironmoth.json +3 -3
  706. package/data/pokemon/ironthorns.json +3 -3
  707. package/data/pokemon/irontreads.json +3 -3
  708. package/data/pokemon/ironvaliant.json +3 -3
  709. package/data/pokemon/ivysaur.json +8 -2
  710. package/data/pokemon/jangmoo.json +2 -12
  711. package/data/pokemon/jellicent-f.json +14 -4
  712. package/data/pokemon/jellicent.json +9 -3
  713. package/data/pokemon/jigglypuff.json +7 -1
  714. package/data/pokemon/jirachi.json +12 -1
  715. package/data/pokemon/jolteon.json +8 -2
  716. package/data/pokemon/joltik.json +1 -1
  717. package/data/pokemon/jumpluff.json +21 -4
  718. package/data/pokemon/jynx.json +10 -2
  719. package/data/pokemon/kabuto.json +4 -2
  720. package/data/pokemon/kabutops.json +12 -4
  721. package/data/pokemon/kadabra-f.json +14 -5
  722. package/data/pokemon/kadabra.json +9 -4
  723. package/data/pokemon/kakuna.json +8 -2
  724. package/data/pokemon/kangaskhan-mega.json +12 -1
  725. package/data/pokemon/karrablast.json +1 -1
  726. package/data/pokemon/kartana.json +2 -2
  727. package/data/pokemon/kecleon.json +15 -4
  728. package/data/pokemon/keldeo-resolute.json +16 -2
  729. package/data/pokemon/keldeo.json +18 -3
  730. package/data/pokemon/kilowattrel.json +8 -2
  731. package/data/pokemon/kingambit.json +15 -2
  732. package/data/pokemon/kingdra.json +12 -2
  733. package/data/pokemon/kingler.json +9 -3
  734. package/data/pokemon/kirlia.json +11 -4
  735. package/data/pokemon/klang.json +11 -3
  736. package/data/pokemon/kleavor.json +10 -2
  737. package/data/pokemon/klink.json +3 -1
  738. package/data/pokemon/klinklang.json +11 -3
  739. package/data/pokemon/koffing.json +15 -2
  740. package/data/pokemon/kommoo.json +10 -14
  741. package/data/pokemon/krabby.json +1 -1
  742. package/data/pokemon/kricketot-f.json +16 -2
  743. package/data/pokemon/kricketot.json +11 -1
  744. package/data/pokemon/kricketune-f.json +24 -4
  745. package/data/pokemon/kricketune.json +19 -3
  746. package/data/pokemon/krokorok.json +8 -2
  747. package/data/pokemon/krookodile.json +8 -2
  748. package/data/pokemon/kyogre-primal.json +2 -2
  749. package/data/pokemon/kyogre.json +4 -0
  750. package/data/pokemon/kyurem-black.json +2 -2
  751. package/data/pokemon/kyurem-white.json +2 -2
  752. package/data/pokemon/kyurem.json +3 -1
  753. package/data/pokemon/lairon.json +11 -4
  754. package/data/pokemon/lampent.json +12 -2
  755. package/data/pokemon/landorus-therian.json +2 -2
  756. package/data/pokemon/landorus.json +16 -3
  757. package/data/pokemon/lanturn.json +8 -2
  758. package/data/pokemon/larvesta.json +1 -1
  759. package/data/pokemon/larvitar.json +7 -6
  760. package/data/pokemon/latias-mega.json +3 -3
  761. package/data/pokemon/latias.json +5 -4
  762. package/data/pokemon/latios-mega.json +3 -3
  763. package/data/pokemon/latios.json +5 -4
  764. package/data/pokemon/leafeon.json +13 -2
  765. package/data/pokemon/leavanny.json +11 -1
  766. package/data/pokemon/ledian-f.json +15 -14
  767. package/data/pokemon/ledian.json +10 -13
  768. package/data/pokemon/ledyba-f.json +6 -2
  769. package/data/pokemon/ledyba.json +1 -1
  770. package/data/pokemon/lickilicky.json +8 -3
  771. package/data/pokemon/lickitung.json +1 -1
  772. package/data/pokemon/liepard.json +21 -4
  773. package/data/pokemon/lileep.json +1 -2
  774. package/data/pokemon/lilligant-hisui.json +10 -2
  775. package/data/pokemon/lilligant.json +10 -5
  776. package/data/pokemon/linoone-galar.json +8 -2
  777. package/data/pokemon/linoone.json +12 -2
  778. package/data/pokemon/litleo.json +1 -1
  779. package/data/pokemon/litwick.json +4 -0
  780. package/data/pokemon/lokix.json +8 -2
  781. package/data/pokemon/lombre.json +24 -6
  782. package/data/pokemon/lopunny-mega.json +2 -2
  783. package/data/pokemon/lopunny.json +8 -2
  784. package/data/pokemon/lotad.json +16 -4
  785. package/data/pokemon/loudred.json +22 -4
  786. package/data/pokemon/lucario-mega.json +1 -1
  787. package/data/pokemon/lucario.json +7 -2
  788. package/data/pokemon/ludicolo-f.json +29 -7
  789. package/data/pokemon/ludicolo.json +24 -6
  790. package/data/pokemon/lugia.json +9 -4
  791. package/data/pokemon/lumineon-f.json +14 -6
  792. package/data/pokemon/lumineon.json +9 -5
  793. package/data/pokemon/lunala.json +11 -14
  794. package/data/pokemon/lunatone.json +15 -3
  795. package/data/pokemon/lurantis.json +8 -3
  796. package/data/pokemon/luxio-f.json +16 -5
  797. package/data/pokemon/luxio.json +11 -4
  798. package/data/pokemon/luxray-f.json +16 -5
  799. package/data/pokemon/luxray.json +11 -4
  800. package/data/pokemon/lycanroc-dusk.json +30 -5
  801. package/data/pokemon/lycanroc-midnight.json +28 -3
  802. package/data/pokemon/lycanroc.json +28 -3
  803. package/data/pokemon/mabosstiff.json +8 -2
  804. package/data/pokemon/machamp.json +16 -3
  805. package/data/pokemon/machoke.json +9 -4
  806. package/data/pokemon/machop.json +1 -2
  807. package/data/pokemon/magby.json +12 -3
  808. package/data/pokemon/magcargo.json +11 -3
  809. package/data/pokemon/magearna-original-mega.json +1 -1
  810. package/data/pokemon/magearna-original.json +3 -3
  811. package/data/pokemon/magearna.json +3 -3
  812. package/data/pokemon/magmar.json +21 -5
  813. package/data/pokemon/magmortar.json +17 -5
  814. package/data/pokemon/magnemite.json +1 -2
  815. package/data/pokemon/magneton.json +9 -4
  816. package/data/pokemon/magnezone.json +14 -4
  817. package/data/pokemon/malamar-mega.json +1 -1
  818. package/data/pokemon/malamar.json +12 -4
  819. package/data/pokemon/mamoswine-f.json +19 -3
  820. package/data/pokemon/mamoswine.json +11 -2
  821. package/data/pokemon/manaphy.json +13 -2
  822. package/data/pokemon/mandibuzz.json +9 -6
  823. package/data/pokemon/manectric-mega.json +2 -2
  824. package/data/pokemon/manectric.json +10 -4
  825. package/data/pokemon/mankey.json +13 -2
  826. package/data/pokemon/mantine.json +19 -3
  827. package/data/pokemon/mantyke.json +1 -1
  828. package/data/pokemon/maractus.json +1 -1
  829. package/data/pokemon/mareep.json +5 -4
  830. package/data/pokemon/marill.json +10 -3
  831. package/data/pokemon/marowak-alola.json +15 -3
  832. package/data/pokemon/marowak.json +21 -5
  833. package/data/pokemon/marshadow.json +2 -2
  834. package/data/pokemon/marshtomp.json +12 -2
  835. package/data/pokemon/masquerain.json +10 -4
  836. package/data/pokemon/maushold-three.json +12 -2
  837. package/data/pokemon/maushold.json +13 -3
  838. package/data/pokemon/mawile-mega.json +2 -2
  839. package/data/pokemon/mawile.json +13 -3
  840. package/data/pokemon/medicham-f.json +17 -4
  841. package/data/pokemon/medicham-mega.json +2 -2
  842. package/data/pokemon/medicham.json +12 -3
  843. package/data/pokemon/meditite-f.json +9 -2
  844. package/data/pokemon/meditite.json +4 -1
  845. package/data/pokemon/meganium-f.json +19 -5
  846. package/data/pokemon/meganium.json +14 -4
  847. package/data/pokemon/melmetal-gmax.json +8 -4
  848. package/data/pokemon/melmetal.json +9 -1
  849. package/data/pokemon/meloetta-pirouette.json +16 -3
  850. package/data/pokemon/meloetta.json +16 -3
  851. package/data/pokemon/meltan.json +3 -3
  852. package/data/pokemon/meowscarada.json +8 -2
  853. package/data/pokemon/meowstic-f.json +9 -3
  854. package/data/pokemon/meowstic.json +9 -3
  855. package/data/pokemon/meowth-alola.json +3 -2
  856. package/data/pokemon/meowth.json +6 -6
  857. package/data/pokemon/mesprit.json +15 -1
  858. package/data/pokemon/metagross-mega.json +1 -1
  859. package/data/pokemon/metagross.json +8 -2
  860. package/data/pokemon/metang.json +8 -2
  861. package/data/pokemon/metapod.json +8 -2
  862. package/data/pokemon/mew.json +17 -13
  863. package/data/pokemon/mewtwo-mega-x.json +2 -11
  864. package/data/pokemon/mewtwo-mega-y.json +2 -11
  865. package/data/pokemon/mewtwo.json +4 -4
  866. package/data/pokemon/mienfoo.json +1 -1
  867. package/data/pokemon/mienshao.json +9 -3
  868. package/data/pokemon/mightyena.json +13 -3
  869. package/data/pokemon/milotic-f.json +32 -6
  870. package/data/pokemon/milotic.json +24 -5
  871. package/data/pokemon/miltank.json +1 -1
  872. package/data/pokemon/mimejr.json +1 -1
  873. package/data/pokemon/minccino.json +1 -1
  874. package/data/pokemon/minun.json +13 -1
  875. package/data/pokemon/misdreavus.json +2 -2
  876. package/data/pokemon/mismagius.json +10 -4
  877. package/data/pokemon/moltres.json +7 -3
  878. package/data/pokemon/monferno.json +12 -2
  879. package/data/pokemon/morgrem.json +8 -2
  880. package/data/pokemon/morpeko-hangry.json +2 -2
  881. package/data/pokemon/morpeko.json +2 -2
  882. package/data/pokemon/mothim.json +21 -3
  883. package/data/pokemon/mrmime-galar.json +12 -3
  884. package/data/pokemon/mrmime.json +12 -2
  885. package/data/pokemon/mrrime.json +8 -2
  886. package/data/pokemon/mudkip.json +4 -0
  887. package/data/pokemon/mudsdale.json +8 -2
  888. package/data/pokemon/muk-alola.json +10 -14
  889. package/data/pokemon/muk.json +19 -8
  890. package/data/pokemon/munna.json +1 -1
  891. package/data/pokemon/murkrow-f.json +6 -3
  892. package/data/pokemon/murkrow.json +1 -2
  893. package/data/pokemon/musharna.json +9 -3
  894. package/data/pokemon/naclstack.json +8 -2
  895. package/data/pokemon/naganadel.json +7 -2
  896. package/data/pokemon/natu.json +1 -1
  897. package/data/pokemon/necrozma-dawn-wings.json +2 -2
  898. package/data/pokemon/necrozma-dusk-mane.json +2 -2
  899. package/data/pokemon/nidoking.json +23 -4
  900. package/data/pokemon/nidoqueen.json +23 -4
  901. package/data/pokemon/nidoranf.json +15 -2
  902. package/data/pokemon/nidoranm.json +15 -2
  903. package/data/pokemon/nidorina.json +23 -4
  904. package/data/pokemon/nidorino.json +23 -4
  905. package/data/pokemon/nincada.json +4 -0
  906. package/data/pokemon/ninetales-alola.json +10 -16
  907. package/data/pokemon/ninetales.json +23 -9
  908. package/data/pokemon/ninjask.json +12 -2
  909. package/data/pokemon/noctowl.json +21 -3
  910. package/data/pokemon/noibat.json +1 -1
  911. package/data/pokemon/noivern.json +9 -3
  912. package/data/pokemon/numel-f.json +18 -2
  913. package/data/pokemon/numel.json +13 -1
  914. package/data/pokemon/nuzleaf-f.json +28 -7
  915. package/data/pokemon/nuzleaf.json +23 -6
  916. package/data/pokemon/obstagoon.json +8 -3
  917. package/data/pokemon/octillery-f.json +10 -3
  918. package/data/pokemon/octillery.json +10 -3
  919. package/data/pokemon/oddish.json +15 -3
  920. package/data/pokemon/oinkologne-f.json +9 -3
  921. package/data/pokemon/oinkologne.json +8 -2
  922. package/data/pokemon/omanyte.json +4 -2
  923. package/data/pokemon/omastar.json +12 -4
  924. package/data/pokemon/onix.json +1 -1
  925. package/data/pokemon/oranguru.json +2 -2
  926. package/data/pokemon/orbeetle-gmax.json +6 -2
  927. package/data/pokemon/orbeetle.json +8 -2
  928. package/data/pokemon/oshawott.json +3 -1
  929. package/data/pokemon/overqwil.json +25 -2
  930. package/data/pokemon/pachirisu-f.json +11 -1
  931. package/data/pokemon/pachirisu.json +11 -1
  932. package/data/pokemon/palafin-hero.json +1 -1
  933. package/data/pokemon/palafin.json +9 -2
  934. package/data/pokemon/palkia.json +6 -14
  935. package/data/pokemon/palossand.json +8 -2
  936. package/data/pokemon/palpitoad.json +9 -3
  937. package/data/pokemon/pangoro.json +8 -3
  938. package/data/pokemon/panpour.json +1 -1
  939. package/data/pokemon/pansage.json +1 -1
  940. package/data/pokemon/pansear.json +1 -1
  941. package/data/pokemon/parasect.json +8 -2
  942. package/data/pokemon/passimian.json +2 -2
  943. package/data/pokemon/patrat.json +1 -1
  944. package/data/pokemon/pawmo.json +8 -2
  945. package/data/pokemon/pawmot.json +11 -2
  946. package/data/pokemon/pawniard.json +1 -1
  947. package/data/pokemon/pecharunt.json +1 -1
  948. package/data/pokemon/pelipper.json +8 -2
  949. package/data/pokemon/perrserker.json +8 -2
  950. package/data/pokemon/persian-alola.json +10 -3
  951. package/data/pokemon/persian.json +13 -7
  952. package/data/pokemon/petilil.json +2 -3
  953. package/data/pokemon/phanpy.json +12 -1
  954. package/data/pokemon/pheromosa.json +2 -2
  955. package/data/pokemon/phione.json +12 -1
  956. package/data/pokemon/pidgeot-mega.json +2 -2
  957. package/data/pokemon/pidgeot.json +21 -4
  958. package/data/pokemon/pidgeotto.json +21 -4
  959. package/data/pokemon/pidgey.json +13 -2
  960. package/data/pokemon/pidove.json +1 -1
  961. package/data/pokemon/pignite.json +11 -3
  962. package/data/pokemon/pikachu-alola.json +12 -2
  963. package/data/pokemon/pikachu-f.json +7 -1
  964. package/data/pokemon/pikachu-hoenn.json +12 -2
  965. package/data/pokemon/pikachu-kalos.json +12 -2
  966. package/data/pokemon/pikachu-original.json +12 -2
  967. package/data/pokemon/pikachu-partner.json +3 -3
  968. package/data/pokemon/pikachu-sinnoh.json +12 -2
  969. package/data/pokemon/pikachu-unova.json +12 -2
  970. package/data/pokemon/pikachu-world.json +2 -2
  971. package/data/pokemon/pikachu.json +7 -1
  972. package/data/pokemon/piloswine-f.json +17 -3
  973. package/data/pokemon/piloswine.json +12 -2
  974. package/data/pokemon/pineco.json +2 -1
  975. package/data/pokemon/pinsir-mega.json +15 -3
  976. package/data/pokemon/pinsir.json +3 -4
  977. package/data/pokemon/piplup.json +14 -1
  978. package/data/pokemon/plusle.json +12 -1
  979. package/data/pokemon/politoed-f.json +8 -2
  980. package/data/pokemon/politoed.json +8 -2
  981. package/data/pokemon/poliwhirl.json +8 -2
  982. package/data/pokemon/poliwrath.json +8 -2
  983. package/data/pokemon/polteageist-antique.json +8 -2
  984. package/data/pokemon/polteageist.json +8 -2
  985. package/data/pokemon/ponyta-galar.json +2 -2
  986. package/data/pokemon/ponyta.json +15 -2
  987. package/data/pokemon/poochyena.json +5 -1
  988. package/data/pokemon/porygon.json +13 -2
  989. package/data/pokemon/porygon2.json +29 -4
  990. package/data/pokemon/porygonz.json +17 -4
  991. package/data/pokemon/primarina.json +8 -2
  992. package/data/pokemon/primeape.json +9 -4
  993. package/data/pokemon/prinplup.json +12 -2
  994. package/data/pokemon/probopass.json +21 -2
  995. package/data/pokemon/pumpkaboo-large.json +1 -1
  996. package/data/pokemon/pumpkaboo-small.json +1 -1
  997. package/data/pokemon/pumpkaboo-super.json +1 -1
  998. package/data/pokemon/pumpkaboo.json +1 -1
  999. package/data/pokemon/pupitar.json +15 -8
  1000. package/data/pokemon/purrloin.json +13 -2
  1001. package/data/pokemon/purugly.json +25 -14
  1002. package/data/pokemon/pyroar-f.json +9 -3
  1003. package/data/pokemon/pyroar.json +9 -3
  1004. package/data/pokemon/quagsire-f.json +28 -4
  1005. package/data/pokemon/quagsire.json +23 -3
  1006. package/data/pokemon/quaquaval.json +8 -2
  1007. package/data/pokemon/quaxwell.json +8 -2
  1008. package/data/pokemon/quilava.json +25 -4
  1009. package/data/pokemon/quilladin.json +10 -4
  1010. package/data/pokemon/qwilfish.json +14 -1
  1011. package/data/pokemon/raboot.json +8 -2
  1012. package/data/pokemon/rabsca.json +12 -3
  1013. package/data/pokemon/raichu-alola.json +14 -4
  1014. package/data/pokemon/raichu-f.json +17 -4
  1015. package/data/pokemon/raichu-mega-x.json +1 -1
  1016. package/data/pokemon/raichu-mega-y.json +1 -1
  1017. package/data/pokemon/raichu.json +9 -3
  1018. package/data/pokemon/raikou.json +6 -2
  1019. package/data/pokemon/ralts.json +3 -2
  1020. package/data/pokemon/rampardos.json +11 -6
  1021. package/data/pokemon/rapidash-galar.json +10 -4
  1022. package/data/pokemon/rapidash.json +22 -4
  1023. package/data/pokemon/raticate-alola.json +8 -3
  1024. package/data/pokemon/raticate-f.json +26 -4
  1025. package/data/pokemon/raticate.json +21 -3
  1026. package/data/pokemon/rattata-f.json +19 -2
  1027. package/data/pokemon/rattata.json +14 -1
  1028. package/data/pokemon/rayquaza-mega.json +2 -2
  1029. package/data/pokemon/rayquaza.json +4 -0
  1030. package/data/pokemon/regice.json +5 -2
  1031. package/data/pokemon/regigigas.json +15 -1
  1032. package/data/pokemon/regirock.json +5 -2
  1033. package/data/pokemon/registeel.json +5 -2
  1034. package/data/pokemon/rellor.json +1 -1
  1035. package/data/pokemon/remoraid.json +2 -1
  1036. package/data/pokemon/reshiram.json +22 -2
  1037. package/data/pokemon/reuniclus.json +30 -4
  1038. package/data/pokemon/revavroom.json +8 -2
  1039. package/data/pokemon/rhydon-f.json +18 -5
  1040. package/data/pokemon/rhydon.json +13 -4
  1041. package/data/pokemon/rhyhorn-f.json +10 -3
  1042. package/data/pokemon/rhyhorn.json +5 -2
  1043. package/data/pokemon/rhyperior-f.json +21 -4
  1044. package/data/pokemon/rhyperior.json +21 -4
  1045. package/data/pokemon/ribombee.json +8 -2
  1046. package/data/pokemon/rillaboom.json +8 -2
  1047. package/data/pokemon/roaringmoon.json +3 -3
  1048. package/data/pokemon/roselia-f.json +19 -5
  1049. package/data/pokemon/roselia.json +10 -4
  1050. package/data/pokemon/roserade-f.json +16 -5
  1051. package/data/pokemon/roserade.json +11 -4
  1052. package/data/pokemon/rotom-fan.json +3 -1
  1053. package/data/pokemon/rotom-frost.json +3 -1
  1054. package/data/pokemon/rotom-heat.json +3 -1
  1055. package/data/pokemon/rotom-mow.json +3 -1
  1056. package/data/pokemon/rotom-wash.json +3 -1
  1057. package/data/pokemon/rotom.json +3 -1
  1058. package/data/pokemon/rufflet.json +1 -4
  1059. package/data/pokemon/runerigus.json +27 -2
  1060. package/data/pokemon/sableye-mega.json +1 -1
  1061. package/data/pokemon/sableye.json +11 -3
  1062. package/data/pokemon/salamence-mega.json +1 -1
  1063. package/data/pokemon/salamence.json +10 -6
  1064. package/data/pokemon/salazzle.json +8 -2
  1065. package/data/pokemon/samurott-hisui.json +10 -2
  1066. package/data/pokemon/samurott.json +11 -3
  1067. package/data/pokemon/sandaconda-gmax.json +6 -2
  1068. package/data/pokemon/sandaconda.json +8 -2
  1069. package/data/pokemon/sandshrew-alola.json +2 -2
  1070. package/data/pokemon/sandshrew.json +12 -1
  1071. package/data/pokemon/sandslash-alola.json +10 -4
  1072. package/data/pokemon/sandslash.json +20 -3
  1073. package/data/pokemon/sandyshocks.json +3 -3
  1074. package/data/pokemon/sawk.json +2 -1
  1075. package/data/pokemon/sawsbuck-autumn.json +20 -16
  1076. package/data/pokemon/sawsbuck-summer.json +20 -16
  1077. package/data/pokemon/sawsbuck-winter.json +20 -16
  1078. package/data/pokemon/sawsbuck.json +9 -3
  1079. package/data/pokemon/scatterbug.json +2 -2
  1080. package/data/pokemon/sceptile-mega.json +3 -3
  1081. package/data/pokemon/sceptile.json +12 -2
  1082. package/data/pokemon/scizor-f.json +25 -8
  1083. package/data/pokemon/scizor-mega.json +1 -1
  1084. package/data/pokemon/scizor.json +20 -7
  1085. package/data/pokemon/scolipede.json +11 -3
  1086. package/data/pokemon/scovillain.json +9 -3
  1087. package/data/pokemon/scrafty.json +9 -4
  1088. package/data/pokemon/scraggy.json +1 -2
  1089. package/data/pokemon/screamtail.json +3 -3
  1090. package/data/pokemon/scyther-f.json +8 -4
  1091. package/data/pokemon/scyther.json +3 -3
  1092. package/data/pokemon/seadra.json +12 -2
  1093. package/data/pokemon/seaking-f.json +8 -2
  1094. package/data/pokemon/seaking.json +8 -2
  1095. package/data/pokemon/sealeo.json +12 -2
  1096. package/data/pokemon/seedot.json +15 -4
  1097. package/data/pokemon/seel.json +1 -2
  1098. package/data/pokemon/seismitoad.json +9 -3
  1099. package/data/pokemon/sentret.json +14 -1
  1100. package/data/pokemon/serperior.json +11 -3
  1101. package/data/pokemon/servine.json +11 -3
  1102. package/data/pokemon/seviper.json +14 -2
  1103. package/data/pokemon/sewaddle.json +4 -0
  1104. package/data/pokemon/sharpedo-mega.json +1 -1
  1105. package/data/pokemon/sharpedo.json +9 -5
  1106. package/data/pokemon/shaymin-sky.json +7 -1
  1107. package/data/pokemon/shaymin.json +9 -1
  1108. package/data/pokemon/shedinja.json +19 -2
  1109. package/data/pokemon/shelgon.json +20 -6
  1110. package/data/pokemon/shellder.json +2 -1
  1111. package/data/pokemon/shellos-east.json +1 -5
  1112. package/data/pokemon/shellos.json +12 -7
  1113. package/data/pokemon/shelmet.json +1 -1
  1114. package/data/pokemon/shieldon.json +2 -3
  1115. package/data/pokemon/shiftry-f.json +28 -7
  1116. package/data/pokemon/shiftry.json +23 -6
  1117. package/data/pokemon/shiinotic.json +8 -2
  1118. package/data/pokemon/shinx-f.json +8 -3
  1119. package/data/pokemon/shinx.json +3 -2
  1120. package/data/pokemon/shroomish.json +11 -1
  1121. package/data/pokemon/shuckle.json +15 -3
  1122. package/data/pokemon/shuppet.json +1 -1
  1123. package/data/pokemon/sigilyph.json +3 -1
  1124. package/data/pokemon/silcoon.json +22 -4
  1125. package/data/pokemon/silvally.json +7 -1
  1126. package/data/pokemon/simipour.json +9 -3
  1127. package/data/pokemon/simisage.json +9 -3
  1128. package/data/pokemon/simisear.json +9 -3
  1129. package/data/pokemon/sinistcha-masterpiece.json +8 -2
  1130. package/data/pokemon/sinistcha.json +8 -2
  1131. package/data/pokemon/sirfetchd.json +11 -5
  1132. package/data/pokemon/skarmory-mega.json +1 -1
  1133. package/data/pokemon/skeledirge.json +8 -2
  1134. package/data/pokemon/skiddo.json +1 -1
  1135. package/data/pokemon/skiploom.json +21 -4
  1136. package/data/pokemon/skitty.json +16 -3
  1137. package/data/pokemon/skorupi.json +3 -1
  1138. package/data/pokemon/skrelp.json +2 -12
  1139. package/data/pokemon/skuntank.json +15 -5
  1140. package/data/pokemon/slaking.json +22 -4
  1141. package/data/pokemon/slakoth.json +14 -2
  1142. package/data/pokemon/sliggoo-hisui.json +11 -3
  1143. package/data/pokemon/sliggoo.json +9 -4
  1144. package/data/pokemon/slitherwing.json +3 -3
  1145. package/data/pokemon/slowbro-galar.json +8 -2
  1146. package/data/pokemon/slowbro-mega.json +12 -1
  1147. package/data/pokemon/slowbro.json +9 -4
  1148. package/data/pokemon/slowking-galar.json +8 -2
  1149. package/data/pokemon/slowking.json +9 -4
  1150. package/data/pokemon/slowpoke.json +1 -2
  1151. package/data/pokemon/slugma.json +3 -1
  1152. package/data/pokemon/slurpuff.json +10 -4
  1153. package/data/pokemon/smeargle.json +13 -3
  1154. package/data/pokemon/smoochum.json +2 -0
  1155. package/data/pokemon/sneasler.json +16 -3
  1156. package/data/pokemon/snivy.json +3 -1
  1157. package/data/pokemon/snorlax.json +7 -1
  1158. package/data/pokemon/snorunt.json +12 -3
  1159. package/data/pokemon/snover-f.json +20 -4
  1160. package/data/pokemon/snover.json +15 -3
  1161. package/data/pokemon/snubbull.json +1 -1
  1162. package/data/pokemon/solgaleo.json +11 -14
  1163. package/data/pokemon/solosis.json +22 -2
  1164. package/data/pokemon/solrock.json +15 -4
  1165. package/data/pokemon/spewpa.json +10 -4
  1166. package/data/pokemon/spheal.json +4 -0
  1167. package/data/pokemon/spidops.json +8 -2
  1168. package/data/pokemon/spinarak.json +2 -1
  1169. package/data/pokemon/spiritomb.json +11 -3
  1170. package/data/pokemon/spoink.json +14 -1
  1171. package/data/pokemon/spritzee.json +2 -2
  1172. package/data/pokemon/squawkabilly-blue.json +1 -1
  1173. package/data/pokemon/squawkabilly-white.json +1 -1
  1174. package/data/pokemon/squawkabilly-yellow.json +1 -1
  1175. package/data/pokemon/stakataka.json +2 -2
  1176. package/data/pokemon/stantler.json +9 -5
  1177. package/data/pokemon/staraptor-f.json +20 -4
  1178. package/data/pokemon/staraptor-mega.json +1 -1
  1179. package/data/pokemon/staraptor.json +20 -4
  1180. package/data/pokemon/staravia-f.json +25 -5
  1181. package/data/pokemon/staravia.json +20 -4
  1182. package/data/pokemon/starly-f.json +17 -3
  1183. package/data/pokemon/starly.json +12 -2
  1184. package/data/pokemon/starmie-mega.json +1 -1
  1185. package/data/pokemon/starmie.json +8 -2
  1186. package/data/pokemon/steelix-f.json +22 -4
  1187. package/data/pokemon/steelix-mega.json +2 -2
  1188. package/data/pokemon/steelix.json +17 -3
  1189. package/data/pokemon/steenee.json +8 -2
  1190. package/data/pokemon/stonjourner.json +2 -2
  1191. package/data/pokemon/stoutland.json +8 -2
  1192. package/data/pokemon/stunfisk.json +3 -1
  1193. package/data/pokemon/stunky.json +7 -3
  1194. package/data/pokemon/sudowoodo-f.json +11 -3
  1195. package/data/pokemon/sudowoodo.json +8 -3
  1196. package/data/pokemon/suicune.json +6 -2
  1197. package/data/pokemon/sunflora.json +21 -3
  1198. package/data/pokemon/sunkern.json +14 -1
  1199. package/data/pokemon/surskit.json +2 -2
  1200. package/data/pokemon/swablu.json +3 -1
  1201. package/data/pokemon/swadloon.json +12 -2
  1202. package/data/pokemon/swalot-f.json +22 -3
  1203. package/data/pokemon/swalot.json +22 -3
  1204. package/data/pokemon/swampert-mega.json +3 -3
  1205. package/data/pokemon/swampert.json +12 -2
  1206. package/data/pokemon/swanna.json +22 -4
  1207. package/data/pokemon/swellow.json +11 -3
  1208. package/data/pokemon/swinub.json +4 -0
  1209. package/data/pokemon/swirlix.json +2 -2
  1210. package/data/pokemon/swoobat.json +8 -2
  1211. package/data/pokemon/sylveon.json +17 -2
  1212. package/data/pokemon/taillow.json +3 -1
  1213. package/data/pokemon/talonflame.json +8 -2
  1214. package/data/pokemon/tangela.json +13 -1
  1215. package/data/pokemon/tangrowth-f.json +11 -5
  1216. package/data/pokemon/tangrowth.json +8 -5
  1217. package/data/pokemon/tauros-paldea-fire.json +3 -3
  1218. package/data/pokemon/tauros-paldea-water.json +3 -3
  1219. package/data/pokemon/tauros-paldea.json +1 -1
  1220. package/data/pokemon/teddiursa.json +7 -3
  1221. package/data/pokemon/tentacruel.json +8 -2
  1222. package/data/pokemon/tepig.json +3 -1
  1223. package/data/pokemon/terrakion.json +3 -1
  1224. package/data/pokemon/thievul.json +8 -2
  1225. package/data/pokemon/throh.json +2 -1
  1226. package/data/pokemon/thundurus-therian.json +14 -2
  1227. package/data/pokemon/thundurus.json +7 -2
  1228. package/data/pokemon/thwackey.json +8 -2
  1229. package/data/pokemon/timburr.json +3 -1
  1230. package/data/pokemon/tinglu.json +1 -1
  1231. package/data/pokemon/tinkaton.json +8 -2
  1232. package/data/pokemon/tinkatuff.json +8 -2
  1233. package/data/pokemon/tirtouga.json +1 -2
  1234. package/data/pokemon/toedscruel.json +8 -2
  1235. package/data/pokemon/togekiss.json +11 -4
  1236. package/data/pokemon/togepi.json +4 -3
  1237. package/data/pokemon/togetic.json +10 -3
  1238. package/data/pokemon/torchic-f.json +9 -1
  1239. package/data/pokemon/torchic.json +4 -0
  1240. package/data/pokemon/tornadus-therian.json +14 -2
  1241. package/data/pokemon/tornadus.json +7 -2
  1242. package/data/pokemon/torracat.json +8 -2
  1243. package/data/pokemon/torterra.json +12 -2
  1244. package/data/pokemon/totodile.json +7 -3
  1245. package/data/pokemon/toucannon.json +8 -2
  1246. package/data/pokemon/toxapex.json +8 -2
  1247. package/data/pokemon/toxicroak-f.json +14 -5
  1248. package/data/pokemon/toxicroak.json +9 -4
  1249. package/data/pokemon/toxtricity-low-key.json +27 -2
  1250. package/data/pokemon/toxtricity.json +28 -2
  1251. package/data/pokemon/tranquill.json +9 -3
  1252. package/data/pokemon/trapinch.json +1 -2
  1253. package/data/pokemon/treecko.json +4 -0
  1254. package/data/pokemon/trevenant.json +7 -1
  1255. package/data/pokemon/tropius.json +12 -5
  1256. package/data/pokemon/trumbeak.json +8 -2
  1257. package/data/pokemon/tsareena.json +7 -2
  1258. package/data/pokemon/turtonator.json +2 -2
  1259. package/data/pokemon/turtwig.json +14 -1
  1260. package/data/pokemon/tympole.json +1 -1
  1261. package/data/pokemon/tynamo.json +4 -0
  1262. package/data/pokemon/typhlosion-hisui.json +10 -2
  1263. package/data/pokemon/typhlosion.json +14 -4
  1264. package/data/pokemon/tyranitar-mega.json +2 -2
  1265. package/data/pokemon/tyranitar.json +15 -8
  1266. package/data/pokemon/tyrantrum.json +9 -4
  1267. package/data/pokemon/tyrogue.json +14 -1
  1268. package/data/pokemon/tyrunt.json +1 -1
  1269. package/data/pokemon/umbreon.json +7 -2
  1270. package/data/pokemon/unfezant-f.json +14 -4
  1271. package/data/pokemon/unfezant.json +9 -3
  1272. package/data/pokemon/unown-b.json +11 -1
  1273. package/data/pokemon/unown-c.json +11 -1
  1274. package/data/pokemon/unown-d.json +11 -1
  1275. package/data/pokemon/unown-e.json +11 -1
  1276. package/data/pokemon/unown-exclamation.json +30 -2
  1277. package/data/pokemon/unown-f.json +11 -1
  1278. package/data/pokemon/unown-g.json +11 -1
  1279. package/data/pokemon/unown-h.json +11 -1
  1280. package/data/pokemon/unown-i.json +11 -1
  1281. package/data/pokemon/unown-j.json +11 -1
  1282. package/data/pokemon/unown-k.json +11 -1
  1283. package/data/pokemon/unown-l.json +11 -1
  1284. package/data/pokemon/unown-m.json +11 -1
  1285. package/data/pokemon/unown-n.json +11 -1
  1286. package/data/pokemon/unown-o.json +11 -1
  1287. package/data/pokemon/unown-p.json +11 -1
  1288. package/data/pokemon/unown-q.json +11 -1
  1289. package/data/pokemon/unown-question.json +30 -2
  1290. package/data/pokemon/unown-r.json +11 -1
  1291. package/data/pokemon/unown-s.json +11 -1
  1292. package/data/pokemon/unown-t.json +11 -1
  1293. package/data/pokemon/unown-u.json +11 -1
  1294. package/data/pokemon/unown-v.json +11 -1
  1295. package/data/pokemon/unown-w.json +11 -1
  1296. package/data/pokemon/unown-x.json +11 -1
  1297. package/data/pokemon/unown-y.json +11 -1
  1298. package/data/pokemon/unown-z.json +11 -1
  1299. package/data/pokemon/unown.json +4 -0
  1300. package/data/pokemon/ursaluna.json +10 -2
  1301. package/data/pokemon/ursaring-f.json +20 -6
  1302. package/data/pokemon/ursaring.json +15 -5
  1303. package/data/pokemon/urshifu-gmax.json +6 -2
  1304. package/data/pokemon/urshifu-rapid-strike-gmax.json +6 -2
  1305. package/data/pokemon/urshifu-rapid-strike.json +15 -2
  1306. package/data/pokemon/urshifu.json +15 -2
  1307. package/data/pokemon/uxie.json +15 -1
  1308. package/data/pokemon/vanillish.json +8 -2
  1309. package/data/pokemon/vanilluxe.json +8 -2
  1310. package/data/pokemon/vaporeon.json +8 -2
  1311. package/data/pokemon/veluza.json +1 -1
  1312. package/data/pokemon/venipede.json +3 -1
  1313. package/data/pokemon/venomoth.json +9 -3
  1314. package/data/pokemon/venonat.json +1 -1
  1315. package/data/pokemon/venusaur-f.json +8 -2
  1316. package/data/pokemon/venusaur-mega.json +2 -13
  1317. package/data/pokemon/venusaur.json +8 -2
  1318. package/data/pokemon/vespiquen.json +9 -3
  1319. package/data/pokemon/vibrava.json +9 -4
  1320. package/data/pokemon/victini.json +17 -3
  1321. package/data/pokemon/victreebel-mega.json +1 -1
  1322. package/data/pokemon/victreebel.json +14 -4
  1323. package/data/pokemon/vigoroth.json +22 -4
  1324. package/data/pokemon/vikavolt.json +13 -2
  1325. package/data/pokemon/vileplume-f.json +22 -5
  1326. package/data/pokemon/vileplume.json +23 -5
  1327. package/data/pokemon/virizion.json +3 -1
  1328. package/data/pokemon/vivillon-archipelago.json +25 -5
  1329. package/data/pokemon/vivillon-continental.json +25 -5
  1330. package/data/pokemon/vivillon-elegant.json +25 -5
  1331. package/data/pokemon/vivillon-fancy.json +28 -6
  1332. package/data/pokemon/vivillon-garden.json +15 -5
  1333. package/data/pokemon/vivillon-high-plains.json +25 -5
  1334. package/data/pokemon/vivillon-jungle.json +25 -5
  1335. package/data/pokemon/vivillon-marine.json +15 -5
  1336. package/data/pokemon/vivillon-meadow.json +15 -5
  1337. package/data/pokemon/vivillon-modern.json +25 -5
  1338. package/data/pokemon/vivillon-monsoon.json +25 -5
  1339. package/data/pokemon/vivillon-ocean.json +25 -5
  1340. package/data/pokemon/vivillon-pokeball.json +22 -4
  1341. package/data/pokemon/vivillon-polar.json +25 -5
  1342. package/data/pokemon/vivillon-river.json +25 -5
  1343. package/data/pokemon/vivillon-sandstorm.json +25 -5
  1344. package/data/pokemon/vivillon-savanna.json +25 -5
  1345. package/data/pokemon/vivillon-sun.json +25 -5
  1346. package/data/pokemon/vivillon-tundra.json +25 -5
  1347. package/data/pokemon/vivillon.json +30 -6
  1348. package/data/pokemon/volbeat.json +13 -1
  1349. package/data/pokemon/volcanion.json +16 -2
  1350. package/data/pokemon/volcarona.json +9 -3
  1351. package/data/pokemon/voltorb-hisui.json +2 -2
  1352. package/data/pokemon/voltorb.json +3 -1
  1353. package/data/pokemon/vullaby.json +1 -4
  1354. package/data/pokemon/vulpix-alola.json +2 -14
  1355. package/data/pokemon/vulpix.json +15 -7
  1356. package/data/pokemon/wailmer.json +1 -3
  1357. package/data/pokemon/wailord.json +9 -5
  1358. package/data/pokemon/walkingwake.json +1 -1
  1359. package/data/pokemon/walrein.json +12 -2
  1360. package/data/pokemon/wartortle.json +8 -2
  1361. package/data/pokemon/watchog.json +9 -3
  1362. package/data/pokemon/weavile-f.json +22 -3
  1363. package/data/pokemon/weavile.json +16 -3
  1364. package/data/pokemon/weepinbell.json +14 -4
  1365. package/data/pokemon/weezing-galar.json +9 -2
  1366. package/data/pokemon/weezing.json +23 -4
  1367. package/data/pokemon/whimsicott.json +10 -5
  1368. package/data/pokemon/whirlipede.json +11 -3
  1369. package/data/pokemon/whiscash.json +8 -2
  1370. package/data/pokemon/whismur.json +14 -2
  1371. package/data/pokemon/wigglytuff.json +8 -2
  1372. package/data/pokemon/wobbuffet-f.json +9 -3
  1373. package/data/pokemon/wobbuffet.json +9 -3
  1374. package/data/pokemon/wochien.json +1 -1
  1375. package/data/pokemon/woobat.json +1 -1
  1376. package/data/pokemon/wooper-f.json +11 -3
  1377. package/data/pokemon/wooper-paldea.json +1 -1
  1378. package/data/pokemon/wooper.json +6 -2
  1379. package/data/pokemon/wormadam-sandy.json +21 -3
  1380. package/data/pokemon/wormadam-trash.json +21 -3
  1381. package/data/pokemon/wormadam.json +21 -3
  1382. package/data/pokemon/wugtrio.json +8 -2
  1383. package/data/pokemon/wurmple.json +14 -2
  1384. package/data/pokemon/wynaut.json +1 -1
  1385. package/data/pokemon/wyrdeer.json +9 -2
  1386. package/data/pokemon/xatu-f.json +14 -4
  1387. package/data/pokemon/xatu.json +9 -3
  1388. package/data/pokemon/xerneas-active.json +8 -4
  1389. package/data/pokemon/xerneas.json +13 -5
  1390. package/data/pokemon/yamask.json +1 -1
  1391. package/data/pokemon/yanma.json +3 -1
  1392. package/data/pokemon/yanmega.json +10 -3
  1393. package/data/pokemon/yveltal.json +3 -3
  1394. package/data/pokemon/zacian-crowned.json +2 -2
  1395. package/data/pokemon/zacian.json +2 -2
  1396. package/data/pokemon/zamazenta-crowned.json +2 -2
  1397. package/data/pokemon/zamazenta.json +2 -2
  1398. package/data/pokemon/zangoose.json +14 -2
  1399. package/data/pokemon/zapdos.json +7 -3
  1400. package/data/pokemon/zarude-dada.json +4 -4
  1401. package/data/pokemon/zarude.json +1 -1
  1402. package/data/pokemon/zebstrika.json +9 -3
  1403. package/data/pokemon/zekrom.json +22 -2
  1404. package/data/pokemon/zeraora-mega.json +2 -2
  1405. package/data/pokemon/zeraora.json +4 -4
  1406. package/data/pokemon/zigzagoon.json +4 -0
  1407. package/data/pokemon/zoroark-hisui.json +8 -2
  1408. package/data/pokemon/zoroark.json +10 -6
  1409. package/data/pokemon/zorua.json +2 -4
  1410. package/data/pokemon/zweilous.json +13 -5
  1411. package/data/pokemon/zygarde.json +2 -2
  1412. package/data/regions.json +2 -1
  1413. package/package.json +10 -6
  1414. package/build/build-bE_0_-0H.mjs.map +0 -1
  1415. package/build/enums-B7t9bSel.mjs +0 -189
  1416. package/build/enums-B7t9bSel.mjs.map +0 -1
  1417. package/build/enums-CCbmORM6.d.mts +0 -27
  1418. package/build/enums-CCbmORM6.d.mts.map +0 -1
  1419. package/build/schemas-DA3qZ10-.d.mts.map +0 -1
  1420. package/build/schemas-DvWBehAR.mjs.map +0 -1
package/README.md CHANGED
@@ -65,6 +65,9 @@ data/
65
65
  Root JSON files are collection files. `games/`, `pokedexes/`, and `pokemon/` contain one JSON file
66
66
  per entity. `indices/` controls the order of those per-entity files.
67
67
 
68
+ The [Pokémon availability field reference](docs/pokemon-availability.md) defines acquisition,
69
+ storage, shiny availability, and related form fields for both maintainers and agents.
70
+
68
71
  ## Contributing
69
72
 
70
73
  Requirements: Node.js 24 and pnpm 11.
@@ -80,6 +83,9 @@ pnpm build
80
83
  When changing data, run the tests before opening a PR. When changing the static API docs, run
81
84
  `pnpm build:pages` and check the local Swagger UI with `pnpm dev:openapi`.
82
85
 
86
+ `pnpm test` blocks external network requests, including in Node CLI subprocesses. Upstream tests
87
+ must use fixtures, mocked responses, or loopback test servers; they must not crawl live services.
88
+
83
89
  Build a GitHub Pages-ready artifact:
84
90
 
85
91
  ```bash
@@ -116,6 +122,31 @@ The editor runs on `http://127.0.0.1:3003` without external-directory configurat
116
122
  `pnpm dev:openapi` starts only the OpenAPI preview, and `pnpm dev` runs both in parallel. See the
117
123
  [editor guide](docs/editor.md) for editing rules, builds and disposable browser tests.
118
124
 
125
+ ## Pokémon availability lookup
126
+
127
+ Game records include PokéAPI version and version-group IDs. See the
128
+ [game ID mapping guide](docs/pokeapi-game-ids.md) for the schema and one-off population script.
129
+
130
+ Inspect the two Bulbapedia availability lists using a dataset Pokémon ID or nid:
131
+
132
+ ```bash
133
+ pnpm pokemon:availability pikachu
134
+ pnpm --silent pokemon:availability 0026-alola --json
135
+ pnpm pokemon:availability pikachu --patch
136
+ pnpm pokemon:availability:all --dry-run
137
+ ```
138
+
139
+ The command prints a terminal table with one row per game or candidate Pokémon availability fields.
140
+ It preserves existing values where the source is inconclusive, including `storableIn`, and reports
141
+ warnings. With `--patch`, it updates and formats the selected Pokémon file and prints a summary of
142
+ added and removed games instead of the table or JSON. The CLI and editor share deterministic parsers
143
+ for the main and GO availability lists; no AI or API key is required. See the
144
+ [CLI guide](docs/pokemon-availability-cli.md) for saved HTML input, classification rules, and
145
+ limitations.
146
+
147
+ Run `pnpm pokemon:availability:all` to review every Pokémon interactively. Each iteration shows the
148
+ changes summary and accepts `p` to patch or `s` to skip. Press Ctrl+C to stop.
149
+
119
150
  ## Credits
120
151
 
121
152
  This dataset uses public data from:
@@ -1,4 +1,4 @@
1
- import { y as modernBoxPresetSlotSchema } from "./schemas-DvWBehAR.mjs";
1
+ import { b as modernBoxPresetSlotSchema } from "./schemas-30DCmCcg.mjs";
2
2
  //#region src/lib/box-preset-sanitizer.ts
3
3
  const incompatibleClassicPokemonIds = [
4
4
  "greninja--battle-bond",
@@ -51,4 +51,4 @@ function collectModernBoxPresetSanitizerDiagnostics(originalSlots, sanitizedSlot
51
51
  //#endregion
52
52
  export { sanitizeModernBoxPresetSlots as a, sanitizeModernBoxPresetSlot as i, incompatibleClassicPokemonIds as n, modernBoxPresetSlotFilters as r, collectModernBoxPresetSanitizerDiagnostics as t };
53
53
 
54
- //# sourceMappingURL=box-preset-sanitizer-CmgPzVjb.mjs.map
54
+ //# sourceMappingURL=box-preset-sanitizer-BE4i0vEj.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"box-preset-sanitizer-CmgPzVjb.mjs","names":[],"sources":["../src/lib/box-preset-sanitizer.ts"],"sourcesContent":["import { modernBoxPresetSlotSchema } from './schemas'\n\nexport type ModernBoxPresetSlotInput =\n | null\n | string\n | {\n pid: string\n shiny?: boolean\n gmax?: boolean\n shinyLocked?: boolean\n }\n\nexport type ModernBoxPresetSlotSanitizerContext = {\n gameSet: string\n presetId: string\n boxIndex: number\n slotIndex: number\n validPokemonIds: ReadonlySet<string>\n}\n\nexport type ModernBoxPresetSlotFilter = (\n slot: ModernBoxPresetSlotInput,\n context: ModernBoxPresetSlotSanitizerContext,\n) => ModernBoxPresetSlotInput\n\nexport type ModernBoxPresetSanitizerDiagnostic = {\n reason: 'incompatible-classic-pokemon-id'\n pokemon: string\n gameSet: string\n presetId: string\n boxIndex: number\n slotIndex: number\n}\n\nexport const incompatibleClassicPokemonIds = [\n 'greninja--battle-bond',\n 'rockruff--own-tempo',\n 'zygarde--power-construct',\n 'zygarde-10--power-construct',\n] as const\nconst incompatibleClassicPokemonIdSet = new Set<string>(incompatibleClassicPokemonIds)\n\nfunction getSlotPokemonId(slot: ModernBoxPresetSlotInput): string | null {\n if (slot === null) return null\n if (typeof slot === 'string') return slot\n return slot.pid\n}\n\nfunction isIncompatibleClassicPokemonId(slot: ModernBoxPresetSlotInput): boolean {\n const pokemonId = getSlotPokemonId(slot)\n return pokemonId !== null && incompatibleClassicPokemonIdSet.has(pokemonId)\n}\n\nexport const modernBoxPresetSlotFilters: ModernBoxPresetSlotFilter[] = [\n (slot) => (isIncompatibleClassicPokemonId(slot) ? null : slot),\n]\n\nexport function sanitizeModernBoxPresetSlot(\n slot: ModernBoxPresetSlotInput,\n context: ModernBoxPresetSlotSanitizerContext,\n): Pkds.ModernBoxPresetSlot {\n const sanitized = modernBoxPresetSlotFilters.reduce(\n (currentSlot, filter) => filter(currentSlot, context),\n slot,\n )\n if (sanitized === null || typeof sanitized === 'string') {\n return sanitized\n }\n return modernBoxPresetSlotSchema.parse({\n pokemon: sanitized.pid,\n shiny: sanitized.shiny,\n gmax: sanitized.gmax,\n shinyLocked: sanitized.shinyLocked,\n })\n}\n\nexport function sanitizeModernBoxPresetSlots(\n slots: ModernBoxPresetSlotInput[],\n context: Omit<ModernBoxPresetSlotSanitizerContext, 'slotIndex'>,\n): Pkds.ModernBoxPresetSlot[] {\n return slots.map((slot, slotIndex) =>\n sanitizeModernBoxPresetSlot(slot, {\n ...context,\n slotIndex,\n }),\n )\n}\n\nexport function collectModernBoxPresetSanitizerDiagnostics(\n originalSlots: ModernBoxPresetSlotInput[],\n sanitizedSlots: Pkds.ModernBoxPresetSlot[],\n context: Omit<ModernBoxPresetSlotSanitizerContext, 'slotIndex'>,\n): ModernBoxPresetSanitizerDiagnostic[] {\n return originalSlots.flatMap((slot, slotIndex) => {\n const pokemon = getSlotPokemonId(slot)\n if (pokemon === null || sanitizedSlots[slotIndex] !== null) return []\n if (!incompatibleClassicPokemonIdSet.has(pokemon)) return []\n return [\n {\n reason: 'incompatible-classic-pokemon-id' as const,\n pokemon,\n gameSet: context.gameSet,\n presetId: context.presetId,\n boxIndex: context.boxIndex,\n slotIndex,\n },\n ]\n })\n}\n"],"mappings":";;AAkCA,MAAa,gCAAgC;CAC3C;CACA;CACA;CACA;AACF;AACA,MAAM,kCAAkC,IAAI,IAAY,6BAA6B;AAErF,SAAS,iBAAiB,MAA+C;CACvE,IAAI,SAAS,MAAM,OAAO;CAC1B,IAAI,OAAO,SAAS,UAAU,OAAO;CACrC,OAAO,KAAK;AACd;AAEA,SAAS,+BAA+B,MAAyC;CAC/E,MAAM,YAAY,iBAAiB,IAAI;CACvC,OAAO,cAAc,QAAQ,gCAAgC,IAAI,SAAS;AAC5E;AAEA,MAAa,6BAA0D,EACpE,SAAU,+BAA+B,IAAI,IAAI,OAAO,IAC3D;AAEA,SAAgB,4BACd,MACA,SAC0B;CAC1B,MAAM,YAAY,2BAA2B,QAC1C,aAAa,WAAW,OAAO,aAAa,OAAO,GACpD,IACF;CACA,IAAI,cAAc,QAAQ,OAAO,cAAc,UAC7C,OAAO;CAET,OAAO,0BAA0B,MAAM;EACrC,SAAS,UAAU;EACnB,OAAO,UAAU;EACjB,MAAM,UAAU;EAChB,aAAa,UAAU;CACzB,CAAC;AACH;AAEA,SAAgB,6BACd,OACA,SAC4B;CAC5B,OAAO,MAAM,KAAK,MAAM,cACtB,4BAA4B,MAAM;EAChC,GAAG;EACH;CACF,CAAC,CACH;AACF;AAEA,SAAgB,2CACd,eACA,gBACA,SACsC;CACtC,OAAO,cAAc,SAAS,MAAM,cAAc;EAChD,MAAM,UAAU,iBAAiB,IAAI;EACrC,IAAI,YAAY,QAAQ,eAAe,eAAe,MAAM,OAAO,CAAC;EACpE,IAAI,CAAC,gCAAgC,IAAI,OAAO,GAAG,OAAO,CAAC;EAC3D,OAAO,CACL;GACE,QAAQ;GACR;GACA,SAAS,QAAQ;GACjB,UAAU,QAAQ;GAClB,UAAU,QAAQ;GAClB;EACF,CACF;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"box-preset-sanitizer-BE4i0vEj.mjs","names":[],"sources":["../src/lib/box-preset-sanitizer.ts"],"sourcesContent":["import { modernBoxPresetSlotSchema } from './schemas'\n\nexport type ModernBoxPresetSlotInput =\n | null\n | string\n | {\n pid: string\n shiny?: boolean\n gmax?: boolean\n shinyLocked?: boolean\n }\n\nexport type ModernBoxPresetSlotSanitizerContext = {\n gameSet: string\n presetId: string\n boxIndex: number\n slotIndex: number\n validPokemonIds: ReadonlySet<string>\n}\n\nexport type ModernBoxPresetSlotFilter = (\n slot: ModernBoxPresetSlotInput,\n context: ModernBoxPresetSlotSanitizerContext,\n) => ModernBoxPresetSlotInput\n\nexport type ModernBoxPresetSanitizerDiagnostic = {\n reason: 'incompatible-classic-pokemon-id'\n pokemon: string\n gameSet: string\n presetId: string\n boxIndex: number\n slotIndex: number\n}\n\nexport const incompatibleClassicPokemonIds = [\n 'greninja--battle-bond',\n 'rockruff--own-tempo',\n 'zygarde--power-construct',\n 'zygarde-10--power-construct',\n] as const\nconst incompatibleClassicPokemonIdSet = new Set<string>(incompatibleClassicPokemonIds)\n\nfunction getSlotPokemonId(slot: ModernBoxPresetSlotInput): string | null {\n if (slot === null) return null\n if (typeof slot === 'string') return slot\n return slot.pid\n}\n\nfunction isIncompatibleClassicPokemonId(slot: ModernBoxPresetSlotInput): boolean {\n const pokemonId = getSlotPokemonId(slot)\n return pokemonId !== null && incompatibleClassicPokemonIdSet.has(pokemonId)\n}\n\nexport const modernBoxPresetSlotFilters: ModernBoxPresetSlotFilter[] = [\n (slot) => (isIncompatibleClassicPokemonId(slot) ? null : slot),\n]\n\nexport function sanitizeModernBoxPresetSlot(\n slot: ModernBoxPresetSlotInput,\n context: ModernBoxPresetSlotSanitizerContext,\n): Pkds.ModernBoxPresetSlot {\n const sanitized = modernBoxPresetSlotFilters.reduce(\n (currentSlot, filter) => filter(currentSlot, context),\n slot,\n )\n if (sanitized === null || typeof sanitized === 'string') {\n return sanitized\n }\n return modernBoxPresetSlotSchema.parse({\n pokemon: sanitized.pid,\n shiny: sanitized.shiny,\n gmax: sanitized.gmax,\n shinyLocked: sanitized.shinyLocked,\n })\n}\n\nexport function sanitizeModernBoxPresetSlots(\n slots: ModernBoxPresetSlotInput[],\n context: Omit<ModernBoxPresetSlotSanitizerContext, 'slotIndex'>,\n): Pkds.ModernBoxPresetSlot[] {\n return slots.map((slot, slotIndex) =>\n sanitizeModernBoxPresetSlot(slot, {\n ...context,\n slotIndex,\n }),\n )\n}\n\nexport function collectModernBoxPresetSanitizerDiagnostics(\n originalSlots: ModernBoxPresetSlotInput[],\n sanitizedSlots: Pkds.ModernBoxPresetSlot[],\n context: Omit<ModernBoxPresetSlotSanitizerContext, 'slotIndex'>,\n): ModernBoxPresetSanitizerDiagnostic[] {\n return originalSlots.flatMap((slot, slotIndex) => {\n const pokemon = getSlotPokemonId(slot)\n if (pokemon === null || sanitizedSlots[slotIndex] !== null) return []\n if (!incompatibleClassicPokemonIdSet.has(pokemon)) return []\n return [\n {\n reason: 'incompatible-classic-pokemon-id' as const,\n pokemon,\n gameSet: context.gameSet,\n presetId: context.presetId,\n boxIndex: context.boxIndex,\n slotIndex,\n },\n ]\n })\n}\n"],"mappings":";;AAkCA,MAAa,gCAAgC;CAC3C;CACA;CACA;CACA;AACF;AACA,MAAM,kCAAkC,IAAI,IAAY,6BAA6B;AAErF,SAAS,iBAAiB,MAA+C;CACvE,IAAI,SAAS,MAAM,OAAO;CAC1B,IAAI,OAAO,SAAS,UAAU,OAAO;CACrC,OAAO,KAAK;AACd;AAEA,SAAS,+BAA+B,MAAyC;CAC/E,MAAM,YAAY,iBAAiB,IAAI;CACvC,OAAO,cAAc,QAAQ,gCAAgC,IAAI,SAAS;AAC5E;AAEA,MAAa,6BAA0D,EACpE,SAAU,+BAA+B,IAAI,IAAI,OAAO,IAC3D;AAEA,SAAgB,4BACd,MACA,SAC0B;CAC1B,MAAM,YAAY,2BAA2B,QAC1C,aAAa,WAAW,OAAO,aAAa,OAAO,GACpD,IACF;CACA,IAAI,cAAc,QAAQ,OAAO,cAAc,UAC7C,OAAO;CAET,OAAO,0BAA0B,MAAM;EACrC,SAAS,UAAU;EACnB,OAAO,UAAU;EACjB,MAAM,UAAU;EAChB,aAAa,UAAU;CACzB,CAAC;AACH;AAEA,SAAgB,6BACd,OACA,SAC4B;CAC5B,OAAO,MAAM,KAAK,MAAM,cACtB,4BAA4B,MAAM;EAChC,GAAG;EACH;CACF,CAAC,CACH;AACF;AAEA,SAAgB,2CACd,eACA,gBACA,SACsC;CACtC,OAAO,cAAc,SAAS,MAAM,cAAc;EAChD,MAAM,UAAU,iBAAiB,IAAI;EACrC,IAAI,YAAY,QAAQ,eAAe,eAAe,MAAM,OAAO,CAAC;EACpE,IAAI,CAAC,gCAAgC,IAAI,OAAO,GAAG,OAAO,CAAC;EAC3D,OAAO,CACL;GACE,QAAQ;GACR;GACA,SAAS,QAAQ;GACjB,UAAU,QAAQ;GAClB,UAAU,QAAQ;GAClB;EACF,CACF;CACF,CAAC;AACH"}
@@ -1,5 +1,6 @@
1
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
1
  import { dirname, join } from "node:path";
2
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
3
+ import { setTimeout } from "node:timers/promises";
3
4
  //#region src/upstream-adapters/projectpokemon-champout/fixtures/pokeapi.ts
4
5
  const champoutPokeApiResourceNameAliases = { move: { visegrip: ["vicegrip", "vice-grip"] } };
5
6
  //#endregion
@@ -62,6 +63,7 @@ async function fetchPokeApiResourceList(kind, options) {
62
63
  }
63
64
  async function fetchPokeApiJson(pathnameOrUrl, options = {}) {
64
65
  const resolvedOptions = normalizePokeApiFetchOptions(options);
66
+ resolvedOptions.signal?.throwIfAborted();
65
67
  const url = resolvePokeApiUrl(pathnameOrUrl, resolvedOptions.baseUrl);
66
68
  const cacheEnabled = resolvedOptions.cache ?? process.env.POKEAPI_CACHE !== "0";
67
69
  const cachePath = pokeApiCachePath(url, resolvedOptions.cacheDir);
@@ -69,7 +71,7 @@ async function fetchPokeApiJson(pathnameOrUrl, options = {}) {
69
71
  const cachedJson = readCachedPokeApiJson(cachePath);
70
72
  if (cachedJson !== void 0) return cachedJson;
71
73
  }
72
- const json = await fetchPokeApiJsonFromNetwork(url, resolvedOptions.retries);
74
+ const json = await fetchPokeApiJsonFromNetwork(url, resolvedOptions);
73
75
  if (cacheEnabled) writeCachedPokeApiJson(cachePath, json);
74
76
  return json;
75
77
  }
@@ -80,7 +82,10 @@ function normalizePokeApiFetchOptions(options) {
80
82
  cache: input.cache ?? process.env.POKEAPI_CACHE !== "0",
81
83
  cacheDir: input.cacheDir ?? process.env.POKEAPI_CACHE_DIR ?? DEFAULT_POKEAPI_CACHE_DIR,
82
84
  forceRefresh: input.forceRefresh ?? process.env.POKEAPI_REFRESH_CACHE === "1",
83
- retries: input.retries ?? 3
85
+ retries: input.retries ?? 3,
86
+ signal: input.signal,
87
+ timeoutMs: input.timeoutMs ?? 3e4,
88
+ minIntervalMs: input.minIntervalMs ?? 0
84
89
  };
85
90
  }
86
91
  function resolvePokeApiUrl(pathnameOrUrl, baseUrl) {
@@ -90,19 +95,28 @@ function resolvePokeApiUrl(pathnameOrUrl, baseUrl) {
90
95
  const pathname = pathnameOrUrl.replace(/^\/+/, "").replace(/\/?$/, "/");
91
96
  return new URL(`${base}/${pathname}`);
92
97
  }
93
- async function fetchPokeApiJsonFromNetwork(url, retries) {
98
+ let lastRequestAt = 0;
99
+ async function fetchPokeApiJsonFromNetwork(url, options) {
94
100
  let lastError;
95
- for (let attempt = 1; attempt <= retries; attempt += 1) {
101
+ for (let attempt = 1; attempt <= options.retries; attempt += 1) {
102
+ options.signal?.throwIfAborted();
103
+ await setTimeout(Math.max(0, lastRequestAt + options.minIntervalMs - Date.now()), void 0, { signal: options.signal });
104
+ lastRequestAt = Date.now();
96
105
  try {
97
- const response = await fetch(url, { headers: { accept: "application/json" } });
106
+ const timeout = AbortSignal.timeout(options.timeoutMs);
107
+ const response = await fetch(url, {
108
+ headers: { accept: "application/json" },
109
+ signal: options.signal ? AbortSignal.any([options.signal, timeout]) : timeout
110
+ });
98
111
  if (response.ok) return await response.json();
99
112
  const body = await response.text();
100
113
  lastError = /* @__PURE__ */ new Error(`${response.status} ${response.statusText}${body.length > 0 ? `: ${body.slice(0, 240)}` : ""}`);
101
114
  if (response.status !== 429 && response.status < 500) break;
102
115
  } catch (error) {
116
+ options.signal?.throwIfAborted();
103
117
  lastError = error;
104
118
  }
105
- await sleep(backoffMs(attempt));
119
+ if (attempt < options.retries) await setTimeout(backoffMs(attempt), void 0, { signal: options.signal });
106
120
  }
107
121
  throw lastError instanceof Error ? lastError : new Error(String(lastError));
108
122
  }
@@ -134,10 +148,6 @@ function sanitizeCachePathSegment(value) {
134
148
  function backoffMs(attempt) {
135
149
  return Math.min(15e3, 750 * 2 ** Math.max(0, attempt - 1));
136
150
  }
137
- async function sleep(ms) {
138
- if (ms <= 0) return;
139
- await new Promise((resolveSleep) => setTimeout(resolveSleep, ms));
140
- }
141
151
  function isPokeApiResourceListResponse(value) {
142
152
  if (typeof value !== "object" || value === null) return false;
143
153
  const response = value;
@@ -302,4 +312,4 @@ console.log(formatEnrichChampionsDataSummary(result));
302
312
  //#endregion
303
313
  export {};
304
314
 
305
- //# sourceMappingURL=build-bE_0_-0H.mjs.map
315
+ //# sourceMappingURL=build-1TV6PqJe.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-1TV6PqJe.mjs","names":["delay"],"sources":["../src/upstream-adapters/projectpokemon-champout/fixtures/pokeapi.ts","../src/upstream-adapters/pokeapi/client.ts","../src/upstream-adapters/pokeapi/enrich-champions.ts","../src/upstream-adapters/pokeapi/build.ts"],"sourcesContent":["export const champoutPokeApiResourceNameAliases: Partial<\n Record<'ability' | 'item' | 'move', Record<string, readonly string[]>>\n> = {\n move: {\n visegrip: ['vicegrip', 'vice-grip'],\n },\n}\n","import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs'\nimport { dirname, join } from 'node:path'\nimport { setTimeout as delay } from 'node:timers/promises'\n\nexport const DEFAULT_POKEAPI_BASE_URL = 'https://pokeapi.co/api/v2'\nexport const DEFAULT_POKEAPI_CACHE_DIR = join(process.cwd(), '.local/pokeapi')\n\nexport const pokeApiResourceKinds = ['ability', 'item', 'move'] as const\nexport type PokeApiResourceKind = (typeof pokeApiResourceKinds)[number]\n\nexport type PokeApiResourceSummary = {\n name: string\n url: string\n}\n\nexport type PokeApiResourceIndexEntry = {\n id: number\n name: string\n}\n\nexport type PokeApiResourceIndex = {\n byId: Map<string, PokeApiResourceIndexEntry>\n byName: Map<string, PokeApiResourceIndexEntry>\n}\nexport type PokeApiResourceIndexes = Record<PokeApiResourceKind, PokeApiResourceIndex>\n\nexport type PokeApiFetchOptions = {\n baseUrl?: string\n cache?: boolean\n cacheDir?: string\n forceRefresh?: boolean\n retries?: number\n signal?: AbortSignal\n timeoutMs?: number\n minIntervalMs?: number\n}\n\ntype PokeApiResourceListResponse = {\n count: number\n results: PokeApiResourceSummary[]\n}\n\nexport async function fetchPokeApiResourceIndexes(\n baseUrlOrOptions: string | PokeApiFetchOptions = DEFAULT_POKEAPI_BASE_URL,\n): Promise<PokeApiResourceIndexes> {\n const options = normalizePokeApiFetchOptions(baseUrlOrOptions)\n const [ability, item, move] = await Promise.all(\n pokeApiResourceKinds.map((kind) => fetchPokeApiResourceIndex(kind, options)),\n )\n\n return { ability, item, move }\n}\n\nasync function fetchPokeApiResourceIndex(\n kind: PokeApiResourceKind,\n options: PokeApiFetchOptions,\n): Promise<PokeApiResourceIndex> {\n const list = await fetchPokeApiResourceList(kind, options)\n const index: PokeApiResourceIndex = {\n byId: new Map(),\n byName: new Map(),\n }\n\n for (const resource of list.results) {\n const id = parsePokeApiResourceId(resource.url, kind)\n const entry = { id, name: resource.name }\n const idKey = String(id)\n const existingIdEntry = index.byId.get(idKey)\n\n if (existingIdEntry !== undefined && existingIdEntry.name !== resource.name) {\n throw new Error(\n `Duplicate PokeAPI ${kind} resource id ${idKey}: ${existingIdEntry.name}, ${resource.name}`,\n )\n }\n\n index.byId.set(idKey, entry)\n\n for (const nameKey of pokeApiResourceNameKeys(resource.name)) {\n const existingEntry = index.byName.get(nameKey)\n\n if (existingEntry === undefined || existingEntry.id === id) {\n index.byName.set(nameKey, entry)\n continue\n }\n\n if (existingEntry.name !== resource.name) {\n throw new Error(\n `Duplicate PokeAPI ${kind} resource lookup key ${nameKey}: ${existingEntry.name}, ${resource.name}`,\n )\n }\n\n // Upstream sometimes lists the same resource name under two ids; keep the lowest so\n // lookups stay stable when a newer duplicate row appears.\n const keptEntry = existingEntry.id < id ? existingEntry : entry\n\n console.warn(\n `Duplicate PokeAPI ${kind} resource name ${resource.name} (ids ${existingEntry.id}, ${id}); keeping id ${keptEntry.id} for lookup key ${nameKey}`,\n )\n index.byName.set(nameKey, keptEntry)\n }\n }\n\n return index\n}\n\nasync function fetchPokeApiResourceList(\n kind: PokeApiResourceKind,\n options: PokeApiFetchOptions,\n): Promise<PokeApiResourceListResponse> {\n const baseUrl = options.baseUrl ?? DEFAULT_POKEAPI_BASE_URL\n const url = new URL(`${baseUrl.replace(/\\/+$/, '')}/${kind}/`)\n url.searchParams.set('limit', '100000')\n url.searchParams.set('offset', '0')\n\n const json = await fetchPokeApiJson(url, options)\n\n if (!isPokeApiResourceListResponse(json)) {\n throw new Error(`Unexpected PokeAPI ${kind} list response shape`)\n }\n\n if (json.results.length < json.count) {\n throw new Error(\n `Expected all PokeAPI ${kind} resources in one list response, got ${json.results.length} of ${json.count}`,\n )\n }\n\n return json\n}\n\nexport async function fetchPokeApiJson(\n pathnameOrUrl: string | URL,\n options: PokeApiFetchOptions = {},\n): Promise<unknown> {\n const resolvedOptions = normalizePokeApiFetchOptions(options)\n resolvedOptions.signal?.throwIfAborted()\n const url = resolvePokeApiUrl(pathnameOrUrl, resolvedOptions.baseUrl)\n const cacheEnabled = resolvedOptions.cache ?? process.env.POKEAPI_CACHE !== '0'\n const cachePath = pokeApiCachePath(url, resolvedOptions.cacheDir)\n\n if (cacheEnabled && !resolvedOptions.forceRefresh) {\n const cachedJson = readCachedPokeApiJson(cachePath)\n\n if (cachedJson !== undefined) {\n return cachedJson\n }\n }\n\n const json = await fetchPokeApiJsonFromNetwork(url, resolvedOptions)\n\n if (cacheEnabled) {\n writeCachedPokeApiJson(cachePath, json)\n }\n\n return json\n}\n\nfunction normalizePokeApiFetchOptions(\n options: string | PokeApiFetchOptions,\n): Required<Omit<PokeApiFetchOptions, 'signal'>> & Pick<PokeApiFetchOptions, 'signal'> {\n const input = typeof options === 'string' ? { baseUrl: options } : options\n\n return {\n baseUrl: input.baseUrl ?? DEFAULT_POKEAPI_BASE_URL,\n cache: input.cache ?? process.env.POKEAPI_CACHE !== '0',\n cacheDir: input.cacheDir ?? process.env.POKEAPI_CACHE_DIR ?? DEFAULT_POKEAPI_CACHE_DIR,\n forceRefresh: input.forceRefresh ?? process.env.POKEAPI_REFRESH_CACHE === '1',\n retries: input.retries ?? 3,\n signal: input.signal,\n timeoutMs: input.timeoutMs ?? 30_000,\n minIntervalMs: input.minIntervalMs ?? 0,\n }\n}\n\nfunction resolvePokeApiUrl(pathnameOrUrl: string | URL, baseUrl: string): URL {\n if (pathnameOrUrl instanceof URL) {\n return pathnameOrUrl\n }\n\n if (/^https?:\\/\\//i.test(pathnameOrUrl)) {\n return new URL(pathnameOrUrl)\n }\n\n const base = baseUrl.replace(/\\/+$/, '')\n const pathname = pathnameOrUrl.replace(/^\\/+/, '').replace(/\\/?$/, '/')\n return new URL(`${base}/${pathname}`)\n}\n\nlet lastRequestAt = 0\n\nasync function fetchPokeApiJsonFromNetwork(\n url: URL,\n options: ReturnType<typeof normalizePokeApiFetchOptions>,\n): Promise<unknown> {\n let lastError: unknown\n\n for (let attempt = 1; attempt <= options.retries; attempt += 1) {\n options.signal?.throwIfAborted()\n await delay(Math.max(0, lastRequestAt + options.minIntervalMs - Date.now()), undefined, {\n signal: options.signal,\n })\n lastRequestAt = Date.now()\n try {\n const timeout = AbortSignal.timeout(options.timeoutMs)\n const response = await fetch(url, {\n headers: {\n accept: 'application/json',\n },\n signal: options.signal ? AbortSignal.any([options.signal, timeout]) : timeout,\n })\n\n if (response.ok) {\n return await response.json()\n }\n\n const body = await response.text()\n lastError = new Error(\n `${response.status} ${response.statusText}${body.length > 0 ? `: ${body.slice(0, 240)}` : ''}`,\n )\n\n if (response.status !== 429 && response.status < 500) {\n break\n }\n } catch (error) {\n options.signal?.throwIfAborted()\n lastError = error\n }\n\n if (attempt < options.retries)\n await delay(backoffMs(attempt), undefined, { signal: options.signal })\n }\n\n throw lastError instanceof Error ? lastError : new Error(String(lastError))\n}\n\nfunction readCachedPokeApiJson(cachePath: string): unknown | undefined {\n if (!existsSync(cachePath)) {\n return undefined\n }\n\n try {\n return JSON.parse(readFileSync(cachePath, 'utf8'))\n } catch {\n return undefined\n }\n}\n\nfunction writeCachedPokeApiJson(cachePath: string, json: unknown): void {\n mkdirSync(dirname(cachePath), { recursive: true })\n writeFileSync(cachePath, `${JSON.stringify(json)}\\n`)\n}\n\nfunction pokeApiCachePath(url: URL, cacheDir: string): string {\n const segments = [\n sanitizeCachePathSegment(url.hostname),\n ...url.pathname.split('/').filter(Boolean).map(sanitizeCachePathSegment),\n ]\n const searchSuffix = url.search.length > 0 ? `-${stableSearchSuffix(url.searchParams)}` : ''\n const filename = `${segments.pop() ?? 'index'}${searchSuffix}.json`\n\n return join(cacheDir, ...segments, filename)\n}\n\nfunction stableSearchSuffix(searchParams: URLSearchParams): string {\n return Array.from(searchParams.entries())\n .sort(([leftKey, leftValue], [rightKey, rightValue]) =>\n `${leftKey}=${leftValue}`.localeCompare(`${rightKey}=${rightValue}`),\n )\n .map(([key, value]) => `${sanitizeCachePathSegment(key)}-${sanitizeCachePathSegment(value)}`)\n .join('-')\n}\n\nfunction sanitizeCachePathSegment(value: string): string {\n const sanitized = value.replace(/[^a-zA-Z0-9._-]+/g, '-').replace(/^-+|-+$/g, '')\n return sanitized.length > 0 ? sanitized : '_'\n}\n\nfunction backoffMs(attempt: number): number {\n return Math.min(15_000, 750 * 2 ** Math.max(0, attempt - 1))\n}\n\nfunction isPokeApiResourceListResponse(value: unknown): value is PokeApiResourceListResponse {\n if (typeof value !== 'object' || value === null) {\n return false\n }\n\n const response = value as Record<string, unknown>\n\n return (\n typeof response.count === 'number' &&\n Array.isArray(response.results) &&\n response.results.every(isPokeApiResourceSummary)\n )\n}\n\nfunction isPokeApiResourceSummary(value: unknown): value is PokeApiResourceSummary {\n if (typeof value !== 'object' || value === null) {\n return false\n }\n\n const resource = value as Record<string, unknown>\n\n return typeof resource.name === 'string' && typeof resource.url === 'string'\n}\n\nfunction parsePokeApiResourceId(resourceUrl: string, kind: PokeApiResourceKind): number {\n const url = new URL(resourceUrl)\n const segments = url.pathname.split('/').filter(Boolean)\n const kindIndex = segments.lastIndexOf(kind)\n const id = kindIndex === -1 ? undefined : segments[kindIndex + 1]\n\n if (id === undefined || !/^\\d+$/.test(id)) {\n throw new Error(`Could not parse PokeAPI ${kind} id from URL: ${resourceUrl}`)\n }\n\n return Number(id)\n}\n\nexport function pokeApiResourceNameKeys(value: string): string[] {\n return Array.from(\n new Set([\n value.toLowerCase(),\n value\n .toLowerCase()\n .normalize('NFKD')\n .replace(/[\\u0300-\\u036f]/g, '')\n .replace(/[^a-z0-9]+/g, ''),\n ]),\n ).filter((key) => key.length > 0)\n}\n","import { readFileSync, writeFileSync } from 'node:fs'\nimport { join } from 'node:path'\nimport { champoutPokeApiResourceNameAliases } from '../projectpokemon-champout/fixtures/pokeapi'\nimport {\n DEFAULT_POKEAPI_BASE_URL,\n fetchPokeApiResourceIndexes,\n pokeApiResourceNameKeys,\n type PokeApiResourceIndex,\n type PokeApiResourceIndexEntry,\n type PokeApiResourceKind,\n} from './client'\n\nexport const DEFAULT_CHAMPIONS_DATA_ROOT = join(process.cwd(), 'data-next/champions')\n\nexport type EnrichChampionsDataOptions = {\n championsDataRoot?: string\n pokeApiBaseUrl?: string\n}\n\nexport type EnrichedChampionsDomainResult = {\n filePath: string\n matched: number\n missing: MissingPokeApiResource[]\n}\n\nexport type EnrichChampionsDataResult = Record<\n 'abilities' | 'items' | 'moves',\n EnrichedChampionsDomainResult\n>\n\nexport type MissingPokeApiResource = {\n id: string\n championsId: string\n slug: string\n name: string\n triedIdCandidates: string[]\n championsIdMatchedResource?: PokeApiResourceIndexEntry\n}\n\ntype ChampionsDomain = {\n key: keyof EnrichChampionsDataResult\n kind: PokeApiResourceKind\n fileName: string\n}\n\ntype JsonRecord = Record<string, unknown>\n\ntype PreparedChampionsDomain = EnrichedChampionsDomainResult & {\n records: JsonRecord[]\n}\n\nconst championsDomains = [\n { key: 'abilities', kind: 'ability', fileName: 'abilities.json' },\n { key: 'items', kind: 'item', fileName: 'items.json' },\n { key: 'moves', kind: 'move', fileName: 'moves.json' },\n] as const satisfies readonly ChampionsDomain[]\n\nexport async function enrichChampionsDataWithPokeApiIds(\n options: EnrichChampionsDataOptions = {},\n): Promise<EnrichChampionsDataResult> {\n const championsDataRoot = options.championsDataRoot ?? DEFAULT_CHAMPIONS_DATA_ROOT\n const pokeApiBaseUrl = options.pokeApiBaseUrl ?? DEFAULT_POKEAPI_BASE_URL\n const resourceIndexes = await fetchPokeApiResourceIndexes(pokeApiBaseUrl)\n const preparedDomains = championsDomains.map((domain) =>\n prepareChampionsDomainWithPokeApiIds(\n domain.kind,\n join(championsDataRoot, domain.fileName),\n resourceIndexes[domain.kind],\n ),\n )\n const result = Object.fromEntries(\n championsDomains.map((domain, index) => {\n const preparedDomain = preparedDomains[index]\n\n return [\n domain.key,\n {\n filePath: preparedDomain.filePath,\n matched: preparedDomain.matched,\n missing: preparedDomain.missing,\n },\n ]\n }),\n ) as EnrichChampionsDataResult\n\n const missingCount = Object.values(result).reduce(\n (count, domainResult) => count + domainResult.missing.length,\n 0,\n )\n\n if (missingCount > 0) {\n console.warn(formatMissingPokeApiResourcesWarning(result))\n }\n\n for (const preparedDomain of preparedDomains) {\n writeJsonFile(preparedDomain.filePath, preparedDomain.records)\n }\n\n return result\n}\n\nexport function formatEnrichChampionsDataSummary(result: EnrichChampionsDataResult): string {\n return [\n formatDomainSummary('abilities', result.abilities),\n formatDomainSummary('items', result.items),\n formatDomainSummary('moves', result.moves),\n ].join(', ')\n}\n\nfunction prepareChampionsDomainWithPokeApiIds(\n kind: PokeApiResourceKind,\n filePath: string,\n resourceIndex: PokeApiResourceIndex,\n): PreparedChampionsDomain {\n const records = readJsonRecordArray(filePath)\n const missing: MissingPokeApiResource[] = []\n let matched = 0\n\n const enrichedRecords = records.map((record, index) => {\n const id = requiredString(record, 'id', filePath, index)\n const championsId = requiredString(record, 'championsId', filePath, index)\n const slug = requiredString(record, 'slug', filePath, index)\n const name = requiredString(record, 'name', filePath, index)\n const triedIdCandidates = pokeApiIdCandidates(kind, id)\n const championsIdMatchedResource = resourceIndex.byId.get(championsId)\n const pokeApiId = findPokeApiId(resourceIndex, championsId, triedIdCandidates)\n\n if (pokeApiId === undefined) {\n missing.push({\n id,\n championsId,\n slug,\n name,\n triedIdCandidates,\n championsIdMatchedResource,\n })\n } else {\n matched += 1\n }\n\n return withPokeApiId(record, pokeApiId)\n })\n\n return { filePath, matched, missing, records: enrichedRecords }\n}\n\nfunction findPokeApiId(\n resourceIndex: PokeApiResourceIndex,\n championsId: string,\n idCandidates: string[],\n): number | undefined {\n for (const candidate of idCandidates) {\n const resource = findPokeApiResourceByName(resourceIndex, candidate)\n\n if (resource !== undefined) {\n return resource.id\n }\n }\n\n const resourceByChampionsId = resourceIndex.byId.get(championsId)\n\n if (resourceByChampionsId === undefined) {\n return undefined\n }\n\n return resourceByChampionsId.id\n}\n\nfunction findPokeApiResourceByName(\n resourceIndex: PokeApiResourceIndex,\n candidate: string,\n): PokeApiResourceIndexEntry | undefined {\n for (const key of pokeApiResourceNameKeys(candidate)) {\n const resource = resourceIndex.byName.get(key)\n\n if (resource !== undefined) {\n return resource\n }\n }\n\n return undefined\n}\n\nfunction pokeApiIdCandidates(kind: PokeApiResourceKind, id: string): string[] {\n return uniqueStrings([id, ...(champoutPokeApiResourceNameAliases[kind]?.[id] ?? [])])\n}\n\nfunction withPokeApiId(record: JsonRecord, pokeApiId: number | undefined): JsonRecord {\n const { id, championsId, slug, ...rest } = record\n delete rest.pokeApiId\n\n // Null rather than absent, so \"PokeAPI has no id for this yet\" is stated in\n // the data instead of looking like a field nobody got round to filling in.\n // Anything hand-written here is replaced: an id PokeAPI has not published is\n // a guess, and a guess that outlives a build is worse than a null.\n return { id, championsId, pokeApiId: pokeApiId ?? null, slug, ...rest }\n}\n\nfunction readJsonRecordArray(filePath: string): JsonRecord[] {\n const json: unknown = JSON.parse(readFileSync(filePath, 'utf8'))\n\n if (!Array.isArray(json)) {\n throw new Error(`Expected ${filePath} to contain an array`)\n }\n\n return json.map((record, index) => {\n if (typeof record !== 'object' || record === null || Array.isArray(record)) {\n throw new Error(`Expected ${filePath}[${index}] to contain an object`)\n }\n\n return record as JsonRecord\n })\n}\n\nfunction writeJsonFile(filePath: string, data: unknown): void {\n writeFileSync(filePath, `${JSON.stringify(data, null, 2)}\\n`)\n}\n\nfunction requiredString(record: JsonRecord, key: string, filePath: string, index: number): string {\n const value = record[key]\n\n if (typeof value !== 'string' || value.length === 0) {\n throw new Error(`Expected ${filePath}[${index}].${key} to be a non-empty string`)\n }\n\n return value\n}\n\nfunction uniqueStrings(values: readonly unknown[]): string[] {\n return Array.from(new Set(values.filter((value): value is string => typeof value === 'string')))\n}\n\nfunction formatDomainSummary(\n domain: keyof EnrichChampionsDataResult,\n result: EnrichedChampionsDomainResult,\n): string {\n const missing = result.missing.length === 0 ? '' : `, ${result.missing.length} unmatched`\n\n return `${result.matched} ${domain} with PokeAPI IDs${missing}`\n}\n\nfunction formatMissingPokeApiResourcesWarning(result: EnrichChampionsDataResult): string {\n const lines = ['Missing PokeAPI resources; they were written with a null pokeApiId.']\n\n for (const [domain, domainResult] of Object.entries(result)) {\n if (domainResult.missing.length === 0) {\n continue\n }\n\n lines.push(`${domain}: ${domainResult.missing.length} missing`)\n\n for (const missing of domainResult.missing) {\n const championsIdMatch =\n missing.championsIdMatchedResource === undefined\n ? 'no PokeAPI resource with that numeric id'\n : `numeric id belongs to ${missing.championsIdMatchedResource.name}`\n\n lines.push(\n `- ${missing.id} (${missing.name}; championsId ${missing.championsId}; tried id candidates ${missing.triedIdCandidates.join(', ')}; ${championsIdMatch})`,\n )\n }\n }\n\n return lines.join('\\n')\n}\n","import {\n enrichChampionsDataWithPokeApiIds,\n formatEnrichChampionsDataSummary,\n} from './enrich-champions'\n\nconst result = await enrichChampionsDataWithPokeApiIds()\n\nconsole.log(formatEnrichChampionsDataSummary(result))\n"],"mappings":"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"}
@@ -1,10 +1,9 @@
1
+ import { t as __commonJSMin } from "./rolldown-runtime-B4iAMlE-.mjs";
1
2
  import { a as appLangsBySlug, l as gameLocales } from "./languages-CY-Q1SED.mjs";
2
3
  import { n as battleStates } from "./enums-u8n-nN0B.mjs";
3
4
  import { b as pokemonSchema, c as i18nSchema, d as itemSchema, g as pokemonI18nSchema, i as battleStateSchema, n as abilitySchema, p as moveSchema, u as itemI18nSchema, v as pokemonMovesRecordSchema } from "./schemas-CWE4YPI2.mjs";
4
- import { copyFileSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
5
5
  import { dirname, join } from "node:path";
6
- //#region \0rolldown/runtime.js
7
- var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
6
+ import { copyFileSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
8
7
  //#endregion
9
8
  //#region src/upstream-adapters/projectpokemon-champout/fixtures/text.ts
10
9
  var import_node = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
@@ -33080,4 +33079,4 @@ console.log([
33080
33079
  //#endregion
33081
33080
  export {};
33082
33081
 
33083
- //# sourceMappingURL=build-D2oPkkzJ.mjs.map
33082
+ //# sourceMappingURL=build-CBmCe7Y4.mjs.map