@pokepc/dataset 6.7.0 → 6.7.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.
Files changed (120) hide show
  1. package/README.md +15 -3
  2. package/build/{build-DvGzwIK8.mjs → build-D2oPkkzJ.mjs} +52 -52
  3. package/build/{build-DvGzwIK8.mjs.map → build-D2oPkkzJ.mjs.map} +1 -1
  4. package/build/{enums-DlMg7WLl.mjs → enums-u8n-nN0B.mjs} +5 -2
  5. package/build/enums-u8n-nN0B.mjs.map +1 -0
  6. package/build/lib/fs.d.mts +3 -3
  7. package/build/lib/fs.d.mts.map +1 -1
  8. package/build/lib/fs.mjs +21 -29
  9. package/build/lib/fs.mjs.map +1 -1
  10. package/build/lib/schemas.d.mts +1 -1
  11. package/build/lib/search.d.mts +2 -0
  12. package/build/lib/search.d.mts.map +1 -1
  13. package/build/lib/search.mjs +3 -3
  14. package/build/lib/search.mjs.map +1 -1
  15. package/build/lib/types.d.mts +1 -1
  16. package/build/lib/utils.d.mts +2 -0
  17. package/build/lib/utils.d.mts.map +1 -1
  18. package/build/lib/utils.mjs +3 -2
  19. package/build/lib-next/_build.mjs +1 -1
  20. package/build/lib-next/enums.d.mts.map +1 -1
  21. package/build/lib-next/enums.mjs +1 -1
  22. package/build/lib-next/schemas.mjs +1 -1
  23. package/build/{schemas-CDSWgtoj.d.mts → schemas-CIE3b72j.d.mts} +42 -42
  24. package/build/{schemas-CDSWgtoj.d.mts.map → schemas-CIE3b72j.d.mts.map} +1 -1
  25. package/build/{schemas-Bj1AIX0P.mjs → schemas-CWE4YPI2.mjs} +2 -2
  26. package/build/{schemas-Bj1AIX0P.mjs.map → schemas-CWE4YPI2.mjs.map} +1 -1
  27. package/build/{utils-BwovRocd.mjs → utils-BTjKkD-_.mjs} +2 -2
  28. package/build/utils-BTjKkD-_.mjs.map +1 -0
  29. package/build/utils-internal-C-UStMrZ.d.mts +7 -0
  30. package/build/utils-internal-C-UStMrZ.d.mts.map +1 -0
  31. package/build/{utils-internal-Czgdbnkv.mjs → utils-internal-DPjO9kQX.mjs} +7 -2
  32. package/build/{utils-internal-Czgdbnkv.mjs.map → utils-internal-DPjO9kQX.mjs.map} +1 -1
  33. package/data/pokedexes/hoenn-oras.json +12 -0
  34. package/data/pokedexes/kanto-lgpe.json +11 -0
  35. package/data/pokedexes/national-oras.json +27 -0
  36. package/data/pokemon/abomasnow-mega.json +1 -1
  37. package/data/pokemon/aggron-mega.json +1 -1
  38. package/data/pokemon/ampharos-mega.json +1 -1
  39. package/data/pokemon/blastoise-mega.json +12 -1
  40. package/data/pokemon/blaziken-mega.json +1 -1
  41. package/data/pokemon/charizard-mega-x.json +12 -2
  42. package/data/pokemon/charizard-mega-y.json +12 -2
  43. package/data/pokemon/gengar-mega.json +1 -1
  44. package/data/pokemon/heracross-mega.json +1 -1
  45. package/data/pokemon/houndoom-mega.json +1 -1
  46. package/data/pokemon/kangaskhan-mega.json +1 -1
  47. package/data/pokemon/lucario-mega.json +1 -1
  48. package/data/pokemon/manectric-mega.json +1 -1
  49. package/data/pokemon/mawile-mega.json +2 -1
  50. package/data/pokemon/mewtwo-mega-x.json +10 -1
  51. package/data/pokemon/mewtwo-mega-y.json +10 -1
  52. package/data/pokemon/pinsir-mega.json +1 -1
  53. package/data/pokemon/sableye-mega.json +1 -1
  54. package/data/pokemon/scizor-mega.json +1 -1
  55. package/data/pokemon/tyranitar-mega.json +1 -1
  56. package/data/pokemon/venusaur-mega.json +12 -1
  57. package/data-next/champions/abilities.json +117 -5
  58. package/data-next/champions/battle-states.json +24 -3
  59. package/data-next/champions/i18n/chs/abilities.json +104 -6
  60. package/data-next/champions/i18n/chs/battle-states.json +24 -3
  61. package/data-next/champions/i18n/chs/items.json +144 -0
  62. package/data-next/champions/i18n/chs/moves.json +25 -25
  63. package/data-next/champions/i18n/chs/pokemon.json +195 -0
  64. package/data-next/champions/i18n/cht/abilities.json +105 -7
  65. package/data-next/champions/i18n/cht/battle-states.json +24 -3
  66. package/data-next/champions/i18n/cht/items.json +144 -0
  67. package/data-next/champions/i18n/cht/moves.json +25 -25
  68. package/data-next/champions/i18n/cht/pokemon.json +195 -0
  69. package/data-next/champions/i18n/deu/abilities.json +105 -7
  70. package/data-next/champions/i18n/deu/battle-states.json +24 -3
  71. package/data-next/champions/i18n/deu/items.json +144 -0
  72. package/data-next/champions/i18n/deu/moves.json +28 -28
  73. package/data-next/champions/i18n/deu/pokemon.json +195 -0
  74. package/data-next/champions/i18n/eng/abilities.json +102 -4
  75. package/data-next/champions/i18n/eng/battle-states.json +24 -3
  76. package/data-next/champions/i18n/eng/items.json +144 -0
  77. package/data-next/champions/i18n/eng/moves.json +25 -25
  78. package/data-next/champions/i18n/eng/pokemon.json +195 -0
  79. package/data-next/champions/i18n/es-es/abilities.json +106 -8
  80. package/data-next/champions/i18n/es-es/battle-states.json +24 -3
  81. package/data-next/champions/i18n/es-es/items.json +145 -1
  82. package/data-next/champions/i18n/es-es/moves.json +25 -25
  83. package/data-next/champions/i18n/es-es/pokemon.json +195 -0
  84. package/data-next/champions/i18n/es-la/abilities.json +106 -8
  85. package/data-next/champions/i18n/es-la/battle-states.json +24 -3
  86. package/data-next/champions/i18n/es-la/items.json +145 -1
  87. package/data-next/champions/i18n/es-la/moves.json +26 -26
  88. package/data-next/champions/i18n/es-la/pokemon.json +195 -0
  89. package/data-next/champions/i18n/fra/abilities.json +105 -7
  90. package/data-next/champions/i18n/fra/battle-states.json +24 -3
  91. package/data-next/champions/i18n/fra/items.json +144 -0
  92. package/data-next/champions/i18n/fra/moves.json +25 -25
  93. package/data-next/champions/i18n/fra/pokemon.json +195 -0
  94. package/data-next/champions/i18n/ita/abilities.json +116 -18
  95. package/data-next/champions/i18n/ita/battle-states.json +24 -3
  96. package/data-next/champions/i18n/ita/items.json +145 -1
  97. package/data-next/champions/i18n/ita/moves.json +28 -28
  98. package/data-next/champions/i18n/ita/pokemon.json +195 -0
  99. package/data-next/champions/i18n/jpn/abilities.json +104 -6
  100. package/data-next/champions/i18n/jpn/battle-states.json +24 -3
  101. package/data-next/champions/i18n/jpn/items.json +144 -0
  102. package/data-next/champions/i18n/jpn/moves.json +25 -25
  103. package/data-next/champions/i18n/jpn/pokemon.json +195 -0
  104. package/data-next/champions/i18n/kor/abilities.json +104 -6
  105. package/data-next/champions/i18n/kor/battle-states.json +24 -3
  106. package/data-next/champions/i18n/kor/items.json +144 -0
  107. package/data-next/champions/i18n/kor/moves.json +25 -25
  108. package/data-next/champions/i18n/kor/pokemon.json +195 -0
  109. package/data-next/champions/i18n/pt-br/abilities.json +102 -4
  110. package/data-next/champions/i18n/pt-br/battle-states.json +24 -3
  111. package/data-next/champions/i18n/pt-br/items.json +144 -0
  112. package/data-next/champions/i18n/pt-br/moves.json +25 -25
  113. package/data-next/champions/i18n/pt-br/pokemon.json +195 -0
  114. package/data-next/champions/items.json +180 -0
  115. package/data-next/champions/moves.json +61 -61
  116. package/data-next/champions/pokemon-moves.json +1882 -173
  117. package/data-next/champions/pokemon.json +913 -21
  118. package/package.json +17 -9
  119. package/build/enums-DlMg7WLl.mjs.map +0 -1
  120. package/build/utils-BwovRocd.mjs.map +0 -1
@@ -170,7 +170,10 @@ const battleStates = [
170
170
  "minimized",
171
171
  "atk_def_swapped",
172
172
  "flash_fire",
173
- "micle_berry"
173
+ "micle_berry",
174
+ "octolocked",
175
+ "wide_open",
176
+ "jaw_locked"
174
177
  ];
