|
1 | 1 | package co.pokeapi.pokekotlin.model |
2 | 2 |
|
3 | 3 | import co.pokeapi.pokekotlin.internal.JsOnlyExport |
| 4 | +import kotlinx.serialization.SerialName |
4 | 5 | import kotlinx.serialization.Serializable |
5 | 6 |
|
6 | 7 | @Serializable |
@@ -167,11 +168,101 @@ public data class PokemonSprites( |
167 | 168 | val backShinyFemale: String?, |
168 | 169 | val frontFemale: String?, |
169 | 170 | val frontShinyFemale: String?, |
170 | | - val other: Map<String, GameSprites>, |
171 | | - val versions: Map<String, Map<String, GameSprites>>, |
| 171 | + val other: OtherGameSprites, |
| 172 | + val versions: VersionGameSprites, |
172 | 173 | ) |
173 | 174 |
|
174 | 175 | @Serializable |
| 176 | +@JsOnlyExport |
| 177 | +public data class OtherGameSprites( |
| 178 | + val dreamWorld: GameSprites, |
| 179 | + val home: GameSprites, |
| 180 | + @SerialName("official-artwork") val officialArtwork: GameSprites, |
| 181 | + val showdown: GameSprites, |
| 182 | +) |
| 183 | + |
| 184 | +@Serializable |
| 185 | +@JsOnlyExport |
| 186 | +public data class VersionGameSprites( |
| 187 | + @SerialName("generation-i") val generationI: GenerationIGameSprites, |
| 188 | + @SerialName("generation-ii") val generationIi: GenerationIiGameSprites, |
| 189 | + @SerialName("generation-iii") val generationIii: GenerationIiiGameSprites, |
| 190 | + @SerialName("generation-iv") val generationIv: GenerationIvGameSprites, |
| 191 | + @SerialName("generation-v") val generationV: GenerationVGameSprites, |
| 192 | + @SerialName("generation-vi") val generationVi: GenerationViGameSprites, |
| 193 | + @SerialName("generation-vii") val generationVii: GenerationViiGameSprites, |
| 194 | + @SerialName("generation-viii") val generationViii: GenerationViiiGameSprites, |
| 195 | +) |
| 196 | + |
| 197 | +@Serializable |
| 198 | +@JsOnlyExport |
| 199 | +public data class GenerationIGameSprites( |
| 200 | + @SerialName("red-blue") val redBlue: GameSprites, |
| 201 | + val yellow: GameSprites, |
| 202 | +) |
| 203 | + |
| 204 | +@Serializable |
| 205 | +@JsOnlyExport |
| 206 | +public data class GenerationIiGameSprites( |
| 207 | + val crystal: GameSprites, |
| 208 | + val gold: GameSprites, |
| 209 | + val silver: GameSprites, |
| 210 | +) |
| 211 | + |
| 212 | +@Serializable |
| 213 | +@JsOnlyExport |
| 214 | +public data class GenerationIiiGameSprites( |
| 215 | + val emerald: GameSprites, |
| 216 | + @SerialName("firered-leafgreen") val fireredLeafgreen: GameSprites, |
| 217 | + @SerialName("ruby-sapphire") val rubySapphire: GameSprites, |
| 218 | +) |
| 219 | + |
| 220 | +@Serializable |
| 221 | +@JsOnlyExport |
| 222 | +public data class GenerationIvGameSprites( |
| 223 | + @SerialName("diamond-pearl") val diamondPearl: GameSprites, |
| 224 | + @SerialName("heartgold-soulsilver") val heartgoldSoulsilver: GameSprites, |
| 225 | + val platinum: GameSprites, |
| 226 | +) |
| 227 | + |
| 228 | +@Serializable |
| 229 | +@JsOnlyExport |
| 230 | +public data class GenerationVGameSprites( |
| 231 | + @SerialName("black-white") val blackWhite: BlackWhiteSprites |
| 232 | +) |
| 233 | + |
| 234 | +@Serializable |
| 235 | +@JsOnlyExport |
| 236 | +public data class BlackWhiteSprites( |
| 237 | + val animated: GameSprites, |
| 238 | + val backDefault: String? = null, |
| 239 | + val backFemale: String? = null, |
| 240 | + val backShiny: String? = null, |
| 241 | + val backShinyFemale: String? = null, |
| 242 | + val frontDefault: String? = null, |
| 243 | + val frontFemale: String? = null, |
| 244 | + val frontShiny: String? = null, |
| 245 | + val frontShinyFemale: String? = null, |
| 246 | +) |
| 247 | + |
| 248 | +@Serializable |
| 249 | +@JsOnlyExport |
| 250 | +public data class GenerationViGameSprites( |
| 251 | + @SerialName("omegaruby-alphasapphire") val omegaRubyAlphaSapphire: GameSprites, |
| 252 | + @SerialName("x-y") val xY: GameSprites, |
| 253 | +) |
| 254 | + |
| 255 | +@Serializable |
| 256 | +@JsOnlyExport |
| 257 | +public data class GenerationViiGameSprites( |
| 258 | + val icons: GameSprites, |
| 259 | + @SerialName("ultra-sun-ultra-moon") val ultraSunUltraMoon: GameSprites, |
| 260 | +) |
| 261 | + |
| 262 | +@Serializable @JsOnlyExport public data class GenerationViiiGameSprites(val icons: GameSprites) |
| 263 | + |
| 264 | +@Serializable |
| 265 | +@JsOnlyExport |
175 | 266 | public data class GameSprites( |
176 | 267 | val animated: GameSprites? = null, |
177 | 268 | val backDefault: String? = null, |
@@ -421,10 +512,77 @@ public data class Type( |
421 | 512 | val names: List<Name>, |
422 | 513 | val pokemon: List<TypePokemon>, |
423 | 514 | val moves: List<NamedApiResource>, |
424 | | - val sprites: Map<String, Map<String, TypeSprites>>, |
| 515 | + val sprites: VersionTypeSprites, |
| 516 | +) |
| 517 | + |
| 518 | +@Serializable |
| 519 | +@JsOnlyExport |
| 520 | +public data class VersionTypeSprites( |
| 521 | + @SerialName("generation-iii") val generationIii: GenerationIiiTypeSprites, |
| 522 | + @SerialName("generation-iv") val generationIv: GenerationIvTypeSprites, |
| 523 | + @SerialName("generation-v") val generationV: GenerationVTypeSprites, |
| 524 | + @SerialName("generation-vi") val generationVi: GenerationViTypeSprites, |
| 525 | + @SerialName("generation-vii") val generationVii: GenerationViiTypeSprites, |
| 526 | + @SerialName("generation-viii") val generationViii: GenerationViiiTypeSprites, |
| 527 | + @SerialName("generation-ix") val generationIx: GenerationIxTypeSprites, |
| 528 | +) |
| 529 | + |
| 530 | +@Serializable |
| 531 | +@JsOnlyExport |
| 532 | +public data class GenerationIiiTypeSprites( |
| 533 | + val colosseum: TypeSprites, |
| 534 | + val emerald: TypeSprites, |
| 535 | + @SerialName("firered-leafgreen") val fireredLeafgreen: TypeSprites, |
| 536 | + @SerialName("ruby-saphire") val rubySaphire: TypeSprites, |
| 537 | + val xd: TypeSprites, |
| 538 | +) |
| 539 | + |
| 540 | +@Serializable |
| 541 | +@JsOnlyExport |
| 542 | +public data class GenerationIvTypeSprites( |
| 543 | + @SerialName("diamond-pearl") val diamondPearl: TypeSprites, |
| 544 | + @SerialName("heartgold-soulsilver") val heartgoldSoulsilver: TypeSprites, |
| 545 | + val platinum: TypeSprites, |
| 546 | +) |
| 547 | + |
| 548 | +@Serializable |
| 549 | +@JsOnlyExport |
| 550 | +public data class GenerationVTypeSprites( |
| 551 | + @SerialName("black-2-white-2") val black2White2: TypeSprites, |
| 552 | + @SerialName("black-white") val blackWhite: TypeSprites, |
| 553 | +) |
| 554 | + |
| 555 | +@Serializable |
| 556 | +@JsOnlyExport |
| 557 | +public data class GenerationViTypeSprites( |
| 558 | + @SerialName("omega-ruby-alpha-sapphire") val omegaRubyAlphaSapphire: TypeSprites, |
| 559 | + @SerialName("x-y") val xY: TypeSprites, |
| 560 | +) |
| 561 | + |
| 562 | +@Serializable |
| 563 | +@JsOnlyExport |
| 564 | +public data class GenerationViiTypeSprites( |
| 565 | + @SerialName("lets-go-pikachu-lets-go-eevee") val letsGoPikachuLetsGoEevee: TypeSprites, |
| 566 | + @SerialName("sun-moon") val sunMoon: TypeSprites, |
| 567 | + @SerialName("ultra-sun-ultra-moon") val ultraSunUltraMoon: TypeSprites, |
| 568 | +) |
| 569 | + |
| 570 | +@Serializable |
| 571 | +@JsOnlyExport |
| 572 | +public data class GenerationViiiTypeSprites( |
| 573 | + @SerialName("brilliant-diamond-and-shining-pearl") |
| 574 | + val brilliantDiamondAndShiningPearl: TypeSprites, |
| 575 | + @SerialName("legends-arceus") val legendsArceus: TypeSprites, |
| 576 | + @SerialName("sword-shield") val swordShield: TypeSprites, |
| 577 | +) |
| 578 | + |
| 579 | +@Serializable |
| 580 | +@JsOnlyExport |
| 581 | +public data class GenerationIxTypeSprites( |
| 582 | + @SerialName("scarlet-violet") val scarletViolet: TypeSprites |
425 | 583 | ) |
426 | 584 |
|
427 | | -@Serializable public data class TypeSprites(val nameIcon: String?) |
| 585 | +@Serializable @JsOnlyExport public data class TypeSprites(val nameIcon: String?) |
428 | 586 |
|
429 | 587 | @Serializable |
430 | 588 | @JsOnlyExport |
|
0 commit comments