@pokepc/dataset 6.8.1 → 6.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -0
- package/build/{box-preset-sanitizer-CmgPzVjb.mjs → box-preset-sanitizer-ChpDBp-9.mjs} +2 -2
- package/build/{box-preset-sanitizer-CmgPzVjb.mjs.map → box-preset-sanitizer-ChpDBp-9.mjs.map} +1 -1
- package/build/{build-bE_0_-0H.mjs → build-1TV6PqJe.mjs} +22 -12
- package/build/build-1TV6PqJe.mjs.map +1 -0
- package/build/{build-D2oPkkzJ.mjs → build-CBmCe7Y4.mjs} +3 -4
- package/build/{build-D2oPkkzJ.mjs.map → build-CBmCe7Y4.mjs.map} +1 -1
- package/build/{fs-B5MIz_Bs.mjs → fs-DzSv0j9I.mjs} +2 -2
- package/build/{fs-B5MIz_Bs.mjs.map → fs-DzSv0j9I.mjs.map} +1 -1
- package/build/lib/availability-sources.d.mts +53 -0
- package/build/lib/availability-sources.d.mts.map +1 -0
- package/build/lib/availability-sources.mjs +48280 -0
- package/build/lib/availability-sources.mjs.map +1 -0
- package/build/lib/box-preset-sanitizer.mjs +1 -1
- package/build/lib/box-preset-transform.mjs +3 -3
- package/build/lib/fs.d.mts +10 -2
- package/build/lib/fs.d.mts.map +1 -1
- package/build/lib/fs.mjs +6 -2
- package/build/lib/fs.mjs.map +1 -1
- package/build/lib/schemas.d.mts +2 -2
- package/build/lib/schemas.mjs +2 -2
- package/build/lib/types.d.mts +2 -1
- package/build/lib/types.d.mts.map +1 -1
- package/build/lib-next/_build.mjs +3 -3
- package/build/lib-next/fs.mjs +1 -1
- package/build/rolldown-runtime-B4iAMlE-.mjs +35 -0
- package/build/{schemas-Bvj56HZe.d.mts → schemas-DQ-b3Iyj.d.mts} +14 -5
- package/build/schemas-DQ-b3Iyj.d.mts.map +1 -0
- package/build/{schemas-DvWBehAR.mjs → schemas-DTB8AjXr.mjs} +11 -2
- package/build/schemas-DTB8AjXr.mjs.map +1 -0
- package/data/games/b2w2-b2.json +3 -1
- package/data/games/b2w2-w2.json +3 -1
- package/data/games/b2w2.json +3 -1
- package/data/games/bdsp-bd.json +3 -1
- package/data/games/bdsp-sp.json +3 -1
- package/data/games/bdsp.json +3 -1
- package/data/games/bw-b.json +3 -1
- package/data/games/bw-w.json +3 -1
- package/data/games/bw.json +3 -1
- package/data/games/bwb2w2.json +3 -1
- package/data/games/c.json +3 -1
- package/data/games/champions.json +5 -3
- package/data/games/col.json +3 -1
- package/data/games/dp-d.json +3 -1
- package/data/games/dp-p.json +3 -1
- package/data/games/dp.json +3 -1
- package/data/games/dppt.json +3 -1
- package/data/games/e.json +3 -1
- package/data/games/frlg-fr.json +3 -1
- package/data/games/frlg-lg.json +3 -1
- package/data/games/frlg.json +3 -1
- package/data/games/go.json +5 -3
- package/data/games/gs-g.json +3 -1
- package/data/games/gs-s.json +3 -1
- package/data/games/gs.json +3 -1
- package/data/games/gsc.json +3 -1
- package/data/games/hgss-hg.json +3 -1
- package/data/games/hgss-ss.json +3 -1
- package/data/games/hgss.json +3 -1
- package/data/games/home.json +4 -2
- package/data/games/la.json +3 -1
- package/data/games/lgpe-lge.json +5 -3
- package/data/games/lgpe-lgp.json +5 -3
- package/data/games/lgpe.json +5 -3
- package/data/games/lza-megadimension.json +3 -1
- package/data/games/lza.json +3 -1
- package/data/games/oras-as.json +3 -1
- package/data/games/oras-or.json +3 -1
- package/data/games/oras.json +3 -1
- package/data/games/pokopia-bubblybasin.json +3 -1
- package/data/games/pokopia.json +3 -1
- package/data/games/pt.json +3 -1
- package/data/games/rb-b.json +3 -1
- package/data/games/rb-r.json +3 -1
- package/data/games/rb.json +3 -1
- package/data/games/rby.json +3 -1
- package/data/games/rs-r.json +3 -1
- package/data/games/rs-s.json +3 -1
- package/data/games/rs.json +3 -1
- package/data/games/rse.json +3 -1
- package/data/games/sm-m.json +3 -1
- package/data/games/sm-s.json +3 -1
- package/data/games/sm.json +3 -1
- package/data/games/smusum.json +3 -1
- package/data/games/sv-indigodisk.json +3 -1
- package/data/games/sv-s.json +3 -1
- package/data/games/sv-tealmask.json +3 -1
- package/data/games/sv-v.json +3 -1
- package/data/games/sv.json +3 -1
- package/data/games/swsh-crowntundra.json +3 -1
- package/data/games/swsh-islearmor.json +3 -1
- package/data/games/swsh-sh.json +3 -1
- package/data/games/swsh-sw.json +3 -1
- package/data/games/swsh.json +3 -1
- package/data/games/usum-um.json +3 -1
- package/data/games/usum-us.json +3 -1
- package/data/games/usum.json +3 -1
- package/data/games/wiwa-wa.json +3 -1
- package/data/games/wiwa-wi.json +3 -1
- package/data/games/wiwa.json +3 -1
- package/data/games/xd.json +3 -1
- package/data/games/xy-x.json +3 -1
- package/data/games/xy-y.json +3 -1
- package/data/games/xy.json +3 -1
- package/data/games/y.json +3 -1
- package/data/locations.json +8072 -2
- package/data/pokemon/abomasnow-f.json +15 -3
- package/data/pokemon/abomasnow-mega.json +13 -2
- package/data/pokemon/abomasnow.json +15 -3
- package/data/pokemon/abra.json +1 -2
- package/data/pokemon/absol-mega.json +12 -1
- package/data/pokemon/accelgor.json +1 -1
- package/data/pokemon/aegislash-blade.json +12 -1
- package/data/pokemon/aegislash.json +12 -1
- package/data/pokemon/aerodactyl-mega.json +14 -1
- package/data/pokemon/aggron-mega.json +13 -2
- package/data/pokemon/aggron.json +3 -2
- package/data/pokemon/aipom-f.json +19 -4
- package/data/pokemon/aipom.json +14 -3
- package/data/pokemon/alakazam-f.json +6 -3
- package/data/pokemon/alakazam-mega.json +14 -1
- package/data/pokemon/alakazam.json +1 -2
- package/data/pokemon/altaria-mega.json +1 -1
- package/data/pokemon/altaria.json +3 -1
- package/data/pokemon/amaura.json +1 -1
- package/data/pokemon/ambipom-f.json +2 -1
- package/data/pokemon/ambipom.json +2 -1
- package/data/pokemon/amoonguss.json +1 -1
- package/data/pokemon/ampharos-mega.json +13 -2
- package/data/pokemon/ampharos.json +14 -2
- package/data/pokemon/anorith.json +1 -2
- package/data/pokemon/appletun-gmax.json +6 -2
- package/data/pokemon/appletun.json +2 -2
- package/data/pokemon/arbok.json +5 -1
- package/data/pokemon/arcanine.json +2 -2
- package/data/pokemon/arceus-bug.json +10 -1
- package/data/pokemon/arceus-dark.json +10 -1
- package/data/pokemon/arceus-dragon.json +10 -1
- package/data/pokemon/arceus-electric.json +10 -1
- package/data/pokemon/arceus-fairy.json +13 -2
- package/data/pokemon/arceus-fighting.json +10 -1
- package/data/pokemon/arceus-fire.json +10 -1
- package/data/pokemon/arceus-flying.json +10 -1
- package/data/pokemon/arceus-ghost.json +10 -1
- package/data/pokemon/arceus-grass.json +10 -1
- package/data/pokemon/arceus-ground.json +10 -1
- package/data/pokemon/arceus-ice.json +10 -1
- package/data/pokemon/arceus-legendary.json +2 -2
- package/data/pokemon/arceus-poison.json +10 -1
- package/data/pokemon/arceus-psychic.json +10 -1
- package/data/pokemon/arceus-rock.json +10 -1
- package/data/pokemon/arceus-steel.json +10 -1
- package/data/pokemon/arceus-water.json +10 -1
- package/data/pokemon/arceus.json +10 -1
- package/data/pokemon/archaludon.json +1 -1
- package/data/pokemon/archen.json +1 -2
- package/data/pokemon/archeops.json +1 -2
- package/data/pokemon/ariados.json +2 -1
- package/data/pokemon/armaldo.json +1 -2
- package/data/pokemon/armarouge.json +2 -2
- package/data/pokemon/aromatisse.json +2 -2
- package/data/pokemon/aron.json +3 -2
- package/data/pokemon/articuno.json +7 -3
- package/data/pokemon/audino-mega.json +1 -1
- package/data/pokemon/audino.json +3 -1
- package/data/pokemon/aurorus.json +1 -1
- package/data/pokemon/avalugg.json +1 -1
- package/data/pokemon/axew.json +4 -0
- package/data/pokemon/azelf.json +15 -1
- package/data/pokemon/azumarill.json +3 -2
- package/data/pokemon/azurill.json +3 -2
- package/data/pokemon/bagon.json +12 -4
- package/data/pokemon/baltoy.json +12 -2
- package/data/pokemon/banette-mega.json +12 -1
- package/data/pokemon/banette.json +1 -1
- package/data/pokemon/barbaracle.json +13 -2
- package/data/pokemon/basculin-blue-striped.json +1 -3
- package/data/pokemon/basculin.json +1 -3
- package/data/pokemon/bastiodon.json +2 -3
- package/data/pokemon/baxcalibur-mega.json +2 -2
- package/data/pokemon/bayleef.json +6 -2
- package/data/pokemon/beartic.json +1 -1
- package/data/pokemon/beautifly-f.json +14 -2
- package/data/pokemon/beautifly.json +14 -2
- package/data/pokemon/beedrill-mega.json +12 -1
- package/data/pokemon/beheeyem.json +1 -1
- package/data/pokemon/bellossom.json +13 -2
- package/data/pokemon/bellsprout.json +6 -2
- package/data/pokemon/bergmite.json +1 -1
- package/data/pokemon/bibarel-f.json +6 -2
- package/data/pokemon/bibarel.json +1 -1
- package/data/pokemon/bidoof-f.json +6 -2
- package/data/pokemon/bidoof.json +1 -1
- package/data/pokemon/binacle.json +13 -2
- package/data/pokemon/bisharp.json +1 -1
- package/data/pokemon/blacephalon.json +2 -2
- package/data/pokemon/blastoise-mega.json +3 -1
- package/data/pokemon/blaziken-f.json +4 -0
- package/data/pokemon/blaziken-mega.json +14 -3
- package/data/pokemon/blaziken.json +4 -0
- package/data/pokemon/blissey.json +2 -2
- package/data/pokemon/blitzle.json +1 -1
- package/data/pokemon/bouffalant.json +1 -1
- package/data/pokemon/braixen.json +2 -2
- package/data/pokemon/brambleghast.json +1 -1
- package/data/pokemon/bramblin.json +1 -1
- package/data/pokemon/braviary.json +1 -4
- package/data/pokemon/breloom.json +11 -1
- package/data/pokemon/bronzong.json +1 -1
- package/data/pokemon/bronzor.json +1 -1
- package/data/pokemon/brutebonnet.json +3 -3
- package/data/pokemon/budew.json +3 -2
- package/data/pokemon/buizel-f.json +8 -2
- package/data/pokemon/buizel.json +3 -1
- package/data/pokemon/buneary.json +1 -1
- package/data/pokemon/bunnelby.json +1 -1
- package/data/pokemon/burmy-sandy.json +13 -1
- package/data/pokemon/burmy-trash.json +13 -1
- package/data/pokemon/burmy.json +13 -1
- package/data/pokemon/buzzwole.json +2 -2
- package/data/pokemon/cacnea.json +13 -1
- package/data/pokemon/cacturne-f.json +18 -2
- package/data/pokemon/cacturne.json +13 -1
- package/data/pokemon/camerupt-f.json +18 -2
- package/data/pokemon/camerupt-mega.json +1 -1
- package/data/pokemon/camerupt.json +13 -1
- package/data/pokemon/capsakid.json +1 -1
- package/data/pokemon/carnivine.json +11 -1
- package/data/pokemon/carracosta.json +1 -2
- package/data/pokemon/carvanha.json +1 -3
- package/data/pokemon/cascoon.json +14 -2
- package/data/pokemon/castform-rainy.json +16 -3
- package/data/pokemon/castform-snowy.json +16 -3
- package/data/pokemon/castform-sunny.json +16 -3
- package/data/pokemon/castform.json +13 -3
- package/data/pokemon/celebi.json +14 -2
- package/data/pokemon/celesteela.json +2 -2
- package/data/pokemon/centiskorch-gmax.json +6 -2
- package/data/pokemon/ceruledge.json +2 -2
- package/data/pokemon/chandelure.json +4 -0
- package/data/pokemon/chansey.json +1 -2
- package/data/pokemon/charizard-mega-x.json +5 -2
- package/data/pokemon/charizard-mega-y.json +5 -2
- package/data/pokemon/chatot.json +1 -1
- package/data/pokemon/cherrim-sunshine.json +1 -3
- package/data/pokemon/cherrim.json +11 -1
- package/data/pokemon/cherubi.json +11 -1
- package/data/pokemon/chesnaught-mega.json +2 -2
- package/data/pokemon/chesnaught.json +2 -2
- package/data/pokemon/chespin.json +2 -2
- package/data/pokemon/chewtle.json +1 -1
- package/data/pokemon/chienpao.json +1 -1
- package/data/pokemon/chikorita.json +7 -3
- package/data/pokemon/chimchar.json +14 -1
- package/data/pokemon/chimecho.json +13 -1
- package/data/pokemon/chingling.json +1 -1
- package/data/pokemon/chiyu.json +1 -1
- package/data/pokemon/cinccino.json +1 -1
- package/data/pokemon/clamperl.json +1 -1
- package/data/pokemon/clauncher.json +2 -12
- package/data/pokemon/clawitzer.json +2 -12
- package/data/pokemon/claydol.json +12 -2
- package/data/pokemon/cloyster.json +2 -1
- package/data/pokemon/coalossal-gmax.json +6 -2
- package/data/pokemon/cobalion.json +3 -1
- package/data/pokemon/cofagrigus.json +1 -1
- package/data/pokemon/combee-f.json +6 -2
- package/data/pokemon/combee.json +1 -1
- package/data/pokemon/combusken-f.json +9 -1
- package/data/pokemon/combusken.json +4 -0
- package/data/pokemon/conkeldurr.json +3 -1
- package/data/pokemon/corphish.json +1 -2
- package/data/pokemon/corsola-galar.json +2 -2
- package/data/pokemon/corsola.json +1 -2
- package/data/pokemon/corviknight-gmax.json +6 -2
- package/data/pokemon/cottonee.json +2 -3
- package/data/pokemon/cradily.json +1 -2
- package/data/pokemon/cramorant-gorging.json +1 -1
- package/data/pokemon/cramorant-gulping.json +1 -1
- package/data/pokemon/cramorant.json +3 -3
- package/data/pokemon/cranidos.json +3 -4
- package/data/pokemon/crawdaunt.json +1 -2
- package/data/pokemon/cresselia.json +15 -1
- package/data/pokemon/croagunk-f.json +6 -3
- package/data/pokemon/croagunk.json +1 -2
- package/data/pokemon/crobat.json +2 -1
- package/data/pokemon/croconaw.json +6 -2
- package/data/pokemon/crustle.json +3 -1
- package/data/pokemon/cryogonal.json +1 -1
- package/data/pokemon/cubchoo.json +1 -1
- package/data/pokemon/cursola.json +2 -2
- package/data/pokemon/cyclizar.json +1 -1
- package/data/pokemon/cyndaquil.json +7 -3
- package/data/pokemon/darkrai.json +8 -2
- package/data/pokemon/darmanitan-galar-zen.json +2 -2
- package/data/pokemon/darmanitan-galar.json +2 -2
- package/data/pokemon/darmanitan-zen.json +2 -11
- package/data/pokemon/darmanitan.json +2 -12
- package/data/pokemon/darumaka-galar.json +2 -2
- package/data/pokemon/darumaka.json +2 -12
- package/data/pokemon/dedenne.json +1 -1
- package/data/pokemon/deerling-autumn.json +12 -14
- package/data/pokemon/deerling-summer.json +12 -14
- package/data/pokemon/deerling-winter.json +12 -14
- package/data/pokemon/deerling.json +1 -1
- package/data/pokemon/deino.json +5 -3
- package/data/pokemon/delcatty.json +15 -3
- package/data/pokemon/delphox-mega.json +2 -2
- package/data/pokemon/delphox.json +2 -2
- package/data/pokemon/deoxys-attack.json +8 -2
- package/data/pokemon/deoxys-defense.json +8 -2
- package/data/pokemon/deoxys-speed.json +6 -0
- package/data/pokemon/deoxys.json +9 -1
- package/data/pokemon/dewgong.json +1 -2
- package/data/pokemon/dewott.json +3 -1
- package/data/pokemon/dialga.json +6 -14
- package/data/pokemon/diancie-mega.json +2 -2
- package/data/pokemon/diancie.json +16 -2
- package/data/pokemon/diggersby.json +1 -1
- package/data/pokemon/diglett.json +16 -5
- package/data/pokemon/ditto.json +2 -1
- package/data/pokemon/dodrio-f.json +6 -2
- package/data/pokemon/dodrio.json +1 -1
- package/data/pokemon/doduo-f.json +6 -2
- package/data/pokemon/doduo.json +1 -1
- package/data/pokemon/donphan-f.json +17 -2
- package/data/pokemon/donphan.json +12 -1
- package/data/pokemon/doublade.json +12 -1
- package/data/pokemon/dragalge.json +2 -12
- package/data/pokemon/dragapult.json +2 -2
- package/data/pokemon/dragonite-mega.json +1 -1
- package/data/pokemon/drakloak.json +2 -2
- package/data/pokemon/drampa.json +2 -2
- package/data/pokemon/drapion.json +3 -1
- package/data/pokemon/drednaw-gmax.json +6 -2
- package/data/pokemon/drednaw.json +1 -1
- package/data/pokemon/dreepy.json +2 -2
- package/data/pokemon/drifblim.json +3 -2
- package/data/pokemon/drifloon.json +3 -2
- package/data/pokemon/drilbur.json +1 -1
- package/data/pokemon/druddigon.json +1 -1
- package/data/pokemon/ducklett.json +14 -2
- package/data/pokemon/dudunsparce-three-segment.json +1 -1
- package/data/pokemon/dugtrio.json +15 -5
- package/data/pokemon/dunsparce.json +1 -1
- package/data/pokemon/duosion.json +22 -2
- package/data/pokemon/duraludon-gmax.json +6 -2
- package/data/pokemon/durant.json +1 -1
- package/data/pokemon/dusclops.json +14 -1
- package/data/pokemon/dusknoir.json +11 -1
- package/data/pokemon/duskull.json +14 -1
- package/data/pokemon/dustox-f.json +19 -3
- package/data/pokemon/dustox.json +14 -2
- package/data/pokemon/dwebble.json +3 -1
- package/data/pokemon/eelektrik.json +4 -0
- package/data/pokemon/eelektross.json +4 -0
- package/data/pokemon/eevee-gmax.json +6 -2
- package/data/pokemon/eiscue-noice.json +2 -2
- package/data/pokemon/eiscue.json +2 -2
- package/data/pokemon/ekans.json +5 -1
- package/data/pokemon/electabuzz.json +13 -3
- package/data/pokemon/electivire.json +1 -3
- package/data/pokemon/electrike.json +13 -2
- package/data/pokemon/electrode-hisui.json +2 -2
- package/data/pokemon/electrode.json +3 -1
- package/data/pokemon/elekid.json +1 -3
- package/data/pokemon/elgyem.json +1 -1
- package/data/pokemon/emboar.json +3 -1
- package/data/pokemon/empoleon.json +4 -0
- package/data/pokemon/enamorus.json +5 -3
- package/data/pokemon/entei.json +6 -2
- package/data/pokemon/escavalier.json +1 -1
- package/data/pokemon/espurr.json +1 -1
- package/data/pokemon/excadrill.json +1 -1
- package/data/pokemon/exeggutor.json +13 -3
- package/data/pokemon/exploud.json +14 -2
- package/data/pokemon/falinks-mega.json +1 -1
- package/data/pokemon/farfetchd-galar.json +3 -3
- package/data/pokemon/farfetchd.json +15 -3
- package/data/pokemon/farigiraf.json +1 -1
- package/data/pokemon/feebas.json +11 -3
- package/data/pokemon/fennekin.json +2 -2
- package/data/pokemon/feraligatr.json +6 -2
- package/data/pokemon/ferroseed.json +1 -1
- package/data/pokemon/ferrothorn.json +1 -1
- package/data/pokemon/fezandipiti.json +1 -1
- package/data/pokemon/finneon-f.json +6 -4
- package/data/pokemon/finneon.json +1 -3
- package/data/pokemon/flaaffy.json +14 -2
- package/data/pokemon/flabebe-blue.json +2 -2
- package/data/pokemon/flabebe-orange.json +2 -2
- package/data/pokemon/flabebe-white.json +2 -2
- package/data/pokemon/flabebe-yellow.json +2 -2
- package/data/pokemon/flabebe.json +2 -2
- package/data/pokemon/flapple-gmax.json +6 -2
- package/data/pokemon/flapple.json +2 -2
- package/data/pokemon/floatzel-f.json +8 -2
- package/data/pokemon/floatzel.json +3 -1
- package/data/pokemon/floette-blue.json +1 -1
- package/data/pokemon/floette-orange.json +1 -1
- package/data/pokemon/floette-white.json +1 -1
- package/data/pokemon/floette-yellow.json +1 -1
- package/data/pokemon/floette.json +1 -1
- package/data/pokemon/florges-blue.json +1 -1
- package/data/pokemon/florges-orange.json +1 -1
- package/data/pokemon/florges-white.json +1 -1
- package/data/pokemon/florges-yellow.json +1 -1
- package/data/pokemon/florges.json +1 -1
- package/data/pokemon/fluttermane.json +3 -3
- package/data/pokemon/flygon.json +1 -2
- package/data/pokemon/foongus.json +1 -1
- package/data/pokemon/forretress.json +2 -1
- package/data/pokemon/fraxure.json +4 -0
- package/data/pokemon/frillish-f.json +6 -2
- package/data/pokemon/frillish.json +1 -1
- package/data/pokemon/froakie.json +2 -2
- package/data/pokemon/frogadier.json +2 -2
- package/data/pokemon/froslass.json +1 -3
- package/data/pokemon/furfrou-dandy.json +2 -15
- package/data/pokemon/furfrou-debutante.json +2 -15
- package/data/pokemon/furfrou-diamond.json +2 -15
- package/data/pokemon/furfrou-heart.json +2 -15
- package/data/pokemon/furfrou-kabuki.json +2 -15
- package/data/pokemon/furfrou-la-reine.json +2 -15
- package/data/pokemon/furfrou-matron.json +2 -15
- package/data/pokemon/furfrou-pharaoh.json +2 -15
- package/data/pokemon/furfrou-star.json +2 -15
- package/data/pokemon/furfrou.json +1 -1
- package/data/pokemon/furret.json +13 -1
- package/data/pokemon/gabite-f.json +6 -3
- package/data/pokemon/gabite.json +1 -2
- package/data/pokemon/gallade-mega.json +1 -1
- package/data/pokemon/gallade.json +3 -2
- package/data/pokemon/galvantula.json +1 -1
- package/data/pokemon/garchomp-f.json +6 -3
- package/data/pokemon/garchomp-mega-z.json +2 -2
- package/data/pokemon/garchomp-mega.json +12 -1
- package/data/pokemon/garchomp.json +1 -2
- package/data/pokemon/gardevoir-mega.json +12 -1
- package/data/pokemon/gardevoir.json +3 -2
- package/data/pokemon/gastly.json +1 -1
- package/data/pokemon/gastrodon-east.json +1 -5
- package/data/pokemon/gastrodon.json +12 -7
- package/data/pokemon/genesect-burn.json +17 -2
- package/data/pokemon/genesect-chill.json +17 -2
- package/data/pokemon/genesect-douse.json +17 -2
- package/data/pokemon/genesect-shock.json +17 -2
- package/data/pokemon/genesect.json +18 -2
- package/data/pokemon/gengar-mega.json +15 -2
- package/data/pokemon/gengar.json +1 -1
- package/data/pokemon/geodude.json +11 -5
- package/data/pokemon/gible-f.json +6 -3
- package/data/pokemon/gible.json +1 -2
- package/data/pokemon/gimmighoul-roaming.json +1 -1
- package/data/pokemon/girafarig-f.json +14 -1
- package/data/pokemon/girafarig.json +14 -1
- package/data/pokemon/giratina-origin.json +15 -4
- package/data/pokemon/giratina.json +16 -4
- package/data/pokemon/glalie-mega.json +1 -1
- package/data/pokemon/glalie.json +12 -3
- package/data/pokemon/glameow.json +17 -12
- package/data/pokemon/gligar-f.json +13 -5
- package/data/pokemon/gligar.json +8 -4
- package/data/pokemon/gliscor.json +13 -3
- package/data/pokemon/gloom-f.json +19 -4
- package/data/pokemon/gloom.json +15 -3
- package/data/pokemon/gogoat.json +1 -1
- package/data/pokemon/golem.json +11 -5
- package/data/pokemon/golett.json +1 -2
- package/data/pokemon/golurk.json +1 -2
- package/data/pokemon/goodra-hisui.json +1 -1
- package/data/pokemon/goodra.json +1 -2
- package/data/pokemon/goomy.json +1 -2
- package/data/pokemon/gorebyss.json +1 -1
- package/data/pokemon/gothita.json +3 -2
- package/data/pokemon/gothitelle.json +3 -2
- package/data/pokemon/gothorita.json +3 -2
- package/data/pokemon/gourgeist-large.json +1 -1
- package/data/pokemon/gourgeist-small.json +1 -1
- package/data/pokemon/gourgeist-super.json +1 -1
- package/data/pokemon/gourgeist.json +1 -1
- package/data/pokemon/granbull.json +1 -1
- package/data/pokemon/graveler.json +11 -5
- package/data/pokemon/greattusk.json +3 -3
- package/data/pokemon/greninja-ash.json +2 -2
- package/data/pokemon/greninja-mega.json +2 -2
- package/data/pokemon/greninja.json +2 -2
- package/data/pokemon/grimer-alola.json +2 -12
- package/data/pokemon/grimer.json +11 -6
- package/data/pokemon/grotle.json +4 -0
- package/data/pokemon/groudon-primal.json +2 -2
- package/data/pokemon/groudon.json +4 -0
- package/data/pokemon/grovyle.json +4 -0
- package/data/pokemon/growlithe.json +3 -3
- package/data/pokemon/grumpig.json +14 -1
- package/data/pokemon/gulpin-f.json +19 -2
- package/data/pokemon/gulpin.json +14 -1
- package/data/pokemon/gurdurr.json +3 -1
- package/data/pokemon/gyarados-mega.json +14 -1
- package/data/pokemon/hakamoo.json +2 -12
- package/data/pokemon/happiny.json +1 -2
- package/data/pokemon/hatterene-gmax.json +6 -2
- package/data/pokemon/haunter.json +1 -1
- package/data/pokemon/hawlucha.json +1 -1
- package/data/pokemon/haxorus.json +4 -0
- package/data/pokemon/heatmor.json +1 -1
- package/data/pokemon/heatran.json +15 -1
- package/data/pokemon/heliolisk.json +2 -2
- package/data/pokemon/helioptile.json +2 -2
- package/data/pokemon/heracross-f.json +8 -3
- package/data/pokemon/heracross-mega.json +14 -3
- package/data/pokemon/heracross.json +3 -2
- package/data/pokemon/hippopotas-f.json +3 -1
- package/data/pokemon/hippopotas.json +3 -1
- package/data/pokemon/hippowdon-f.json +3 -1
- package/data/pokemon/hippowdon.json +3 -1
- package/data/pokemon/hitmonchan.json +13 -1
- package/data/pokemon/hitmonlee.json +13 -1
- package/data/pokemon/hitmontop.json +13 -1
- package/data/pokemon/honchkrow.json +1 -2
- package/data/pokemon/honedge.json +12 -1
- package/data/pokemon/hooh.json +10 -5
- package/data/pokemon/hoopa-unbound.json +13 -15
- package/data/pokemon/hoopa.json +14 -2
- package/data/pokemon/hoothoot.json +3 -1
- package/data/pokemon/hoppip.json +14 -2
- package/data/pokemon/horsea.json +4 -0
- package/data/pokemon/houndoom-f.json +9 -3
- package/data/pokemon/houndoom-mega.json +13 -2
- package/data/pokemon/houndoom.json +4 -2
- package/data/pokemon/houndour.json +4 -2
- package/data/pokemon/huntail.json +1 -1
- package/data/pokemon/hydreigon.json +5 -3
- package/data/pokemon/illumise.json +13 -1
- package/data/pokemon/infernape.json +4 -0
- package/data/pokemon/inkay.json +1 -1
- package/data/pokemon/ironbundle.json +3 -3
- package/data/pokemon/ironhands.json +3 -3
- package/data/pokemon/ironjugulis.json +3 -3
- package/data/pokemon/ironleaves.json +1 -1
- package/data/pokemon/ironmoth.json +3 -3
- package/data/pokemon/ironthorns.json +3 -3
- package/data/pokemon/irontreads.json +3 -3
- package/data/pokemon/ironvaliant.json +3 -3
- package/data/pokemon/jangmoo.json +2 -12
- package/data/pokemon/jellicent-f.json +6 -2
- package/data/pokemon/jellicent.json +1 -1
- package/data/pokemon/jirachi.json +12 -1
- package/data/pokemon/joltik.json +1 -1
- package/data/pokemon/jumpluff.json +13 -2
- package/data/pokemon/jynx.json +2 -0
- package/data/pokemon/kabuto.json +4 -2
- package/data/pokemon/kabutops.json +4 -2
- package/data/pokemon/kadabra-f.json +6 -3
- package/data/pokemon/kadabra.json +1 -2
- package/data/pokemon/kangaskhan-mega.json +15 -2
- package/data/pokemon/karrablast.json +1 -1
- package/data/pokemon/kartana.json +2 -2
- package/data/pokemon/kecleon.json +15 -4
- package/data/pokemon/keldeo-resolute.json +16 -2
- package/data/pokemon/keldeo.json +18 -3
- package/data/pokemon/kingdra.json +4 -0
- package/data/pokemon/kingler.json +1 -1
- package/data/pokemon/kirlia.json +3 -2
- package/data/pokemon/klang.json +3 -1
- package/data/pokemon/klink.json +3 -1
- package/data/pokemon/klinklang.json +3 -1
- package/data/pokemon/koffing.json +15 -2
- package/data/pokemon/kommoo.json +2 -12
- package/data/pokemon/krabby.json +1 -1
- package/data/pokemon/kricketot-f.json +16 -2
- package/data/pokemon/kricketot.json +11 -1
- package/data/pokemon/kricketune-f.json +16 -2
- package/data/pokemon/kricketune.json +11 -1
- package/data/pokemon/kyogre-primal.json +2 -2
- package/data/pokemon/kyogre.json +4 -0
- package/data/pokemon/kyurem-black.json +2 -2
- package/data/pokemon/kyurem-white.json +2 -2
- package/data/pokemon/kyurem.json +3 -1
- package/data/pokemon/lairon.json +3 -2
- package/data/pokemon/lampent.json +4 -0
- package/data/pokemon/landorus-therian.json +2 -2
- package/data/pokemon/landorus.json +16 -3
- package/data/pokemon/larvesta.json +1 -1
- package/data/pokemon/larvitar.json +7 -6
- package/data/pokemon/latias-mega.json +3 -3
- package/data/pokemon/latias.json +5 -4
- package/data/pokemon/latios-mega.json +3 -3
- package/data/pokemon/latios.json +5 -4
- package/data/pokemon/leavanny.json +4 -0
- package/data/pokemon/ledian-f.json +7 -12
- package/data/pokemon/ledian.json +2 -11
- package/data/pokemon/ledyba-f.json +6 -2
- package/data/pokemon/ledyba.json +1 -1
- package/data/pokemon/lickilicky.json +1 -1
- package/data/pokemon/lickitung.json +1 -1
- package/data/pokemon/liepard.json +13 -2
- package/data/pokemon/lileep.json +1 -2
- package/data/pokemon/lilligant.json +2 -3
- package/data/pokemon/linoone.json +4 -0
- package/data/pokemon/litleo.json +1 -1
- package/data/pokemon/litwick.json +4 -0
- package/data/pokemon/lombre.json +16 -4
- package/data/pokemon/lopunny-mega.json +1 -1
- package/data/pokemon/lopunny.json +1 -1
- package/data/pokemon/lotad.json +16 -4
- package/data/pokemon/loudred.json +14 -2
- package/data/pokemon/lucario-mega.json +13 -2
- package/data/pokemon/ludicolo-f.json +21 -5
- package/data/pokemon/ludicolo.json +16 -4
- package/data/pokemon/lugia.json +9 -4
- package/data/pokemon/lumineon-f.json +6 -4
- package/data/pokemon/lumineon.json +1 -3
- package/data/pokemon/lunala.json +2 -12
- package/data/pokemon/lunatone.json +15 -3
- package/data/pokemon/luxio-f.json +8 -3
- package/data/pokemon/luxio.json +3 -2
- package/data/pokemon/luxray-f.json +8 -3
- package/data/pokemon/luxray.json +3 -2
- package/data/pokemon/lycanroc-dusk.json +2 -2
- package/data/pokemon/machamp.json +1 -2
- package/data/pokemon/machoke.json +1 -2
- package/data/pokemon/machop.json +1 -2
- package/data/pokemon/magby.json +12 -3
- package/data/pokemon/magcargo.json +3 -1
- package/data/pokemon/magearna-original-mega.json +2 -2
- package/data/pokemon/magearna-original.json +3 -3
- package/data/pokemon/magearna.json +3 -3
- package/data/pokemon/magmar.json +13 -3
- package/data/pokemon/magmortar.json +1 -3
- package/data/pokemon/magnemite.json +1 -2
- package/data/pokemon/magneton.json +1 -2
- package/data/pokemon/magnezone.json +1 -2
- package/data/pokemon/malamar-mega.json +1 -1
- package/data/pokemon/malamar.json +1 -1
- package/data/pokemon/mamoswine-f.json +9 -1
- package/data/pokemon/mamoswine.json +4 -0
- package/data/pokemon/manaphy.json +13 -2
- package/data/pokemon/mandibuzz.json +1 -4
- package/data/pokemon/manectric-mega.json +13 -2
- package/data/pokemon/manectric.json +2 -2
- package/data/pokemon/mankey.json +13 -2
- package/data/pokemon/mantine.json +12 -1
- package/data/pokemon/mantyke.json +1 -1
- package/data/pokemon/maractus.json +1 -1
- package/data/pokemon/mareep.json +5 -4
- package/data/pokemon/marill.json +3 -2
- package/data/pokemon/marowak.json +13 -3
- package/data/pokemon/marshadow.json +2 -2
- package/data/pokemon/marshtomp.json +4 -0
- package/data/pokemon/masquerain.json +2 -2
- package/data/pokemon/maushold.json +1 -1
- package/data/pokemon/mawile-mega.json +13 -2
- package/data/pokemon/mawile.json +13 -3
- package/data/pokemon/medicham-f.json +9 -2
- package/data/pokemon/medicham-mega.json +12 -1
- package/data/pokemon/medicham.json +4 -1
- package/data/pokemon/meditite-f.json +9 -2
- package/data/pokemon/meditite.json +4 -1
- package/data/pokemon/meganium-f.json +11 -3
- package/data/pokemon/meganium.json +6 -2
- package/data/pokemon/melmetal-gmax.json +8 -4
- package/data/pokemon/melmetal.json +1 -1
- package/data/pokemon/meloetta-pirouette.json +16 -3
- package/data/pokemon/meloetta.json +16 -3
- package/data/pokemon/meltan.json +3 -3
- package/data/pokemon/meowstic-f.json +1 -1
- package/data/pokemon/meowstic.json +1 -1
- package/data/pokemon/meowth-alola.json +3 -2
- package/data/pokemon/meowth.json +6 -6
- package/data/pokemon/mesprit.json +15 -1
- package/data/pokemon/metagross-mega.json +1 -1
- package/data/pokemon/mew.json +17 -13
- package/data/pokemon/mewtwo-mega-x.json +4 -1
- package/data/pokemon/mewtwo-mega-y.json +4 -1
- package/data/pokemon/mewtwo.json +4 -4
- package/data/pokemon/mienfoo.json +1 -1
- package/data/pokemon/mienshao.json +1 -1
- package/data/pokemon/mightyena.json +5 -1
- package/data/pokemon/milotic-f.json +16 -4
- package/data/pokemon/milotic.json +11 -3
- package/data/pokemon/miltank.json +1 -1
- package/data/pokemon/mimejr.json +1 -1
- package/data/pokemon/minccino.json +1 -1
- package/data/pokemon/minun.json +13 -1
- package/data/pokemon/misdreavus.json +2 -2
- package/data/pokemon/mismagius.json +2 -2
- package/data/pokemon/moltres.json +7 -3
- package/data/pokemon/monferno.json +4 -0
- package/data/pokemon/morpeko-hangry.json +2 -2
- package/data/pokemon/morpeko.json +2 -2
- package/data/pokemon/mothim.json +13 -1
- package/data/pokemon/mrmime-galar.json +1 -1
- package/data/pokemon/mrmime.json +2 -0
- package/data/pokemon/mudkip.json +4 -0
- package/data/pokemon/muk-alola.json +2 -12
- package/data/pokemon/muk.json +11 -6
- package/data/pokemon/munna.json +1 -1
- package/data/pokemon/murkrow-f.json +6 -3
- package/data/pokemon/murkrow.json +1 -2
- package/data/pokemon/musharna.json +1 -1
- package/data/pokemon/natu.json +1 -1
- package/data/pokemon/necrozma-dawn-wings.json +2 -2
- package/data/pokemon/necrozma-dusk-mane.json +2 -2
- package/data/pokemon/nidoking.json +15 -2
- package/data/pokemon/nidoqueen.json +15 -2
- package/data/pokemon/nidoranf.json +15 -2
- package/data/pokemon/nidoranm.json +15 -2
- package/data/pokemon/nidorina.json +15 -2
- package/data/pokemon/nidorino.json +15 -2
- package/data/pokemon/nincada.json +4 -0
- package/data/pokemon/ninetales-alola.json +2 -14
- package/data/pokemon/ninetales.json +15 -7
- package/data/pokemon/ninjask.json +4 -0
- package/data/pokemon/noctowl.json +13 -1
- package/data/pokemon/noibat.json +1 -1
- package/data/pokemon/noivern.json +1 -1
- package/data/pokemon/numel-f.json +18 -2
- package/data/pokemon/numel.json +13 -1
- package/data/pokemon/nuzleaf-f.json +20 -5
- package/data/pokemon/nuzleaf.json +15 -4
- package/data/pokemon/octillery-f.json +2 -1
- package/data/pokemon/octillery.json +2 -1
- package/data/pokemon/oddish.json +15 -3
- package/data/pokemon/oinkologne-f.json +1 -1
- package/data/pokemon/omanyte.json +4 -2
- package/data/pokemon/omastar.json +4 -2
- package/data/pokemon/onix.json +1 -1
- package/data/pokemon/oranguru.json +2 -2
- package/data/pokemon/orbeetle-gmax.json +6 -2
- package/data/pokemon/oshawott.json +3 -1
- package/data/pokemon/pachirisu-f.json +11 -1
- package/data/pokemon/pachirisu.json +11 -1
- package/data/pokemon/palafin-hero.json +1 -1
- package/data/pokemon/palkia.json +6 -14
- package/data/pokemon/palpitoad.json +1 -1
- package/data/pokemon/panpour.json +1 -1
- package/data/pokemon/pansage.json +1 -1
- package/data/pokemon/pansear.json +1 -1
- package/data/pokemon/passimian.json +2 -2
- package/data/pokemon/patrat.json +1 -1
- package/data/pokemon/pawniard.json +1 -1
- package/data/pokemon/pecharunt.json +1 -1
- package/data/pokemon/persian-alola.json +3 -2
- package/data/pokemon/persian.json +5 -5
- package/data/pokemon/petilil.json +2 -3
- package/data/pokemon/phanpy.json +12 -1
- package/data/pokemon/pheromosa.json +2 -2
- package/data/pokemon/phione.json +12 -1
- package/data/pokemon/pidgeot-mega.json +12 -1
- package/data/pokemon/pidgeot.json +13 -2
- package/data/pokemon/pidgeotto.json +13 -2
- package/data/pokemon/pidgey.json +13 -2
- package/data/pokemon/pidove.json +1 -1
- package/data/pokemon/pignite.json +3 -1
- package/data/pokemon/pikachu-alola.json +12 -2
- package/data/pokemon/pikachu-hoenn.json +12 -2
- package/data/pokemon/pikachu-kalos.json +12 -2
- package/data/pokemon/pikachu-original.json +12 -2
- package/data/pokemon/pikachu-partner.json +3 -3
- package/data/pokemon/pikachu-sinnoh.json +12 -2
- package/data/pokemon/pikachu-unova.json +12 -2
- package/data/pokemon/pikachu-world.json +2 -2
- package/data/pokemon/piloswine-f.json +9 -1
- package/data/pokemon/piloswine.json +4 -0
- package/data/pokemon/pineco.json +2 -1
- package/data/pokemon/pinsir-mega.json +16 -3
- package/data/pokemon/pinsir.json +3 -4
- package/data/pokemon/piplup.json +14 -1
- package/data/pokemon/plusle.json +12 -1
- package/data/pokemon/ponyta-galar.json +2 -2
- package/data/pokemon/ponyta.json +15 -2
- package/data/pokemon/poochyena.json +5 -1
- package/data/pokemon/porygon.json +13 -2
- package/data/pokemon/porygon2.json +13 -2
- package/data/pokemon/porygonz.json +1 -2
- package/data/pokemon/primeape.json +1 -2
- package/data/pokemon/prinplup.json +4 -0
- package/data/pokemon/pumpkaboo-large.json +1 -1
- package/data/pokemon/pumpkaboo-small.json +1 -1
- package/data/pokemon/pumpkaboo-super.json +1 -1
- package/data/pokemon/pumpkaboo.json +1 -1
- package/data/pokemon/pupitar.json +7 -6
- package/data/pokemon/purrloin.json +13 -2
- package/data/pokemon/purugly.json +17 -12
- package/data/pokemon/pyroar-f.json +1 -1
- package/data/pokemon/pyroar.json +1 -1
- package/data/pokemon/quagsire-f.json +20 -2
- package/data/pokemon/quagsire.json +15 -1
- package/data/pokemon/quilava.json +6 -2
- package/data/pokemon/quilladin.json +2 -2
- package/data/pokemon/qwilfish.json +14 -1
- package/data/pokemon/rabsca.json +1 -1
- package/data/pokemon/raichu-alola.json +2 -2
- package/data/pokemon/raichu-f.json +6 -2
- package/data/pokemon/raichu-mega-x.json +1 -1
- package/data/pokemon/raichu-mega-y.json +1 -1
- package/data/pokemon/raichu.json +1 -1
- package/data/pokemon/raikou.json +6 -2
- package/data/pokemon/ralts.json +3 -2
- package/data/pokemon/rampardos.json +3 -4
- package/data/pokemon/rapidash-galar.json +2 -2
- package/data/pokemon/rapidash.json +14 -2
- package/data/pokemon/raticate-f.json +18 -2
- package/data/pokemon/raticate.json +13 -1
- package/data/pokemon/rattata-f.json +19 -2
- package/data/pokemon/rattata.json +14 -1
- package/data/pokemon/rayquaza-mega.json +1 -1
- package/data/pokemon/rayquaza.json +4 -0
- package/data/pokemon/regice.json +5 -2
- package/data/pokemon/regigigas.json +15 -1
- package/data/pokemon/regirock.json +5 -2
- package/data/pokemon/registeel.json +5 -2
- package/data/pokemon/rellor.json +1 -1
- package/data/pokemon/remoraid.json +2 -1
- package/data/pokemon/reshiram.json +22 -2
- package/data/pokemon/reuniclus.json +22 -2
- package/data/pokemon/rhydon-f.json +10 -3
- package/data/pokemon/rhydon.json +5 -2
- package/data/pokemon/rhyhorn-f.json +10 -3
- package/data/pokemon/rhyhorn.json +5 -2
- package/data/pokemon/rhyperior-f.json +5 -2
- package/data/pokemon/rhyperior.json +5 -2
- package/data/pokemon/roaringmoon.json +3 -3
- package/data/pokemon/roselia-f.json +8 -3
- package/data/pokemon/roselia.json +3 -2
- package/data/pokemon/roserade-f.json +8 -3
- package/data/pokemon/roserade.json +3 -2
- package/data/pokemon/rotom-fan.json +3 -1
- package/data/pokemon/rotom-frost.json +3 -1
- package/data/pokemon/rotom-heat.json +3 -1
- package/data/pokemon/rotom-mow.json +3 -1
- package/data/pokemon/rotom-wash.json +3 -1
- package/data/pokemon/rotom.json +3 -1
- package/data/pokemon/rufflet.json +1 -4
- package/data/pokemon/sableye-mega.json +2 -2
- package/data/pokemon/sableye.json +11 -3
- package/data/pokemon/salamence-mega.json +1 -1
- package/data/pokemon/salamence.json +2 -4
- package/data/pokemon/samurott.json +3 -1
- package/data/pokemon/sandaconda-gmax.json +6 -2
- package/data/pokemon/sandshrew-alola.json +2 -2
- package/data/pokemon/sandshrew.json +12 -1
- package/data/pokemon/sandslash-alola.json +2 -2
- package/data/pokemon/sandslash.json +12 -1
- package/data/pokemon/sandyshocks.json +3 -3
- package/data/pokemon/sawk.json +2 -1
- package/data/pokemon/sawsbuck-autumn.json +12 -14
- package/data/pokemon/sawsbuck-summer.json +12 -14
- package/data/pokemon/sawsbuck-winter.json +12 -14
- package/data/pokemon/sawsbuck.json +1 -1
- package/data/pokemon/scatterbug.json +2 -2
- package/data/pokemon/sceptile-mega.json +2 -2
- package/data/pokemon/sceptile.json +4 -0
- package/data/pokemon/scizor-f.json +9 -6
- package/data/pokemon/scizor-mega.json +13 -2
- package/data/pokemon/scizor.json +4 -5
- package/data/pokemon/scolipede.json +3 -1
- package/data/pokemon/scovillain.json +1 -1
- package/data/pokemon/scrafty.json +1 -2
- package/data/pokemon/scraggy.json +1 -2
- package/data/pokemon/screamtail.json +3 -3
- package/data/pokemon/scyther-f.json +8 -4
- package/data/pokemon/scyther.json +3 -3
- package/data/pokemon/seadra.json +4 -0
- package/data/pokemon/sealeo.json +4 -0
- package/data/pokemon/seedot.json +15 -4
- package/data/pokemon/seel.json +1 -2
- package/data/pokemon/seismitoad.json +1 -1
- package/data/pokemon/sentret.json +14 -1
- package/data/pokemon/serperior.json +3 -1
- package/data/pokemon/servine.json +3 -1
- package/data/pokemon/seviper.json +14 -2
- package/data/pokemon/sewaddle.json +4 -0
- package/data/pokemon/sharpedo-mega.json +1 -1
- package/data/pokemon/sharpedo.json +1 -3
- package/data/pokemon/shaymin-sky.json +7 -1
- package/data/pokemon/shaymin.json +9 -1
- package/data/pokemon/shedinja.json +4 -0
- package/data/pokemon/shelgon.json +12 -4
- package/data/pokemon/shellder.json +2 -1
- package/data/pokemon/shellos-east.json +1 -5
- package/data/pokemon/shellos.json +12 -7
- package/data/pokemon/shelmet.json +1 -1
- package/data/pokemon/shieldon.json +2 -3
- package/data/pokemon/shiftry-f.json +20 -5
- package/data/pokemon/shiftry.json +15 -4
- package/data/pokemon/shinx-f.json +8 -3
- package/data/pokemon/shinx.json +3 -2
- package/data/pokemon/shroomish.json +11 -1
- package/data/pokemon/shuckle.json +15 -3
- package/data/pokemon/shuppet.json +1 -1
- package/data/pokemon/sigilyph.json +3 -1
- package/data/pokemon/silcoon.json +14 -2
- package/data/pokemon/simipour.json +1 -1
- package/data/pokemon/simisage.json +1 -1
- package/data/pokemon/simisear.json +1 -1
- package/data/pokemon/sirfetchd.json +3 -3
- package/data/pokemon/skarmory-mega.json +1 -1
- package/data/pokemon/skiddo.json +1 -1
- package/data/pokemon/skiploom.json +13 -2
- package/data/pokemon/skitty.json +16 -3
- package/data/pokemon/skorupi.json +3 -1
- package/data/pokemon/skrelp.json +2 -12
- package/data/pokemon/skuntank.json +7 -3
- package/data/pokemon/slaking.json +14 -2
- package/data/pokemon/slakoth.json +14 -2
- package/data/pokemon/sliggoo-hisui.json +1 -1
- package/data/pokemon/sliggoo.json +1 -2
- package/data/pokemon/slitherwing.json +3 -3
- package/data/pokemon/slowbro-mega.json +12 -1
- package/data/pokemon/slowbro.json +1 -2
- package/data/pokemon/slowking.json +1 -2
- package/data/pokemon/slowpoke.json +1 -2
- package/data/pokemon/slugma.json +3 -1
- package/data/pokemon/slurpuff.json +2 -2
- package/data/pokemon/smeargle.json +13 -3
- package/data/pokemon/smoochum.json +2 -0
- package/data/pokemon/snivy.json +3 -1
- package/data/pokemon/snorunt.json +12 -3
- package/data/pokemon/snover-f.json +20 -4
- package/data/pokemon/snover.json +15 -3
- package/data/pokemon/snubbull.json +1 -1
- package/data/pokemon/solgaleo.json +2 -12
- package/data/pokemon/solosis.json +22 -2
- package/data/pokemon/solrock.json +15 -4
- package/data/pokemon/spewpa.json +2 -2
- package/data/pokemon/spheal.json +4 -0
- package/data/pokemon/spinarak.json +2 -1
- package/data/pokemon/spiritomb.json +11 -3
- package/data/pokemon/spoink.json +14 -1
- package/data/pokemon/spritzee.json +2 -2
- package/data/pokemon/squawkabilly-blue.json +1 -1
- package/data/pokemon/squawkabilly-white.json +1 -1
- package/data/pokemon/squawkabilly-yellow.json +1 -1
- package/data/pokemon/stakataka.json +2 -2
- package/data/pokemon/stantler.json +9 -5
- package/data/pokemon/staraptor-f.json +12 -2
- package/data/pokemon/staraptor-mega.json +1 -1
- package/data/pokemon/staraptor.json +12 -2
- package/data/pokemon/staravia-f.json +17 -3
- package/data/pokemon/staravia.json +12 -2
- package/data/pokemon/starly-f.json +17 -3
- package/data/pokemon/starly.json +12 -2
- package/data/pokemon/starmie-mega.json +1 -1
- package/data/pokemon/steelix-f.json +6 -2
- package/data/pokemon/steelix-mega.json +1 -1
- package/data/pokemon/steelix.json +1 -1
- package/data/pokemon/stonjourner.json +2 -2
- package/data/pokemon/stunfisk.json +3 -1
- package/data/pokemon/stunky.json +7 -3
- package/data/pokemon/sudowoodo-f.json +1 -1
- package/data/pokemon/sudowoodo.json +1 -1
- package/data/pokemon/suicune.json +6 -2
- package/data/pokemon/sunflora.json +13 -1
- package/data/pokemon/sunkern.json +14 -1
- package/data/pokemon/surskit.json +2 -2
- package/data/pokemon/swablu.json +3 -1
- package/data/pokemon/swadloon.json +4 -0
- package/data/pokemon/swalot-f.json +14 -1
- package/data/pokemon/swalot.json +14 -1
- package/data/pokemon/swampert-mega.json +2 -2
- package/data/pokemon/swampert.json +4 -0
- package/data/pokemon/swanna.json +14 -2
- package/data/pokemon/swellow.json +3 -1
- package/data/pokemon/swinub.json +4 -0
- package/data/pokemon/swirlix.json +2 -2
- package/data/pokemon/swoobat.json +1 -1
- package/data/pokemon/taillow.json +3 -1
- package/data/pokemon/tangela.json +13 -1
- package/data/pokemon/tangrowth-f.json +1 -3
- package/data/pokemon/tangrowth.json +1 -3
- package/data/pokemon/tauros-paldea-fire.json +3 -3
- package/data/pokemon/tauros-paldea-water.json +3 -3
- package/data/pokemon/tauros-paldea.json +1 -1
- package/data/pokemon/teddiursa.json +7 -3
- package/data/pokemon/tepig.json +3 -1
- package/data/pokemon/terrakion.json +3 -1
- package/data/pokemon/throh.json +2 -1
- package/data/pokemon/thundurus-therian.json +14 -2
- package/data/pokemon/thundurus.json +7 -2
- package/data/pokemon/timburr.json +3 -1
- package/data/pokemon/tinglu.json +1 -1
- package/data/pokemon/tirtouga.json +1 -2
- package/data/pokemon/togekiss.json +3 -2
- package/data/pokemon/togepi.json +4 -3
- package/data/pokemon/togetic.json +3 -2
- package/data/pokemon/torchic-f.json +9 -1
- package/data/pokemon/torchic.json +4 -0
- package/data/pokemon/tornadus-therian.json +14 -2
- package/data/pokemon/tornadus.json +7 -2
- package/data/pokemon/torterra.json +4 -0
- package/data/pokemon/totodile.json +7 -3
- package/data/pokemon/toxicroak-f.json +6 -3
- package/data/pokemon/toxicroak.json +1 -2
- package/data/pokemon/tranquill.json +1 -1
- package/data/pokemon/trapinch.json +1 -2
- package/data/pokemon/treecko.json +4 -0
- package/data/pokemon/tropius.json +12 -5
- package/data/pokemon/turtonator.json +2 -2
- package/data/pokemon/turtwig.json +14 -1
- package/data/pokemon/tympole.json +1 -1
- package/data/pokemon/tynamo.json +4 -0
- package/data/pokemon/typhlosion.json +6 -2
- package/data/pokemon/tyranitar-mega.json +13 -2
- package/data/pokemon/tyranitar.json +7 -6
- package/data/pokemon/tyrantrum.json +1 -1
- package/data/pokemon/tyrogue.json +14 -1
- package/data/pokemon/tyrunt.json +1 -1
- package/data/pokemon/unfezant-f.json +6 -2
- package/data/pokemon/unfezant.json +1 -1
- package/data/pokemon/unown-b.json +11 -1
- package/data/pokemon/unown-c.json +11 -1
- package/data/pokemon/unown-d.json +11 -1
- package/data/pokemon/unown-e.json +11 -1
- package/data/pokemon/unown-exclamation.json +30 -2
- package/data/pokemon/unown-f.json +11 -1
- package/data/pokemon/unown-g.json +11 -1
- package/data/pokemon/unown-h.json +11 -1
- package/data/pokemon/unown-i.json +11 -1
- package/data/pokemon/unown-j.json +11 -1
- package/data/pokemon/unown-k.json +11 -1
- package/data/pokemon/unown-l.json +11 -1
- package/data/pokemon/unown-m.json +11 -1
- package/data/pokemon/unown-n.json +11 -1
- package/data/pokemon/unown-o.json +11 -1
- package/data/pokemon/unown-p.json +11 -1
- package/data/pokemon/unown-q.json +11 -1
- package/data/pokemon/unown-question.json +30 -2
- package/data/pokemon/unown-r.json +11 -1
- package/data/pokemon/unown-s.json +11 -1
- package/data/pokemon/unown-t.json +11 -1
- package/data/pokemon/unown-u.json +11 -1
- package/data/pokemon/unown-v.json +11 -1
- package/data/pokemon/unown-w.json +11 -1
- package/data/pokemon/unown-x.json +11 -1
- package/data/pokemon/unown-y.json +11 -1
- package/data/pokemon/unown-z.json +11 -1
- package/data/pokemon/unown.json +4 -0
- package/data/pokemon/ursaring-f.json +12 -4
- package/data/pokemon/ursaring.json +7 -3
- package/data/pokemon/urshifu-gmax.json +6 -2
- package/data/pokemon/urshifu-rapid-strike-gmax.json +6 -2
- package/data/pokemon/uxie.json +15 -1
- package/data/pokemon/veluza.json +1 -1
- package/data/pokemon/venipede.json +3 -1
- package/data/pokemon/venomoth.json +1 -1
- package/data/pokemon/venonat.json +1 -1
- package/data/pokemon/venusaur-mega.json +3 -1
- package/data/pokemon/vespiquen.json +1 -1
- package/data/pokemon/vibrava.json +1 -2
- package/data/pokemon/victini.json +17 -3
- package/data/pokemon/victreebel-mega.json +1 -1
- package/data/pokemon/victreebel.json +6 -2
- package/data/pokemon/vigoroth.json +14 -2
- package/data/pokemon/vileplume-f.json +14 -3
- package/data/pokemon/vileplume.json +15 -3
- package/data/pokemon/virizion.json +3 -1
- package/data/pokemon/vivillon-archipelago.json +17 -3
- package/data/pokemon/vivillon-continental.json +17 -3
- package/data/pokemon/vivillon-elegant.json +17 -3
- package/data/pokemon/vivillon-fancy.json +20 -4
- package/data/pokemon/vivillon-garden.json +7 -3
- package/data/pokemon/vivillon-high-plains.json +17 -3
- package/data/pokemon/vivillon-jungle.json +17 -3
- package/data/pokemon/vivillon-marine.json +7 -3
- package/data/pokemon/vivillon-meadow.json +7 -3
- package/data/pokemon/vivillon-modern.json +17 -3
- package/data/pokemon/vivillon-monsoon.json +17 -3
- package/data/pokemon/vivillon-ocean.json +17 -3
- package/data/pokemon/vivillon-pokeball.json +22 -4
- package/data/pokemon/vivillon-polar.json +17 -3
- package/data/pokemon/vivillon-river.json +17 -3
- package/data/pokemon/vivillon-sandstorm.json +17 -3
- package/data/pokemon/vivillon-savanna.json +17 -3
- package/data/pokemon/vivillon-sun.json +17 -3
- package/data/pokemon/vivillon-tundra.json +17 -3
- package/data/pokemon/vivillon.json +22 -4
- package/data/pokemon/volbeat.json +13 -1
- package/data/pokemon/volcanion.json +16 -2
- package/data/pokemon/volcarona.json +1 -1
- package/data/pokemon/voltorb-hisui.json +2 -2
- package/data/pokemon/voltorb.json +3 -1
- package/data/pokemon/vullaby.json +1 -4
- package/data/pokemon/vulpix-alola.json +2 -14
- package/data/pokemon/vulpix.json +15 -7
- package/data/pokemon/wailmer.json +1 -3
- package/data/pokemon/wailord.json +1 -3
- package/data/pokemon/walkingwake.json +1 -1
- package/data/pokemon/walrein.json +4 -0
- package/data/pokemon/watchog.json +1 -1
- package/data/pokemon/weepinbell.json +6 -2
- package/data/pokemon/weezing.json +15 -2
- package/data/pokemon/whimsicott.json +2 -3
- package/data/pokemon/whirlipede.json +3 -1
- package/data/pokemon/whismur.json +14 -2
- package/data/pokemon/wobbuffet-f.json +1 -1
- package/data/pokemon/wobbuffet.json +1 -1
- package/data/pokemon/wochien.json +1 -1
- package/data/pokemon/woobat.json +1 -1
- package/data/pokemon/wooper-f.json +11 -3
- package/data/pokemon/wooper-paldea.json +1 -1
- package/data/pokemon/wooper.json +6 -2
- package/data/pokemon/wormadam-sandy.json +13 -1
- package/data/pokemon/wormadam-trash.json +13 -1
- package/data/pokemon/wormadam.json +13 -1
- package/data/pokemon/wurmple.json +14 -2
- package/data/pokemon/wynaut.json +1 -1
- package/data/pokemon/xatu-f.json +6 -2
- package/data/pokemon/xatu.json +1 -1
- package/data/pokemon/xerneas-active.json +8 -4
- package/data/pokemon/xerneas.json +13 -5
- package/data/pokemon/yamask.json +1 -1
- package/data/pokemon/yanma.json +3 -1
- package/data/pokemon/yanmega.json +3 -1
- package/data/pokemon/yveltal.json +3 -3
- package/data/pokemon/zacian-crowned.json +2 -2
- package/data/pokemon/zacian.json +2 -2
- package/data/pokemon/zamazenta-crowned.json +2 -2
- package/data/pokemon/zamazenta.json +2 -2
- package/data/pokemon/zangoose.json +14 -2
- package/data/pokemon/zapdos.json +7 -3
- package/data/pokemon/zarude-dada.json +4 -4
- package/data/pokemon/zarude.json +1 -1
- package/data/pokemon/zebstrika.json +1 -1
- package/data/pokemon/zekrom.json +22 -2
- package/data/pokemon/zeraora-mega.json +2 -2
- package/data/pokemon/zeraora.json +4 -4
- package/data/pokemon/zigzagoon.json +4 -0
- package/data/pokemon/zoroark.json +2 -4
- package/data/pokemon/zorua.json +2 -4
- package/data/pokemon/zweilous.json +5 -3
- package/data/pokemon/zygarde.json +2 -2
- package/data/regions.json +2 -1
- package/package.json +10 -6
- package/build/build-bE_0_-0H.mjs.map +0 -1
- package/build/schemas-Bvj56HZe.d.mts.map +0 -1
- 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 {
|
|
1
|
+
import { b as modernBoxPresetSlotSchema } from "./schemas-DTB8AjXr.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-
|
|
54
|
+
//# sourceMappingURL=box-preset-sanitizer-ChpDBp-9.mjs.map
|
package/build/{box-preset-sanitizer-CmgPzVjb.mjs.map → box-preset-sanitizer-ChpDBp-9.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"box-preset-sanitizer-
|
|
1
|
+
{"version":3,"file":"box-preset-sanitizer-ChpDBp-9.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
|
|
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
|
-
|
|
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
|
|
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
|
|
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-
|
|
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
|
-
|
|
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-
|
|
33082
|
+
//# sourceMappingURL=build-CBmCe7Y4.mjs.map
|