175
178
  const itemCategories = [
176
179
  "power_boost",
@@ -260,4 +263,4 @@ const raidStyles = ["dynamax", "tera"];
260
263
  //#endregion
261
264
  export { raidStyles as _, gameSeries as a, statusConditions as b, itemCategories as c, moveClasses as d, moveTargets as f, pokemonTypesInternalOrder as g, pokemonTypes as h, gamePlatforms as i, ivJudgeValues as l, pokemonSizes as m, battleStates as n, gameTypes as o, pokeballCategories as p, battleStyles as r, genders as s, bagCategories as t, moveCategories as u, ribbonCategories as v, titleTypes as x, statIds as y };
262
265
 
263
- //# sourceMappingURL=enums-DlMg7WLl.mjs.map
266
+ //# sourceMappingURL=enums-u8n-nN0B.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums-u8n-nN0B.mjs","names":[],"sources":["../src/lib-next/enums.ts"],"sourcesContent":["export const gameTypes = ['superset', 'set', 'game', 'dlc'] as const\nexport type GameType = (typeof gameTypes)[number]\n\nexport const gameSeries = ['main', 'spinoff', 'storage', 'legends'] as const\nexport type GameSeries = (typeof gameSeries)[number]\n\nexport const gamePlatforms = [\n 'gb',\n 'gbc',\n 'gba',\n 'nds',\n '3ds',\n 'mobile',\n 'ngc',\n 'wii',\n 'wiiu',\n 'switch',\n 'switch2',\n] as const\nexport type GamePlatform = (typeof gamePlatforms)[number]\n\nexport const pokemonTypes = [\n 'normal',\n 'fire',\n 'water',\n 'electric',\n 'grass',\n 'ice',\n 'fighting',\n 'poison',\n 'ground',\n 'flying',\n 'psychic',\n 'bug',\n 'rock',\n 'ghost',\n 'dragon',\n 'dark',\n 'steel',\n 'fairy',\n] as const\n\nexport const pokemonTypesInternalOrder: PokemonType[] = [\n 'normal',\n 'fighting',\n 'flying',\n 'poison',\n 'ground',\n 'rock',\n 'bug',\n 'ghost',\n 'steel',\n 'fire',\n 'water',\n 'grass',\n 'electric',\n 'psychic',\n 'ice',\n 'dragon',\n 'dark',\n 'fairy',\n]\nexport type PokemonType = (typeof pokemonTypes)[number]\n\nexport const moveCategories = ['physical', 'special', 'status'] as const\nexport type MoveCategory = (typeof moveCategories)[number]\n\nexport const moveClasses = [\n 'punching',\n 'sound_based',\n 'dance',\n 'slicing',\n 'wind',\n 'powder',\n 'ball_bomb',\n 'pulse',\n 'biting',\n 'explosive',\n 'mental',\n 'healing',\n] as const\nexport type MoveClass = (typeof moveClasses)[number]\n\nexport const moveTargets = [\n 'single_target',\n 'self',\n 'single_ally',\n 'all_allies',\n 'random_opponent',\n 'all_opponents',\n 'entire_field',\n 'opponents_side',\n 'users_side',\n 'all_pokemon',\n 'varies',\n] as const\nexport type MoveTarget = (typeof moveTargets)[number]\n\nexport const statusConditions = [\n 'paralyzed',\n 'frozen',\n 'poisoned',\n 'badly_poisoned',\n 'burned',\n 'asleep',\n] as const\nexport type StatusCondition = (typeof statusConditions)[number]\n\nexport const battleStates = [\n 'harsh_sunlight',\n 'rain',\n 'sandstorm',\n 'snow',\n 'electric_terrain',\n 'grassy_terrain',\n 'misty_terrain',\n 'trick_room',\n 'magic_room',\n 'wonder_room',\n 'critical_hit_ratio_boost',\n 'confused',\n 'infatuated',\n 'drowsy',\n 'encore',\n 'no_ability',\n 'unable_to_repeat',\n 'tailwind',\n 'move_disabled',\n 'cant_escape',\n 'locked_on',\n 'electric_boost',\n 'gravity',\n 'safeguard',\n 'stealth_rock',\n 'stockpiling',\n 'taunted',\n 'magnet_rise',\n 'toxic_spikes',\n 'wish',\n 'sticky_web',\n 'ingrained',\n 'cursed',\n 'trick_or_treating',\n 'light_screen',\n 'reflect',\n 'sealing_off',\n 'perishing',\n 'spikes',\n 'destiny_bound',\n 'forest_cursed',\n 'leech_seeded',\n 'bound',\n 'rampaging',\n 'badly_poisoned',\n 'future_attack',\n 'uproar',\n 'aqua_ring',\n 'landed',\n 'fairy_locked',\n 'psychic_terrain',\n 'throat_chopped',\n 'aurora_veil',\n 'salt_cured',\n 'syrupy',\n 'healing_prevented',\n 'recharging',\n 'charging',\n 'sky_high',\n 'submerged',\n 'underground',\n 'concealed',\n 'minimized',\n 'atk_def_swapped',\n 'flash_fire',\n 'micle_berry',\n 'octolocked',\n 'wide_open',\n 'jaw_locked',\n]\nexport type BattleState = (typeof battleStates)[number]\n\nexport const itemCategories = [\n 'power_boost',\n 'recovery',\n 'defense',\n 'stat_boost',\n 'effect_extend',\n 'berry',\n 'other',\n 'mega_stone',\n] as const\nexport type ItemCategory = (typeof itemCategories)[number]\n\nexport const bagCategories = [\n 'ball',\n 'medicine',\n 'battle',\n 'berry',\n 'machine',\n 'mega_stone',\n 'z_crystal',\n 'treasure',\n 'ingredient',\n 'material',\n 'key',\n 'other',\n] as const\nexport type BagCategory = (typeof bagCategories)[number]\n\nexport const pokeballCategories = ['regular', 'special', 'hisuian', 'other'] as const\nexport type PokeballCategory = (typeof pokeballCategories)[number]\n\nexport const ribbonCategories = ['league', 'contest', 'tower', 'memory', 'gift'] as const\nexport type RibbonCategory = (typeof ribbonCategories)[number]\n\nexport const statIds = ['hp', 'atk', 'def', 'spa', 'spd', 'spe', 'acc', 'eva'] as const\nexport type StatId = (typeof statIds)[number]\n\nexport const titleTypes = ['ribbon', 'mark', 'custom'] as const\nexport type TitleType = (typeof titleTypes)[number]\n\nexport const pokemonSizes = ['xs', 's', 'm', 'l', 'xl'] as const\nexport type PokemonSize = (typeof pokemonSizes)[number]\n\nexport const genders = ['m', 'f'] as const // m: male, f: female, null/undefined: genderless\nexport type Gender = (typeof genders)[number]\n\n/**\n * In most core series games:\n * - IV of 0: \"No good\" (or \"Not So Good\" in Let's GO)\n * - IV range of 1-15: \"Decent\" (or \"OK\" in Let's GO)\n * - IV range of 16-25: \"Pretty good\" (or \"Good\" in Let's GO)\n * - IV range 26-29: \"Very good\"\n * - IV of 30: \"Fantastic\"\n * - IV of 31: \"Best\"\n * */\nexport const ivJudgeValues = ['nogood', 'decent', 'good', 'verygood', 'fantastic', 'best'] as const\nexport type IvJudgeValue = (typeof ivJudgeValues)[number]\n\nexport const battleStyles = ['singles', 'doubles', 'triples', 'rotation', 'royale'] as const\nexport type BattleStyle = (typeof battleStyles)[number]\n\nexport const raidStyles = ['dynamax', 'tera'] as const\nexport type RaidStyle = (typeof raidStyles)[number]\n"],"mappings":";AAAA,MAAa,YAAY;CAAC;CAAY;CAAO;CAAQ;AAAK;AAG1D,MAAa,aAAa;CAAC;CAAQ;CAAW;CAAW;AAAS;AAGlE,MAAa,gBAAgB;CAC3B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAGA,MAAa,eAAe;CAC1B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,MAAa,4BAA2C;CACtD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAGA,MAAa,iBAAiB;CAAC;CAAY;CAAW;AAAQ;AAG9D,MAAa,cAAc;CACzB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAGA,MAAa,cAAc;CACzB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAGA,MAAa,mBAAmB;CAC9B;CACA;CACA;CACA;CACA;CACA;AACF;AAGA,MAAa,eAAe;CAC1B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAGA,MAAa,iBAAiB;CAC5B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAGA,MAAa,gBAAgB;CAC3B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAGA,MAAa,qBAAqB;CAAC;CAAW;CAAW;CAAW;AAAO;AAG3E,MAAa,mBAAmB;CAAC;CAAU;CAAW;CAAS;CAAU;AAAM;AAG/E,MAAa,UAAU;CAAC;CAAM;CAAO;CAAO;CAAO;CAAO;CAAO;CAAO;AAAK;AAG7E,MAAa,aAAa;CAAC;CAAU;CAAQ;AAAQ;AAGrD,MAAa,eAAe;CAAC;CAAM;CAAK;CAAK;CAAK;AAAI;AAGtD,MAAa,UAAU,CAAC,KAAK,GAAG;;;;;;;;;;AAYhC,MAAa,gBAAgB;CAAC;CAAU;CAAU;CAAQ;CAAY;CAAa;AAAM;AAGzF,MAAa,eAAe;CAAC;CAAW;CAAW;CAAW;CAAY;AAAQ;AAGlF,MAAa,aAAa,CAAC,WAAW,MAAM"}
@@ -28,7 +28,7 @@ export declare const abilitiesFs: import("yolodb").YoloDbTable<{
28
28
  gen: number;
29
29
  shortDesc: string;
30
30
  desc: string | null;
31
- tags: ("defense" | "other" | "items" | "alert" | "ally-helper" | "stat-boost" | "move-boost" | "bypass" | "handicap" | "heal" | "priority-control" | "damage" | "target-weaken" | "status-trigger" | "status-immunity" | "steal" | "weather" | "terrain" | "trap" | "ability-change" | "type-change" | "species-specific")[];
31
+ tags: ("defense" | "other" | "alert" | "ally-helper" | "stat-boost" | "move-boost" | "bypass" | "handicap" | "heal" | "items" | "priority-control" | "damage" | "target-weaken" | "status-trigger" | "status-immunity" | "steal" | "weather" | "terrain" | "trap" | "ability-change" | "type-change" | "species-specific")[];
32
32
  immunities?: ("normal" | "fire" | "water" | "electric" | "grass" | "ice" | "fighting" | "poison" | "ground" | "flying" | "psychic" | "bug" | "rock" | "ghost" | "dragon" | "dark" | "steel" | "fairy" | "stellar")[] | undefined;
33
33
  weaknesses?: ("normal" | "fire" | "water" | "electric" | "grass" | "ice" | "fighting" | "poison" | "ground" | "flying" | "psychic" | "bug" | "rock" | "ghost" | "dragon" | "dark" | "steel" | "fairy" | "stellar")[] | undefined;
34
34
  }>;
@@ -102,10 +102,10 @@ export declare const colorsFs: import("yolodb").YoloDbTable<{
102
102
  color: string;
103
103
  }>;
104
104
  export declare const languagesFs: import("yolodb").YoloDbTable<{
105
- id: "esla" | "chs" | "cht" | "en" | "es" | "fr" | "de" | "it" | "ja" | "ko" | "pt";
105
+ id: "en" | "es" | "esla" | "fr" | "de" | "it" | "ja" | "ko" | "chs" | "cht" | "pt";
106
106
  name: string;
107
107
  nameEng: string;
108
- alpha3: "eng" | "esp" | "esla" | "fra" | "deu" | "ita" | "jap" | "kor" | "chs" | "cht" | "por";
108
+ alpha3: "esla" | "chs" | "cht" | "eng" | "esp" | "fra" | "deu" | "ita" | "jap" | "kor" | "por";
109
109
  inGameCode: "ENG" | "ES-ES" | "ES-LA" | "FRA" | "DEU" | "ITA" | "JPN" | "KOR" | "CHT" | "CHS" | "PT-BR";
110
110
  locale: string;
111
111
  flag: string;
@@ -1 +1 @@
1
- {"version":3,"file":"fs.d.mts","names":[],"sources":["../../src/lib/fs.ts"],"mappings":";wBA8DgB,eAAe;wBAIf,gBAAgB,GAAG,mBAAmB;wBAMtC,iBAAiB,WAAW,kBAAkB;qBAOjD,0BAAO;;;;;;;;;;qBAIP,8BAAW;;;;;;;;;qBAIX,8BAAW;;;;;;;;;;;qBAIX,0BAAO;;;;;;;;;;;;;;;;qBAIP,+BAAY;;;;qBAIZ,4BAAS;;;;;;;;;qBAIT,0BAAO;;;;;;;;;;;qBAIP,gCAAa;;;;qBAIb,0BAAO;;;;;;qBAIP,4BAAS;;;;;;qBAIT,kCAAe;;;;qBASf,4BAAS;;;;qBAIT,2BAAQ;;;;;qBAIR,8BAAW;;;;;;;;;;qBAIX,gCAAa;;;;;wBAIV,0BAA0B,kBAAkB,KAAK;wBAejD,wBAAwB,kBAAkB,KAAK;wBAe/C,4BAA4B,kBAAkB,KAAK;wBAenD,4BACd,iBACA,iCACC,MAAM,KAAK;wBAgBE,cAAc;wBAQd;wBAOA,kBAAkB,KAAK;wBAOvB,mBAAmB,KAAK;wBAYxB,kBACd,iCACC,MAAM,KAAK;wBAOE,gBAAgB,KAAK;wBAOrB,oBAAoB,KAAK;wBAOzB,qBAAqB,KAAK;wBAI1B,gBAAgB,KAAK;wBAIrB,oBAAoB,KAAK;wBAIzB,oBAAoB,KAAK;wBAIzB,gBAAgB,KAAK;wBAIrB,kBAAkB,KAAK;wBAIvB,gBAAgB,KAAK;wBAIrB,sBAAsB,KAAK;wBAI3B,gBAAgB,KAAK;wBAIrB,kBAAkB,KAAK;wBAIvB,wBAAwB,KAAK;wBAI7B,kBAAkB,KAAK;wBAIvB,iBAAiB,KAAK;wBAItB,oBAAoB,KAAK;wBAIzB,sBAAsB,KAAK"}
1
+ {"version":3,"file":"fs.d.mts","names":[],"sources":["../../src/lib/fs.ts"],"mappings":";wBAsBgB,eAAe;wBAIf,gBAAgB,GAAG,mBAAmB;wBAMtC,iBAAiB,WAAW,kBAAkB;qBAOjD,0BAAO;;;;;;;;;;qBAIP,8BAAW;;;;;;;;;qBAIX,8BAAW;;;;;;;;;;;qBAIX,0BAAO;;;;;;;;;;;;;;;;qBAIP,+BAAY;;;;qBAIZ,4BAAS;;;;;;;;;qBAIT,0BAAO;;;;;;;;;;;qBAIP,gCAAa;;;;qBAIb,0BAAO;;;;;;qBAIP,4BAAS;;;;;;qBAIT,kCAAe;;;;qBASf,4BAAS;;;;qBAIT,2BAAQ;;;;;qBAIR,8BAAW;;;;;;;;;;qBAIX,gCAAa;;;;;wBAIV,0BAA0B,kBAAkB,KAAK;wBAejD,wBAAwB,kBAAkB,KAAK;wBAe/C,4BAA4B,kBAAkB,KAAK;wBAenD,4BACd,iBACA,iCACC,MAAM,KAAK;wBAgBE,cAAc;wBAQd;wBAOA,kBAAkB,KAAK;wBAOvB,mBAAmB,KAAK;wBAYxB,kBACd,iCACC,MAAM,KAAK;wBAOE,gBAAgB,KAAK;wBAOrB,oBAAoB,KAAK;wBAOzB,qBAAqB,KAAK;wBAI1B,gBAAgB,KAAK;wBAIrB,oBAAoB,KAAK;wBAIzB,oBAAoB,KAAK;wBAIzB,gBAAgB,KAAK;wBAIrB,kBAAkB,KAAK;wBAIvB,gBAAgB,KAAK;wBAIrB,sBAAsB,KAAK;wBAI3B,gBAAgB,KAAK;wBAIrB,kBAAkB,KAAK;wBAIvB,wBAAwB,KAAK;wBAI7B,kBAAkB,KAAK;wBAIvB,iBAAiB,KAAK;wBAItB,oBAAoB,KAAK;wBAIzB,sBAAsB,KAAK"}
package/build/lib/fs.mjs CHANGED
@@ -1,6 +1,6 @@
1
- import { t as arrayUnique } from "../utils-internal-Czgdbnkv.mjs";
2
- import fs from "node:fs";
3
- import path from "node:path";
1
+ import { t as arrayUnique } from "../utils-internal-DPjO9kQX.mjs";
2
+ import fs, { existsSync, readFileSync } from "node:fs";
3
+ import path, { dirname, join, resolve } from "node:path";
4
4
  import { fileURLToPath } from "node:url";
5
5
  import { yolodb } from "yolodb";
6
6
  //#region src/utils/memory-cache.ts
@@ -53,33 +53,25 @@ var MemoryCache = class {
53
53
  }
54
54
  };
55
55
  //#endregion
56
+ //#region src/utils/dataset-directory.ts
57
+ function resolveDatasetDirectory(moduleUrl, configuredDirectory, cwd = process.cwd()) {
58
+ if (configuredDirectory) return validateDirectory(resolve(cwd, configuredDirectory));
59
+ let directory = dirname(fileURLToPath(moduleUrl));
60
+ while (true) {
61
+ const manifest = join(directory, "package.json");
62
+ if (existsSync(manifest) && JSON.parse(readFileSync(manifest, "utf8")).name === "@pokepc/dataset") return validateDirectory(join(directory, "data"));
63
+ const parent = dirname(directory);
64
+ if (parent === directory) throw new Error("Could not locate the @pokepc/dataset package. Set POKEPC_DATASET_DIR.");
65
+ directory = parent;
66
+ }
67
+ }
68
+ function validateDirectory(directory) {
69
+ if (!existsSync(join(directory, "types.json"))) throw new Error(`Dataset directory is missing types.json: ${directory}`);
70
+ return directory;
71
+ }
72
+ //#endregion
56
73
  //#region src/lib/fs.ts
57
- const DATASET_PACKAGE_ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
58
- const MONOREPO_ROOT = path.resolve(DATASET_PACKAGE_ROOT, "..", "..");
59
- function uniquePaths(paths) {
60
- return Array.from(new Set(paths));
61
- }
62
- function resolveDatasetDirCandidates(value) {
63
- if (!value) return uniquePaths([
64
- path.join(DATASET_PACKAGE_ROOT, "data"),
65
- path.join(process.cwd(), "data"),
66
- path.join(MONOREPO_ROOT, "packages/dataset/data")
67
- ]);
68
- if (path.isAbsolute(value)) return [value];
69
- return uniquePaths([
70
- path.resolve(process.cwd(), value),
71
- path.resolve(MONOREPO_ROOT, value),
72
- path.resolve(DATASET_PACKAGE_ROOT, value)
73
- ]);
74
- }
75
- const DATASET_DIR_CANDIDATES = [...resolveDatasetDirCandidates(process.env.POKEPC_DATASET_DIR)];
76
- const RESOLVED_DATASET_DIR = DATASET_DIR_CANDIDATES.find((candidate) => fs.existsSync(path.join(candidate, "types.json")));
77
- if (!RESOLVED_DATASET_DIR) {
78
- const errMsg = "Could not find dataset directory. Set POKEPC_DATASET_DIR and try again. Tried: " + DATASET_DIR_CANDIDATES.join(", ");
79
- console.error(errMsg);
80
- throw new Error(errMsg);
81
- }
82
- const DATASET_DIR = RESOLVED_DATASET_DIR;
74
+ const DATASET_DIR = resolveDatasetDirectory(import.meta.url, process.env.POKEPC_DATASET_DIR);
83
75
  console.debug("Resolved POKEPC dataset directory:", DATASET_DIR);
84
76
  const DEFAULT_CACHE_TTL = 1e4;
85
77
  const memoryCache = new MemoryCache(DEFAULT_CACHE_TTL);
@@ -1 +1 @@
1
- {"version":3,"file":"fs.mjs","names":[],"sources":["../../src/utils/memory-cache.ts","../../src/lib/fs.ts"],"sourcesContent":["export class MemoryCache {\n defaultTTL: number = 1000 * 60\n\n constructor(defaultTTL: number = 1000 * 10) {\n this.defaultTTL = defaultTTL\n }\n\n #cache: Map<string, { exptime: number; value: any }> = new Map()\n\n get<T>(key: string): T | undefined {\n const value = this.#cache.get(key)\n if (!value) {\n return undefined\n }\n if (value.exptime > Date.now() || value.exptime === 0) {\n return value.value\n }\n this.#cache.delete(key)\n return undefined\n }\n\n set(key: string, value: any, ttl: number = this.defaultTTL) {\n this.#cache.set(key, { exptime: ttl === 0 ? 0 : Date.now() + ttl, value })\n }\n\n delete(key: string) {\n this.#cache.delete(key)\n }\n\n has(key: string) {\n const value = this.#cache.get(key)\n return Boolean(value && (value.exptime > Date.now() || value.exptime === 0))\n }\n\n clear() {\n this.#cache.clear()\n }\n\n keys() {\n return Array.from(this.#cache.keys())\n }\n\n values() {\n return Array.from(this.#cache.values()).map((value) => value.value)\n }\n\n entries() {\n return Array.from(this.#cache.entries()).map(([key, value]) => [key, value.value])\n }\n\n size() {\n return this.#cache.size\n }\n\n cached<T>(key: string, fn: () => T, ttl: number = this.defaultTTL): T {\n const value = this.get<T>(key)\n if (value) {\n return value\n }\n const result = fn()\n this.set(key, result, ttl)\n return result\n }\n}\n","import { MemoryCache } from '../utils/memory-cache'\nimport { arrayUnique } from '../utils/utils-internal'\nimport fs from 'node:fs'\nimport path from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport { yolodb } from 'yolodb'\n\nconst DATASET_PACKAGE_ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..')\nconst MONOREPO_ROOT = path.resolve(DATASET_PACKAGE_ROOT, '..', '..')\n\nfunction uniquePaths(paths: string[]) {\n return Array.from(new Set(paths))\n}\n\nfunction resolveDatasetDirCandidates(value: string | undefined) {\n if (!value) {\n return uniquePaths([\n path.join(DATASET_PACKAGE_ROOT, 'data'),\n path.join(process.cwd(), 'data'),\n path.join(MONOREPO_ROOT, 'packages/dataset/data'),\n ])\n }\n\n if (path.isAbsolute(value)) {\n return [value]\n }\n\n return uniquePaths([\n path.resolve(process.cwd(), value),\n path.resolve(MONOREPO_ROOT, value),\n path.resolve(DATASET_PACKAGE_ROOT, value),\n ])\n}\n\nconst DATASET_DIR_CANDIDATES = [...resolveDatasetDirCandidates(process.env.POKEPC_DATASET_DIR)]\nconst RESOLVED_DATASET_DIR = DATASET_DIR_CANDIDATES.find((candidate) =>\n fs.existsSync(path.join(candidate, 'types.json')),\n)\n\nif (!RESOLVED_DATASET_DIR) {\n const errMsg =\n 'Could not find dataset directory. Set POKEPC_DATASET_DIR and try again. Tried: ' +\n DATASET_DIR_CANDIDATES.join(', ')\n console.error(errMsg)\n throw new Error(errMsg)\n}\n\nconst DATASET_DIR = RESOLVED_DATASET_DIR\n\nconsole.debug('Resolved POKEPC dataset directory:', DATASET_DIR)\n\nconst DEFAULT_CACHE_TTL = 1000 * 10 // 10 seconds\nconst memoryCache = new MemoryCache(DEFAULT_CACHE_TTL)\nconst MEMORY_CACHE_DISABLED = process.env.POKEPC_DISABLE_MEMORY_CACHE === '1'\n\nfunction cached<T>(key: string, fn: () => T, ttl: number = DEFAULT_CACHE_TTL): T {\n if (MEMORY_CACHE_DISABLED) {\n return fn()\n }\n return memoryCache.cached(key, fn, ttl)\n}\n\nexport function absDatasetFile(fileName: string) {\n return path.join(DATASET_DIR, fileName)\n}\n\nexport function readDatasetFile<T>(filePath: string): T {\n const absFilePath = absDatasetFile(filePath)\n const data = fs.readFileSync(absFilePath, 'utf8')\n return JSON.parse(data)\n}\n\nexport function writeDatasetFile(data: any, filePath: string, minified: boolean = false) {\n const absFilePath = absDatasetFile(filePath)\n let jsonData = typeof data === 'string' ? data : JSON.stringify(data, null, minified ? 0 : 2)\n fs.mkdirSync(path.dirname(absFilePath), { recursive: true })\n fs.writeFileSync(absFilePath, jsonData)\n}\n\nexport const itemsFs = yolodb<Pkds.Item>(absDatasetFile('items.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const pokeballsFs = yolodb<Pkds.Pokeball>(absDatasetFile('pokeballs.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const abilitiesFs = yolodb<Pkds.Ability>(absDatasetFile('abilities.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const movesFs = yolodb<Pkds.Move>(absDatasetFile('moves.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const charactersFs = yolodb<Pkds.Character>(absDatasetFile('characters.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const ribbonsFs = yolodb<Pkds.Ribbon>(absDatasetFile('ribbons.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const marksFs = yolodb<Pkds.Mark>(absDatasetFile('marks.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const originMarksFs = yolodb<Pkds.OriginMark>(absDatasetFile('originmarks.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const typesFs = yolodb<Pkds.Type>(absDatasetFile('types.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const naturesFs = yolodb<Pkds.Nature>(absDatasetFile('natures.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const personalitiesFs = yolodb<Pkds.Personality>(\n absDatasetFile('personalities.json'),\n 'id',\n [],\n {\n superjsonEnabled: false,\n },\n)\n\nexport const regionsFs = yolodb<Pkds.Region>(absDatasetFile('regions.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const colorsFs = yolodb<Pkds.Color>(absDatasetFile('colors.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const languagesFs = yolodb<Pkds.Language>(absDatasetFile('languages.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const generationsFs = yolodb<Pkds.Generation>(absDatasetFile('generations.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport function joinPokemonFilesFromIndex(index: string[]): Pkds.Pokemon[] {\n const pokemon: Pkds.Pokemon[] = []\n for (const item of index) {\n const filePath = absDatasetFile(`pokemon/${item}.json`)\n if (!fs.existsSync(filePath)) {\n throw new Error(`Pokemon ${item} not found at ${filePath}`)\n }\n const pkm = JSON.parse(fs.readFileSync(filePath, 'utf8'))\n // const parsed = pokemonSchema.parse(pkm)\n pokemon.push(pkm)\n }\n\n return pokemon\n}\n\nexport function joinGamesFilesFromIndex(index: string[]): Pkds.Game[] {\n const games: Pkds.Game[] = []\n for (const item of index) {\n const filePath = absDatasetFile(`games/${item}.json`)\n if (!fs.existsSync(filePath)) {\n throw new Error(`Game ${item} not found at ${filePath}`)\n }\n const game = JSON.parse(fs.readFileSync(filePath, 'utf8'))\n // const parsed = gameSchema.parse(game)\n games.push(game)\n }\n\n return games\n}\n\nexport function joinPokedexesFilesFromIndex(index: string[]): Pkds.Pokedex[] {\n const pokedexes: Pkds.Pokedex[] = []\n for (const item of index) {\n const filePath = absDatasetFile(`pokedexes/${item}.json`)\n if (!fs.existsSync(filePath)) {\n throw new Error(`Pokedex ${item} not found at ${filePath}`)\n }\n const pokedex = JSON.parse(fs.readFileSync(filePath, 'utf8'))\n // const parsed = pokedexSchema.parse(pokedex)\n pokedexes.push(pokedex)\n }\n\n return pokedexes\n}\n\nexport function joinBoxPresetFilesFromIndex(\n index: string[],\n variant: 'classic' | 'modern' = 'classic',\n): Array<Pkds.LegacyBoxPresetByGameset> {\n const boxPresetGroups: Array<Pkds.LegacyBoxPresetByGameset> = []\n for (const item of index) {\n const filePath = absDatasetFile(`boxpresets/${variant}/${item}.json`)\n if (!fs.existsSync(filePath)) {\n console.error(`Box preset ${item} not found at ${filePath}`)\n continue\n }\n const boxPresets = JSON.parse(fs.readFileSync(filePath, 'utf8'))\n // const parsed = legacyBoxPresetSchema.parse(boxPreset)\n boxPresetGroups.push({ gameset: item, presets: Object.values(boxPresets) })\n }\n\n return boxPresetGroups\n}\n\nexport function readIndexFile(indexName: 'pokemon' | 'games' | 'pokedexes'): string[] {\n const indexFilePath = absDatasetFile(`indices/${indexName}.json`)\n if (!fs.existsSync(indexFilePath)) {\n throw new Error(`Index file ${indexName} not found at ${indexFilePath}`)\n }\n return JSON.parse(fs.readFileSync(indexFilePath, 'utf8'))\n}\n\nexport function regeneratePokemonIndexFile(): string[] {\n const allPokemon = loadAllPokemon()\n const index = allPokemon.flatMap((pkm) => [pkm.id, ...pkm.forms.map((form) => form)])\n writeDatasetFile(arrayUnique(index), 'indices/pokemon.json', false)\n return index\n}\n\nexport function loadAllPokemon(): Pkds.Pokemon[] {\n return cached('allPokemon', () => {\n const index = readIndexFile('pokemon')\n return joinPokemonFilesFromIndex(index)\n })\n}\n\nexport function loadAllGameSets(): Pkds.Game[] {\n return loadAllGames().filter((game) => {\n if (game.type === 'set') {\n return true\n }\n if (game.type === 'game' && !game.gameSet) {\n return true\n }\n return false\n })\n}\n\nexport function loadAllBoxPresets(\n variant: 'classic' | 'modern' = 'classic',\n): Array<Pkds.LegacyBoxPresetByGameset> {\n return cached(`allBoxPresets-${variant}`, () => {\n const filenames = loadAllGameSets().map((game) => game.id)\n return joinBoxPresetFilesFromIndex(filenames, variant)\n })\n}\n\nexport function loadAllGames(): Pkds.Game[] {\n return cached('allGames', () => {\n const index = readIndexFile('games')\n return joinGamesFilesFromIndex(index)\n })\n}\n\nexport function loadAllPokedexes(): Pkds.Pokedex[] {\n return cached('allPokedexes', () => {\n const index = readIndexFile('pokedexes')\n return joinPokedexesFilesFromIndex(index)\n })\n}\n\nexport function loadAllCharacters(): Pkds.Character[] {\n return charactersFs.all()\n}\n\nexport function loadAllItems(): Pkds.Item[] {\n return itemsFs.all()\n}\n\nexport function loadAllPokeballs(): Pkds.Pokeball[] {\n return pokeballsFs.all()\n}\n\nexport function loadAllAbilities(): Pkds.Ability[] {\n return abilitiesFs.all()\n}\n\nexport function loadAllMoves(): Pkds.Move[] {\n return movesFs.all()\n}\n\nexport function loadAllRibbons(): Pkds.Ribbon[] {\n return ribbonsFs.all()\n}\n\nexport function loadAllMarks(): Pkds.Mark[] {\n return marksFs.all()\n}\n\nexport function loadAllOriginMarks(): Pkds.OriginMark[] {\n return originMarksFs.all()\n}\n\nexport function loadAllTypes(): Pkds.Type[] {\n return typesFs.all()\n}\n\nexport function loadAllNatures(): Pkds.Nature[] {\n return naturesFs.all()\n}\n\nexport function loadAllPersonalities(): Pkds.Personality[] {\n return personalitiesFs.all()\n}\n\nexport function loadAllRegions(): Pkds.Region[] {\n return regionsFs.all()\n}\n\nexport function loadAllColors(): Pkds.Color[] {\n return colorsFs.all()\n}\n\nexport function loadAllLanguages(): Pkds.Language[] {\n return languagesFs.all()\n}\n\nexport function loadAllGenerations(): Pkds.Generation[] {\n return generationsFs.all()\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"fs.mjs","names":[],"sources":["../../src/utils/memory-cache.ts","../../src/utils/dataset-directory.ts","../../src/lib/fs.ts"],"sourcesContent":["export class MemoryCache {\n defaultTTL: number = 1000 * 60\n\n constructor(defaultTTL: number = 1000 * 10) {\n this.defaultTTL = defaultTTL\n }\n\n #cache: Map<string, { exptime: number; value: any }> = new Map()\n\n get<T>(key: string): T | undefined {\n const value = this.#cache.get(key)\n if (!value) {\n return undefined\n }\n if (value.exptime > Date.now() || value.exptime === 0) {\n return value.value\n }\n this.#cache.delete(key)\n return undefined\n }\n\n set(key: string, value: any, ttl: number = this.defaultTTL) {\n this.#cache.set(key, { exptime: ttl === 0 ? 0 : Date.now() + ttl, value })\n }\n\n delete(key: string) {\n this.#cache.delete(key)\n }\n\n has(key: string) {\n const value = this.#cache.get(key)\n return Boolean(value && (value.exptime > Date.now() || value.exptime === 0))\n }\n\n clear() {\n this.#cache.clear()\n }\n\n keys() {\n return Array.from(this.#cache.keys())\n }\n\n values() {\n return Array.from(this.#cache.values()).map((value) => value.value)\n }\n\n entries() {\n return Array.from(this.#cache.entries()).map(([key, value]) => [key, value.value])\n }\n\n size() {\n return this.#cache.size\n }\n\n cached<T>(key: string, fn: () => T, ttl: number = this.defaultTTL): T {\n const value = this.get<T>(key)\n if (value) {\n return value\n }\n const result = fn()\n this.set(key, result, ttl)\n return result\n }\n}\n","import { existsSync, readFileSync } from 'node:fs'\nimport { dirname, join, resolve } from 'node:path'\nimport { fileURLToPath } from 'node:url'\n\nexport function resolveDatasetDirectory(\n moduleUrl: string,\n configuredDirectory?: string,\n cwd = process.cwd(),\n): string {\n if (configuredDirectory) {\n return validateDirectory(resolve(cwd, configuredDirectory))\n }\n\n let directory = dirname(fileURLToPath(moduleUrl))\n while (true) {\n const manifest = join(directory, 'package.json')\n if (\n existsSync(manifest) &&\n JSON.parse(readFileSync(manifest, 'utf8')).name === '@pokepc/dataset'\n ) {\n return validateDirectory(join(directory, 'data'))\n }\n const parent = dirname(directory)\n if (parent === directory) {\n throw new Error('Could not locate the @pokepc/dataset package. Set POKEPC_DATASET_DIR.')\n }\n directory = parent\n }\n}\n\nfunction validateDirectory(directory: string): string {\n if (!existsSync(join(directory, 'types.json'))) {\n throw new Error(`Dataset directory is missing types.json: ${directory}`)\n }\n return directory\n}\n","import { MemoryCache } from '../utils/memory-cache'\nimport { resolveDatasetDirectory } from '../utils/dataset-directory'\nimport { arrayUnique } from '../utils/utils-internal'\nimport fs from 'node:fs'\nimport path from 'node:path'\nimport { yolodb } from 'yolodb'\n\nconst DATASET_DIR = resolveDatasetDirectory(import.meta.url, process.env.POKEPC_DATASET_DIR)\n\nconsole.debug('Resolved POKEPC dataset directory:', DATASET_DIR)\n\nconst DEFAULT_CACHE_TTL = 1000 * 10 // 10 seconds\nconst memoryCache = new MemoryCache(DEFAULT_CACHE_TTL)\nconst MEMORY_CACHE_DISABLED = process.env.POKEPC_DISABLE_MEMORY_CACHE === '1'\n\nfunction cached<T>(key: string, fn: () => T, ttl: number = DEFAULT_CACHE_TTL): T {\n if (MEMORY_CACHE_DISABLED) {\n return fn()\n }\n return memoryCache.cached(key, fn, ttl)\n}\n\nexport function absDatasetFile(fileName: string) {\n return path.join(DATASET_DIR, fileName)\n}\n\nexport function readDatasetFile<T>(filePath: string): T {\n const absFilePath = absDatasetFile(filePath)\n const data = fs.readFileSync(absFilePath, 'utf8')\n return JSON.parse(data)\n}\n\nexport function writeDatasetFile(data: any, filePath: string, minified: boolean = false) {\n const absFilePath = absDatasetFile(filePath)\n let jsonData = typeof data === 'string' ? data : JSON.stringify(data, null, minified ? 0 : 2)\n fs.mkdirSync(path.dirname(absFilePath), { recursive: true })\n fs.writeFileSync(absFilePath, jsonData)\n}\n\nexport const itemsFs = yolodb<Pkds.Item>(absDatasetFile('items.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const pokeballsFs = yolodb<Pkds.Pokeball>(absDatasetFile('pokeballs.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const abilitiesFs = yolodb<Pkds.Ability>(absDatasetFile('abilities.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const movesFs = yolodb<Pkds.Move>(absDatasetFile('moves.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const charactersFs = yolodb<Pkds.Character>(absDatasetFile('characters.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const ribbonsFs = yolodb<Pkds.Ribbon>(absDatasetFile('ribbons.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const marksFs = yolodb<Pkds.Mark>(absDatasetFile('marks.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const originMarksFs = yolodb<Pkds.OriginMark>(absDatasetFile('originmarks.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const typesFs = yolodb<Pkds.Type>(absDatasetFile('types.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const naturesFs = yolodb<Pkds.Nature>(absDatasetFile('natures.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const personalitiesFs = yolodb<Pkds.Personality>(\n absDatasetFile('personalities.json'),\n 'id',\n [],\n {\n superjsonEnabled: false,\n },\n)\n\nexport const regionsFs = yolodb<Pkds.Region>(absDatasetFile('regions.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const colorsFs = yolodb<Pkds.Color>(absDatasetFile('colors.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const languagesFs = yolodb<Pkds.Language>(absDatasetFile('languages.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport const generationsFs = yolodb<Pkds.Generation>(absDatasetFile('generations.json'), 'id', [], {\n superjsonEnabled: false,\n})\n\nexport function joinPokemonFilesFromIndex(index: string[]): Pkds.Pokemon[] {\n const pokemon: Pkds.Pokemon[] = []\n for (const item of index) {\n const filePath = absDatasetFile(`pokemon/${item}.json`)\n if (!fs.existsSync(filePath)) {\n throw new Error(`Pokemon ${item} not found at ${filePath}`)\n }\n const pkm = JSON.parse(fs.readFileSync(filePath, 'utf8'))\n // const parsed = pokemonSchema.parse(pkm)\n pokemon.push(pkm)\n }\n\n return pokemon\n}\n\nexport function joinGamesFilesFromIndex(index: string[]): Pkds.Game[] {\n const games: Pkds.Game[] = []\n for (const item of index) {\n const filePath = absDatasetFile(`games/${item}.json`)\n if (!fs.existsSync(filePath)) {\n throw new Error(`Game ${item} not found at ${filePath}`)\n }\n const game = JSON.parse(fs.readFileSync(filePath, 'utf8'))\n // const parsed = gameSchema.parse(game)\n games.push(game)\n }\n\n return games\n}\n\nexport function joinPokedexesFilesFromIndex(index: string[]): Pkds.Pokedex[] {\n const pokedexes: Pkds.Pokedex[] = []\n for (const item of index) {\n const filePath = absDatasetFile(`pokedexes/${item}.json`)\n if (!fs.existsSync(filePath)) {\n throw new Error(`Pokedex ${item} not found at ${filePath}`)\n }\n const pokedex = JSON.parse(fs.readFileSync(filePath, 'utf8'))\n // const parsed = pokedexSchema.parse(pokedex)\n pokedexes.push(pokedex)\n }\n\n return pokedexes\n}\n\nexport function joinBoxPresetFilesFromIndex(\n index: string[],\n variant: 'classic' | 'modern' = 'classic',\n): Array<Pkds.LegacyBoxPresetByGameset> {\n const boxPresetGroups: Array<Pkds.LegacyBoxPresetByGameset> = []\n for (const item of index) {\n const filePath = absDatasetFile(`boxpresets/${variant}/${item}.json`)\n if (!fs.existsSync(filePath)) {\n console.error(`Box preset ${item} not found at ${filePath}`)\n continue\n }\n const boxPresets = JSON.parse(fs.readFileSync(filePath, 'utf8'))\n // const parsed = legacyBoxPresetSchema.parse(boxPreset)\n boxPresetGroups.push({ gameset: item, presets: Object.values(boxPresets) })\n }\n\n return boxPresetGroups\n}\n\nexport function readIndexFile(indexName: 'pokemon' | 'games' | 'pokedexes'): string[] {\n const indexFilePath = absDatasetFile(`indices/${indexName}.json`)\n if (!fs.existsSync(indexFilePath)) {\n throw new Error(`Index file ${indexName} not found at ${indexFilePath}`)\n }\n return JSON.parse(fs.readFileSync(indexFilePath, 'utf8'))\n}\n\nexport function regeneratePokemonIndexFile(): string[] {\n const allPokemon = loadAllPokemon()\n const index = allPokemon.flatMap((pkm) => [pkm.id, ...pkm.forms.map((form) => form)])\n writeDatasetFile(arrayUnique(index), 'indices/pokemon.json', false)\n return index\n}\n\nexport function loadAllPokemon(): Pkds.Pokemon[] {\n return cached('allPokemon', () => {\n const index = readIndexFile('pokemon')\n return joinPokemonFilesFromIndex(index)\n })\n}\n\nexport function loadAllGameSets(): Pkds.Game[] {\n return loadAllGames().filter((game) => {\n if (game.type === 'set') {\n return true\n }\n if (game.type === 'game' && !game.gameSet) {\n return true\n }\n return false\n })\n}\n\nexport function loadAllBoxPresets(\n variant: 'classic' | 'modern' = 'classic',\n): Array<Pkds.LegacyBoxPresetByGameset> {\n return cached(`allBoxPresets-${variant}`, () => {\n const filenames = loadAllGameSets().map((game) => game.id)\n return joinBoxPresetFilesFromIndex(filenames, variant)\n })\n}\n\nexport function loadAllGames(): Pkds.Game[] {\n return cached('allGames', () => {\n const index = readIndexFile('games')\n return joinGamesFilesFromIndex(index)\n })\n}\n\nexport function loadAllPokedexes(): Pkds.Pokedex[] {\n return cached('allPokedexes', () => {\n const index = readIndexFile('pokedexes')\n return joinPokedexesFilesFromIndex(index)\n })\n}\n\nexport function loadAllCharacters(): Pkds.Character[] {\n return charactersFs.all()\n}\n\nexport function loadAllItems(): Pkds.Item[] {\n return itemsFs.all()\n}\n\nexport function loadAllPokeballs(): Pkds.Pokeball[] {\n return pokeballsFs.all()\n}\n\nexport function loadAllAbilities(): Pkds.Ability[] {\n return abilitiesFs.all()\n}\n\nexport function loadAllMoves(): Pkds.Move[] {\n return movesFs.all()\n}\n\nexport function loadAllRibbons(): Pkds.Ribbon[] {\n return ribbonsFs.all()\n}\n\nexport function loadAllMarks(): Pkds.Mark[] {\n return marksFs.all()\n}\n\nexport function loadAllOriginMarks(): Pkds.OriginMark[] {\n return originMarksFs.all()\n}\n\nexport function loadAllTypes(): Pkds.Type[] {\n return typesFs.all()\n}\n\nexport function loadAllNatures(): Pkds.Nature[] {\n return naturesFs.all()\n}\n\nexport function loadAllPersonalities(): Pkds.Personality[] {\n return personalitiesFs.all()\n}\n\nexport function loadAllRegions(): Pkds.Region[] {\n return regionsFs.all()\n}\n\nexport function loadAllColors(): Pkds.Color[] {\n return colorsFs.all()\n}\n\nexport function loadAllLanguages(): Pkds.Language[] {\n return languagesFs.all()\n}\n\nexport function loadAllGenerations(): Pkds.Generation[] {\n return generationsFs.all()\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { A as pokemonSchema, C as onlineFeaturesSchema, D as pokedexEntrySchema, E as pokeballSchema, M as regionSchema, N as ribbonSchema, O as pokedexSchema, P as typeSchema, S as natureSchema, T as personalitySchema, _ as modernBoxPresetIndexSchema, a as boxPresetMapSchema, b as modernBoxPresetTags, c as colorSchema, d as generationSchema, f as i18nTextSchema, g as modernBoxPresetBoxSchema, h as markSchema, i as boxPresetIndexItemSchema, j as pokemonSearchFilterSchema, k as pokemonRefsSchema, l as gameFeaturesSchema, m as languageSchema, n as boxPresetBoxPokemonSchema, o as boxPresetSchema, p as itemSchema, r as boxPresetBoxSchema, s as characterSchema, t as abilitySchema, u as gameSchema, v as modernBoxPresetSchema, w as originMarkSchema, x as moveSchema, y as modernBoxPresetSlotSchema } from "../schemas-CDSWgtoj.mjs";
1
+ import { A as pokemonSchema, C as onlineFeaturesSchema, D as pokedexEntrySchema, E as pokeballSchema, M as regionSchema, N as ribbonSchema, O as pokedexSchema, P as typeSchema, S as natureSchema, T as personalitySchema, _ as modernBoxPresetIndexSchema, a as boxPresetMapSchema, b as modernBoxPresetTags, c as colorSchema, d as generationSchema, f as i18nTextSchema, g as modernBoxPresetBoxSchema, h as markSchema, i as boxPresetIndexItemSchema, j as pokemonSearchFilterSchema, k as pokemonRefsSchema, l as gameFeaturesSchema, m as languageSchema, n as boxPresetBoxPokemonSchema, o as boxPresetSchema, p as itemSchema, r as boxPresetBoxSchema, s as characterSchema, t as abilitySchema, u as gameSchema, v as modernBoxPresetSchema, w as originMarkSchema, x as moveSchema, y as modernBoxPresetSlotSchema } from "../schemas-CIE3b72j.mjs";
2
2
  export { abilitySchema, boxPresetBoxPokemonSchema, boxPresetBoxSchema, boxPresetIndexItemSchema, boxPresetMapSchema, boxPresetSchema, characterSchema, colorSchema, gameFeaturesSchema, gameSchema, generationSchema, i18nTextSchema, itemSchema, languageSchema, markSchema, modernBoxPresetBoxSchema, modernBoxPresetIndexSchema, modernBoxPresetSchema, modernBoxPresetSlotSchema, modernBoxPresetTags, moveSchema, natureSchema, onlineFeaturesSchema, originMarkSchema, personalitySchema, pokeballSchema, pokedexEntrySchema, pokedexSchema, pokemonRefsSchema, pokemonSchema, pokemonSearchFilterSchema, regionSchema, ribbonSchema, typeSchema };
@@ -1,5 +1,7 @@
1
+ import { n as sanitizeSearchQuery, t as matchesSearchQuery } from "../utils-internal-C-UStMrZ.mjs";
1
2
  //#region src/lib/search.d.ts
2
3
  export declare function searchPokemon(pokemon: Array<Pkds.TranslatedPokemon>, filters: Partial<Pkds.PokemonSearchFilter>, requiresSearchString?: boolean): Pkds.PokemonSearchResults;
3
4
  export declare function createSearchablePokemonList(pokemon: Array<Pkds.Pokemon>): Array<Pkds.TranslatedPokemon>;
4
5
  //#endregion
6
+ export { matchesSearchQuery, sanitizeSearchQuery };
5
7
  //# sourceMappingURL=search.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.mts","names":[],"sources":["../../src/lib/search.ts"],"mappings":";wBAKgB,cACd,SAAS,MAAM,KAAK,oBACpB,SAAS,QAAQ,KAAK,sBACtB,iCACC,KAAK;wBA8BQ,4BACd,SAAS,MAAM,KAAK,WACnB,MAAM,KAAK"}
1
+ {"version":3,"file":"search.d.mts","names":[],"sources":["../../src/lib/search.ts"],"mappings":";;wBAMgB,cACd,SAAS,MAAM,KAAK,oBACpB,SAAS,QAAQ,KAAK,sBACtB,iCACC,KAAK;wBA8BQ,4BACd,SAAS,MAAM,KAAK,WACnB,MAAM,KAAK"}
@@ -1,5 +1,5 @@
1
- import { i as sanitizeSearchQuery, r as matchesSearchQuery } from "../utils-internal-Czgdbnkv.mjs";
2
- import { o as generatePokemonSearchableText, r as formatDexNum, t as dexNumToGen } from "../utils-BwovRocd.mjs";
1
+ import { i as sanitizeSearchQuery, r as matchesSearchQuery } from "../utils-internal-DPjO9kQX.mjs";
2
+ import { o as generatePokemonSearchableText, r as formatDexNum, t as dexNumToGen } from "../utils-BTjKkD-_.mjs";
3
3
  //#region src/lib/search.ts
4
4
  const MIN_SEARCH_LENGTH = 2;
5
5
  function searchPokemon(pokemon, filters, requiresSearchString = true) {
@@ -40,6 +40,6 @@ function createSearchablePokemonList(pokemon) {
40
40
  }));
41
41
  }
42
42
  //#endregion
43
- export { createSearchablePokemonList, searchPokemon };
43
+ export { createSearchablePokemonList, matchesSearchQuery, sanitizeSearchQuery, searchPokemon };
44
44
 
45
45
  //# sourceMappingURL=search.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"search.mjs","names":[],"sources":["../../src/lib/search.ts"],"sourcesContent":["import { dexNumToGen, formatDexNum, generatePokemonSearchableText } from './utils'\nimport { matchesSearchQuery, sanitizeSearchQuery } from '../utils/utils-internal'\n\nconst MIN_SEARCH_LENGTH = 2\n\nexport function searchPokemon(\n pokemon: Array<Pkds.TranslatedPokemon>,\n filters: Partial<Pkds.PokemonSearchFilter>,\n requiresSearchString: boolean = true,\n): Pkds.PokemonSearchResults {\n const searchQuery = sanitizeSearchQuery(filters.q ?? '')\n\n if (requiresSearchString && searchQuery.length < MIN_SEARCH_LENGTH) {\n return {\n pokemon: pokemon,\n meta: { total: pokemon.length, skipped: true },\n }\n }\n\n const filteredPokes = pokemon.filter((p) => {\n // const filterGen = filter.q ? 0 : (filter.gen ?? 0)\n const filterGen = filters.gen ?? 0\n\n if (!filters.forms && p.isForm) return false\n if (filters.color && p.color.toLowerCase() !== filters.color.toLowerCase()) return false\n if (filters.type && ![p.type1, p.type2].filter(Boolean).includes(filters.type)) return false\n if (filterGen > 0 && p.speciesGen !== filters.gen) return false\n\n if (filters.q && !matchesSearchQuery(p.searchableText, filters.q)) return false\n\n return true\n })\n\n return {\n pokemon: filteredPokes,\n meta: { total: pokemon.length, skipped: false },\n }\n}\n\nexport function createSearchablePokemonList(\n pokemon: Array<Pkds.Pokemon>,\n): Array<Pkds.TranslatedPokemon> {\n return pokemon.map((pokemon: Pkds.Pokemon): Pkds.TranslatedPokemon => ({\n ...pokemon,\n speciesGen: dexNumToGen(pokemon.dexNum),\n dexNum: formatDexNum(pokemon.dexNum),\n name: pokemon.names['eng'] ?? '',\n speciesName: pokemon.speciesNames?.['eng'],\n formName: pokemon.formNames?.['eng'],\n lang: 'eng',\n searchableText: generatePokemonSearchableText(pokemon),\n }))\n}\n"],"mappings":";;;AAGA,MAAM,oBAAoB;AAE1B,SAAgB,cACd,SACA,SACA,uBAAgC,MACL;CAC3B,MAAM,cAAc,oBAAoB,QAAQ,KAAK,EAAE;CAEvD,IAAI,wBAAwB,YAAY,SAAS,mBAC/C,OAAO;EACI;EACT,MAAM;GAAE,OAAO,QAAQ;GAAQ,SAAS;EAAK;CAC/C;CAiBF,OAAO;EACL,SAfoB,QAAQ,QAAQ,MAAM;GAE1C,MAAM,YAAY,QAAQ,OAAO;GAEjC,IAAI,CAAC,QAAQ,SAAS,EAAE,QAAQ,OAAO;GACvC,IAAI,QAAQ,SAAS,EAAE,MAAM,YAAY,MAAM,QAAQ,MAAM,YAAY,GAAG,OAAO;GACnF,IAAI,QAAQ,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,SAAS,QAAQ,IAAI,GAAG,OAAO;GACvF,IAAI,YAAY,KAAK,EAAE,eAAe,QAAQ,KAAK,OAAO;GAE1D,IAAI,QAAQ,KAAK,CAAC,mBAAmB,EAAE,gBAAgB,QAAQ,CAAC,GAAG,OAAO;GAE1E,OAAO;EACT,CAGuB;EACrB,MAAM;GAAE,OAAO,QAAQ;GAAQ,SAAS;EAAM;CAChD;AACF;AAEA,SAAgB,4BACd,SAC+B;CAC/B,OAAO,QAAQ,KAAK,aAAmD;EACrE,GAAG;EACH,YAAY,YAAY,QAAQ,MAAM;EACtC,QAAQ,aAAa,QAAQ,MAAM;EACnC,MAAM,QAAQ,MAAM,UAAU;EAC9B,aAAa,QAAQ,eAAe;EACpC,UAAU,QAAQ,YAAY;EAC9B,MAAM;EACN,gBAAgB,8BAA8B,OAAO;CACvD,EAAE;AACJ"}
1
+ {"version":3,"file":"search.mjs","names":[],"sources":["../../src/lib/search.ts"],"sourcesContent":["import { dexNumToGen, formatDexNum, generatePokemonSearchableText } from './utils'\nimport { matchesSearchQuery, sanitizeSearchQuery } from '../utils/utils-internal'\nexport { matchesSearchQuery, sanitizeSearchQuery } from '../utils/utils-internal'\n\nconst MIN_SEARCH_LENGTH = 2\n\nexport function searchPokemon(\n pokemon: Array<Pkds.TranslatedPokemon>,\n filters: Partial<Pkds.PokemonSearchFilter>,\n requiresSearchString: boolean = true,\n): Pkds.PokemonSearchResults {\n const searchQuery = sanitizeSearchQuery(filters.q ?? '')\n\n if (requiresSearchString && searchQuery.length < MIN_SEARCH_LENGTH) {\n return {\n pokemon: pokemon,\n meta: { total: pokemon.length, skipped: true },\n }\n }\n\n const filteredPokes = pokemon.filter((p) => {\n // const filterGen = filter.q ? 0 : (filter.gen ?? 0)\n const filterGen = filters.gen ?? 0\n\n if (!filters.forms && p.isForm) return false\n if (filters.color && p.color.toLowerCase() !== filters.color.toLowerCase()) return false\n if (filters.type && ![p.type1, p.type2].filter(Boolean).includes(filters.type)) return false\n if (filterGen > 0 && p.speciesGen !== filters.gen) return false\n\n if (filters.q && !matchesSearchQuery(p.searchableText, filters.q)) return false\n\n return true\n })\n\n return {\n pokemon: filteredPokes,\n meta: { total: pokemon.length, skipped: false },\n }\n}\n\nexport function createSearchablePokemonList(\n pokemon: Array<Pkds.Pokemon>,\n): Array<Pkds.TranslatedPokemon> {\n return pokemon.map((pokemon: Pkds.Pokemon): Pkds.TranslatedPokemon => ({\n ...pokemon,\n speciesGen: dexNumToGen(pokemon.dexNum),\n dexNum: formatDexNum(pokemon.dexNum),\n name: pokemon.names['eng'] ?? '',\n speciesName: pokemon.speciesNames?.['eng'],\n formName: pokemon.formNames?.['eng'],\n lang: 'eng',\n searchableText: generatePokemonSearchableText(pokemon),\n }))\n}\n"],"mappings":";;;AAIA,MAAM,oBAAoB;AAE1B,SAAgB,cACd,SACA,SACA,uBAAgC,MACL;CAC3B,MAAM,cAAc,oBAAoB,QAAQ,KAAK,EAAE;CAEvD,IAAI,wBAAwB,YAAY,SAAS,mBAC/C,OAAO;EACI;EACT,MAAM;GAAE,OAAO,QAAQ;GAAQ,SAAS;EAAK;CAC/C;CAiBF,OAAO;EACL,SAfoB,QAAQ,QAAQ,MAAM;GAE1C,MAAM,YAAY,QAAQ,OAAO;GAEjC,IAAI,CAAC,QAAQ,SAAS,EAAE,QAAQ,OAAO;GACvC,IAAI,QAAQ,SAAS,EAAE,MAAM,YAAY,MAAM,QAAQ,MAAM,YAAY,GAAG,OAAO;GACnF,IAAI,QAAQ,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,SAAS,QAAQ,IAAI,GAAG,OAAO;GACvF,IAAI,YAAY,KAAK,EAAE,eAAe,QAAQ,KAAK,OAAO;GAE1D,IAAI,QAAQ,KAAK,CAAC,mBAAmB,EAAE,gBAAgB,QAAQ,CAAC,GAAG,OAAO;GAE1E,OAAO;EACT,CAGuB;EACrB,MAAM;GAAE,OAAO,QAAQ;GAAQ,SAAS;EAAM;CAChD;AACF;AAEA,SAAgB,4BACd,SAC+B;CAC/B,OAAO,QAAQ,KAAK,aAAmD;EACrE,GAAG;EACH,YAAY,YAAY,QAAQ,MAAM;EACtC,QAAQ,aAAa,QAAQ,MAAM;EACnC,MAAM,QAAQ,MAAM,UAAU;EAC9B,aAAa,QAAQ,eAAe;EACpC,UAAU,QAAQ,YAAY;EAC9B,MAAM;EACN,gBAAgB,8BAA8B,OAAO;CACvD,EAAE;AACJ"}
@@ -1,5 +1,5 @@
1
1
  import { _ as statIds, a as gameType, c as ivJudgeValues, d as languageInGameCodes, f as moveCategory, g as ribbonCategory, h as raidStyles, i as gameSeries, l as languageAlpha3Codes, m as pokemonSizes, n as battleStyles, o as genders, p as pokeballCategory, r as gamePlatforms, s as itemCategory, t as abilityTagIds, u as languageIds, v as titleTypes, y as typeIds } from "../enums-CCbmORM6.mjs";
2
- import { A as pokemonSchema, C as onlineFeaturesSchema, D as pokedexEntrySchema, E as pokeballSchema, M as regionSchema, N as ribbonSchema, O as pokedexSchema, P as typeSchema, S as natureSchema, T as personalitySchema, _ as modernBoxPresetIndexSchema, b as modernBoxPresetTags, c as colorSchema, d as generationSchema, f as i18nTextSchema, g as modernBoxPresetBoxSchema, h as markSchema, j as pokemonSearchFilterSchema, k as pokemonRefsSchema, l as gameFeaturesSchema, m as languageSchema, n as boxPresetBoxPokemonSchema, o as boxPresetSchema, p as itemSchema, r as boxPresetBoxSchema, s as characterSchema, t as abilitySchema, u as gameSchema, v as modernBoxPresetSchema, w as originMarkSchema, x as moveSchema, y as modernBoxPresetSlotSchema } from "../schemas-CDSWgtoj.mjs";
2
+ import { A as pokemonSchema, C as onlineFeaturesSchema, D as pokedexEntrySchema, E as pokeballSchema, M as regionSchema, N as ribbonSchema, O as pokedexSchema, P as typeSchema, S as natureSchema, T as personalitySchema, _ as modernBoxPresetIndexSchema, b as modernBoxPresetTags, c as colorSchema, d as generationSchema, f as i18nTextSchema, g as modernBoxPresetBoxSchema, h as markSchema, j as pokemonSearchFilterSchema, k as pokemonRefsSchema, l as gameFeaturesSchema, m as languageSchema, n as boxPresetBoxPokemonSchema, o as boxPresetSchema, p as itemSchema, r as boxPresetBoxSchema, s as characterSchema, t as abilitySchema, u as gameSchema, v as modernBoxPresetSchema, w as originMarkSchema, x as moveSchema, y as modernBoxPresetSlotSchema } from "../schemas-CIE3b72j.mjs";
3
3
  import z from "zod";
4
4
  //#region src/lib/types.d.ts
5
5
  declare global {
@@ -1,3 +1,4 @@
1
+ import { r as sortStringsInGivenOrder } from "../utils-internal-C-UStMrZ.mjs";
1
2
  //#region src/lib/utils.d.ts
2
3
  export declare function formatDexNum(num: number | string, positions?: number): string;
3
4
  export declare function dexNumToInt(num: number | string): number;
@@ -18,4 +19,5 @@ export declare function getGameCategoryLabel(game: Pkds.Game): string;
18
19
  export declare function generateGameDescription(game: Pkds.Game, gameCatText: string): string;
19
20
  export declare function resolvePokemonName(meta: Pkds.TranslatedPokemon, nickname?: string, lang3Char?: Pkds.LanguageAlpha3): Pkds.PokemonNameInfo;
20
21
  //#endregion
22
+ export { sortStringsInGivenOrder };
21
23
  //# sourceMappingURL=utils.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.mts","names":[],"sources":["../../src/lib/utils.ts"],"mappings":";wBAIgB,aAAa,sBAAsB;wBAInC,YAAY;wBAIZ,YAAY;wBAcZ,kBAAkB,UAAU,KAAK,aAC/C,aAAa,MAAM,IACnB,mBACA,sBACC,MAAM;wBAgBO,0BAA0B,MAAM,KAAK,UAAU,KAAK;wBAmBpD,iBACd,wCACA,MAAM,KAAK,SACX;EAAY;IACX,KAAK;wBA8BQ,qBACd,KAAK,KAAK,SACV,WAAW,KAAK,iBACf,KAAK;wBAeQ,iBACd,SAAS,KAAK,UAAU,KAAK,mBAC7B,MAAM,KAAK,gBACX,2BACC,KAAK;wBAoBQ,qBACd,aAAa,MAAM,KAAK,UAAU,KAAK,oBACvC,MAAM,KAAK,iBACV,MAAM,KAAK;wBAIE,qBACd,aAAa,MAAM,KAAK,UAAU,KAAK,oBACvC,MAAM,KAAK,iBACV,eAAe,KAAK;wBAMP,sBACd,aAAa,MAAM,KAAK,UAAU,KAAK,oBACvC,MAAM,KAAK,iBACV,eAAe,KAAK;wBAMP,2BACd,SAAS,KAAK,mBACd,WAAW,KAAK;wBAmCF,8BAA8B,MAAM,KAAK;wBAsCzC,qBAAqB,MAAM,KAAK;wBAahC,wBAAwB,MAAM,KAAK,MAAM;wBA+BzC,mBACd,MAAM,KAAK,mBACX,mBACA,YAAY,KAAK,iBAChB,KAAK"}
1
+ {"version":3,"file":"utils.d.mts","names":[],"sources":["../../src/lib/utils.ts"],"mappings":";;wBAKgB,aAAa,sBAAsB;wBAInC,YAAY;wBAIZ,YAAY;wBAcZ,kBAAkB,UAAU,KAAK,aAC/C,aAAa,MAAM,IACnB,mBACA,sBACC,MAAM;wBAgBO,0BAA0B,MAAM,KAAK,UAAU,KAAK;wBAmBpD,iBACd,wCACA,MAAM,KAAK,SACX;EAAY;IACX,KAAK;wBA8BQ,qBACd,KAAK,KAAK,SACV,WAAW,KAAK,iBACf,KAAK;wBAeQ,iBACd,SAAS,KAAK,UAAU,KAAK,mBAC7B,MAAM,KAAK,gBACX,2BACC,KAAK;wBAoBQ,qBACd,aAAa,MAAM,KAAK,UAAU,KAAK,oBACvC,MAAM,KAAK,iBACV,MAAM,KAAK;wBAIE,qBACd,aAAa,MAAM,KAAK,UAAU,KAAK,oBACvC,MAAM,KAAK,iBACV,eAAe,KAAK;wBAMP,sBACd,aAAa,MAAM,KAAK,UAAU,KAAK,oBACvC,MAAM,KAAK,iBACV,eAAe,KAAK;wBAMP,2BACd,SAAS,KAAK,mBACd,WAAW,KAAK;wBAmCF,8BAA8B,MAAM,KAAK;wBAsCzC,qBAAqB,MAAM,KAAK;wBAahC,wBAAwB,MAAM,KAAK,MAAM;wBA+BzC,mBACd,MAAM,KAAK,mBACX,mBACA,YAAY,KAAK,iBAChB,KAAK"}
@@ -1,2 +1,3 @@
1
- import { a as generatePokemonDescription, c as getPokemonGender, d as resolvePokemonName, f as translatePokemon, g as translatePokemonText, h as translatePokemonList, i as generateGameDescription, l as getPossiblePokemonGenders, m as translatePokemonByNid, n as dexNumToInt, o as generatePokemonSearchableText, p as translatePokemonById, r as formatDexNum, s as getGameCategoryLabel, t as dexNumToGen, u as randomPokemonList } from "../utils-BwovRocd.mjs";
2
- export { dexNumToGen, dexNumToInt, formatDexNum, generateGameDescription, generatePokemonDescription, generatePokemonSearchableText, getGameCategoryLabel, getPokemonGender, getPossiblePokemonGenders, randomPokemonList, resolvePokemonName, translatePokemon, translatePokemonById, translatePokemonByNid, translatePokemonList, translatePokemonText };
1
+ import { a as sortStringsInGivenOrder } from "../utils-internal-DPjO9kQX.mjs";
2
+ import { a as generatePokemonDescription, c as getPokemonGender, d as resolvePokemonName, f as translatePokemon, g as translatePokemonText, h as translatePokemonList, i as generateGameDescription, l as getPossiblePokemonGenders, m as translatePokemonByNid, n as dexNumToInt, o as generatePokemonSearchableText, p as translatePokemonById, r as formatDexNum, s as getGameCategoryLabel, t as dexNumToGen, u as randomPokemonList } from "../utils-BTjKkD-_.mjs";
3
+ export { dexNumToGen, dexNumToInt, formatDexNum, generateGameDescription, generatePokemonDescription, generatePokemonSearchableText, getGameCategoryLabel, getPokemonGender, getPossiblePokemonGenders, randomPokemonList, resolvePokemonName, sortStringsInGivenOrder, translatePokemon, translatePokemonById, translatePokemonByNid, translatePokemonList, translatePokemonText };
@@ -1,7 +1,7 @@
1
1
  import { n as writeJsonDataFile } from "../fs-B5MIz_Bs.mjs";
2
2
  import { i as appLangs } from "../languages-CY-Q1SED.mjs";
3
3
  //#region src/lib-next/_build.ts
4
- await import("../build-DvGzwIK8.mjs");
4
+ await import("../build-D2oPkkzJ.mjs");
5
5
  await import("../build-bE_0_-0H.mjs");
6
6
  writeJsonDataFile("languages.json", appLangs);
7
7
  console.log(`Exported ${appLangs.length} app languages`);
@@ -1 +1 @@
1
- {"version":3,"file":"enums.d.mts","names":[],"sources":["../../src/lib-next/enums.ts"],"mappings":";qBAAa;YACD,mBAAmB;qBAElB;YACD,qBAAqB;qBAEpB;YAaD,uBAAuB;qBAEtB;qBAqBA,2BAA2B;YAoB5B,sBAAsB;qBAErB;YACD,uBAAuB;qBAEtB;YAcD,oBAAoB;qBAEnB;YAaD,qBAAqB;qBAEpB;YAQD,0BAA0B;qBAEzB;YAoED,sBAAsB;qBAErB;YAUD,uBAAuB;qBAEtB;YAcD,sBAAsB;qBAErB;YACD,2BAA2B;qBAE1B;YACD,yBAAyB;qBAExB;YACD,iBAAiB;qBAEhB;YACD,oBAAoB;qBAEnB;YACD,sBAAsB;qBAErB;YACD,iBAAiB;;;;;;;;;;qBAWhB;YACD,uBAAuB;qBAEtB;YACD,sBAAsB;qBAErB;YACD,oBAAoB"}
1
+ {"version":3,"file":"enums.d.mts","names":[],"sources":["../../src/lib-next/enums.ts"],"mappings":";qBAAa;YACD,mBAAmB;qBAElB;YACD,qBAAqB;qBAEpB;YAaD,uBAAuB;qBAEtB;qBAqBA,2BAA2B;YAoB5B,sBAAsB;qBAErB;YACD,uBAAuB;qBAEtB;YAcD,oBAAoB;qBAEnB;YAaD,qBAAqB;qBAEpB;YAQD,0BAA0B;qBAEzB;YAuED,sBAAsB;qBAErB;YAUD,uBAAuB;qBAEtB;YAcD,sBAAsB;qBAErB;YACD,2BAA2B;qBAE1B;YACD,yBAAyB;qBAExB;YACD,iBAAiB;qBAEhB;YACD,oBAAoB;qBAEnB;YACD,sBAAsB;qBAErB;YACD,iBAAiB;;;;;;;;;;qBAWhB;YACD,uBAAuB;qBAEtB;YACD,sBAAsB;qBAErB;YACD,oBAAoB"}
@@ -1,2 +1,2 @@
1
- import { _ as raidStyles, a as gameSeries, b as statusConditions, c as itemCategories, d as moveClasses, f as moveTargets, g as pokemonTypesInternalOrder, h as pokemonTypes, i as gamePlatforms, l as ivJudgeValues, m as pokemonSizes, n as battleStates, o as gameTypes, p as pokeballCategories, r as battleStyles, s as genders, t as bagCategories, u as moveCategories, v as ribbonCategories, x as titleTypes, y as statIds } from "../enums-DlMg7WLl.mjs";
1
+ import { _ as raidStyles, a as gameSeries, b as statusConditions, c as itemCategories, d as moveClasses, f as moveTargets, g as pokemonTypesInternalOrder, h as pokemonTypes, i as gamePlatforms, l as ivJudgeValues, m as pokemonSizes, n as battleStates, o as gameTypes, p as pokeballCategories, r as battleStyles, s as genders, t as bagCategories, u as moveCategories, v as ribbonCategories, x as titleTypes, y as statIds } from "../enums-u8n-nN0B.mjs";
2
2
  export { bagCategories, battleStates, battleStyles, gamePlatforms, gameSeries, gameTypes, genders, itemCategories, ivJudgeValues, moveCategories, moveClasses, moveTargets, pokeballCategories, pokemonSizes, pokemonTypes, pokemonTypesInternalOrder, raidStyles, ribbonCategories, statIds, statusConditions, titleTypes };
@@ -1,2 +1,2 @@
1
- import { _ as pokemonListSchema, a as battleStatesSchema, b as pokemonSchema, c as i18nSchema, d as itemSchema, f as itemsSchema, g as pokemonI18nSchema, h as pokemonI18nRecordsSchema, i as battleStateSchema, l as itemI18nRecordsSchema, m as movesSchema, n as abilitySchema, o as championsLinkedBaseSchema, p as moveSchema, r as baseSchema, s as i18nRecordsSchema, t as abilitiesSchema, u as itemI18nSchema, v as pokemonMovesRecordSchema, x as slugSchema, y as pokemonMovesSchema } from "../schemas-Bj1AIX0P.mjs";
1
+ import { _ as pokemonListSchema, a as battleStatesSchema, b as pokemonSchema, c as i18nSchema, d as itemSchema, f as itemsSchema, g as pokemonI18nSchema, h as pokemonI18nRecordsSchema, i as battleStateSchema, l as itemI18nRecordsSchema, m as movesSchema, n as abilitySchema, o as championsLinkedBaseSchema, p as moveSchema, r as baseSchema, s as i18nRecordsSchema, t as abilitiesSchema, u as itemI18nSchema, v as pokemonMovesRecordSchema, x as slugSchema, y as pokemonMovesSchema } from "../schemas-CWE4YPI2.mjs";
2
2
  export { abilitiesSchema, abilitySchema, baseSchema, battleStateSchema, battleStatesSchema, championsLinkedBaseSchema, i18nRecordsSchema, i18nSchema, itemI18nRecordsSchema, itemI18nSchema, itemSchema, itemsSchema, moveSchema, movesSchema, pokemonI18nRecordsSchema, pokemonI18nSchema, pokemonListSchema, pokemonMovesRecordSchema, pokemonMovesSchema, pokemonSchema, slugSchema };
@@ -1,16 +1,16 @@
1
1
  import { z as z$1 } from "zod";
2
2
  //#region src/lib/schemas.d.ts
3
3
  declare const i18nTextSchema: z$1.ZodRecord<z$1.ZodEnum<{
4
+ esla: "esla";
5
+ chs: "chs";
6
+ cht: "cht";
4
7
  eng: "eng";
5
8
  esp: "esp";
6
- esla: "esla";
7
9
  fra: "fra";
8
10
  deu: "deu";
9
11
  ita: "ita";
10
12
  jap: "jap";
11
13
  kor: "kor";
12
- chs: "chs";
13
- cht: "cht";
14
14
  por: "por";
15
15
  }>, z$1.ZodOptional<z$1.ZodString>>;
16
16
  declare const abilitySchema: z$1.ZodObject<{
@@ -23,7 +23,6 @@ declare const abilitySchema: z$1.ZodObject<{
23
23
  tags: z$1.ZodArray<z$1.ZodEnum<{
24
24
  defense: "defense";
25
25
  other: "other";
26
- items: "items";
27
26
  alert: "alert";
28
27
  "ally-helper": "ally-helper";
29
28
  "stat-boost": "stat-boost";
@@ -31,6 +30,7 @@ declare const abilitySchema: z$1.ZodObject<{
31
30
  bypass: "bypass";
32
31
  handicap: "handicap";
33
32
  heal: "heal";
33
+ items: "items";
34
34
  "priority-control": "priority-control";
35
35
  damage: "damage";
36
36
  "target-weaken": "target-weaken";
@@ -267,31 +267,31 @@ declare const pokeballSchema: z$1.ZodObject<{
267
267
  }, z$1.core.$strip>;
268
268
  declare const languageSchema: z$1.ZodObject<{
269
269
  id: z$1.ZodEnum<{
270
- esla: "esla";
271
- chs: "chs";
272
- cht: "cht";
273
270
  en: "en";
274
271
  es: "es";
272
+ esla: "esla";
275
273
  fr: "fr";
276
274
  de: "de";
277
275
  it: "it";
278
276
  ja: "ja";
279
277
  ko: "ko";
278
+ chs: "chs";
279
+ cht: "cht";
280
280
  pt: "pt";
281
281
  }>;
282
282
  name: z$1.ZodString;
283
283
  nameEng: z$1.ZodString;
284
284
  alpha3: z$1.ZodEnum<{
285
+ esla: "esla";
286
+ chs: "chs";
287
+ cht: "cht";
285
288
  eng: "eng";
286
289
  esp: "esp";
287
- esla: "esla";
288
290
  fra: "fra";
289
291
  deu: "deu";
290
292
  ita: "ita";
291
293
  jap: "jap";
292
294
  kor: "kor";
293
- chs: "chs";
294
- cht: "cht";
295
295
  por: "por";
296
296
  }>;
297
297
  inGameCode: z$1.ZodEnum<{
@@ -424,42 +424,42 @@ declare const pokedexEntrySchema: z$1.ZodObject<{
424
424
  isNonCanonical: z$1.ZodOptional<z$1.ZodCoercedBoolean<unknown>>;
425
425
  meta: z$1.ZodOptional<z$1.ZodObject<{
426
426
  names: z$1.ZodRecord<z$1.ZodEnum<{
427
+ esla: "esla";
428
+ chs: "chs";
429
+ cht: "cht";
427
430
  eng: "eng";
428
431
  esp: "esp";
429
- esla: "esla";
430
432
  fra: "fra";
431
433
  deu: "deu";
432
434
  ita: "ita";
433
435
  jap: "jap";
434
436
  kor: "kor";
435
- chs: "chs";
436
- cht: "cht";
437
437
  por: "por";
438
438
  }>, z$1.ZodOptional<z$1.ZodString>>;
439
439
  speciesNames: z$1.ZodOptional<z$1.ZodRecord<z$1.ZodEnum<{
440
+ esla: "esla";
441
+ chs: "chs";
442
+ cht: "cht";
440
443
  eng: "eng";
441
444
  esp: "esp";
442
- esla: "esla";
443
445
  fra: "fra";
444
446
  deu: "deu";
445
447
  ita: "ita";
446
448
  jap: "jap";
447
449
  kor: "kor";
448
- chs: "chs";
449
- cht: "cht";
450
450
  por: "por";
451
451
  }>, z$1.ZodOptional<z$1.ZodString>>>;
452
452
  formNames: z$1.ZodOptional<z$1.ZodRecord<z$1.ZodEnum<{
453
+ esla: "esla";
454
+ chs: "chs";
455
+ cht: "cht";
453
456
  eng: "eng";
454
457
  esp: "esp";
455
- esla: "esla";
456
458
  fra: "fra";
457
459
  deu: "deu";
458
460
  ita: "ita";
459
461
  jap: "jap";
460
462
  kor: "kor";
461
- chs: "chs";
462
- cht: "cht";
463
463
  por: "por";
464
464
  }>, z$1.ZodOptional<z$1.ZodString>>>;
465
465
  type1: z$1.ZodOptional<z$1.ZodString>;
@@ -489,42 +489,42 @@ declare const pokedexSchema: z$1.ZodObject<{
489
489
  isNonCanonical: z$1.ZodOptional<z$1.ZodCoercedBoolean<unknown>>;
490
490
  meta: z$1.ZodOptional<z$1.ZodObject<{
491
491
  names: z$1.ZodRecord<z$1.ZodEnum<{
492
+ esla: "esla";
493
+ chs: "chs";
494
+ cht: "cht";
492
495
  eng: "eng";
493
496
  esp: "esp";
494
- esla: "esla";
495
497
  fra: "fra";
496
498
  deu: "deu";
497
499
  ita: "ita";
498
500
  jap: "jap";
499
501
  kor: "kor";
500
- chs: "chs";
501
- cht: "cht";
502
502
  por: "por";
503
503
  }>, z$1.ZodOptional<z$1.ZodString>>;
504
504
  speciesNames: z$1.ZodOptional<z$1.ZodRecord<z$1.ZodEnum<{
505
+ esla: "esla";
506
+ chs: "chs";
507
+ cht: "cht";
505
508
  eng: "eng";
506
509
  esp: "esp";
507
- esla: "esla";
508
510
  fra: "fra";
509
511
  deu: "deu";
510
512
  ita: "ita";
511
513
  jap: "jap";
512
514
  kor: "kor";
513
- chs: "chs";
514
- cht: "cht";
515
515
  por: "por";
516
516
  }>, z$1.ZodOptional<z$1.ZodString>>>;
517
517
  formNames: z$1.ZodOptional<z$1.ZodRecord<z$1.ZodEnum<{
518
+ esla: "esla";
519
+ chs: "chs";
520
+ cht: "cht";
518
521
  eng: "eng";
519
522
  esp: "esp";
520
- esla: "esla";
521
523
  fra: "fra";
522
524
  deu: "deu";
523
525
  ita: "ita";
524
526
  jap: "jap";
525
527
  kor: "kor";
526
- chs: "chs";
527
- cht: "cht";
528
528
  por: "por";
529
529
  }>, z$1.ZodOptional<z$1.ZodString>>>;
530
530
  type1: z$1.ZodOptional<z$1.ZodString>;
@@ -631,55 +631,55 @@ declare const pokemonSchema: z$1.ZodObject<{
631
631
  evoFromFriendship: z$1.ZodOptional<z$1.ZodCoercedBoolean<unknown>>;
632
632
  evoFromCondition: z$1.ZodOptional<z$1.ZodString>;
633
633
  names: z$1.ZodRecord<z$1.ZodEnum<{
634
+ esla: "esla";
635
+ chs: "chs";
636
+ cht: "cht";
634
637
  eng: "eng";
635
638
  esp: "esp";
636
- esla: "esla";
637
639
  fra: "fra";
638
640
  deu: "deu";
639
641
  ita: "ita";
640
642
  jap: "jap";
641
643
  kor: "kor";
642
- chs: "chs";
643
- cht: "cht";
644
644
  por: "por";
645
645
  }>, z$1.ZodOptional<z$1.ZodString>>;
646
646
  genus: z$1.ZodRecord<z$1.ZodEnum<{
647
+ esla: "esla";
648
+ chs: "chs";
649
+ cht: "cht";
647
650
  eng: "eng";
648
651
  esp: "esp";
649
- esla: "esla";
650
652
  fra: "fra";
651
653
  deu: "deu";
652
654
  ita: "ita";
653
655
  jap: "jap";
654
656
  kor: "kor";
655
- chs: "chs";
656
- cht: "cht";
657
657
  por: "por";
658
658
  }>, z$1.ZodOptional<z$1.ZodString>>;
659
659
  speciesNames: z$1.ZodRecord<z$1.ZodEnum<{
660
+ esla: "esla";
661
+ chs: "chs";
662
+ cht: "cht";
660
663
  eng: "eng";
661
664
  esp: "esp";
662
- esla: "esla";
663
665
  fra: "fra";
664
666
  deu: "deu";
665
667
  ita: "ita";
666
668
  jap: "jap";
667
669
  kor: "kor";
668
- chs: "chs";
669
- cht: "cht";
670
670
  por: "por";
671
671
  }>, z$1.ZodOptional<z$1.ZodString>>;
672
672
  formNames: z$1.ZodRecord<z$1.ZodEnum<{
673
+ esla: "esla";
674
+ chs: "chs";
675
+ cht: "cht";
673
676
  eng: "eng";
674
677
  esp: "esp";
675
- esla: "esla";
676
678
  fra: "fra";
677
679
  deu: "deu";
678
680
  ita: "ita";
679
681
  jap: "jap";
680
682
  kor: "kor";
681
- chs: "chs";
682
- cht: "cht";
683
683
  por: "por";
684
684
  }>, z$1.ZodOptional<z$1.ZodString>>;
685
685
  }, z$1.core.$strip>;
@@ -772,8 +772,8 @@ declare const modernBoxPresetSchema: z$1.ZodObject<{
772
772
  legacyId: z$1.ZodOptional<z$1.ZodString>;
773
773
  }, z$1.core.$strict>>;
774
774
  tags: z$1.ZodOptional<z$1.ZodArray<z$1.ZodEnum<{
775
- forms: "forms";
776
775
  shiny: "shiny";
776
+ forms: "forms";
777
777
  recommended: "recommended";
778
778
  national: "national";
779
779
  grouped: "grouped";
@@ -801,4 +801,4 @@ declare const pokemonSearchFilterSchema: z$1.ZodObject<{
801
801
  }, z$1.core.$strip>;
802
802
  //#endregion
803
803
  export { pokemonSchema as A, onlineFeaturesSchema as C, pokedexEntrySchema as D, pokeballSchema as E, regionSchema as M, ribbonSchema as N, pokedexSchema as O, typeSchema as P, natureSchema as S, personalitySchema as T, modernBoxPresetIndexSchema as _, boxPresetMapSchema as a, modernBoxPresetTags as b, colorSchema as c, generationSchema as d, i18nTextSchema as f, modernBoxPresetBoxSchema as g, markSchema as h, boxPresetIndexItemSchema as i, pokemonSearchFilterSchema as j, pokemonRefsSchema as k, gameFeaturesSchema as l, languageSchema as m, boxPresetBoxPokemonSchema as n, boxPresetSchema as o, itemSchema as p, boxPresetBoxSchema as r, characterSchema as s, abilitySchema as t, gameSchema as u, modernBoxPresetSchema as v, originMarkSchema as w, moveSchema as x, modernBoxPresetSlotSchema as y };
804
- //# sourceMappingURL=schemas-CDSWgtoj.d.mts.map
804
+ //# sourceMappingURL=schemas-CIE3b72j.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas-CDSWgtoj.d.mts","names":[],"sources":["../src/lib/schemas.ts"],"mappings":";;cAkEa,gBAAc,IAAA,UAAA,IAAA;;;;;;;;;;;;IAA+D,IAAA,YAAA,IAAA;cAE7E,eAAa,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAIxB,IAAA,KAAA;cACW,mBAAiB,IAAA;;;GAI5B,IAAA,KAAA;cACW,iBAAe,IAAA;;;GAE1B,IAAA,KAAA;cACW,aAAW,IAAA;;;;GAEtB,IAAA,KAAA;cACW,oBAAkB,IAAA;;;;;;;;;;;;;;;;;;;;;;;GAuB7B,IAAA,KAAA;cACW,sBAAoB,IAAA;;;;;;;;;;;;;;;;GAO/B,IAAA,KAAA;cACW,YAAU,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoBrB,IAAA,KAAA;cACW,kBAAgB,IAAA;;;;GAI3B,IAAA,KAAA;cACW,YAAU,IAAA;;;;;;;;;;;;;;;;;;;;;;GAIrB,IAAA,KAAA;cACW,gBAAc,IAAA;;;;;;;;;;;;;GAGzB,IAAA,KAAA;cACW,gBAAc,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASzB,IAAA,KAAA;cACW,YAAU,IAAA;;;;;;;;;;GAMrB,IAAA,KAAA;cACW,cAAY,IAAA;;;;;;;;;;;;;;GAIvB,IAAA,KAAA;cACW,kBAAgB,IAAA;;;GAAc,IAAA,KAAA;cAC9B,cAAY,IAAA;;;GAAc,IAAA,KAAA;cAC1B,YAAU,IAAA;;;;;GAGrB,IAAA,KAAA;cACW,cAAY,IAAA;;;;;;;;;;;;;;;;;;;;;;;GAGvB,IAAA,KAAA;cACW,YAAU,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASrB,IAAA,KAAA;cAEW,oBAAkB,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuB7B,IAAA,KAAA;cAEW,eAAa,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAUxB,IAAA,KAAA;cAEW,mBAAiB,IAAA;;;;;;;;;GAS5B,IAAA,KAAA;cAEW,eAAa,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFxB,IAAA,KAAA;cAIW,0BAAwB,IAAA;;;;;;GAQ1B,IAAA,KAAA;cAEE,2BAAyB,IAAA,UAAA,IAAA,YAAA,IAAA,YAAA,IAAA;;;;;GAOrC,IAAA,KAAA;cAEY,oBAAkB,IAAA;;;;;;;;GAG7B,IAAA,KAAA;cAEW,iBAAe,IAAA;;;;;;;;;;;;;;;;;GAS1B,IAAA,KAAA;cAEW,oBAAkB,IAAA,UAAA,IAAA,WAAA,IAAA,UAAA,IAAA,WAAA,IAAA;;;;;;;;;;;;;;;;;GAA8D,IAAA,KAAA;cAEhF;cAUA,4BAA0B,IAAA,SAAA,IAAA;cAE1B,2BAAyB,IAAA,UAAA,IAAA,YAAA,IAAA,YAAA,IAAA;;;;;GASrC,IAAA,KAAA;cAEY,0BAAwB,IAAA;;;;;;;;GAK1B,IAAA,KAAA;cAEE,uBAAqB,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoBvB,IAAA,KAAA;cAEE,2BAAyB,IAAA;;;;;;;;GASpC,IAAA,KAAA"}
1
+ {"version":3,"file":"schemas-CIE3b72j.d.mts","names":[],"sources":["../src/lib/schemas.ts"],"mappings":";;cAkEa,gBAAc,IAAA,UAAA,IAAA;;;;;;;;;;;;IAA+D,IAAA,YAAA,IAAA;cAE7E,eAAa,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAIxB,IAAA,KAAA;cACW,mBAAiB,IAAA;;;GAI5B,IAAA,KAAA;cACW,iBAAe,IAAA;;;GAE1B,IAAA,KAAA;cACW,aAAW,IAAA;;;;GAEtB,IAAA,KAAA;cACW,oBAAkB,IAAA;;;;;;;;;;;;;;;;;;;;;;;GAuB7B,IAAA,KAAA;cACW,sBAAoB,IAAA;;;;;;;;;;;;;;;;GAO/B,IAAA,KAAA;cACW,YAAU,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoBrB,IAAA,KAAA;cACW,kBAAgB,IAAA;;;;GAI3B,IAAA,KAAA;cACW,YAAU,IAAA;;;;;;;;;;;;;;;;;;;;;;GAIrB,IAAA,KAAA;cACW,gBAAc,IAAA;;;;;;;;;;;;;GAGzB,IAAA,KAAA;cACW,gBAAc,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASzB,IAAA,KAAA;cACW,YAAU,IAAA;;;;;;;;;;GAMrB,IAAA,KAAA;cACW,cAAY,IAAA;;;;;;;;;;;;;;GAIvB,IAAA,KAAA;cACW,kBAAgB,IAAA;;;GAAc,IAAA,KAAA;cAC9B,cAAY,IAAA;;;GAAc,IAAA,KAAA;cAC1B,YAAU,IAAA;;;;;GAGrB,IAAA,KAAA;cACW,cAAY,IAAA;;;;;;;;;;;;;;;;;;;;;;;GAGvB,IAAA,KAAA;cACW,YAAU,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASrB,IAAA,KAAA;cAEW,oBAAkB,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuB7B,IAAA,KAAA;cAEW,eAAa,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAUxB,IAAA,KAAA;cAEW,mBAAiB,IAAA;;;;;;;;;GAS5B,IAAA,KAAA;cAEW,eAAa,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFxB,IAAA,KAAA;cAIW,0BAAwB,IAAA;;;;;;GAQ1B,IAAA,KAAA;cAEE,2BAAyB,IAAA,UAAA,IAAA,YAAA,IAAA,YAAA,IAAA;;;;;GAOrC,IAAA,KAAA;cAEY,oBAAkB,IAAA;;;;;;;;GAG7B,IAAA,KAAA;cAEW,iBAAe,IAAA;;;;;;;;;;;;;;;;;GAS1B,IAAA,KAAA;cAEW,oBAAkB,IAAA,UAAA,IAAA,WAAA,IAAA,UAAA,IAAA,WAAA,IAAA;;;;;;;;;;;;;;;;;GAA8D,IAAA,KAAA;cAEhF;cAUA,4BAA0B,IAAA,SAAA,IAAA;cAE1B,2BAAyB,IAAA,UAAA,IAAA,YAAA,IAAA,YAAA,IAAA;;;;;GASrC,IAAA,KAAA;cAEY,0BAAwB,IAAA;;;;;;;;GAK1B,IAAA,KAAA;cAEE,uBAAqB,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoBvB,IAAA,KAAA;cAEE,2BAAyB,IAAA;;;;;;;;GASpC,IAAA,KAAA"}