diff --git a/.gitignore b/.gitignore index 6456d84f..85b59caa 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .venv +.DS_Store # Byte-compiled / optimized / DLL files __pycache__/ diff --git a/docs/dev/getting_started/angular_query.png b/docs/dev/getting_started/angular_query.png new file mode 100644 index 00000000..8b999813 Binary files /dev/null and b/docs/dev/getting_started/angular_query.png differ diff --git a/docs/dev/getting_started/angular_query.puml b/docs/dev/getting_started/angular_query.puml new file mode 100644 index 00000000..5667bbd6 --- /dev/null +++ b/docs/dev/getting_started/angular_query.puml @@ -0,0 +1,37 @@ +@startuml +!theme plain +skinparam backgroundColor transparent + +[*] -> Idle + +Idle : Query has data +Idle : fetchStatus = 'idle' +Idle -> Fetching : User initiates refetch + +Fetching : Query is fetching data +Fetching : fetchStatus = 'fetching' +Fetching --> Success : Data fetched successfully +Fetching --> Error : Data fetching failed +Fetching --> Paused : Network connection lost + +Success : Data is available +Success : status = 'success' +Success --> Fetching : Background refetch + +Error : Query encountered an error +Error : status = 'error' +Error --> Fetching : Retry fetch + +Paused : Fetching paused +Paused : fetchStatus = 'paused' +Paused --> Fetching : Network connection restored + +Fetching --> Pending : No data yet + +Pending : Query has no data +Pending : status = 'pending' +Pending : fetchStatus = 'fetching' +Pending ---> Error : Data fetching failed +Pending ---> Success : Data fetched successfully +Paused --> Pending : Network connection lost +@enduml \ No newline at end of file diff --git a/docs/dev/getting_started/angular_wordmark_gradient.png b/docs/dev/getting_started/angular_wordmark_gradient.png new file mode 100644 index 00000000..e32da386 Binary files /dev/null and b/docs/dev/getting_started/angular_wordmark_gradient.png differ diff --git a/docs/dev/getting_started/getting_started.rst b/docs/dev/getting_started/getting_started.rst new file mode 100644 index 00000000..87cfe463 --- /dev/null +++ b/docs/dev/getting_started/getting_started.rst @@ -0,0 +1,111 @@ +Getting Started +=============== + +Client +------ + +Angular: Our web framework +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +**Angular is a web framework that empowers developers to build fast, reliable applications.** +Maintained by a dedicated team at Google, Angular provides a broad suite of tools, APIs, and libraries to simplify and streamline your development workflow. Angular gives you a solid platform on which to build fast, reliable applications that scale with both the size of your team and the size of your codebase. + +.. figure:: ./angular_wordmark_gradient.png + :width: 200px + :alt: Angular Logo + +Get started with Angular, learn the fundamentals and explore advanced topics on the documentation website: + +- `Getting Started `_: Interactive tutorial of the basics +- `Essentials `_: Basics to read +- `Angular Overview `_: Read through what interests you +- `Signals `_: **We build signal-based!** +- `Zoneless `_: We are zoneless! (requires signals) +- `Standalone components `_: **Always standalone, avoid NgModule completely!** +- `Animations `_ +- `API `_ + +.. attention:: + **We avoid decorators and use signal-based alternatives:** + + - `input `_ instead of `@Input `_! (`Angular blog on input `_) + - `output `_ instead of `@Output `_! (`Angular blog on output `_) + - `model `_ two way data binding combining a ``input``, ``output`` pair + - `viewChild `_ and `viewChildren `_ instead of `@ViewChild `_ and `@ViewChildren `_ + - `contentChild `_ and `contentChildren `_ instead of `@ContentChild `_ and `@ContentChildren `_ + +.. important:: + We try to avoid `RxJS `_, for the most part, in favor or Angular Query and Signals! + + +Angular Query: Powerful asynchronous state management +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +**Angular Query**, also known as TanStack Query, is a first-class API for managing server state in Angular applications. It simplifies the challenges of fetching, caching, synchronizing, and updating server state. Learn more about its features and how it can improve the development workflow by reading through the `Angular Query Overview `_. + +.. figure:: ./angular_query.png + :width: 250px + :alt: Angular Query + +**We are using this extensively in the client to query and mutate async state, you should be very comfortable with it.** + +.. uml:: angular_query.puml + :caption: Sketch of query state machine in Angular Query (non-exhaustive) + + +TailwindCSS: Our Styling Framework +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +**TailwindCSS is a utility-first CSS framework that speeds up UI development with utility classes.** It integrates seamlessly with Angular, making it easy to maintain consistency across your codebase. + +.. figure:: ./tailwindcss.svg + :width: 250px + :alt: Tailwind Logo + +**Quick Reference:** `TailwindCSS Cheat Sheet `_ + +Core Concepts +""""""""""""" + +- `Utility-First Fundamentals `_: Building complex components from a constrained set of primitive utilities. +- `Hover, Focus, and Other States `_: Using utilities to style elements on hover, focus, and more. +- `Responsive Design `_: Using responsive utility variants to build adaptive user interfaces. +- `Dark Mode `_: Using Tailwind CSS to style your site in dark mode. +- `Reusing Styles `_: Managing duplication and creating reusable abstractions. +- `Adding Custom Styles `_: Best practices for adding your own custom styles to Tailwind. +- `Functions & Directives `_: A reference for the custom functions and directives Tailwind exposes to your CSS. + +Best Practices +"""""""""""""" + +1. **Ensure IDE Autocomplete:** Set up IDE autocomplete for instant access to utility classes. **Very important!** +2. **Use Predefined Utilities:** Stick to Tailwind's utility classes for consistency. **Avoid CSS!** +3. **Responsive and State Variants:** Leverage responsive design and state variants. +4. **Avoid Premature Abstraction:** Don't use ``@apply`` just to clean up your HTML. **It is fine to repeat yourself!** +5. **Design Tokens:** Utilize design tokens for consistent theming and easy maintenance of your design system. Define and use them in your Tailwind configuration for colors, spacing, typography, etc. + + +OpenAPI: Type-Safe API Interaction +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +**We use a generated OpenAPI client** to ensure type-safe interactions with our server. This client simplifies communication by generating TypeScript client services from our OpenAPI specification, reducing boilerplate code and ensuring consistency. + +.. figure:: ./openapi.png + :width: 200px + :alt: OpenAPI Logo + +Benefits +"""""""" + +- **Type Safety**: Automatically generated client ensures all API interactions are type-checked, reducing runtime errors. +- **Consistency**: Ensures all parts of the application interact with the API in a uniform manner. +- **Reduced Boilerplate**: Minimizes repetitive code, making development faster and cleaner. +- **Ease of Use**: Simplifies API consumption with well-defined methods and structures based on the OpenAPI spec. + +By leveraging OpenAPI, we enhance the reliability, maintainability, and efficiency of our client-server interactions. + +Resources +""""""""" +- `OpenAPI Specification `_ +- `OpenAPI Generator `_ +- `Swagger UI `_ \ No newline at end of file diff --git a/docs/dev/getting_started/openapi.png b/docs/dev/getting_started/openapi.png new file mode 100644 index 00000000..b10116df Binary files /dev/null and b/docs/dev/getting_started/openapi.png differ diff --git a/docs/dev/getting_started/tailwindcss.svg b/docs/dev/getting_started/tailwindcss.svg new file mode 100644 index 00000000..27b8a8e5 --- /dev/null +++ b/docs/dev/getting_started/tailwindcss.svg @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst index 27d0231d..68e81eb3 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -36,9 +36,16 @@ Architecture Hephaestus Top Level Design (UML Component Diagram) +.. toctree:: + :caption: Contributor Guide + :includehidden: + :maxdepth: 3 + + dev/getting_started/getting_started .. toctree:: - :caption: Table of Content + :caption: System + :includehidden: :maxdepth: 3 - system/gamification/index \ No newline at end of file + system/gamification/index diff --git a/server/openapi.yaml b/server/openapi.yaml new file mode 100644 index 00000000..5e45840d --- /dev/null +++ b/server/openapi.yaml @@ -0,0 +1,9385 @@ +openapi: 3.1.0 +info: + title: PokéAPI + version: 2.7.0 + description: "All the Pokémon data you'll ever need in one place, easily accessible\ + \ through a modern free open-source RESTful API.\n\n## What is this?\n\nThis is\ + \ a full RESTful API linked to an extensive database detailing everything about\ + \ the Pokémon main game series.\n\nWe've covered everything from Pokémon to Berry\ + \ Flavors.\n\n## Where do I start?\n\nWe have awesome [documentation](https://pokeapi.co/docs/v2)\ + \ on how to use this API. It takes minutes to get started.\n\nThis API will always\ + \ be publicly available and will never require any extensive setup process to\ + \ consume.\n\nCreated by [**Paul Hallett**(]https://github.com/phalt) and other\ + \ [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing)\ + \ around the world. Pokémon and Pokémon character names are trademarks of Nintendo.\n\ + \ " +paths: + /api/v2/ability/: + get: + operationId: ability_list + description: Abilities provide passive effects for Pokémon in battle or in the + overworld. Pokémon have multiple possible abilities but can have only one + ability at a time. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Ability) + for greater detail. + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedAbilitySummaryList' + description: '' + /api/v2/ability/{id}/: + get: + operationId: ability_retrieve + description: Abilities provide passive effects for Pokémon in battle or in the + overworld. Pokémon have multiple possible abilities but can have only one + ability at a time. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Ability) + for greater detail. + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AbilityDetail' + description: '' + /api/v2/berry/: + get: + operationId: berry_list + description: Berries are small fruits that can provide HP and status condition + restoration, stat enhancement, and even damage negation when eaten by Pokémon. + Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Berry) for greater + detail. + summary: List berries + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - berries + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedBerrySummaryList' + description: '' + /api/v2/berry/{id}/: + get: + operationId: berry_retrieve + description: Berries are small fruits that can provide HP and status condition + restoration, stat enhancement, and even damage negation when eaten by Pokémon. + Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Berry) for greater + detail. + summary: Get a berry + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - berries + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/BerryDetail' + description: '' + /api/v2/berry-firmness/: + get: + operationId: berry_firmness_list + description: Berries can be soft or hard. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Category:Berries_by_firmness) + for greater detail. + summary: List berry firmness + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - berries + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedBerryFirmnessSummaryList' + description: '' + /api/v2/berry-firmness/{id}/: + get: + operationId: berry_firmness_retrieve + description: Berries can be soft or hard. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Category:Berries_by_firmness) + for greater detail. + summary: Get berry by firmness + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - berries + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/BerryFirmnessDetail' + description: '' + /api/v2/berry-flavor/: + get: + operationId: berry_flavor_list + description: Flavors determine whether a Pokémon will benefit or suffer from + eating a berry based on their **nature**. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Flavor) + for greater detail. + summary: List berry flavors + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - berries + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedBerryFlavorSummaryList' + description: '' + /api/v2/berry-flavor/{id}/: + get: + operationId: berry_flavor_retrieve + description: Flavors determine whether a Pokémon will benefit or suffer from + eating a berry based on their **nature**. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Flavor) + for greater detail. + summary: Get berries by flavor + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - berries + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/BerryFlavorDetail' + description: '' + /api/v2/characteristic/: + get: + operationId: characteristic_list + description: Characteristics indicate which stat contains a Pokémon's highest + IV. A Pokémon's Characteristic is determined by the remainder of its highest + IV divided by 5 (gene_modulo). Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Characteristic) + for greater detail. + summary: List charecterictics + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedCharacteristicSummaryList' + description: '' + /api/v2/characteristic/{id}/: + get: + operationId: characteristic_retrieve + description: Characteristics indicate which stat contains a Pokémon's highest + IV. A Pokémon's Characteristic is determined by the remainder of its highest + IV divided by 5 (gene_modulo). Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Characteristic) + for greater detail. + summary: Get characteristic + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CharacteristicDetail' + description: '' + /api/v2/contest-type/: + get: + operationId: contest_type_list + description: Contest types are categories judges used to weigh a Pokémon's condition + in Pokémon contests. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Contest_condition) + for greater detail. + summary: List contest types + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - contests + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedContestTypeSummaryList' + description: '' + /api/v2/contest-type/{id}/: + get: + operationId: contest_type_retrieve + description: Contest types are categories judges used to weigh a Pokémon's condition + in Pokémon contests. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Contest_condition) + for greater detail. + summary: Get contest type + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - contests + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ContestTypeDetail' + description: '' + /api/v2/contest-effect/: + get: + operationId: contest_effect_list + description: Contest effects refer to the effects of moves when used in contests. + summary: List contest effects + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - contests + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedContestEffectSummaryList' + description: '' + /api/v2/contest-effect/{id}/: + get: + operationId: contest_effect_retrieve + description: Contest effects refer to the effects of moves when used in contests. + summary: Get contest effect + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - contests + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ContestEffectDetail' + description: '' + /api/v2/egg-group/: + get: + operationId: egg_group_list + description: Egg Groups are categories which determine which Pokémon are able + to interbreed. Pokémon may belong to either one or two Egg Groups. Check out + [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Egg_Group) for greater + detail. + summary: List egg groups + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedEggGroupSummaryList' + description: '' + /api/v2/egg-group/{id}/: + get: + operationId: egg_group_retrieve + description: Egg Groups are categories which determine which Pokémon are able + to interbreed. Pokémon may belong to either one or two Egg Groups. Check out + [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Egg_Group) for greater + detail. + summary: Get egg group + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/EggGroupDetail' + description: '' + /api/v2/encounter-method/: + get: + operationId: encounter_method_list + description: Methods by which the player might can encounter Pokémon in the + wild, e.g., walking in tall grass. Check out Bulbapedia for greater detail. + summary: List encounter methods + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - encounters + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedEncounterMethodSummaryList' + description: '' + /api/v2/encounter-method/{id}/: + get: + operationId: encounter_method_retrieve + description: Methods by which the player might can encounter Pokémon in the + wild, e.g., walking in tall grass. Check out Bulbapedia for greater detail. + summary: Get encounter method + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - encounters + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/EncounterMethodDetail' + description: '' + /api/v2/encounter-condition/: + get: + operationId: encounter_condition_list + description: Conditions which affect what pokemon might appear in the wild, + e.g., day or night. + summary: List encounter conditions + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - encounters + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedEncounterConditionSummaryList' + description: '' + /api/v2/encounter-condition/{id}/: + get: + operationId: encounter_condition_retrieve + description: Conditions which affect what pokemon might appear in the wild, + e.g., day or night. + summary: Get encounter condition + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - encounters + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/EncounterConditionDetail' + description: '' + /api/v2/encounter-condition-value/: + get: + operationId: encounter_condition_value_list + description: Encounter condition values are the various states that an encounter + condition can have, i.e., time of day can be either day or night. + summary: List encounter condition values + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - encounters + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedEncounterConditionValueSummaryList' + description: '' + /api/v2/encounter-condition-value/{id}/: + get: + operationId: encounter_condition_value_retrieve + description: Encounter condition values are the various states that an encounter + condition can have, i.e., time of day can be either day or night. + summary: Get encounter condition value + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - encounters + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/EncounterConditionValueDetail' + description: '' + /api/v2/evolution-chain/: + get: + operationId: evolution_chain_list + description: Evolution chains are essentially family trees. They start with + the lowest stage within a family and detail evolution conditions for each + as well as Pokémon they can evolve into up through the hierarchy. + summary: List evolution chains + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - evolution + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedEvolutionChainSummaryList' + description: '' + /api/v2/evolution-chain/{id}/: + get: + operationId: evolution_chain_retrieve + description: Evolution chains are essentially family trees. They start with + the lowest stage within a family and detail evolution conditions for each + as well as Pokémon they can evolve into up through the hierarchy. + summary: Get evolution chain + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - evolution + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/EvolutionChainDetail' + description: '' + /api/v2/evolution-trigger/: + get: + operationId: evolution_trigger_list + description: Evolution triggers are the events and conditions that cause a Pokémon + to evolve. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Methods_of_evolution) + for greater detail. + summary: List evolution triggers + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - evolution + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedEvolutionTriggerSummaryList' + description: '' + /api/v2/evolution-trigger/{id}/: + get: + operationId: evolution_trigger_retrieve + description: Evolution triggers are the events and conditions that cause a Pokémon + to evolve. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Methods_of_evolution) + for greater detail. + summary: Get evolution trigger + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - evolution + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/EvolutionTriggerDetail' + description: '' + /api/v2/generation/: + get: + operationId: generation_list + description: A generation is a grouping of the Pokémon games that separates + them based on the Pokémon they include. In each generation, a new set of Pokémon, + Moves, Abilities and Types that did not exist in the previous generation are + released. + summary: List genrations + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - games + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedGenerationSummaryList' + description: '' + /api/v2/generation/{id}/: + get: + operationId: generation_retrieve + description: A generation is a grouping of the Pokémon games that separates + them based on the Pokémon they include. In each generation, a new set of Pokémon, + Moves, Abilities and Types that did not exist in the previous generation are + released. + summary: Get genration + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - games + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GenerationDetail' + description: '' + /api/v2/gender/: + get: + operationId: gender_list + description: Genders were introduced in Generation II for the purposes of breeding + Pokémon but can also result in visual differences or even different evolutionary + lines. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Gender) + for greater detail. + summary: List genders + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedGenderSummaryList' + description: '' + /api/v2/gender/{id}/: + get: + operationId: gender_retrieve + description: Genders were introduced in Generation II for the purposes of breeding + Pokémon but can also result in visual differences or even different evolutionary + lines. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Gender) + for greater detail. + summary: Get gender + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GenderDetail' + description: '' + /api/v2/growth-rate/: + get: + operationId: growth_rate_list + description: Growth rates are the speed with which Pokémon gain levels through + experience. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Experience) + for greater detail. + summary: List growth rates + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedGrowthRateSummaryList' + description: '' + /api/v2/growth-rate/{id}/: + get: + operationId: growth_rate_retrieve + description: Growth rates are the speed with which Pokémon gain levels through + experience. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Experience) + for greater detail. + summary: Get growth rate + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GrowthRateDetail' + description: '' + /api/v2/item/: + get: + operationId: item_list + description: An item is an object in the games which the player can pick up, + keep in their bag, and use in some manner. They have various uses, including + healing, powering up, helping catch Pokémon, or to access a new area. + summary: List items + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - items + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedItemSummaryList' + description: '' + /api/v2/item/{id}/: + get: + operationId: item_retrieve + description: An item is an object in the games which the player can pick up, + keep in their bag, and use in some manner. They have various uses, including + healing, powering up, helping catch Pokémon, or to access a new area. + summary: Get item + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - items + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ItemDetail' + description: '' + /api/v2/item-category/: + get: + operationId: item_category_list + description: Item categories determine where items will be placed in the players + bag. + summary: List item categories + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - items + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedItemCategorySummaryList' + description: '' + /api/v2/item-category/{id}/: + get: + operationId: item_category_retrieve + description: Item categories determine where items will be placed in the players + bag. + summary: Get item category + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - items + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ItemCategoryDetail' + description: '' + /api/v2/item-attribute/: + get: + operationId: item_attribute_list + description: Item attributes define particular aspects of items, e.g."usable + in battle" or "consumable". + summary: List item attributes + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - items + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedItemAttributeSummaryList' + description: '' + /api/v2/item-attribute/{id}/: + get: + operationId: item_attribute_retrieve + description: Item attributes define particular aspects of items, e.g."usable + in battle" or "consumable". + summary: Get item attribute + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - items + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ItemAttributeDetail' + description: '' + /api/v2/item-fling-effect/: + get: + operationId: item_fling_effect_list + description: The various effects of the move"Fling" when used with different + items. + summary: List item fling effects + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - items + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedItemFlingEffectSummaryList' + description: '' + /api/v2/item-fling-effect/{id}/: + get: + operationId: item_fling_effect_retrieve + description: The various effects of the move"Fling" when used with different + items. + summary: Get item fling effect + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - items + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ItemFlingEffectDetail' + description: '' + /api/v2/item-pocket/: + get: + operationId: item_pocket_list + description: Pockets within the players bag used for storing items by category. + summary: List item pockets + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - items + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedItemPocketSummaryList' + description: '' + /api/v2/item-pocket/{id}/: + get: + operationId: item_pocket_retrieve + description: Pockets within the players bag used for storing items by category. + summary: Get item pocket + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - items + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ItemPocketDetail' + description: '' + /api/v2/language/: + get: + operationId: language_list + description: Languages for translations of API resource information. + summary: List languages + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - utility + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedLanguageSummaryList' + description: '' + /api/v2/language/{id}/: + get: + operationId: language_retrieve + description: Languages for translations of API resource information. + summary: Get language + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - utility + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/LanguageDetail' + description: '' + /api/v2/location/: + get: + operationId: location_list + description: Locations that can be visited within the games. Locations make + up sizable portions of regions, like cities or routes. + summary: List locations + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - location + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedLocationSummaryList' + description: '' + /api/v2/location/{id}/: + get: + operationId: location_retrieve + description: Locations that can be visited within the games. Locations make + up sizable portions of regions, like cities or routes. + summary: Get location + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - location + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/LocationDetail' + description: '' + /api/v2/location-area/: + get: + operationId: location_area_list + description: Location areas are sections of areas, such as floors in a building + or cave. Each area has its own set of possible Pokémon encounters. + summary: List location areas + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + tags: + - location + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedLocationAreaSummaryList' + description: '' + /api/v2/location-area/{id}/: + get: + operationId: location_area_retrieve + description: Location areas are sections of areas, such as floors in a building + or cave. Each area has its own set of possible Pokémon encounters. + summary: Get location area + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this location area. + required: true + tags: + - location + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/LocationAreaDetail' + description: '' + /api/v2/machine/: + get: + operationId: machine_list + description: Machines are the representation of items that teach moves to Pokémon. + They vary from version to version, so it is not certain that one specific + TM or HM corresponds to a single Machine. + summary: List machines + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - machines + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedMachineSummaryList' + description: '' + /api/v2/machine/{id}/: + get: + operationId: machine_retrieve + description: Machines are the representation of items that teach moves to Pokémon. + They vary from version to version, so it is not certain that one specific + TM or HM corresponds to a single Machine. + summary: Get machine + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - machines + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/MachineDetail' + description: '' + /api/v2/move/: + get: + operationId: move_list + description: Moves are the skills of Pokémon in battle. In battle, a Pokémon + uses one move each turn. Some moves (including those learned by Hidden Machine) + can be used outside of battle as well, usually for the purpose of removing + obstacles or exploring new areas. + summary: List moves + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - moves + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedMoveSummaryList' + description: '' + /api/v2/move/{id}/: + get: + operationId: move_retrieve + description: Moves are the skills of Pokémon in battle. In battle, a Pokémon + uses one move each turn. Some moves (including those learned by Hidden Machine) + can be used outside of battle as well, usually for the purpose of removing + obstacles or exploring new areas. + summary: Get move + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - moves + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/MoveDetail' + description: '' + /api/v2/move-ailment/: + get: + operationId: move_ailment_list + description: Move Ailments are status conditions caused by moves used during + battle. See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Status_condition) + for greater detail. + summary: List move meta ailments + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - moves + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedMoveMetaAilmentSummaryList' + description: '' + /api/v2/move-ailment/{id}/: + get: + operationId: move_ailment_retrieve + description: Move Ailments are status conditions caused by moves used during + battle. See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Status_condition) + for greater detail. + summary: Get move meta ailment + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - moves + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/MoveMetaAilmentDetail' + description: '' + /api/v2/move-battle-style/: + get: + operationId: move_battle_style_list + description: Styles of moves when used in the Battle Palace. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Battle_Frontier_(Generation_III)) + for greater detail. + summary: List move battle styles + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - moves + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedMoveBattleStyleSummaryList' + description: '' + /api/v2/move-battle-style/{id}/: + get: + operationId: move_battle_style_retrieve + description: Styles of moves when used in the Battle Palace. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Battle_Frontier_(Generation_III)) + for greater detail. + summary: Get move battle style + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - moves + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/MoveBattleStyleDetail' + description: '' + /api/v2/move-category/: + get: + operationId: move_category_list + description: Very general categories that loosely group move effects. + summary: List move meta categories + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - moves + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedMoveMetaCategorySummaryList' + description: '' + /api/v2/move-category/{id}/: + get: + operationId: move_category_retrieve + description: Very general categories that loosely group move effects. + summary: Get move meta category + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - moves + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/MoveMetaCategoryDetail' + description: '' + /api/v2/move-damage-class/: + get: + operationId: move_damage_class_list + description: Damage classes moves can have, e.g. physical, special, or non-damaging. + summary: List move damage classes + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedMoveDamageClassSummaryList' + description: '' + /api/v2/move-damage-class/{id}/: + get: + operationId: move_damage_class_retrieve + description: Damage classes moves can have, e.g. physical, special, or non-damaging. + summary: Get move damage class + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/MoveDamageClassDetail' + description: '' + /api/v2/move-learn-method/: + get: + operationId: move_learn_method_list + description: Methods by which Pokémon can learn moves. + summary: List move learn methods + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - moves + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedMoveLearnMethodSummaryList' + description: '' + /api/v2/move-learn-method/{id}/: + get: + operationId: move_learn_method_retrieve + description: Methods by which Pokémon can learn moves. + summary: Get move learn method + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - moves + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/MoveLearnMethodDetail' + description: '' + /api/v2/move-target/: + get: + operationId: move_target_list + description: Targets moves can be directed at during battle. Targets can be + Pokémon, environments or even other moves. + summary: List move targets + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - moves + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedMoveTargetSummaryList' + description: '' + /api/v2/move-target/{id}/: + get: + operationId: move_target_retrieve + description: Targets moves can be directed at during battle. Targets can be + Pokémon, environments or even other moves. + summary: Get move target + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - moves + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/MoveTargetDetail' + description: '' + /api/v2/nature/: + get: + operationId: nature_list + description: Natures influence how a Pokémon's stats grow. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Nature) + for greater detail. + summary: List natures + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedNatureSummaryList' + description: '' + /api/v2/nature/{id}/: + get: + operationId: nature_retrieve + description: Natures influence how a Pokémon's stats grow. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Nature) + for greater detail. + summary: Get nature + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/NatureDetail' + description: '' + /api/v2/pal-park-area/: + get: + operationId: pal_park_area_list + description: Areas used for grouping Pokémon encounters in Pal Park. They're + like habitats that are specific to Pal Park. + summary: List pal park areas + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - location + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedPalParkAreaSummaryList' + description: '' + /api/v2/pal-park-area/{id}/: + get: + operationId: pal_park_area_retrieve + description: Areas used for grouping Pokémon encounters in Pal Park. They're + like habitats that are specific to Pal Park. + summary: Get pal park area + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - location + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PalParkAreaDetail' + description: '' + /api/v2/pokedex/: + get: + operationId: pokedex_list + description: A Pokédex is a handheld electronic encyclopedia device; one which + is capable of recording and retaining information of the various Pokémon in + a given region with the exception of the national dex and some smaller dexes + related to portions of a region. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pokedex) + for greater detail. + summary: List pokedex + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - games + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedPokedexSummaryList' + description: '' + /api/v2/pokedex/{id}/: + get: + operationId: pokedex_retrieve + description: A Pokédex is a handheld electronic encyclopedia device; one which + is capable of recording and retaining information of the various Pokémon in + a given region with the exception of the national dex and some smaller dexes + related to portions of a region. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pokedex) + for greater detail. + summary: Get pokedex + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - games + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PokedexDetail' + description: '' + /api/v2/pokemon/: + get: + operationId: pokemon_list + description: Pokémon are the creatures that inhabit the world of the Pokémon + games. They can be caught using Pokéballs and trained by battling with other + Pokémon. Each Pokémon belongs to a specific species but may take on a variant + which makes it differ from other Pokémon of the same species, such as base + stats, available abilities and typings. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_(species)) + for greater detail. + summary: List pokemon + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedPokemonSummaryList' + description: '' + /api/v2/pokemon/{id}/: + get: + operationId: pokemon_retrieve + description: Pokémon are the creatures that inhabit the world of the Pokémon + games. They can be caught using Pokéballs and trained by battling with other + Pokémon. Each Pokémon belongs to a specific species but may take on a variant + which makes it differ from other Pokémon of the same species, such as base + stats, available abilities and typings. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_(species)) + for greater detail. + summary: Get pokemon + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PokemonDetail' + description: '' + /api/v2/pokemon-color/: + get: + operationId: pokemon_color_list + description: Colors used for sorting Pokémon in a Pokédex. The color listed + in the Pokédex is usually the color most apparent or covering each Pokémon's + body. No orange category exists; Pokémon that are primarily orange are listed + as red or brown. + summary: List pokemon colors + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedPokemonColorSummaryList' + description: '' + /api/v2/pokemon-color/{id}/: + get: + operationId: pokemon_color_retrieve + description: Colors used for sorting Pokémon in a Pokédex. The color listed + in the Pokédex is usually the color most apparent or covering each Pokémon's + body. No orange category exists; Pokémon that are primarily orange are listed + as red or brown. + summary: Get pokemon color + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PokemonColorDetail' + description: '' + /api/v2/pokemon-form/: + get: + operationId: pokemon_form_list + description: Some Pokémon may appear in one of multiple, visually different + forms. These differences are purely cosmetic. For variations within a Pokémon + species, which do differ in more than just visuals, the 'Pokémon' entity is + used to represent such a variety. + summary: List pokemon forms + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedPokemonFormSummaryList' + description: '' + /api/v2/pokemon-form/{id}/: + get: + operationId: pokemon_form_retrieve + description: Some Pokémon may appear in one of multiple, visually different + forms. These differences are purely cosmetic. For variations within a Pokémon + species, which do differ in more than just visuals, the 'Pokémon' entity is + used to represent such a variety. + summary: Get pokemon form + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PokemonFormDetail' + description: '' + /api/v2/pokemon-habitat/: + get: + operationId: pokemon_habitat_list + description: Habitats are generally different terrain Pokémon can be found in + but can also be areas designated for rare or legendary Pokémon. + summary: List pokemom habitas + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedPokemonHabitatSummaryList' + description: '' + /api/v2/pokemon-habitat/{id}/: + get: + operationId: pokemon_habitat_retrieve + description: Habitats are generally different terrain Pokémon can be found in + but can also be areas designated for rare or legendary Pokémon. + summary: Get pokemom habita + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PokemonHabitatDetail' + description: '' + /api/v2/pokemon-shape/: + get: + operationId: pokemon_shape_list + description: Shapes used for sorting Pokémon in a Pokédex. + summary: List pokemon shapes + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedPokemonShapeSummaryList' + description: '' + /api/v2/pokemon-shape/{id}/: + get: + operationId: pokemon_shape_retrieve + description: Shapes used for sorting Pokémon in a Pokédex. + summary: Get pokemon shape + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PokemonShapeDetail' + description: '' + /api/v2/pokemon-species/: + get: + operationId: pokemon_species_list + description: A Pokémon Species forms the basis for at least one Pokémon. Attributes + of a Pokémon species are shared across all varieties of Pokémon within the + species. A good example is Wormadam; Wormadam is the species which can be + found in three different varieties, Wormadam-Trash, Wormadam-Sandy and Wormadam-Plant. + summary: List pokemon species + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedPokemonSpeciesSummaryList' + description: '' + /api/v2/pokemon-species/{id}/: + get: + operationId: pokemon_species_retrieve + description: A Pokémon Species forms the basis for at least one Pokémon. Attributes + of a Pokémon species are shared across all varieties of Pokémon within the + species. A good example is Wormadam; Wormadam is the species which can be + found in three different varieties, Wormadam-Trash, Wormadam-Sandy and Wormadam-Plant. + summary: Get pokemon species + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PokemonSpeciesDetail' + description: '' + /api/v2/pokeathlon-stat/: + get: + operationId: pokeathlon_stat_list + description: Pokeathlon Stats are different attributes of a Pokémon's performance + in Pokéathlons. In Pokéathlons, competitions happen on different courses; + one for each of the different Pokéathlon stats. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9athlon) + for greater detail. + summary: List pokeathlon stats + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedPokeathlonStatSummaryList' + description: '' + /api/v2/pokeathlon-stat/{id}/: + get: + operationId: pokeathlon_stat_retrieve + description: Pokeathlon Stats are different attributes of a Pokémon's performance + in Pokéathlons. In Pokéathlons, competitions happen on different courses; + one for each of the different Pokéathlon stats. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9athlon) + for greater detail. + summary: Get pokeathlon stat + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PokeathlonStatDetail' + description: '' + /api/v2/region/: + get: + operationId: region_list + description: A region is an organized area of the Pokémon world. Most often, + the main difference between regions is the species of Pokémon that can be + encountered within them. + summary: List regions + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - location + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedRegionSummaryList' + description: '' + /api/v2/region/{id}/: + get: + operationId: region_retrieve + description: A region is an organized area of the Pokémon world. Most often, + the main difference between regions is the species of Pokémon that can be + encountered within them. + summary: Get region + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - location + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RegionDetail' + description: '' + /api/v2/stat/: + get: + operationId: stat_list + description: Stats determine certain aspects of battles. Each Pokémon has a + value for each stat which grows as they gain levels and can be altered momentarily + by effects in battles. + summary: List stats + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedStatSummaryList' + description: '' + /api/v2/stat/{id}/: + get: + operationId: stat_retrieve + description: Stats determine certain aspects of battles. Each Pokémon has a + value for each stat which grows as they gain levels and can be altered momentarily + by effects in battles. + summary: Get stat + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/StatDetail' + description: '' + /api/v2/super-contest-effect/: + get: + operationId: super_contest_effect_list + description: Super contest effects refer to the effects of moves when used in + super contests. + summary: List super contest effects + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - contests + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSuperContestEffectSummaryList' + description: '' + /api/v2/super-contest-effect/{id}/: + get: + operationId: super_contest_effect_retrieve + description: Super contest effects refer to the effects of moves when used in + super contests. + summary: Get super contest effect + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - contests + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SuperContestEffectDetail' + description: '' + /api/v2/type/: + get: + operationId: type_list + description: 'Types are properties for Pokémon and their moves. Each type has + three properties: which types of Pokémon it is super effective against, which + types of Pokémon it is not very effective against, and which types of Pokémon + it is completely ineffective against.' + summary: List types + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedTypeSummaryList' + description: '' + /api/v2/type/{id}/: + get: + operationId: type_retrieve + description: 'Types are properties for Pokémon and their moves. Each type has + three properties: which types of Pokémon it is super effective against, which + types of Pokémon it is not very effective against, and which types of Pokémon + it is completely ineffective against.' + summary: Get types + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - pokemon + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/TypeDetail' + description: '' + /api/v2/version/: + get: + operationId: version_list + description: Versions of the games, e.g., Red, Blue or Yellow. + summary: List versions + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - games + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedVersionSummaryList' + description: '' + /api/v2/version/{id}/: + get: + operationId: version_retrieve + description: Versions of the games, e.g., Red, Blue or Yellow. + summary: Get version + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - games + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/VersionDetail' + description: '' + /api/v2/version-group/: + get: + operationId: version_group_list + description: Version groups categorize highly similar versions of the games. + summary: List version groups + parameters: + - name: limit + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: offset + required: false + in: query + description: The initial index from which to return the results. + schema: + type: integer + - in: query + name: q + schema: + type: string + description: "> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\n\ + Case-insensitive query applied on the `name` property. " + tags: + - games + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedVersionGroupSummaryList' + description: '' + /api/v2/version-group/{id}/: + get: + operationId: version_group_retrieve + description: Version groups categorize highly similar versions of the games. + summary: Get version group + parameters: + - in: path + name: id + schema: + type: string + description: This parameter can be a string or an integer. + required: true + tags: + - games + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/VersionGroupDetail' + description: '' + /api/v2/pokemon/{pokemon_id}/encounters: + get: + operationId: pokemon_encounters_retrieve + description: Handles Pokemon Encounters as a sub-resource. + summary: Get pokemon encounter + parameters: + - in: path + name: pokemon_id + schema: + type: string + pattern: ^\d+$ + required: true + tags: + - encounters + security: + - cookieAuth: [] + - basicAuth: [] + - {} + responses: + '200': + content: + application/json: + schema: + type: array + items: + type: object + required: + - location_area + - version_details + properties: + location_area: + type: object + required: + - name + - url + properties: + name: + type: string + example: cerulean-city-area + url: + type: string + format: uri + example: https://pokeapi.co/api/v2/location-area/281/ + version_details: + type: array + items: + type: object + required: + - encounter_details + - max_chance + - version + properties: + encounter_details: + type: array + items: + type: object + required: + - chance + - condition_values + - max_level + - method + - min_level + properties: + chance: + type: number + example: 100 + condition_values: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + example: story-progress-beat-red + url: + type: string + format: uri + example: https://pokeapi.co/api/v2/encounter-condition-value/55/ + max_level: + type: number + example: 10 + method: + type: object + required: + - name + - url + properties: + name: + type: string + example: gift + url: + type: string + format: uri + example: https://pokeapi.co/api/v2/encounter-method/18/ + min_level: + type: number + example: 10 + max_chance: + type: number + example: 100 + version: + type: object + required: + - name + - url + properties: + name: + type: string + example: red + url: + type: string + format: uri + example: https://pokeapi.co/api/v2/version/1/ + description: '' +components: + schemas: + AbilityChange: + type: object + properties: + version_group: + $ref: '#/components/schemas/VersionGroupSummary' + effect_entries: + type: array + items: + $ref: '#/components/schemas/AbilityChangeEffectText' + readOnly: true + required: + - effect_entries + - version_group + AbilityChangeEffectText: + type: object + properties: + effect: + type: string + maxLength: 6000 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - effect + - language + AbilityDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + is_main_series: + type: boolean + generation: + $ref: '#/components/schemas/GenerationSummary' + names: + type: array + items: + $ref: '#/components/schemas/AbilityName' + readOnly: true + effect_entries: + type: array + items: + $ref: '#/components/schemas/AbilityEffectText' + readOnly: true + effect_changes: + type: array + items: + $ref: '#/components/schemas/AbilityChange' + readOnly: true + flavor_text_entries: + type: array + items: + $ref: '#/components/schemas/AbilityFlavorText' + readOnly: true + pokemon: + type: array + items: + type: object + required: + - is_hidden + - slot + - pokemon + properties: + is_hidden: + type: boolean + slot: + type: integer + format: int32 + examples: + - 3 + pokemon: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - gloom + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/pokemon/44/ + readOnly: true + required: + - effect_changes + - effect_entries + - flavor_text_entries + - generation + - id + - name + - names + - pokemon + AbilityEffectText: + type: object + properties: + effect: + type: string + maxLength: 6000 + short_effect: + type: string + maxLength: 300 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - effect + - language + - short_effect + AbilityFlavorText: + type: object + properties: + flavor_text: + type: string + language: + $ref: '#/components/schemas/LanguageSummary' + version_group: + $ref: '#/components/schemas/VersionGroupSummary' + required: + - flavor_text + - language + - version_group + AbilityName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + AbilitySummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + BerryDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + growth_time: + type: integer + max_harvest: + type: integer + natural_gift_power: + type: integer + size: + type: integer + smoothness: + type: integer + soil_dryness: + type: integer + firmness: + $ref: '#/components/schemas/BerryFirmnessSummary' + flavors: + type: array + items: + type: object + required: + - potency + - flavor + properties: + potency: + type: integer + examples: + - 10 + flavor: + type: object + require: + - name + - url + properties: + name: + type: string + description: The name of the flavor + examples: + - spicy + url: + type: string + format: uri + description: The URL to get more information about the flavor + examples: + - https://pokeapi.co/api/v2/berry-flavor/1/ + readOnly: true + item: + $ref: '#/components/schemas/ItemSummary' + natural_gift_type: + $ref: '#/components/schemas/TypeSummary' + required: + - firmness + - flavors + - growth_time + - id + - item + - max_harvest + - name + - natural_gift_power + - natural_gift_type + - size + - smoothness + - soil_dryness + BerryFirmnessDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + berries: + type: array + items: + $ref: '#/components/schemas/BerrySummary' + readOnly: true + names: + type: array + items: + $ref: '#/components/schemas/BerryFirmnessName' + readOnly: true + required: + - berries + - id + - name + - names + BerryFirmnessName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + BerryFirmnessSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + BerryFlavorDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + berries: + type: array + items: + type: object + required: + - potency + - berry + properties: + potency: + type: integer + examples: + - 10 + berry: + type: object + require: + - name + - url + properties: + name: + type: string + description: The name of the berry + examples: + - rowap + url: + type: string + format: uri + description: The URL to get more information about the berry + examples: + - https://pokeapi.co/api/v2/berry/64/ + readOnly: true + contest_type: + $ref: '#/components/schemas/ContestTypeSummary' + names: + type: array + items: + $ref: '#/components/schemas/BerryFlavorName' + readOnly: true + required: + - berries + - contest_type + - id + - name + - names + BerryFlavorName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + BerryFlavorSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + BerrySummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + CharacteristicDescription: + type: object + properties: + description: + type: string + maxLength: 1000 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + CharacteristicDetail: + type: object + properties: + id: + type: integer + readOnly: true + gene_modulo: + type: integer + possible_values: + type: array + items: + type: integer + format: int32 + examples: + - - 0 + - 5 + - 10 + - 15 + - 20 + - 25 + - 30 + readOnly: true + highest_stat: + $ref: '#/components/schemas/StatSummary' + descriptions: + type: array + items: + $ref: '#/components/schemas/CharacteristicDescription' + readOnly: true + required: + - descriptions + - gene_modulo + - highest_stat + - id + - possible_values + CharacteristicSummary: + type: object + properties: + url: + type: string + format: uri + readOnly: true + required: + - url + ContestEffectDetail: + type: object + properties: + id: + type: integer + readOnly: true + appeal: + type: integer + jam: + type: integer + effect_entries: + type: array + items: + $ref: '#/components/schemas/ContestEffectEffectText' + readOnly: true + flavor_text_entries: + type: array + items: + $ref: '#/components/schemas/ContestEffectFlavorText' + readOnly: true + required: + - appeal + - effect_entries + - flavor_text_entries + - id + - jam + ContestEffectEffectText: + type: object + properties: + effect: + type: string + maxLength: 6000 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - effect + - language + ContestEffectFlavorText: + type: object + properties: + flavor_text: + type: string + maxLength: 500 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - flavor_text + - language + ContestEffectSummary: + type: object + properties: + url: + type: string + format: uri + readOnly: true + required: + - url + ContestTypeDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + berry_flavor: + allOf: + - $ref: '#/components/schemas/BerryFlavorSummary' + readOnly: true + names: + type: array + items: + $ref: '#/components/schemas/ContestTypeName' + readOnly: true + required: + - berry_flavor + - id + - name + - names + ContestTypeName: + type: object + properties: + name: + type: string + maxLength: 100 + color: + type: string + maxLength: 10 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - color + - language + - name + ContestTypeSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + EggGroupDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + names: + type: array + items: + $ref: '#/components/schemas/EggGroupName' + readOnly: true + pokemon_species: + type: array + items: + type: object + required: + - potency + - flavor + properties: + name: + type: string + description: Pokemon species name. + examples: + - bulbasaur + url: + type: string + format: uri + description: The URL to get more information about the species + examples: + - https://pokeapi.co/api/v2/pokemon-species/1/ + readOnly: true + required: + - id + - name + - names + - pokemon_species + EggGroupName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + EggGroupSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + EncounterConditionDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + values: + type: array + items: + $ref: '#/components/schemas/EncounterConditionValueSummary' + readOnly: true + names: + type: array + items: + $ref: '#/components/schemas/EncounterConditionName' + readOnly: true + required: + - id + - name + - names + - values + EncounterConditionName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + EncounterConditionSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + EncounterConditionValueDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + condition: + $ref: '#/components/schemas/EncounterConditionSummary' + names: + type: array + items: + $ref: '#/components/schemas/EncounterConditionValueName' + readOnly: true + required: + - condition + - id + - name + - names + EncounterConditionValueName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + EncounterConditionValueSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + EncounterMethodDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + order: + type: + - integer + - 'null' + names: + type: array + items: + $ref: '#/components/schemas/EncounterMethodName' + readOnly: true + required: + - id + - name + - names + EncounterMethodName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + EncounterMethodSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + EvolutionChainDetail: + type: object + properties: + id: + type: integer + readOnly: true + baby_trigger_item: + $ref: '#/components/schemas/ItemSummary' + chain: + type: object + required: + - evolution_details + - evolves_to + - is_baby + - species + properties: + evolution_details: + type: array + items: {} + examples: [] + evolves_to: + type: array + items: + type: object + required: + - evolution_details + - evolves_to + - is_baby + - species + properties: + evolution_details: + type: array + items: + type: object + required: + - gender + - held_item + - item + - known_move + - known_move_type + - location + - min_affection + - min_beauty + - min_happiness + - min_level + - needs_overworld_rain + - party_species + - party_type + - relative_physical_stats + - time_of_day + - trade_species + - trigger + - turn_upside_down + properties: + gender: + type: object + nullable: true + required: + - name + - url + properties: + name: + type: string + examples: + - 1 + url: + type: string + format: uri + examples: + - 2 + held_item: + type: object + nullable: true + required: + - name + - url + properties: + name: + type: string + examples: + - 1 + url: + type: string + format: uri + examples: + - 2 + item: + type: object + nullable: true + required: + - name + - url + properties: + name: + type: string + examples: + - 1 + url: + type: string + format: uri + examples: + - 2 + known_move: + type: '' + nullable: true + known_move_type: + type: '' + nullable: true + location: + type: object + nullable: true + required: + - name + - url + properties: + name: + type: string + url: + type: string + format: uri + min_affection: + type: integer + format: int32 + nullable: true + min_beauty: + type: integer + format: int32 + nullable: true + min_happiness: + type: integer + format: int32 + nullable: true + min_level: + type: integer + format: int32 + nullable: true + needs_overworld_rain: + type: boolean + nullable: true + party_species: + type: string + nullable: true + party_type: + type: string + nullable: true + relative_physical_stats: + type: string + nullable: true + time_of_day: + type: string + trade_species: + type: string + nullable: true + trigger: + type: object + required: + - name + - url + properties: + name: + type: string + url: + type: string + format: uri + turn_upside_down: + type: boolean + is_baby: + type: boolean + species: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - happiny + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/pokemon-species/440/ + is_baby: + type: boolean + species: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - happiny + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/pokemon-species/440/ + readOnly: true + required: + - baby_trigger_item + - chain + - id + EvolutionChainSummary: + type: object + properties: + url: + type: string + format: uri + readOnly: true + required: + - url + EvolutionTriggerDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + names: + type: array + items: + $ref: '#/components/schemas/EvolutionTriggerName' + readOnly: true + pokemon_species: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - ivysaur + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/pokemon-species/2/ + readOnly: true + required: + - id + - name + - names + - pokemon_species + EvolutionTriggerName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + EvolutionTriggerSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + Experience: + type: object + properties: + level: + type: integer + experience: + type: integer + required: + - experience + - level + GenderDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + pokemon_species_details: + type: array + items: + type: object + required: + - rate + - pokemon_species + properties: + rate: + type: integer + format: int32 + examples: + - 1 + pokemon_species: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - bulbasaur + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/pokemon-species/1/ + readOnly: true + required_for_evolution: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - wormadam + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/pokemon-species/413/ + readOnly: true + required: + - id + - name + - pokemon_species_details + - required_for_evolution + GenderSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + GenerationDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + abilities: + type: array + items: + $ref: '#/components/schemas/AbilitySummary' + readOnly: true + main_region: + $ref: '#/components/schemas/RegionSummary' + moves: + type: array + items: + $ref: '#/components/schemas/MoveSummary' + readOnly: true + names: + type: array + items: + $ref: '#/components/schemas/GenerationName' + readOnly: true + pokemon_species: + type: array + items: + $ref: '#/components/schemas/PokemonSpeciesSummary' + readOnly: true + types: + type: array + items: + $ref: '#/components/schemas/TypeSummary' + readOnly: true + version_groups: + type: array + items: + $ref: '#/components/schemas/VersionGroupSummary' + readOnly: true + required: + - abilities + - id + - main_region + - moves + - name + - names + - pokemon_species + - types + - version_groups + GenerationName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + GenerationSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + GrowthRateDescription: + type: object + properties: + description: + type: string + maxLength: 1000 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + GrowthRateDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + formula: + type: string + maxLength: 500 + descriptions: + type: array + items: + $ref: '#/components/schemas/GrowthRateDescription' + readOnly: true + levels: + type: array + items: + $ref: '#/components/schemas/Experience' + readOnly: true + pokemon_species: + type: array + items: + $ref: '#/components/schemas/PokemonSpeciesSummary' + readOnly: true + required: + - descriptions + - formula + - id + - levels + - name + - pokemon_species + GrowthRateSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + ItemAttributeDescription: + type: object + properties: + description: + type: string + maxLength: 1000 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + ItemAttributeDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + descriptions: + type: array + items: + $ref: '#/components/schemas/ItemAttributeDescription' + readOnly: true + items: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - master-ball + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/item/1/ + readOnly: true + names: + type: array + items: + $ref: '#/components/schemas/ItemAttributeName' + readOnly: true + required: + - descriptions + - id + - items + - name + - names + ItemAttributeName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + ItemAttributeSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + ItemCategoryDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + items: + type: array + items: + $ref: '#/components/schemas/ItemSummary' + readOnly: true + names: + type: array + items: + $ref: '#/components/schemas/ItemCategoryName' + readOnly: true + pocket: + $ref: '#/components/schemas/ItemPocketSummary' + required: + - id + - items + - name + - names + - pocket + ItemCategoryName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + ItemCategorySummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + ItemDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + cost: + type: + - integer + - 'null' + fling_power: + type: + - integer + - 'null' + fling_effect: + $ref: '#/components/schemas/ItemFlingEffectSummary' + attributes: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - countable + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/item-attribute/1/ + readOnly: true + category: + $ref: '#/components/schemas/ItemCategorySummary' + effect_entries: + type: array + items: + $ref: '#/components/schemas/ItemEffectText' + readOnly: true + flavor_text_entries: + type: array + items: + $ref: '#/components/schemas/ItemFlavorText' + readOnly: true + game_indices: + type: array + items: + $ref: '#/components/schemas/ItemGameIndex' + readOnly: true + names: + type: array + items: + $ref: '#/components/schemas/ItemName' + readOnly: true + held_by_pokemon: + type: array + items: + type: object + required: + - pokemon + - version-details + properties: + pokemon: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - farfetchd + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/pokemon/83/ + version-details: + type: array + items: + type: object + required: + - rarity + - version + properties: + rarity: + type: integer + format: int32 + examples: + - 5 + version: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - ruby + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/version/7/ + readOnly: true + sprites: + type: object + required: + - default + properties: + default: + type: string + format: uri + examples: + - https://pokeapi.co/media/sprites/items/master-ball.png + readOnly: true + baby_trigger_for: + type: object + required: + - url + properties: + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/evolution-chain/51/ + readOnly: true + machines: + type: array + items: + type: object + required: + - machine + - version_group + properties: + machine: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/machine/1/ + version_group: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - sword-shield + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/version-group/20/ + readOnly: true + required: + - attributes + - baby_trigger_for + - category + - effect_entries + - flavor_text_entries + - fling_effect + - game_indices + - held_by_pokemon + - id + - machines + - name + - names + - sprites + ItemEffectText: + type: object + properties: + effect: + type: string + maxLength: 6000 + short_effect: + type: string + maxLength: 300 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - effect + - language + - short_effect + ItemFlavorText: + type: object + properties: + text: + type: string + version_group: + $ref: '#/components/schemas/VersionGroupSummary' + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - text + - version_group + ItemFlingEffectDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + effect_entries: + type: array + items: + $ref: '#/components/schemas/ItemFlingEffectEffectText' + readOnly: true + items: + type: array + items: + $ref: '#/components/schemas/ItemSummary' + readOnly: true + required: + - effect_entries + - id + - items + - name + ItemFlingEffectEffectText: + type: object + properties: + effect: + type: string + maxLength: 6000 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - effect + - language + ItemFlingEffectSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + ItemGameIndex: + type: object + properties: + game_index: + type: integer + generation: + $ref: '#/components/schemas/GenerationSummary' + required: + - game_index + - generation + ItemName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + ItemPocketDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + categories: + type: array + items: + $ref: '#/components/schemas/ItemCategorySummary' + readOnly: true + names: + type: array + items: + $ref: '#/components/schemas/ItemPocketName' + readOnly: true + required: + - categories + - id + - name + - names + ItemPocketName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + ItemPocketSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + ItemSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + LanguageDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + official: + type: boolean + iso639: + type: string + maxLength: 10 + iso3166: + type: string + maxLength: 2 + names: + type: array + items: + $ref: '#/components/schemas/LanguageName' + readOnly: true + required: + - id + - iso3166 + - iso639 + - name + - names + LanguageName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + LanguageSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + LocationAreaDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + game_index: + type: integer + encounter_method_rates: + type: array + items: + type: object + required: + - encounter_method + - version_details + properties: + encounter_method: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - old-rod + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/encounter-method/2/ + version_details: + type: array + items: + type: object + required: + - rate + - version + properties: + rate: + type: integer + format: int32 + examples: + - 5 + version: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - platinum + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/version/14/ + readOnly: true + location: + $ref: '#/components/schemas/LocationSummary' + names: + type: array + items: + $ref: '#/components/schemas/LocationAreaName' + readOnly: true + pokemon_encounters: + type: array + items: + type: object + required: + - pokemon + - version_details + properties: + pokemon: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - tentacool + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/pokemon/72/ + version_details: + type: array + items: + type: object + required: + - version + - max_chance + - encounter_details + properties: + version: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - diamond + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/version/12/ + max_chance: + type: integer + format: int32 + examples: + - 60 + encounter_details: + type: object + required: + - min_level + - max_level + - condition_value + - chance + - method + properties: + min_level: + type: integer + format: int32 + examples: + - 20 + max_level: + type: integer + format: int32 + examples: + - 30 + condition_values: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - slot2-sapphire + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/encounter-condition-value/10/ + chance: + type: integer + format: int32 + examples: + - 60 + method: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - surf + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/encounter-method/5/ + readOnly: true + required: + - encounter_method_rates + - game_index + - id + - location + - name + - names + - pokemon_encounters + LocationAreaName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + LocationAreaSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + LocationDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + region: + $ref: '#/components/schemas/RegionSummary' + names: + type: array + items: + $ref: '#/components/schemas/LocationName' + readOnly: true + game_indices: + type: array + items: + $ref: '#/components/schemas/LocationGameIndex' + readOnly: true + areas: + type: array + items: + $ref: '#/components/schemas/LocationAreaSummary' + readOnly: true + required: + - areas + - game_indices + - id + - name + - names + - region + LocationGameIndex: + type: object + properties: + game_index: + type: integer + generation: + $ref: '#/components/schemas/GenerationSummary' + required: + - game_index + - generation + LocationName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + LocationSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + MachineDetail: + type: object + properties: + id: + type: integer + readOnly: true + item: + $ref: '#/components/schemas/ItemSummary' + version_group: + $ref: '#/components/schemas/VersionGroupSummary' + move: + $ref: '#/components/schemas/MoveSummary' + required: + - id + - item + - move + - version_group + MachineSummary: + type: object + properties: + url: + type: string + format: uri + readOnly: true + required: + - url + MoveBattleStyleDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + names: + type: array + items: + $ref: '#/components/schemas/MoveBattleStyleName' + readOnly: true + required: + - id + - name + - names + MoveBattleStyleName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + MoveBattleStyleSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + MoveChange: + type: object + properties: + accuracy: + type: + - integer + - 'null' + power: + type: + - integer + - 'null' + pp: + type: + - integer + - 'null' + effect_chance: + type: integer + effect_entries: + type: array + items: + type: object + required: + - effect + - short_effect + - language + properties: + effect: + type: string + examples: + - Inflicts [regular damage]{mechanic:regular-damage}. + short_effect: + type: string + examples: + - Inflicts regular damage with no additional effect. + language: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - en + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/language/9/ + readOnly: true + type: + $ref: '#/components/schemas/TypeSummary' + version_group: + $ref: '#/components/schemas/VersionGroupSummary' + required: + - effect_chance + - effect_entries + - type + - version_group + MoveDamageClassDescription: + type: object + properties: + description: + type: string + maxLength: 1000 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + MoveDamageClassDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + descriptions: + type: array + items: + $ref: '#/components/schemas/MoveDamageClassDescription' + readOnly: true + moves: + type: array + items: + $ref: '#/components/schemas/MoveSummary' + readOnly: true + names: + type: array + items: + $ref: '#/components/schemas/MoveDamageClassName' + readOnly: true + required: + - descriptions + - id + - moves + - name + - names + MoveDamageClassName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + MoveDamageClassSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + MoveDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + accuracy: + type: + - integer + - 'null' + effect_chance: + type: integer + pp: + type: + - integer + - 'null' + priority: + type: + - integer + - 'null' + power: + type: + - integer + - 'null' + contest_combos: + type: object + required: + - normal + - super + properties: + normal: + type: object + required: + - use_before + - use_after + properties: + use_before: + type: array + nullable: true + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - fire-punch + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/move/7/ + use_after: + type: array + nullable: true + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - ice-punch + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/move/8/ + super: + type: object + required: + - use_before + - use_after + properties: + use_before: + type: array + nullable: true + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - night-slash + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/move/400/ + use_after: + type: array + nullable: true + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - focus-energy + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/move/116/ + readOnly: true + contest_type: + $ref: '#/components/schemas/ContestTypeSummary' + contest_effect: + $ref: '#/components/schemas/ContestEffectSummary' + damage_class: + $ref: '#/components/schemas/MoveDamageClassSummary' + effect_entries: + type: array + items: + type: object + required: + - effect + - short_effect + - language + properties: + effect: + type: string + examples: + - Inflicts [regular damage]{mechanic:regular-damage}. + short_effect: + type: string + examples: + - Inflicts regular damage with no additional effect. + language: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - en + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/language/9/ + readOnly: true + effect_changes: + type: array + items: + type: object + required: + - effect_entries + - version_group + properties: + effect_entries: + type: array + items: + type: object + required: + - effect + - language + properties: + effect: + type: string + examples: + - Hits Pokémon under the effects of dig and fly. + language: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - en + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/language/9/ + version_group: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - gold-silver + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/version-group/3/ + readOnly: true + generation: + $ref: '#/components/schemas/GenerationSummary' + meta: + allOf: + - $ref: '#/components/schemas/MoveMeta' + readOnly: true + names: + type: array + items: + $ref: '#/components/schemas/MoveName' + readOnly: true + past_values: + type: array + items: + $ref: '#/components/schemas/MoveChange' + readOnly: true + stat_changes: + type: array + items: + type: object + required: + - change + - stat + properties: + change: + type: integer + format: int32 + examples: + - 2 + stat: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - attack + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/stat/1/ + readOnly: true + super_contest_effect: + $ref: '#/components/schemas/SuperContestEffectSummary' + target: + $ref: '#/components/schemas/MoveTargetSummary' + type: + $ref: '#/components/schemas/TypeSummary' + machines: + type: array + items: + type: object + required: + - machine + - version_group + properties: + machine: + type: object + required: + - url + properties: + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/machine/1/ + version_group: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - sword-shield + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/version-group/1/ + readOnly: true + flavor_text_entries: + type: array + items: + $ref: '#/components/schemas/MoveFlavorText' + readOnly: true + learned_by_pokemon: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - clefairy + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/pokemon/35/ + readOnly: true + required: + - contest_combos + - contest_effect + - contest_type + - damage_class + - effect_chance + - effect_changes + - effect_entries + - flavor_text_entries + - generation + - id + - learned_by_pokemon + - machines + - meta + - name + - names + - past_values + - stat_changes + - super_contest_effect + - target + - type + MoveFlavorText: + type: object + properties: + flavor_text: + type: string + language: + $ref: '#/components/schemas/LanguageSummary' + version_group: + $ref: '#/components/schemas/VersionGroupSummary' + required: + - flavor_text + - language + - version_group + MoveLearnMethodDescription: + type: object + properties: + description: + type: string + maxLength: 1000 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + MoveLearnMethodDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + names: + type: array + items: + $ref: '#/components/schemas/MoveLearnMethodName' + readOnly: true + descriptions: + type: array + items: + $ref: '#/components/schemas/MoveLearnMethodDescription' + readOnly: true + version_groups: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - red-blue + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/version-group/1/ + readOnly: true + required: + - descriptions + - id + - name + - names + - version_groups + MoveLearnMethodName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + MoveLearnMethodSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + MoveMeta: + type: object + properties: + ailment: + $ref: '#/components/schemas/MoveMetaAilmentSummary' + category: + $ref: '#/components/schemas/MoveMetaCategorySummary' + min_hits: + type: + - integer + - 'null' + max_hits: + type: + - integer + - 'null' + min_turns: + type: + - integer + - 'null' + max_turns: + type: + - integer + - 'null' + drain: + type: + - integer + - 'null' + healing: + type: + - integer + - 'null' + crit_rate: + type: + - integer + - 'null' + ailment_chance: + type: + - integer + - 'null' + flinch_chance: + type: + - integer + - 'null' + stat_chance: + type: + - integer + - 'null' + required: + - ailment + - category + MoveMetaAilmentDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + moves: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - thunder-punch + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/move/9/ + readOnly: true + names: + type: array + items: + $ref: '#/components/schemas/MoveMetaAilmentName' + readOnly: true + required: + - id + - moves + - name + - names + MoveMetaAilmentName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + MoveMetaAilmentSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + MoveMetaCategoryDescription: + type: object + properties: + description: + type: string + maxLength: 1000 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + MoveMetaCategoryDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + descriptions: + type: array + items: + $ref: '#/components/schemas/MoveMetaCategoryDescription' + readOnly: true + moves: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - sing + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/move/47/ + readOnly: true + required: + - descriptions + - id + - moves + - name + MoveMetaCategorySummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + MoveName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + MoveSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + MoveTargetDescription: + type: object + properties: + description: + type: string + maxLength: 1000 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + MoveTargetDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + descriptions: + type: array + items: + $ref: '#/components/schemas/MoveTargetDescription' + readOnly: true + moves: + type: array + items: + $ref: '#/components/schemas/MoveSummary' + readOnly: true + names: + type: array + items: + $ref: '#/components/schemas/MoveTargetName' + readOnly: true + required: + - descriptions + - id + - moves + - name + - names + MoveTargetName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + MoveTargetSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + NatureBattleStylePreference: + type: object + properties: + low_hp_preference: + type: integer + high_hp_preference: + type: integer + move_battle_style: + $ref: '#/components/schemas/MoveBattleStyleSummary' + required: + - high_hp_preference + - low_hp_preference + - move_battle_style + NatureDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + decreased_stat: + $ref: '#/components/schemas/StatSummary' + increased_stat: + $ref: '#/components/schemas/StatSummary' + likes_flavor: + $ref: '#/components/schemas/BerryFlavorSummary' + hates_flavor: + $ref: '#/components/schemas/BerryFlavorSummary' + berries: + type: array + items: + $ref: '#/components/schemas/BerrySummary' + readOnly: true + pokeathlon_stat_changes: + type: array + items: + type: object + required: + - max_change + - pokeathlon_stat + properties: + max_change: + type: integer + format: int32 + examples: + - 1 + pokeathlon_stat: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - power + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/pokeathlon-stat/2/ + readOnly: true + move_battle_style_preferences: + type: array + items: + $ref: '#/components/schemas/NatureBattleStylePreference' + readOnly: true + names: + type: array + items: + $ref: '#/components/schemas/NatureName' + readOnly: true + required: + - berries + - decreased_stat + - hates_flavor + - id + - increased_stat + - likes_flavor + - move_battle_style_preferences + - name + - names + - pokeathlon_stat_changes + NatureName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + NatureSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + PaginatedAbilitySummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/AbilitySummary' + PaginatedBerryFirmnessSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/BerryFirmnessSummary' + PaginatedBerryFlavorSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/BerryFlavorSummary' + PaginatedBerrySummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/BerrySummary' + PaginatedCharacteristicSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/CharacteristicSummary' + PaginatedContestEffectSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/ContestEffectSummary' + PaginatedContestTypeSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/ContestTypeSummary' + PaginatedEggGroupSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/EggGroupSummary' + PaginatedEncounterConditionSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/EncounterConditionSummary' + PaginatedEncounterConditionValueSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/EncounterConditionValueSummary' + PaginatedEncounterMethodSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/EncounterMethodSummary' + PaginatedEvolutionChainSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/EvolutionChainSummary' + PaginatedEvolutionTriggerSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/EvolutionTriggerSummary' + PaginatedGenderSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/GenderSummary' + PaginatedGenerationSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/GenerationSummary' + PaginatedGrowthRateSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/GrowthRateSummary' + PaginatedItemAttributeSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/ItemAttributeSummary' + PaginatedItemCategorySummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/ItemCategorySummary' + PaginatedItemFlingEffectSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/ItemFlingEffectSummary' + PaginatedItemPocketSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/ItemPocketSummary' + PaginatedItemSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/ItemSummary' + PaginatedLanguageSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/LanguageSummary' + PaginatedLocationAreaSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/LocationAreaSummary' + PaginatedLocationSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/LocationSummary' + PaginatedMachineSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/MachineSummary' + PaginatedMoveBattleStyleSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/MoveBattleStyleSummary' + PaginatedMoveDamageClassSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/MoveDamageClassSummary' + PaginatedMoveLearnMethodSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/MoveLearnMethodSummary' + PaginatedMoveMetaAilmentSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/MoveMetaAilmentSummary' + PaginatedMoveMetaCategorySummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/MoveMetaCategorySummary' + PaginatedMoveSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/MoveSummary' + PaginatedMoveTargetSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/MoveTargetSummary' + PaginatedNatureSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/NatureSummary' + PaginatedPalParkAreaSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/PalParkAreaSummary' + PaginatedPokeathlonStatSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/PokeathlonStatSummary' + PaginatedPokedexSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/PokedexSummary' + PaginatedPokemonColorSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/PokemonColorSummary' + PaginatedPokemonFormSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/PokemonFormSummary' + PaginatedPokemonHabitatSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/PokemonHabitatSummary' + PaginatedPokemonShapeSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/PokemonShapeSummary' + PaginatedPokemonSpeciesSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/PokemonSpeciesSummary' + PaginatedPokemonSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/PokemonSummary' + PaginatedRegionSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/RegionSummary' + PaginatedStatSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/StatSummary' + PaginatedSuperContestEffectSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/SuperContestEffectSummary' + PaginatedTypeSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/TypeSummary' + PaginatedVersionGroupSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/VersionGroupSummary' + PaginatedVersionSummaryList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=400&limit=100 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?offset=200&limit=100 + results: + type: array + items: + $ref: '#/components/schemas/VersionSummary' + PalParkAreaDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + names: + type: array + items: + $ref: '#/components/schemas/PalParkAreaName' + readOnly: true + pokemon_encounters: + type: array + items: + type: object + required: + - base_score + - pokemon-species + - rate + properties: + base_score: + type: integer + format: int32 + examples: + - 50 + pokemon-species: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - bulbasaur + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/pokemon-species/1/ + rate: + type: integer + format: int32 + examples: + - 30 + readOnly: true + required: + - id + - name + - names + - pokemon_encounters + PalParkAreaName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + PalParkAreaSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + PokeathlonStatDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + affecting_natures: + type: object + required: + - decrease + - increase + properties: + decrease: + type: array + items: + type: object + required: + - max_change + - nature + properties: + max_change: + type: integer + format: int32 + maximum: -1 + examples: + - -1 + nature: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - hardy + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/nature/1/ + increase: + type: array + items: + type: object + required: + - max_change + - nature + properties: + max_change: + type: integer + format: int32 + minimum: 1 + examples: + - 2 + nature: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - hardy + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/nature/1/ + readOnly: true + names: + type: array + items: + $ref: '#/components/schemas/PokeathlonStatName' + readOnly: true + required: + - affecting_natures + - id + - name + - names + PokeathlonStatName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + PokeathlonStatSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + PokedexDescription: + type: object + properties: + description: + type: string + maxLength: 1000 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + PokedexDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + is_main_series: + type: boolean + descriptions: + type: array + items: + $ref: '#/components/schemas/PokedexDescription' + readOnly: true + names: + type: array + items: + $ref: '#/components/schemas/PokedexName' + readOnly: true + pokemon_entries: + type: array + items: + type: object + required: + - entry_number + - pokemon_species + properties: + entry_number: + type: integer + format: int32 + examples: + - 1 + pokemon_species: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - bulbasaur + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/pokemon-species/1/ + readOnly: true + region: + $ref: '#/components/schemas/RegionSummary' + version_groups: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - the-teal-mask + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/version-group/26/ + readOnly: true + required: + - descriptions + - id + - name + - names + - pokemon_entries + - region + - version_groups + PokedexName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + PokedexSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + PokemonColorDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + names: + type: array + items: + $ref: '#/components/schemas/PokemonColorName' + readOnly: true + pokemon_species: + type: array + items: + $ref: '#/components/schemas/PokemonSpeciesSummary' + readOnly: true + required: + - id + - name + - names + - pokemon_species + PokemonColorName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + PokemonColorSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + PokemonDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + base_experience: + type: + - integer + - 'null' + height: + type: + - integer + - 'null' + is_default: + type: boolean + order: + type: + - integer + - 'null' + weight: + type: + - integer + - 'null' + abilities: + type: array + items: + type: object + required: + - ability + - is_hidden + - slot + properties: + ability: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - sand-veil + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/ability/8/ + is_hidden: + type: boolean + slot: + type: integer + format: int32 + examples: + - 1 + readOnly: true + past_abilities: + type: array + items: + type: object + required: + - abilities + - generation + properties: + abilities: + type: array + items: + type: object + required: + - ability + - is_hidden + - slot + properties: + ability: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - levitate + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/ability/26/ + is_hidden: + type: boolean + slot: + type: integer + format: int32 + examples: + - 1 + generation: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - generation-vi + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/generation/6/ + readOnly: true + forms: + type: array + items: + $ref: '#/components/schemas/PokemonFormSummary' + readOnly: true + game_indices: + type: array + items: + $ref: '#/components/schemas/PokemonGameIndex' + readOnly: true + held_items: + type: object + required: + - item + - version_details + properties: + item: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - soft-sand + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/item/214/ + version_details: + type: array + items: + type: object + required: + - rarity + - version + properties: + rarity: + type: integer + format: int32 + examples: + - 5 + version: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - diamond + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/version/12/ + readOnly: true + location_area_encounters: + type: string + examples: + - https://pokeapi.co/api/v2/pokemon/1/encounters + readOnly: true + moves: + type: array + items: + type: object + required: + - move + - version_group_details + properties: + move: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - scratch + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/move/10/ + version_group_details: + type: array + items: + type: object + required: + - level_learned_at + - move_learn_method + - version_group + properties: + level_learned_at: + type: integer + format: int32 + examples: + - 1 + move_learn_method: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - level-up + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/move-learn-method/1/ + version_group: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - red-blue + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/version-group/1/ + readOnly: true + species: + $ref: '#/components/schemas/PokemonSpeciesSummary' + sprites: + type: object + properties: + front_default: + type: string + format: uri + exmaple: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/1.png + additionalProperties: + type: string + format: uri + nullable: true + examples: + - https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/shiny/1.png + examples: + - back_default: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/1.png + back_female: null + back_shiny: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/shiny/1.png + back_shiny_female: null + front_default: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/1.png + front_female: null + front_shiny: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/shiny/1.png + front_shiny_female: null + readOnly: true + cries: + type: object + required: + - latest + - legacy + properties: + latest: + type: string + format: uri + examples: + - https://raw.githubusercontent.com/PokeAPI/cries/main/cries/pokemon/latest/50.ogg + legacy: + type: string + format: uri + examples: + - https://raw.githubusercontent.com/PokeAPI/cries/main/cries/pokemon/legacy/50.ogg + readOnly: true + stats: + type: array + items: + $ref: '#/components/schemas/PokemonStat' + readOnly: true + types: + type: array + items: + type: object + required: + - slot + - type + properties: + slot: + type: integer + format: int32 + examples: + - 1 + type: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - ghost + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/type/8/ + readOnly: true + past_types: + type: array + items: + type: object + required: + - generation + - types + properties: + generation: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - generation-v + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/generation/5/ + types: + type: array + items: + type: object + required: + - slot + - type + properties: + slot: + type: integer + format: int32 + examples: + - 1 + type: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - normal + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/type/1/ + readOnly: true + required: + - abilities + - cries + - forms + - game_indices + - held_items + - id + - location_area_encounters + - moves + - name + - past_abilities + - past_types + - species + - sprites + - stats + - types + PokemonDexEntry: + type: object + properties: + entry_number: + type: integer + pokedex: + $ref: '#/components/schemas/PokedexSummary' + required: + - entry_number + - pokedex + PokemonFormDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + order: + type: + - integer + - 'null' + form_order: + type: + - integer + - 'null' + is_default: + type: boolean + is_battle_only: + type: boolean + is_mega: + type: boolean + form_name: + type: string + maxLength: 30 + pokemon: + $ref: '#/components/schemas/PokemonSummary' + sprites: + type: object + properties: + default: + type: string + format: uri + examples: + - https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/412.png + additionalProperties: + type: string + format: uri + nullable: true + examples: + - https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/shiny/412.png + examples: + - back_default: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/412.png + back_female: null + back_shiny: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/shiny/412.png + back_shiny_female: null + front_default: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/412.png + front_female: null + front_shiny: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/shiny/412.png + front_shiny_female: null + readOnly: true + version_group: + $ref: '#/components/schemas/VersionGroupSummary' + form_names: + type: array + items: + type: object + required: + - language + - name + properties: + language: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - en + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/language/9/ + name: + type: string + examples: + - Plant Cloak + readOnly: true + names: + type: array + items: + type: object + required: + - language + - name + properties: + language: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - en + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/language/9/ + name: + type: string + examples: + - Plant Cloak + readOnly: true + types: + type: array + items: + type: object + required: + - slot + - type + properties: + slot: + type: integer + format: int32 + examples: + - 1 + type: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - bug + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/type/7/ + readOnly: true + required: + - form_name + - form_names + - id + - name + - names + - pokemon + - sprites + - types + - version_group + PokemonFormSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + PokemonGameIndex: + type: object + properties: + game_index: + type: integer + version: + $ref: '#/components/schemas/VersionSummary' + required: + - game_index + - version + PokemonHabitatDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + names: + type: array + items: + $ref: '#/components/schemas/PokemonHabitatName' + readOnly: true + pokemon_species: + type: array + items: + $ref: '#/components/schemas/PokemonSpeciesSummary' + readOnly: true + required: + - id + - name + - names + - pokemon_species + PokemonHabitatName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + PokemonHabitatSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + PokemonShapeDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + awesome_names: + type: array + items: + type: object + required: + - awesome_name + - language + properties: + awesome_name: + type: string + examples: + - Pomaceous + language: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - en + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/language/9/ + readOnly: true + names: + type: array + items: + type: object + required: + - url + - name + properties: + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/language/9/ + name: + type: string + examples: + - Ball + readOnly: true + pokemon_species: + type: array + items: + $ref: '#/components/schemas/PokemonSpeciesSummary' + readOnly: true + required: + - awesome_names + - id + - name + - names + - pokemon_species + PokemonShapeSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + PokemonSpeciesDescription: + type: object + properties: + description: + type: string + maxLength: 1000 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + PokemonSpeciesDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + order: + type: + - integer + - 'null' + gender_rate: + type: + - integer + - 'null' + capture_rate: + type: + - integer + - 'null' + base_happiness: + type: + - integer + - 'null' + is_baby: + type: boolean + is_legendary: + type: boolean + is_mythical: + type: boolean + hatch_counter: + type: + - integer + - 'null' + has_gender_differences: + type: boolean + forms_switchable: + type: boolean + growth_rate: + $ref: '#/components/schemas/GrowthRateSummary' + pokedex_numbers: + type: array + items: + $ref: '#/components/schemas/PokemonDexEntry' + readOnly: true + egg_groups: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - monster + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/egg-group/1/ + readOnly: true + color: + $ref: '#/components/schemas/PokemonColorSummary' + shape: + $ref: '#/components/schemas/PokemonShapeSummary' + evolves_from_species: + $ref: '#/components/schemas/PokemonSpeciesSummary' + evolution_chain: + $ref: '#/components/schemas/EvolutionChainSummary' + habitat: + $ref: '#/components/schemas/PokemonHabitatSummary' + generation: + $ref: '#/components/schemas/GenerationSummary' + names: + type: array + items: + type: object + required: + - language + - name + properties: + language: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - en + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/language/9/ + name: + type: string + examples: + - bulbasaur + readOnly: true + pal_park_encounters: + type: array + items: + type: object + required: + - area + - base_score + - rate + properties: + area: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - field + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/pal-park-area/2/ + base_score: + type: integer + format: int32 + examples: + - 50 + rate: + type: integer + format: int32 + examples: + - 30 + readOnly: true + form_descriptions: + type: array + items: + $ref: '#/components/schemas/PokemonSpeciesDescription' + readOnly: true + flavor_text_entries: + type: array + items: + $ref: '#/components/schemas/PokemonSpeciesFlavorText' + readOnly: true + genera: + type: array + items: + type: object + required: + - genus + - language + properties: + genus: + type: string + examples: + - Seed Pokémon + language: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - en + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/language/9/ + readOnly: true + varieties: + type: array + items: + type: object + required: + - is_default + - pokemon + properties: + is_default: + type: boolean + pokemon: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - bulbasaur + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/pokemon/1/ + readOnly: true + required: + - color + - egg_groups + - evolution_chain + - evolves_from_species + - flavor_text_entries + - form_descriptions + - genera + - generation + - growth_rate + - habitat + - id + - name + - names + - pal_park_encounters + - pokedex_numbers + - shape + - varieties + PokemonSpeciesFlavorText: + type: object + properties: + flavor_text: + type: string + language: + $ref: '#/components/schemas/LanguageSummary' + version: + $ref: '#/components/schemas/VersionSummary' + required: + - flavor_text + - language + - version + PokemonSpeciesSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + PokemonStat: + type: object + properties: + base_stat: + type: integer + effort: + type: integer + stat: + $ref: '#/components/schemas/StatSummary' + required: + - base_stat + - effort + - stat + PokemonSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + RegionDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + locations: + type: array + items: + $ref: '#/components/schemas/LocationSummary' + readOnly: true + main_generation: + allOf: + - $ref: '#/components/schemas/GenerationSummary' + readOnly: true + names: + type: array + items: + $ref: '#/components/schemas/RegionName' + readOnly: true + pokedexes: + type: array + items: + $ref: '#/components/schemas/PokedexSummary' + readOnly: true + version_groups: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - red-blue + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/version-group/1/ + readOnly: true + required: + - id + - locations + - main_generation + - name + - names + - pokedexes + - version_groups + RegionName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + RegionSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + StatDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + game_index: + type: integer + is_battle_only: + type: boolean + affecting_moves: + type: object + required: + - decrease + - increase + properties: + increase: + type: array + items: + type: object + required: + - change + - move + properties: + change: + type: integer + format: int32 + examples: + - -1 + move: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - swords-dance + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/move/14/ + decrease: + type: array + items: + type: object + required: + - change + - move + properties: + change: + type: integer + format: int32 + examples: + - 5 + move: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - growl + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/move/45/ + readOnly: true + affecting_natures: + type: object + required: + - increase + - decrease + properties: + increase: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - lonely + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/nature/6/ + decrease: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - bold + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/nature/2/ + readOnly: true + characteristics: + type: array + items: + $ref: '#/components/schemas/CharacteristicSummary' + readOnly: true + move_damage_class: + $ref: '#/components/schemas/MoveDamageClassSummary' + names: + type: array + items: + $ref: '#/components/schemas/StatName' + readOnly: true + required: + - affecting_moves + - affecting_natures + - characteristics + - game_index + - id + - move_damage_class + - name + - names + StatName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + StatSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + SuperContestEffectDetail: + type: object + properties: + id: + type: integer + readOnly: true + appeal: + type: integer + flavor_text_entries: + type: array + items: + $ref: '#/components/schemas/SuperContestEffectFlavorText' + readOnly: true + moves: + type: array + items: + $ref: '#/components/schemas/MoveSummary' + readOnly: true + required: + - appeal + - flavor_text_entries + - id + - moves + SuperContestEffectFlavorText: + type: object + properties: + flavor_text: + type: string + maxLength: 500 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - flavor_text + - language + SuperContestEffectSummary: + type: object + properties: + url: + type: string + format: uri + readOnly: true + required: + - url + TypeDetail: + type: object + description: Serializer for the Type resource + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + damage_relations: + type: object + required: + - no_damage_to + - half_damage_to + - double_damage_to + - no_damage_from + - half_damage_from + - double_damage_from + properties: + no_damage_to: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - flying + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/type/3/ + half_damage_to: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - bug + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/type/7/ + double_damage_to: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - poison + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/type/4/ + no_damage_from: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - electric + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/type/13/ + half_damage_from: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - poison + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/type/4/ + double_damage_from: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - water + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/type/11/ + readOnly: true + past_damage_relations: + type: array + items: + type: object + required: + - generation + - damage_relations + properties: + generation: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - generation-v + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/generation/5/ + damage_relations: + type: object + required: + - no_damage_to + - half_damage_to + - double_damage_to + - no_damage_from + - half_damage_from + - double_damage_from + properties: + no_damage_to: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - flying + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/type/3/ + half_damage_to: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - bug + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/type/7/ + double_damage_to: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - poison + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/type/4/ + no_damage_from: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - electric + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/type/13/ + half_damage_from: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - poison + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/type/4/ + double_damage_from: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - water + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/type/11/ + readOnly: true + game_indices: + type: array + items: + $ref: '#/components/schemas/TypeGameIndex' + readOnly: true + generation: + $ref: '#/components/schemas/GenerationSummary' + move_damage_class: + $ref: '#/components/schemas/MoveDamageClassSummary' + names: + type: array + items: + $ref: '#/components/schemas/AbilityName' + readOnly: true + pokemon: + type: array + items: + type: object + required: + - potency + - flavor + properties: + slot: + type: integer + examples: + - 1 + pokemon: + type: object + require: + - name + - url + properties: + name: + type: string + description: The name of the pokemon + examples: + - sandshrew + url: + type: string + format: uri + description: The URL to get more information about the pokemon + examples: + - https://pokeapi.co/api/v2/pokemon/27/ + readOnly: true + moves: + type: array + items: + $ref: '#/components/schemas/MoveSummary' + readOnly: true + required: + - damage_relations + - game_indices + - generation + - id + - move_damage_class + - moves + - name + - names + - past_damage_relations + - pokemon + TypeGameIndex: + type: object + properties: + game_index: + type: integer + generation: + $ref: '#/components/schemas/GenerationSummary' + required: + - game_index + - generation + TypeSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + VersionDetail: + type: object + description: |- + Should have a link to Version Group info but the Circular + dependency and compilation order fight eachother and I'm + not sure how to add anything other than a hyperlink + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + names: + type: array + items: + $ref: '#/components/schemas/VersionName' + readOnly: true + version_group: + $ref: '#/components/schemas/VersionGroupSummary' + required: + - id + - name + - names + - version_group + VersionGroupDetail: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + maxLength: 100 + order: + type: + - integer + - 'null' + generation: + $ref: '#/components/schemas/GenerationSummary' + move_learn_methods: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - level-up + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/move-learn-method/1/ + readOnly: true + pokedexes: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - kanto + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/pokedex/2/ + readOnly: true + regions: + type: array + items: + type: object + required: + - name + - url + properties: + name: + type: string + examples: + - kanto + url: + type: string + format: uri + examples: + - https://pokeapi.co/api/v2/region/1/ + readOnly: true + versions: + type: array + items: + $ref: '#/components/schemas/VersionSummary' + readOnly: true + required: + - generation + - id + - move_learn_methods + - name + - pokedexes + - regions + - versions + VersionGroupSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + VersionName: + type: object + properties: + name: + type: string + maxLength: 100 + language: + $ref: '#/components/schemas/LanguageSummary' + required: + - language + - name + VersionSummary: + type: object + properties: + name: + type: string + maxLength: 100 + url: + type: string + format: uri + readOnly: true + required: + - name + - url + securitySchemes: + basicAuth: + type: http + scheme: basic + cookieAuth: + type: apiKey + in: cookie + name: sessionid +servers: +- url: https://pokeapi.co +tags: +- name: pokemon + description: Pokémon are the creatures that inhabit the world of the Pokémon games. + They can be caught using Pokéballs and trained by battling with other Pokémon. + Each Pokémon belongs to a specific species but may take on a variant which makes + it differ from other Pokémon of the same species, such as base stats, available + abilities and typings. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_(species)) + for greater detail. + externalDocs: + description: Find more info here + url: https://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon +- name: evolution + description: Evolution is a process in which a Pokémon changes into a different + species of Pokémon. + externalDocs: + description: Find more info here + url: https://bulbapedia.bulbagarden.net/wiki/Evolution +- name: berries + description: Berries can be soft or hard. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Category:Berries_by_firmness) + for greater detail. + externalDocs: + description: Find more info here + url: https://bulbapedia.bulbagarden.net/wiki/Berry +- name: items + description: An item is an object in the games which the player can pick up, keep + in their bag, and use in some manner. They have various uses, including healing, + powering up, helping catch Pokémon, or to access a new area. + externalDocs: + description: Find more info here + url: https://bulbapedia.bulbagarden.net/wiki/Item +- name: machines + description: Machines are the representation of items that teach moves to Pokémon. + They vary from version to version, so it is not certain that one specific TM or + HM corresponds to a single Machine. + externalDocs: + description: Find more info here + url: https://bulbapedia.bulbagarden.net/wiki/TM +- name: location + description: Locations that can be visited within the games. Locations make up sizable + portions of regions, like cities or routes. + externalDocs: + description: Find more info here + url: https://bulbapedia.bulbagarden.net/wiki/List_of_locations_by_index_number +- name: contest + description: Pokémon Contests are a type of competition often contrasted with Pokémon + battles and held in Contest Halls + externalDocs: + description: Find more info here + url: https://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_Contest +- name: moves + description: Moves are the skills of Pokémon in battle. In battle, a Pokémon uses + one move each turn. Some moves (including those learned by Hidden Machine) can + be used outside of battle as well, usually for the purpose of removing obstacles + or exploring new areas. + externalDocs: + description: Find more info here + url: https://bulbapedia.bulbagarden.net/wiki/List_of_locations_by_name +- name: encounters +- name: games + description: The Pokémon games are all video games in the Pokémon franchise. + externalDocs: + description: Find more info here + url: https://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_games +- name: utility +externalDocs: + url: https://pokeapi.co/docs/v2 diff --git a/webapp/.editorconfig b/webapp/.editorconfig new file mode 100644 index 00000000..59d9a3a3 --- /dev/null +++ b/webapp/.editorconfig @@ -0,0 +1,16 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/webapp/.gitignore b/webapp/.gitignore new file mode 100644 index 00000000..cc7b1413 --- /dev/null +++ b/webapp/.gitignore @@ -0,0 +1,42 @@ +# See https://docs.github.com/get-started/getting-started-with-git/ignoring-files for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings + +# System files +.DS_Store +Thumbs.db diff --git a/webapp/.vscode/extensions.json b/webapp/.vscode/extensions.json new file mode 100644 index 00000000..77b37457 --- /dev/null +++ b/webapp/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 + "recommendations": ["angular.ng-template"] +} diff --git a/webapp/.vscode/launch.json b/webapp/.vscode/launch.json new file mode 100644 index 00000000..925af837 --- /dev/null +++ b/webapp/.vscode/launch.json @@ -0,0 +1,20 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "ng serve", + "type": "chrome", + "request": "launch", + "preLaunchTask": "npm: start", + "url": "http://localhost:4200/" + }, + { + "name": "ng test", + "type": "chrome", + "request": "launch", + "preLaunchTask": "npm: test", + "url": "http://localhost:9876/debug.html" + } + ] +} diff --git a/webapp/.vscode/tasks.json b/webapp/.vscode/tasks.json new file mode 100644 index 00000000..a298b5bd --- /dev/null +++ b/webapp/.vscode/tasks.json @@ -0,0 +1,42 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558 + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "script": "start", + "isBackground": true, + "problemMatcher": { + "owner": "typescript", + "pattern": "$tsc", + "background": { + "activeOnStart": true, + "beginsPattern": { + "regexp": "(.*?)" + }, + "endsPattern": { + "regexp": "bundle generation complete" + } + } + } + }, + { + "type": "npm", + "script": "test", + "isBackground": true, + "problemMatcher": { + "owner": "typescript", + "pattern": "$tsc", + "background": { + "activeOnStart": true, + "beginsPattern": { + "regexp": "(.*?)" + }, + "endsPattern": { + "regexp": "bundle generation complete" + } + } + } + } + ] +} diff --git a/webapp/README.md b/webapp/README.md new file mode 100644 index 00000000..e9986851 --- /dev/null +++ b/webapp/README.md @@ -0,0 +1,27 @@ +# Webapp + +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 18.1.0. + +## Development server + +Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. + +## Build + +Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. + +## Running unit tests + +Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). + +## Running end-to-end tests + +Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities. + +## Further help + +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page. diff --git a/webapp/angular.json b/webapp/angular.json new file mode 100644 index 00000000..f72a9968 --- /dev/null +++ b/webapp/angular.json @@ -0,0 +1,124 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "webapp": { + "projectType": "application", + "schematics": { + "@schematics/angular:component": { + "inlineStyle": true, + "style": "css", + "skipTests": true, + "standalone": true + }, + "@schematics/angular:class": { + "skipTests": true + }, + "@schematics/angular:directive": { + "skipTests": true + }, + "@schematics/angular:guard": { + "skipTests": true + }, + "@schematics/angular:interceptor": { + "skipTests": true + }, + "@schematics/angular:pipe": { + "skipTests": true + }, + "@schematics/angular:resolver": { + "skipTests": true + }, + "@schematics/angular:service": { + "skipTests": true + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:application", + "options": { + "outputPath": "dist/webapp", + "index": "src/index.html", + "browser": "src/main.ts", + "polyfills": [], + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "css", + "assets": [ + { + "glob": "**/*", + "input": "public" + } + ], + "styles": [ + "src/styles.css" + ], + "scripts": [] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kB", + "maximumError": "1MB" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kB", + "maximumError": "4kB" + } + ], + "outputHashing": "all" + }, + "development": { + "optimization": false, + "extractLicenses": false, + "sourceMap": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "buildTarget": "webapp:build:production" + }, + "development": { + "buildTarget": "webapp:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n" + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "polyfills": [ + "zone.js", + "zone.js/testing" + ], + "tsConfig": "tsconfig.spec.json", + "inlineStyleLanguage": "css", + "assets": [ + { + "glob": "**/*", + "input": "public" + } + ], + "styles": [ + "src/styles.css" + ], + "scripts": [] + } + } + } + } + } +} diff --git a/webapp/openapitools.json b/webapp/openapitools.json new file mode 100644 index 00000000..f227cf2d --- /dev/null +++ b/webapp/openapitools.json @@ -0,0 +1,7 @@ +{ + "$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json", + "spaces": 2, + "generator-cli": { + "version": "7.7.0" + } +} diff --git a/webapp/package-lock.json b/webapp/package-lock.json new file mode 100644 index 00000000..28b5fc9c --- /dev/null +++ b/webapp/package-lock.json @@ -0,0 +1,12802 @@ +{ + "name": "hephaestus", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "hephaestus", + "version": "0.0.0", + "dependencies": { + "@angular/animations": "18.1.0", + "@angular/common": "18.1.0", + "@angular/compiler": "18.1.0", + "@angular/core": "18.1.0", + "@angular/forms": "18.1.0", + "@angular/platform-browser": "18.1.0", + "@angular/platform-browser-dynamic": "18.1.0", + "@angular/router": "18.1.0", + "@tanstack/angular-query-devtools-experimental": "5.51.3", + "@tanstack/angular-query-experimental": "5.51.1", + "autoprefixer": "10.4.19", + "postcss": "8.4.39", + "rxjs": "7.8.1", + "tailwindcss": "3.4.4", + "tslib": "2.6.3" + }, + "devDependencies": { + "@angular-devkit/build-angular": "18.1.0", + "@angular/cli": "18.1.0", + "@angular/compiler-cli": "18.1.0", + "@types/jasmine": "5.1.4", + "jasmine-core": "5.1.2", + "karma": "6.4.3", + "karma-chrome-launcher": "3.2.0", + "karma-coverage": "2.2.1", + "karma-jasmine": "5.1.0", + "karma-jasmine-html-reporter": "2.1.0", + "rimraf": "^6.0.1", + "typescript": "5.5.3" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@angular-devkit/architect": { + "version": "0.1801.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1801.0.tgz", + "integrity": "sha512-iZa3J3CrZT6MKiHPw8ijgVwMyCMewCsP4xc75SetUwF/yuqRUHygALs5jJVZQFQjSFUrkg9gqXa1cCjFDwpT8A==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "18.1.0", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/build-angular": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-18.1.0.tgz", + "integrity": "sha512-j/YrEFuEX90Pcyzjew6EcCoxT+Va0AlGjgWyVIuStNTEsCx9Vp7T2tS7w6LL1t6leM7gzf8f/ZKtvRPnAsWdQg==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "2.3.0", + "@angular-devkit/architect": "0.1801.0", + "@angular-devkit/build-webpack": "0.1801.0", + "@angular-devkit/core": "18.1.0", + "@angular/build": "18.1.0", + "@babel/core": "7.24.7", + "@babel/generator": "7.24.7", + "@babel/helper-annotate-as-pure": "7.24.7", + "@babel/helper-split-export-declaration": "7.24.7", + "@babel/plugin-transform-async-generator-functions": "7.24.7", + "@babel/plugin-transform-async-to-generator": "7.24.7", + "@babel/plugin-transform-runtime": "7.24.7", + "@babel/preset-env": "7.24.7", + "@babel/runtime": "7.24.7", + "@discoveryjs/json-ext": "0.5.7", + "@ngtools/webpack": "18.1.0", + "@vitejs/plugin-basic-ssl": "1.1.0", + "ansi-colors": "4.1.3", + "autoprefixer": "10.4.19", + "babel-loader": "9.1.3", + "browserslist": "^4.21.5", + "copy-webpack-plugin": "12.0.2", + "critters": "0.0.24", + "css-loader": "7.1.2", + "esbuild-wasm": "0.21.5", + "fast-glob": "3.3.2", + "http-proxy-middleware": "3.0.0", + "https-proxy-agent": "7.0.5", + "istanbul-lib-instrument": "6.0.2", + "jsonc-parser": "3.3.1", + "karma-source-map-support": "1.4.0", + "less": "4.2.0", + "less-loader": "12.2.0", + "license-webpack-plugin": "4.0.2", + "loader-utils": "3.3.1", + "magic-string": "0.30.10", + "mini-css-extract-plugin": "2.9.0", + "mrmime": "2.0.0", + "open": "10.1.0", + "ora": "5.4.1", + "parse5-html-rewriting-stream": "7.0.0", + "picomatch": "4.0.2", + "piscina": "4.6.1", + "postcss": "8.4.38", + "postcss-loader": "8.1.1", + "resolve-url-loader": "5.0.0", + "rxjs": "7.8.1", + "sass": "1.77.6", + "sass-loader": "14.2.1", + "semver": "7.6.2", + "source-map-loader": "5.0.0", + "source-map-support": "0.5.21", + "terser": "5.29.2", + "tree-kill": "1.2.2", + "tslib": "2.6.3", + "undici": "6.19.2", + "vite": "5.3.2", + "watchpack": "2.4.1", + "webpack": "5.92.1", + "webpack-dev-middleware": "7.2.1", + "webpack-dev-server": "5.0.4", + "webpack-merge": "5.10.0", + "webpack-subresource-integrity": "5.1.0" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "optionalDependencies": { + "esbuild": "0.21.5" + }, + "peerDependencies": { + "@angular/compiler-cli": "^18.0.0", + "@angular/localize": "^18.0.0", + "@angular/platform-server": "^18.0.0", + "@angular/service-worker": "^18.0.0", + "@web/test-runner": "^0.18.0", + "browser-sync": "^3.0.2", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "karma": "^6.3.0", + "ng-packagr": "^18.0.0", + "protractor": "^7.0.0", + "tailwindcss": "^2.0.0 || ^3.0.0", + "typescript": ">=5.4 <5.6" + }, + "peerDependenciesMeta": { + "@angular/localize": { + "optional": true + }, + "@angular/platform-server": { + "optional": true + }, + "@angular/service-worker": { + "optional": true + }, + "@web/test-runner": { + "optional": true + }, + "browser-sync": { + "optional": true + }, + "jest": { + "optional": true + }, + "jest-environment-jsdom": { + "optional": true + }, + "karma": { + "optional": true + }, + "ng-packagr": { + "optional": true + }, + "protractor": { + "optional": true + }, + "tailwindcss": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/@angular-devkit/build-webpack": { + "version": "0.1801.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1801.0.tgz", + "integrity": "sha512-EnkkhE4tVOk3lU5/bt8hNCQCJMefcpU5E4jChRmFu+m0OtKK2kax3hjPTUVwcpbjwpG5rO7J/U5yIhCY9afXKw==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1801.0", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "webpack": "^5.30.0", + "webpack-dev-server": "^5.0.2" + } + }, + "node_modules/@angular-devkit/core": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.1.0.tgz", + "integrity": "sha512-6eXQDzHZCbpSMLv9Ohl+1QyLVDmGEXpuuHz3y64LfUTP0aEiBaxk96FjLXIxzJ4f2pbbW2XHzc+yuboGToRA0w==", + "dev": true, + "dependencies": { + "ajv": "8.16.0", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.2", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/schematics": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-18.1.0.tgz", + "integrity": "sha512-BjrYutLfYFiPOSEcLBWCj3ENkwDn8gMfBSJesaBz7OrZBZGK5j0dVgBLIsGTP96TKo4o4vszJQOvS4AtV6xMGg==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "18.1.0", + "jsonc-parser": "3.3.1", + "magic-string": "0.30.10", + "ora": "5.4.1", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/animations": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-18.1.0.tgz", + "integrity": "sha512-K0BhvZ/SIVoGXZVuh1KOJDdgcGlHfFGMGrs58utndndAb+gYXReMfz4GR5cQs2OObH6TKmIOY2EH7Og1CY2tsw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + }, + "peerDependencies": { + "@angular/core": "18.1.0" + } + }, + "node_modules/@angular/build": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-18.1.0.tgz", + "integrity": "sha512-4yLrGqMDoNBis2Z4s8F3wSqlB2XLtwy/10tREBk9xVaCojERiwDvtHqzbMeHqD6ZMGDFtdhI12q8FT5jZVUmAw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "2.3.0", + "@angular-devkit/architect": "0.1801.0", + "@babel/core": "7.24.7", + "@babel/helper-annotate-as-pure": "7.24.7", + "@babel/helper-split-export-declaration": "7.24.7", + "@babel/plugin-syntax-import-attributes": "7.24.7", + "@inquirer/confirm": "3.1.11", + "@vitejs/plugin-basic-ssl": "1.1.0", + "ansi-colors": "4.1.3", + "browserslist": "^4.23.0", + "critters": "0.0.24", + "esbuild": "0.21.5", + "fast-glob": "3.3.2", + "https-proxy-agent": "7.0.5", + "lmdb": "3.0.12", + "magic-string": "0.30.10", + "mrmime": "2.0.0", + "ora": "5.4.1", + "parse5-html-rewriting-stream": "7.0.0", + "picomatch": "4.0.2", + "piscina": "4.6.1", + "rollup": "4.18.0", + "sass": "1.77.6", + "semver": "7.6.2", + "undici": "6.19.2", + "vite": "5.3.2", + "watchpack": "2.4.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^18.0.0", + "@angular/localize": "^18.0.0", + "@angular/platform-server": "^18.0.0", + "@angular/service-worker": "^18.0.0", + "less": "^4.2.0", + "postcss": "^8.4.0", + "tailwindcss": "^2.0.0 || ^3.0.0", + "typescript": ">=5.4 <5.6" + }, + "peerDependenciesMeta": { + "@angular/localize": { + "optional": true + }, + "@angular/platform-server": { + "optional": true + }, + "@angular/service-worker": { + "optional": true + }, + "less": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tailwindcss": { + "optional": true + } + } + }, + "node_modules/@angular/cli": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-18.1.0.tgz", + "integrity": "sha512-2E+b7S/736AOmxf5je9OWoPpgPY240TfJfFXwQiVvq/4KyC+ZR9lBrqRx72Xghn8nu3z8Q2BPZIXVGZppl0USQ==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1801.0", + "@angular-devkit/core": "18.1.0", + "@angular-devkit/schematics": "18.1.0", + "@inquirer/prompts": "5.0.7", + "@listr2/prompt-adapter-inquirer": "2.0.13", + "@schematics/angular": "18.1.0", + "@yarnpkg/lockfile": "1.1.0", + "ini": "4.1.3", + "jsonc-parser": "3.3.1", + "listr2": "8.2.3", + "npm-package-arg": "11.0.2", + "npm-pick-manifest": "9.0.1", + "pacote": "18.0.6", + "resolve": "1.22.8", + "semver": "7.6.2", + "symbol-observable": "4.0.0", + "yargs": "17.7.2" + }, + "bin": { + "ng": "bin/ng.js" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/common": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-18.1.0.tgz", + "integrity": "sha512-noHDLarQSCZZh7hyNd0HR61Fut+q4QCVq9qc/jKPglfbV/6nPujQSmSpT+rNJlNuBOrCLuvH/CNBNbiqii+x3g==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + }, + "peerDependencies": { + "@angular/core": "18.1.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/compiler": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-18.1.0.tgz", + "integrity": "sha512-JRQzVTeJGSfRLY+dx+gwu/hPQVB8K+5pW12Z42M9x/HBgGW4in0cO2zHkeQPvImqm0nak82Us1Hyf5C+qTlMMQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + }, + "peerDependencies": { + "@angular/core": "18.1.0" + }, + "peerDependenciesMeta": { + "@angular/core": { + "optional": true + } + } + }, + "node_modules/@angular/compiler-cli": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-18.1.0.tgz", + "integrity": "sha512-BBsogLPJwxkPh7f8RVHsxyyqNE8XpHbAanjB5fAwnU4W6Sw1kR5rFzkeZM3xaRm2MDiC8DovIl6hlf+s/mKYOw==", + "dev": true, + "dependencies": { + "@babel/core": "7.24.7", + "@jridgewell/sourcemap-codec": "^1.4.14", + "chokidar": "^3.0.0", + "convert-source-map": "^1.5.1", + "reflect-metadata": "^0.2.0", + "semver": "^7.0.0", + "tslib": "^2.3.0", + "yargs": "^17.2.1" + }, + "bin": { + "ng-xi18n": "bundles/src/bin/ng_xi18n.js", + "ngc": "bundles/src/bin/ngc.js", + "ngcc": "bundles/ngcc/index.js" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + }, + "peerDependencies": { + "@angular/compiler": "18.1.0", + "typescript": ">=5.4 <5.6" + } + }, + "node_modules/@angular/core": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-18.1.0.tgz", + "integrity": "sha512-/57/s7CD/0CwlN+3FlhVmx7ypCWXjKi5UKtnlBAUg0D1denIf6ADxwTHFZABYZcYBqOTJgeQUtUw9u/A+0CIlg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + }, + "peerDependencies": { + "rxjs": "^6.5.3 || ^7.4.0", + "zone.js": "~0.14.0" + } + }, + "node_modules/@angular/forms": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.1.0.tgz", + "integrity": "sha512-m+7m9wa+n5dEacd458eSZsZTz0B+HbOtr7/uqM0YTMQaPrhwl1epG5Y103mB6yr00JiJcLNlPLjP888cHFjldQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + }, + "peerDependencies": { + "@angular/common": "18.1.0", + "@angular/core": "18.1.0", + "@angular/platform-browser": "18.1.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/platform-browser": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.1.0.tgz", + "integrity": "sha512-jCmxthiI4Zef54crckNht60xwfIsuciGeyZvb7SsXna2maLW9fA4uz1VhZqIWTiBnHwNynVlyfBX3/jBD7S9+g==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + }, + "peerDependencies": { + "@angular/animations": "18.1.0", + "@angular/common": "18.1.0", + "@angular/core": "18.1.0" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true + } + } + }, + "node_modules/@angular/platform-browser-dynamic": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-18.1.0.tgz", + "integrity": "sha512-D/wuOQf+gULld9DVEzn2Lw3WbTyAYf/sp3DC5k83O+DQsG3eAIsVkt0zdE+U3DrDYsiWg8M3X+ioi3ouqK0mNg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + }, + "peerDependencies": { + "@angular/common": "18.1.0", + "@angular/compiler": "18.1.0", + "@angular/core": "18.1.0", + "@angular/platform-browser": "18.1.0" + } + }, + "node_modules/@angular/router": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-18.1.0.tgz", + "integrity": "sha512-dl2cSxZkl4we+rWMxdm123TZzlor6yxwNFI2yT7b6DP2i+rXaaHBSSPet0ASp+UX6djz+Osr56Bifs6wi4rhiQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + }, + "peerDependencies": { + "@angular/common": "18.1.0", + "@angular/core": "18.1.0", + "@angular/platform-browser": "18.1.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.8.tgz", + "integrity": "sha512-c4IM7OTg6k1Q+AJ153e2mc2QVTezTwnb4VzquwcyiEzGnW0Kedv4do/TrkU98qPeC5LNiMt/QXwIjzYXLBpyZg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz", + "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helpers": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", + "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", + "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz", + "integrity": "sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.8.tgz", + "integrity": "sha512-4f6Oqnmyp2PP3olgUMmOwC3akxSm5aBYraQ6YDdKy7NcAMkDECHWG0DEnV6M2UAkERgIBhYt8S27rURPg7SxWA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.7.tgz", + "integrity": "sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", + "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", + "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", + "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", + "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.8.tgz", + "integrity": "sha512-m4vWKVqvkVAWLXfHCCfff2luJj86U+J0/x+0N3ArG/tP0Fq7zky2dYwMbtPmkc/oulkkbjdL3uWzuoBwQ8R00Q==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz", + "integrity": "sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-wrap-function": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz", + "integrity": "sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.7", + "@babel/helper-optimise-call-expression": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz", + "integrity": "sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.24.7", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.8.tgz", + "integrity": "sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.8.tgz", + "integrity": "sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz", + "integrity": "sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.7.tgz", + "integrity": "sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", + "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.7.tgz", + "integrity": "sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz", + "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", + "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", + "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.7.tgz", + "integrity": "sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", + "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", + "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.7.tgz", + "integrity": "sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz", + "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", + "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.8.tgz", + "integrity": "sha512-VXy91c47uujj758ud9wx+OMgheXm4qJfyhj1P18YvlrQkNOSrwsteHk+EFS3OMGfhMhpZa0A+81eE7G4QC+3CA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-replace-supers": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", + "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/template": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", + "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", + "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", + "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", + "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", + "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", + "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", + "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.7.tgz", + "integrity": "sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", + "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz", + "integrity": "sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", + "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", + "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", + "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", + "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-simple-access": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.7.tgz", + "integrity": "sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", + "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", + "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", + "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", + "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", + "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", + "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", + "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", + "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", + "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", + "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz", + "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", + "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", + "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", + "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", + "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.7.tgz", + "integrity": "sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.1", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", + "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", + "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", + "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", + "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", + "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", + "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", + "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", + "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz", + "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.7.tgz", + "integrity": "sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.7", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.24.7", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.24.7", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoped-functions": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.24.7", + "@babel/plugin-transform-class-properties": "^7.24.7", + "@babel/plugin-transform-class-static-block": "^7.24.7", + "@babel/plugin-transform-classes": "^7.24.7", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.7", + "@babel/plugin-transform-dotall-regex": "^7.24.7", + "@babel/plugin-transform-duplicate-keys": "^7.24.7", + "@babel/plugin-transform-dynamic-import": "^7.24.7", + "@babel/plugin-transform-exponentiation-operator": "^7.24.7", + "@babel/plugin-transform-export-namespace-from": "^7.24.7", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.24.7", + "@babel/plugin-transform-json-strings": "^7.24.7", + "@babel/plugin-transform-literals": "^7.24.7", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-member-expression-literals": "^7.24.7", + "@babel/plugin-transform-modules-amd": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.7", + "@babel/plugin-transform-modules-systemjs": "^7.24.7", + "@babel/plugin-transform-modules-umd": "^7.24.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-new-target": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-object-super": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-property-literals": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-reserved-words": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-template-literals": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.7", + "@babel/plugin-transform-unicode-escapes": "^7.24.7", + "@babel/plugin-transform-unicode-property-regex": "^7.24.7", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.7", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "node_modules/@babel/runtime": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", + "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", + "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.8.tgz", + "integrity": "sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.8", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/parser": "^7.24.8", + "@babel/types": "^7.24.8", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/generator": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.8.tgz", + "integrity": "sha512-47DG+6F5SzOi0uEvK4wMShmn5yY0mVjVJoWTphdY2B4Rx9wHgjK7Yhtr0ru6nE+sn0v38mzrWOlah0p/YlHHOQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.8", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.8.tgz", + "integrity": "sha512-SkSBEHwwJRU52QEVZBmMBnE5Ux2/6WU1grdYyOhpbCNxbmJrDuDCphBzKZSO3taf0zztp+qkWlymE5tVL5l0TA==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@inquirer/checkbox": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-2.3.10.tgz", + "integrity": "sha512-CTc864M2/523rKc9AglIzAcUCuPXDZENgc5S2KZFVRbnMzpXcYTsUWmbqSeL0XLvtlvEtNevkkVbfVhJpruOyQ==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.0.2", + "@inquirer/figures": "^1.0.3", + "@inquirer/type": "^1.4.0", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/checkbox/node_modules/@inquirer/core": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.0.2.tgz", + "integrity": "sha512-nguvH3TZar3ACwbytZrraRTzGqyxJfYJwv+ZwqZNatAosdWQMP1GV8zvmkNlBe2JeZSaw0WYBHZk52pDpWC9qA==", + "dev": true, + "dependencies": { + "@inquirer/figures": "^1.0.3", + "@inquirer/type": "^1.4.0", + "@types/mute-stream": "^0.0.4", + "@types/node": "^20.14.9", + "@types/wrap-ansi": "^3.0.0", + "ansi-escapes": "^4.3.2", + "cli-spinners": "^2.9.2", + "cli-width": "^4.1.0", + "mute-stream": "^1.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/confirm": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.1.11.tgz", + "integrity": "sha512-3wWw10VPxQP279FO4bzWsf8YjIAq7NdwATJ4xS2h1uwsXZu/RmtOVV95rZ7yllS1h/dzu+uLewjMAzNDEj8h2w==", + "dev": true, + "dependencies": { + "@inquirer/core": "^8.2.4", + "@inquirer/type": "^1.3.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/core": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-8.2.4.tgz", + "integrity": "sha512-7vsXSfxtrrbwMTirfaKwPcjqJy7pzeuF/bP62yo1NQrRJ5HjmMlrhZml/Ljm9ODc1RnbhJlTeSnCkjtFddKjwA==", + "dev": true, + "dependencies": { + "@inquirer/figures": "^1.0.3", + "@inquirer/type": "^1.3.3", + "@types/mute-stream": "^0.0.4", + "@types/node": "^20.14.9", + "@types/wrap-ansi": "^3.0.0", + "ansi-escapes": "^4.3.2", + "cli-spinners": "^2.9.2", + "cli-width": "^4.1.0", + "mute-stream": "^1.0.0", + "picocolors": "^1.0.1", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/editor": { + "version": "2.1.14", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-2.1.14.tgz", + "integrity": "sha512-6nWpoJyVAKwAcv67bkbBmmi3f32xua79fP7TRmNUoR4K+B1GiOBsHO1YdvET/jvC+nTlBZL7puKAKyM7G+Lkzw==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.0.2", + "@inquirer/type": "^1.4.0", + "external-editor": "^3.1.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/editor/node_modules/@inquirer/core": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.0.2.tgz", + "integrity": "sha512-nguvH3TZar3ACwbytZrraRTzGqyxJfYJwv+ZwqZNatAosdWQMP1GV8zvmkNlBe2JeZSaw0WYBHZk52pDpWC9qA==", + "dev": true, + "dependencies": { + "@inquirer/figures": "^1.0.3", + "@inquirer/type": "^1.4.0", + "@types/mute-stream": "^0.0.4", + "@types/node": "^20.14.9", + "@types/wrap-ansi": "^3.0.0", + "ansi-escapes": "^4.3.2", + "cli-spinners": "^2.9.2", + "cli-width": "^4.1.0", + "mute-stream": "^1.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/expand": { + "version": "2.1.14", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-2.1.14.tgz", + "integrity": "sha512-JcxsLajwPykF2kq6biIUdoOzTQ3LXqb8XMVrWkCprG/pFeU1SsxcSSFbF1T5jJGvvlTVcsE+JdGjbQ8ZRZ82RA==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.0.2", + "@inquirer/type": "^1.4.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/expand/node_modules/@inquirer/core": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.0.2.tgz", + "integrity": "sha512-nguvH3TZar3ACwbytZrraRTzGqyxJfYJwv+ZwqZNatAosdWQMP1GV8zvmkNlBe2JeZSaw0WYBHZk52pDpWC9qA==", + "dev": true, + "dependencies": { + "@inquirer/figures": "^1.0.3", + "@inquirer/type": "^1.4.0", + "@types/mute-stream": "^0.0.4", + "@types/node": "^20.14.9", + "@types/wrap-ansi": "^3.0.0", + "ansi-escapes": "^4.3.2", + "cli-spinners": "^2.9.2", + "cli-width": "^4.1.0", + "mute-stream": "^1.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/figures": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.3.tgz", + "integrity": "sha512-ErXXzENMH5pJt5/ssXV0DfWUZqly8nGzf0UcBV9xTnP+KyffE2mqyxIMBrZ8ijQck2nU0TQm40EQB53YreyWHw==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/input": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-2.2.1.tgz", + "integrity": "sha512-Yl1G6h7qWydzrJwqN777geeJVaAFL5Ly83aZlw4xHf8Z/BoTMfKRheyuMaQwOG7LQ4e5nQP7PxXdEg4SzQ+OKw==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.0.2", + "@inquirer/type": "^1.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/input/node_modules/@inquirer/core": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.0.2.tgz", + "integrity": "sha512-nguvH3TZar3ACwbytZrraRTzGqyxJfYJwv+ZwqZNatAosdWQMP1GV8zvmkNlBe2JeZSaw0WYBHZk52pDpWC9qA==", + "dev": true, + "dependencies": { + "@inquirer/figures": "^1.0.3", + "@inquirer/type": "^1.4.0", + "@types/mute-stream": "^0.0.4", + "@types/node": "^20.14.9", + "@types/wrap-ansi": "^3.0.0", + "ansi-escapes": "^4.3.2", + "cli-spinners": "^2.9.2", + "cli-width": "^4.1.0", + "mute-stream": "^1.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/password": { + "version": "2.1.14", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-2.1.14.tgz", + "integrity": "sha512-sPzOkXLhWJQ96K6nPZFnF8XB8tsDrcCRobd1d3EDz81F+4hp8BbdmsnsQcqZ7oYDIOVM/mWJyIUtJ35TrssJxQ==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.0.2", + "@inquirer/type": "^1.4.0", + "ansi-escapes": "^4.3.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/password/node_modules/@inquirer/core": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.0.2.tgz", + "integrity": "sha512-nguvH3TZar3ACwbytZrraRTzGqyxJfYJwv+ZwqZNatAosdWQMP1GV8zvmkNlBe2JeZSaw0WYBHZk52pDpWC9qA==", + "dev": true, + "dependencies": { + "@inquirer/figures": "^1.0.3", + "@inquirer/type": "^1.4.0", + "@types/mute-stream": "^0.0.4", + "@types/node": "^20.14.9", + "@types/wrap-ansi": "^3.0.0", + "ansi-escapes": "^4.3.2", + "cli-spinners": "^2.9.2", + "cli-width": "^4.1.0", + "mute-stream": "^1.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/prompts": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-5.0.7.tgz", + "integrity": "sha512-GFcigCxJTKCH3aECzMIu4FhgLJWnFvMXzpI4CCSoELWFtkOOU2P+goYA61+OKpGrB8fPE7q6n8zAXBSlZRrHjQ==", + "dev": true, + "dependencies": { + "@inquirer/checkbox": "^2.3.7", + "@inquirer/confirm": "^3.1.11", + "@inquirer/editor": "^2.1.11", + "@inquirer/expand": "^2.1.11", + "@inquirer/input": "^2.1.11", + "@inquirer/password": "^2.1.11", + "@inquirer/rawlist": "^2.1.11", + "@inquirer/select": "^2.3.7" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/rawlist": { + "version": "2.1.14", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-2.1.14.tgz", + "integrity": "sha512-pLpEzhKNQ/ugFAFfgCNaXljB+dcCwmXwR1jOxAbVeFIdB3l02E5gjI+h1rb136tq0T8JO6P5KFR1oTeld/wdrA==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.0.2", + "@inquirer/type": "^1.4.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/rawlist/node_modules/@inquirer/core": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.0.2.tgz", + "integrity": "sha512-nguvH3TZar3ACwbytZrraRTzGqyxJfYJwv+ZwqZNatAosdWQMP1GV8zvmkNlBe2JeZSaw0WYBHZk52pDpWC9qA==", + "dev": true, + "dependencies": { + "@inquirer/figures": "^1.0.3", + "@inquirer/type": "^1.4.0", + "@types/mute-stream": "^0.0.4", + "@types/node": "^20.14.9", + "@types/wrap-ansi": "^3.0.0", + "ansi-escapes": "^4.3.2", + "cli-spinners": "^2.9.2", + "cli-width": "^4.1.0", + "mute-stream": "^1.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/select": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-2.3.10.tgz", + "integrity": "sha512-rr7iR0Zj1YFfgM8IUGimPD9Yukd+n/U63CnYT9kdum6DbRXtMxR45rrreP+EA9ixCnShr+W4xj7suRxC1+8t9g==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.0.2", + "@inquirer/figures": "^1.0.3", + "@inquirer/type": "^1.4.0", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/select/node_modules/@inquirer/core": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.0.2.tgz", + "integrity": "sha512-nguvH3TZar3ACwbytZrraRTzGqyxJfYJwv+ZwqZNatAosdWQMP1GV8zvmkNlBe2JeZSaw0WYBHZk52pDpWC9qA==", + "dev": true, + "dependencies": { + "@inquirer/figures": "^1.0.3", + "@inquirer/type": "^1.4.0", + "@types/mute-stream": "^0.0.4", + "@types/node": "^20.14.9", + "@types/wrap-ansi": "^3.0.0", + "ansi-escapes": "^4.3.2", + "cli-spinners": "^2.9.2", + "cli-width": "^4.1.0", + "mute-stream": "^1.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.4.0.tgz", + "integrity": "sha512-AjOqykVyjdJQvtfkNDGUyMYGF8xN50VUxftCQWsOyIo4DFRLr6VQhW0VItGI1JIyQGCGgIpKa7hMMwNhZb4OIw==", + "dev": true, + "dependencies": { + "mute-stream": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jsonjoy.com/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", + "dev": true, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pack": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.0.4.tgz", + "integrity": "sha512-aOcSN4MeAtFROysrbqG137b7gaDDSmVrl5mpo6sT/w+kcXpWnzhMjmY/Fh/sDx26NBxyIE7MB1seqLeCAzy9Sg==", + "dev": true, + "dependencies": { + "@jsonjoy.com/base64": "^1.1.1", + "@jsonjoy.com/util": "^1.1.2", + "hyperdyperid": "^1.2.0", + "thingies": "^1.20.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/util": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.2.0.tgz", + "integrity": "sha512-4B8B+3vFsY4eo33DMKyJPlQ3sBMpPFUZK2dr3O3rXrOGKKbYG44J0XSFkDo1VOQiri5HFEhIeVvItjR2xcazmg==", + "dev": true, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "dev": true + }, + "node_modules/@listr2/prompt-adapter-inquirer": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-2.0.13.tgz", + "integrity": "sha512-nAl6teTt7EWSjttNavAnv3uFR3w3vPP3OTYmHyPNHzKhAj2NoBDHmbS3MGpvvO8KXXPASnHjEGrrKrdKTMKPnQ==", + "dev": true, + "dependencies": { + "@inquirer/type": "^1.3.3" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@inquirer/prompts": ">= 3 < 6" + } + }, + "node_modules/@lmdb/lmdb-darwin-arm64": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.0.12.tgz", + "integrity": "sha512-vgTwzNUD3Hy4aqtGhX2+nV/usI0mwy3hDRuTjs8VcK0BLiMVEpNQXgzwlWEgPmA8AAPloUgyOs2nK5clJF5oIg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", + "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@ngtools/webpack": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-18.1.0.tgz", + "integrity": "sha512-J4ATDGq0AubLbP3DOFRjp0pDBvSgzjtiu5l1hGq3xf6AzVAEmZFlp2Ac2EykuK2r8XDnCVoLrxICJOXZWWzP2g==", + "dev": true, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^18.0.0", + "typescript": ">=5.4 <5.6", + "webpack": "^5.54.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/agent": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.2.tgz", + "integrity": "sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.3" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/agent/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, + "node_modules/@npmcli/fs": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", + "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", + "dev": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/git": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.8.tgz", + "integrity": "sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ==", + "dev": true, + "dependencies": { + "@npmcli/promise-spawn": "^7.0.0", + "ini": "^4.1.3", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^9.0.0", + "proc-log": "^4.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/git/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/git/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, + "node_modules/@npmcli/git/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.1.0.tgz", + "integrity": "sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w==", + "dev": true, + "dependencies": { + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "bin": { + "installed-package-contents": "bin/index.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/node-gyp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", + "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/package-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-5.2.0.tgz", + "integrity": "sha512-qe/kiqqkW0AGtvBjL8TJKZk/eBBSpnJkUWvHdQ9jM2lKHXRYYJuyNpJPlJw3c8QjC2ow6NZYiLExhUaeJelbxQ==", + "dev": true, + "dependencies": { + "@npmcli/git": "^5.0.0", + "glob": "^10.2.2", + "hosted-git-info": "^7.0.0", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^6.0.0", + "proc-log": "^4.0.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/package-json/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@npmcli/package-json/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@npmcli/package-json/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@npmcli/promise-spawn": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.2.tgz", + "integrity": "sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ==", + "dev": true, + "dependencies": { + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/redact": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-2.0.1.tgz", + "integrity": "sha512-YgsR5jCQZhVmTJvjduTOIHph0L73pK8xwMVaDY0PatySqVM9AZj93jpoXYSJqfHFxFkN9dmqTw6OiqExsS3LPw==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/run-script": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-8.1.0.tgz", + "integrity": "sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==", + "dev": true, + "dependencies": { + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/package-json": "^5.0.0", + "@npmcli/promise-spawn": "^7.0.0", + "node-gyp": "^10.0.0", + "proc-log": "^4.0.0", + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/run-script/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/run-script/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz", + "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@schematics/angular": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-18.1.0.tgz", + "integrity": "sha512-k9Dy6JD7hqvCzDqnMjDm7J8H/P6m5mLuX2yEgQWKRAJ/YMINtBQAaKA1T9qXk97kEX6RNLpHMuDIsrIfK/H31Q==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "18.1.0", + "@angular-devkit/schematics": "18.1.0", + "jsonc-parser": "3.3.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@sigstore/bundle": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.3.2.tgz", + "integrity": "sha512-wueKWDk70QixNLB363yHc2D2ItTgYiMTdPwK8D9dKQMR3ZQ0c35IxP5xnwQ8cNLoCgCRcHf14kE+CLIvNX1zmA==", + "dev": true, + "dependencies": { + "@sigstore/protobuf-specs": "^0.3.2" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/core": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-1.1.0.tgz", + "integrity": "sha512-JzBqdVIyqm2FRQCulY6nbQzMpJJpSiJ8XXWMhtOX9eKgaXXpfNOF53lzQEjIydlStnd/eFtuC1dW4VYdD93oRg==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/protobuf-specs": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.3.2.tgz", + "integrity": "sha512-c6B0ehIWxMI8wiS/bj6rHMPqeFvngFV7cDU/MY+B16P9Z3Mp9k8L93eYZ7BYzSickzuqAQqAq0V956b3Ju6mLw==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/sign": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.3.2.tgz", + "integrity": "sha512-5Vz5dPVuunIIvC5vBb0APwo7qKA4G9yM48kPWJT+OEERs40md5GoUR1yedwpekWZ4m0Hhw44m6zU+ObsON+iDA==", + "dev": true, + "dependencies": { + "@sigstore/bundle": "^2.3.2", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.2", + "make-fetch-happen": "^13.0.1", + "proc-log": "^4.2.0", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/tuf": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.4.tgz", + "integrity": "sha512-44vtsveTPUpqhm9NCrbU8CWLe3Vck2HO1PNLw7RIajbB7xhtn5RBPm1VNSCMwqGYHhDsBJG8gDF0q4lgydsJvw==", + "dev": true, + "dependencies": { + "@sigstore/protobuf-specs": "^0.3.2", + "tuf-js": "^2.2.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/verify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-1.2.1.tgz", + "integrity": "sha512-8iKx79/F73DKbGfRf7+t4dqrc0bRr0thdPrxAtCKWRm/F0tG71i6O1rvlnScncJLLBZHn3h8M3c1BSUAb9yu8g==", + "dev": true, + "dependencies": { + "@sigstore/bundle": "^2.3.2", + "@sigstore/core": "^1.1.0", + "@sigstore/protobuf-specs": "^0.3.2" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", + "dev": true + }, + "node_modules/@tanstack/angular-query-devtools-experimental": { + "version": "5.51.3", + "resolved": "https://registry.npmjs.org/@tanstack/angular-query-devtools-experimental/-/angular-query-devtools-experimental-5.51.3.tgz", + "integrity": "sha512-dI5D31FgfrW2uqFUbsG9590LMPLyaHjB/JBR9X/4sZz2A7ki03ew78OEup6ZIGk7pbyWQ7oq4dUlKOsxyQxjmQ==", + "dependencies": { + "@tanstack/query-devtools": "5.51.1", + "tslib": "^2.6.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "@angular/common": ">=16.0.0", + "@angular/core": ">=16.0.0", + "@tanstack/angular-query-experimental": "^5.51.3" + } + }, + "node_modules/@tanstack/angular-query-experimental": { + "version": "5.51.1", + "resolved": "https://registry.npmjs.org/@tanstack/angular-query-experimental/-/angular-query-experimental-5.51.1.tgz", + "integrity": "sha512-Vuxa8UlmDeMUpIhTtvcQYmrXoVlup3z6X4uF8PgV7QtAi3jvGYpto+ZxtzkrCFNcrAPe/yu0ng81p62h1eCYcA==", + "dependencies": { + "@tanstack/query-core": "5.51.1", + "tslib": "^2.6.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "@angular/common": ">=16.0.0", + "@angular/core": ">=16.0.0" + } + }, + "node_modules/@tanstack/query-core": { + "version": "5.51.1", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.51.1.tgz", + "integrity": "sha512-fJBMQMpo8/KSsWW5ratJR5+IFr7YNJ3K2kfP9l5XObYHsgfVy1w3FJUWU4FT2fj7+JMaEg33zOcNDBo0LMwHnw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/query-devtools": { + "version": "5.51.1", + "resolved": "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.51.1.tgz", + "integrity": "sha512-rehG0WmL3EXER6MAI2uHQia/n0b5c3ZROohpYm7u3G7yg4q+HsfQy6nuAo6uy40NzHUe3FmnfWCZQ0Vb/3lE6g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", + "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-2.0.1.tgz", + "integrity": "sha512-92F7/SFyufn4DXsha9+QfKnN03JGqtMFMXgSHbZOo8JG59WkTni7UzAouNQDf7AuP9OAMxVOPQcqG3sB7w+kkg==", + "dev": true, + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@tufjs/models/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dev": true, + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", + "dev": true + }, + "node_modules/@types/cors": { + "version": "2.8.17", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", + "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.56.10", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", + "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.19.5", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz", + "integrity": "sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "dev": true + }, + "node_modules/@types/http-proxy": { + "version": "1.17.14", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", + "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/jasmine": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.4.tgz", + "integrity": "sha512-px7OMFO/ncXxixDe1zR13V1iycqWae0MxTaw62RpFlksUi5QuNWgQJFkTQjIOvrmutJbI7Fp2Y2N1F6D2R4G6w==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true + }, + "node_modules/@types/mute-stream": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.4.tgz", + "integrity": "sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/node": { + "version": "20.14.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.10.tgz", + "integrity": "sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/qs": { + "version": "6.9.15", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", + "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true + }, + "node_modules/@types/retry": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", + "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", + "dev": true + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "dev": true, + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.7", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", + "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "dev": true, + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/wrap-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz", + "integrity": "sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==", + "dev": true + }, + "node_modules/@types/ws": { + "version": "8.5.11", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.11.tgz", + "integrity": "sha512-4+q7P5h3SpJxaBft0Dzpbr6lmMaqh0Jr2tbhJZ/luAwvD7ohSCniYkwz/pLxuT2h0EOa6QADgJj1Ko+TzRfZ+w==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@vitejs/plugin-basic-ssl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.1.0.tgz", + "integrity": "sha512-wO4Dk/rm8u7RNhOf95ZzcEmC9rYOncYgvq4z3duaJrCgjN8BxAnDVyndanfcJZ0O6XZzHz6Q0hTimxTg8Y9g/A==", + "dev": true, + "engines": { + "node": ">=14.6.0" + }, + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "node_modules/abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "dev": true, + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "node_modules/autoprefixer": { + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/babel-loader": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", + "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", + "dev": true, + "dependencies": { + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.1", + "core-js-compat": "^3.36.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true, + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/bonjour-service": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", + "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", + "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001640", + "electron-to-chromium": "^1.4.820", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "18.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.4.tgz", + "integrity": "sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001642", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001642.tgz", + "integrity": "sha512-3XQ0DoRgLijXJErLSl+bLnJ+Et4KqV1PY6JJBGAFlsNsz31zeAIncyeZfLCabHK/jtSh+671RM9YMldxjUPZtA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "dev": true, + "dependencies": { + "restore-cursor": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", + "dev": true, + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/cliui/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "dev": true + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "dependencies": { + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-12.0.2.tgz", + "integrity": "sha512-SNwdBeHyII+rWvee/bTnAYyO8vfVdcSTud4EIb6jcZ8inLeWucJE0DnxXQBjlQ5zlteuuvooGQy3LIyGxhvlOA==", + "dev": true, + "dependencies": { + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.1", + "globby": "^14.0.0", + "normalize-path": "^3.0.0", + "schema-utils": "^4.2.0", + "serialize-javascript": "^6.0.2" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/core-js-compat": { + "version": "3.37.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", + "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", + "dev": true, + "dependencies": { + "browserslist": "^4.23.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/critters": { + "version": "0.0.24", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.24.tgz", + "integrity": "sha512-Oyqew0FGM0wYUSNqR0L6AteO5MpMoUU0rhKRieXeiKs+PmRTxiJMyaunYB2KF6fQ3dzChXKCpbFOEJx3OQ1v/Q==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "css-select": "^5.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.2", + "htmlparser2": "^8.0.2", + "postcss": "^8.4.23", + "postcss-media-query-parser": "^0.2.3" + } + }, + "node_modules/critters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/critters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/critters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/critters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/critters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/critters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-loader": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", + "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==", + "dev": true, + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.27.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", + "dev": true + }, + "node_modules/date-format": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/debug": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "dev": true, + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "node_modules/di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", + "dev": true + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dev": true, + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", + "dev": true, + "dependencies": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.827", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.827.tgz", + "integrity": "sha512-VY+J0e4SFcNfQy19MEoMdaIcZLmDCprqvBtkii1WTCTQHpRvf5N8+3kTYCgL/PcntvwQvmMJWTuDPsq+IlhWKQ==" + }, + "node_modules/emoji-regex": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", + "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/engine.io": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.5.tgz", + "integrity": "sha512-C5Pn8Wk+1vKBoHghJODM63yk8MvrO9EWZUfkAt5HAqIgPE4/8FF0PEGHXtEd40l223+cE5ABWuPzm38PHFXfMA==", + "dev": true, + "dependencies": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.17.1" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz", + "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/ent": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.1.tgz", + "integrity": "sha512-QHuXVeZx9d+tIQAz/XztU0ZwZf2Agg9CcXcgE1rurqvdBeDBrpSwjl8/6XUqMg7tw2Y7uAdKb2sRv+bSEFqQ5A==", + "dev": true, + "dependencies": { + "punycode": "^1.4.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "optional": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/esbuild-wasm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.21.5.tgz", + "integrity": "sha512-L/FlOPMMFtw+6qPAbuPvJXdrOYOp9yx/PEwSrIZW0qghY4vgV003evdYDwqQ/9ENMQI0B6RMod9xT4FHtto6OQ==", + "dev": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execa/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/exponential-backoff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", + "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", + "dev": true + }, + "node_modules/express": { + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "dev": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.6.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/express/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/finalhandler/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "dev": true, + "dependencies": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dev": true, + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/foreground-child": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", + "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "dev": true, + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", + "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", + "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", + "dev": true, + "dependencies": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.2", + "ignore": "^5.2.4", + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "dev": true, + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-entities": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", + "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "dev": true + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/http-proxy-middleware": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-3.0.0.tgz", + "integrity": "sha512-36AV1fIaI2cWRzHo+rbcxhe3M3jUDCNzc4D5zRl57sEWRAxdXYtw7FSQKYY6PDKssiAKjLYypbssHk+xs/kMXw==", + "dev": true, + "dependencies": { + "@types/http-proxy": "^1.17.10", + "debug": "^4.3.4", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.5" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "dev": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/hyperdyperid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", + "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==", + "dev": true, + "engines": { + "node": ">=10.18" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-walk": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.5.tgz", + "integrity": "sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A==", + "dev": true, + "dependencies": { + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/ignore-walk/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/ignore-walk/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/immutable": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz", + "integrity": "sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==", + "dev": true + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", + "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "dev": true, + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/ipaddr.js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz", + "integrity": "sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true + }, + "node_modules/is-network-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", + "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz", + "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jasmine-core": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.1.2.tgz", + "integrity": "sha512-2oIUMGn00FdUiqz6epiiJr7xcFyNYj3rDcfmnzfkBnHyBQ3cBQUs4mmyGsOb7TTLb9kxk7dBcmEmqhDKkBoDyA==", + "dev": true + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", + "dev": true + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", + "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/karma": { + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.3.tgz", + "integrity": "sha512-LuucC/RE92tJ8mlCwqEoRWXP38UMAqpnq98vktmS9SznSoUPPUJQbc91dHcxcunROvfQjdORVA/YFviH+Xci9Q==", + "dev": true, + "dependencies": { + "@colors/colors": "1.5.0", + "body-parser": "^1.19.0", + "braces": "^3.0.2", + "chokidar": "^3.5.1", + "connect": "^3.7.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.1", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.4.1", + "mime": "^2.5.2", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.5", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^4.7.2", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.30", + "yargs": "^16.1.1" + }, + "bin": { + "karma": "bin/karma" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/karma-chrome-launcher": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz", + "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==", + "dev": true, + "dependencies": { + "which": "^1.2.1" + } + }, + "node_modules/karma-coverage": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz", + "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.2.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.1", + "istanbul-reports": "^3.0.5", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/karma-coverage/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/karma-coverage/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/karma-jasmine": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz", + "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==", + "dev": true, + "dependencies": { + "jasmine-core": "^4.1.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "karma": "^6.0.0" + } + }, + "node_modules/karma-jasmine-html-reporter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.1.0.tgz", + "integrity": "sha512-sPQE1+nlsn6Hwb5t+HHwyy0A1FNCVKuL1192b+XNauMYWThz2kweiBVW1DqloRpVvZIJkIoHVB7XRpK78n1xbQ==", + "dev": true, + "peerDependencies": { + "jasmine-core": "^4.0.0 || ^5.0.0", + "karma": "^6.0.0", + "karma-jasmine": "^5.0.0" + } + }, + "node_modules/karma-jasmine/node_modules/jasmine-core": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.1.tgz", + "integrity": "sha512-VYz/BjjmC3klLJlLwA4Kw8ytk0zDSmbbDLNs794VnWmkcCB7I9aAL/D48VNQtmITyPvea2C3jdUMfc3kAoy0PQ==", + "dev": true + }, + "node_modules/karma-source-map-support": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", + "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", + "dev": true, + "dependencies": { + "source-map-support": "^0.5.5" + } + }, + "node_modules/karma/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/karma/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/karma/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/karma/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/karma/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/karma/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/karma/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/karma/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/karma/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/karma/node_modules/tmp": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "dev": true, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/karma/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/karma/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/karma/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/launch-editor": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.8.0.tgz", + "integrity": "sha512-vJranOAJrI/llyWGRQqiDM+adrw+k83fvmmx3+nV47g3+36xM15jE+zyZ6Ffel02+xSvuM0b2GDRosXZkbb6wA==", + "dev": true, + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/less": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/less/-/less-4.2.0.tgz", + "integrity": "sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==", + "dev": true, + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=6" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "source-map": "~0.6.0" + } + }, + "node_modules/less-loader": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.2.0.tgz", + "integrity": "sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg==", + "dev": true, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "less": "^3.5.0 || ^4.0.0", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/less/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "optional": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/less/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/less/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/less/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/license-webpack-plugin": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", + "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", + "dev": true, + "dependencies": { + "webpack-sources": "^3.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-sources": { + "optional": true + } + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/listr2": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.3.tgz", + "integrity": "sha512-Lllokma2mtoniUOS94CcOErHWAug5iu7HOmDrvWgpw8jyQH2fomgB+7lZS4HWZxytUuQwkGOwe49FvwVaA85Xw==", + "dev": true, + "dependencies": { + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.0.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/listr2/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/listr2/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/listr2/node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true + }, + "node_modules/listr2/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/lmdb": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.0.12.tgz", + "integrity": "sha512-JnoEulTgveoC64vlYJ9sufGLuNkk6TcxSYpKxSC9aM42I61jIv3pQH0fgb6qW7HV0+FNqA3g1WCQQYfhfawGoQ==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "msgpackr": "^1.10.2", + "node-addon-api": "^6.1.0", + "node-gyp-build-optional-packages": "5.2.2", + "ordered-binary": "^1.4.1", + "weak-lru-cache": "^1.2.2" + }, + "bin": { + "download-lmdb-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@lmdb/lmdb-darwin-arm64": "3.0.12", + "@lmdb/lmdb-darwin-x64": "3.0.12", + "@lmdb/lmdb-linux-arm": "3.0.12", + "@lmdb/lmdb-linux-arm64": "3.0.12", + "@lmdb/lmdb-linux-x64": "3.0.12", + "@lmdb/lmdb-win32-x64": "3.0.12" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", + "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", + "dev": true, + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dev": true, + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-update": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.0.0.tgz", + "integrity": "sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==", + "dev": true, + "dependencies": { + "ansi-escapes": "^6.2.0", + "cli-cursor": "^4.0.0", + "slice-ansi": "^7.0.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz", + "integrity": "sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/log-update/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", + "dev": true, + "dependencies": { + "get-east-asian-width": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/log4js": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", + "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", + "dev": true, + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "flatted": "^3.2.7", + "rfdc": "^1.3.0", + "streamroller": "^3.1.5" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-fetch-happen": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.1.tgz", + "integrity": "sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==", + "dev": true, + "dependencies": { + "@npmcli/agent": "^2.0.0", + "cacache": "^18.0.0", + "http-cache-semantics": "^4.1.1", + "is-lambda": "^1.0.1", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "proc-log": "^4.2.0", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.9.3.tgz", + "integrity": "sha512-bsYSSnirtYTWi1+OPMFb0M048evMKyUYe0EbtuGQgq6BVQM1g1W8/KIUJCCvjgI/El0j6Q4WsmMiBwLUBSw8LA==", + "dev": true, + "dependencies": { + "@jsonjoy.com/json-pack": "^1.0.3", + "@jsonjoy.com/util": "^1.1.2", + "tree-dump": "^1.0.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">= 4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.0.tgz", + "integrity": "sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==", + "dev": true, + "dependencies": { + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "dev": true, + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-fetch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", + "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", + "dev": true, + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-flush/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/msgpackr": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.10.2.tgz", + "integrity": "sha512-L60rsPynBvNE+8BWipKKZ9jHcSGbtyJYIwjRq0VrIvQ08cRjntGXJYW/tmciZ2IHWIY8WEW32Qa2xbh5+SKBZA==", + "dev": true, + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" + } + }, + "node_modules/msgpackr-extract": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", + "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "dependencies": { + "node-gyp-build-optional-packages": "5.2.2" + }, + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" + } + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dev": true, + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/mute-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", + "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/needle": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", + "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", + "dev": true, + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/needle/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/nice-napi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", + "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "!win32" + ], + "dependencies": { + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.2" + } + }, + "node_modules/nice-napi/node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "dev": true, + "optional": true + }, + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "dev": true + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true, + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-gyp": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.2.0.tgz", + "integrity": "sha512-sp3FonBAaFe4aYTcFdZUn2NYkbP7xroPGYvQmP4Nl5PxamznItBnNCgjrVTKrEfQynInMsJvZrdmqUnysCJ8rw==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^10.3.10", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^13.0.0", + "nopt": "^7.0.0", + "proc-log": "^4.1.0", + "semver": "^7.3.5", + "tar": "^6.2.1", + "which": "^4.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/node-gyp-build": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.1.tgz", + "integrity": "sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==", + "dev": true, + "optional": true, + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-gyp-build-optional-packages": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", + "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", + "dev": true, + "dependencies": { + "detect-libc": "^2.0.1" + }, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } + }, + "node_modules/node-gyp/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/node-gyp/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/node-gyp/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/node-gyp/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/node-gyp/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + }, + "node_modules/nopt": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", + "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", + "dev": true, + "dependencies": { + "abbrev": "^2.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/normalize-package-data": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", + "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", + "dev": true, + "dependencies": { + "hosted-git-info": "^7.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-bundled": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.1.tgz", + "integrity": "sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ==", + "dev": true, + "dependencies": { + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-install-checks": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", + "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", + "dev": true, + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", + "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-package-arg": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.2.tgz", + "integrity": "sha512-IGN0IAwmhDJwy13Wc8k+4PEbTPhpJnMtfR53ZbOyjkvmEcLS4nCwp6mvMWjS5sUjeiW3mpx6cHmuhKEu9XmcQw==", + "dev": true, + "dependencies": { + "hosted-git-info": "^7.0.0", + "proc-log": "^4.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-packlist": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.2.tgz", + "integrity": "sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==", + "dev": true, + "dependencies": { + "ignore-walk": "^6.0.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-pick-manifest": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.0.1.tgz", + "integrity": "sha512-Udm1f0l2nXb3wxDpKjfohwgdFUSV50UVwzEIpDXVsbDMXVIEF81a/i0UhuQbhrPMMmdiq3+YMFLFIRVLs3hxQw==", + "dev": true, + "dependencies": { + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^11.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch": { + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-17.1.0.tgz", + "integrity": "sha512-5+bKQRH0J1xG1uZ1zMNvxW0VEyoNWgJpY9UDuluPFLKDfJ9u2JmmjmTJV1srBGQOROfdBMiVvnH2Zvpbm+xkVA==", + "dev": true, + "dependencies": { + "@npmcli/redact": "^2.0.0", + "jsonparse": "^1.3.1", + "make-fetch-happen": "^13.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minizlib": "^2.1.2", + "npm-package-arg": "^11.0.0", + "proc-log": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", + "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", + "dev": true, + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ora/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ordered-binary": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.1.tgz", + "integrity": "sha512-5VyHfHY3cd0iza71JepYG50My+YUbrFtGoUz2ooEydPyPM7Aai/JW098juLr+RG6+rDJuzNNTsEQu2DZa1A41A==", + "dev": true + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dev": true, + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.0.tgz", + "integrity": "sha512-JA6nkq6hKyWLLasXQXUrO4z8BUZGUt/LjlJxx8Gb2+2ntodU/SS63YZ8b0LUTbQ8ZB9iwOfhEPhg4ykKnn2KsA==", + "dev": true, + "dependencies": { + "@types/retry": "0.12.2", + "is-network-error": "^1.0.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry/node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==" + }, + "node_modules/pacote": { + "version": "18.0.6", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-18.0.6.tgz", + "integrity": "sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A==", + "dev": true, + "dependencies": { + "@npmcli/git": "^5.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/package-json": "^5.1.0", + "@npmcli/promise-spawn": "^7.0.0", + "@npmcli/run-script": "^8.0.0", + "cacache": "^18.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^11.0.0", + "npm-packlist": "^8.0.0", + "npm-pick-manifest": "^9.0.0", + "npm-registry-fetch": "^17.0.0", + "proc-log": "^4.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^2.2.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "bin/index.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-json/node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-html-rewriting-stream": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz", + "integrity": "sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==", + "dev": true, + "dependencies": { + "entities": "^4.3.0", + "parse5": "^7.0.0", + "parse5-sax-parser": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-sax-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz", + "integrity": "sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==", + "dev": true, + "dependencies": { + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "node_modules/path-type": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + }, + "node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/piscina": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.6.1.tgz", + "integrity": "sha512-z30AwWGtQE+Apr+2WBZensP2lIvwoaMcOPkQlIEmSGMJNUvaYACylPYrQM6wSdUNJlnDVMSpLv7xTMJqlVshOA==", + "dev": true, + "optionalDependencies": { + "nice-napi": "^1.0.2" + } + }, + "node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "dev": true, + "dependencies": { + "find-up": "^6.3.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/postcss": { + "version": "8.4.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", + "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/postcss-loader": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-8.1.1.tgz", + "integrity": "sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==", + "dev": true, + "dependencies": { + "cosmiconfig": "^9.0.0", + "jiti": "^1.20.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", + "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", + "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", + "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/proc-log": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", + "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", + "dev": true, + "engines": { + "node": ">=0.9" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-cache/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/readdirp/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", + "dev": true + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-parser": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.0.tgz", + "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==", + "dev": true + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", + "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", + "dev": true, + "dependencies": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.14", + "source-map": "0.6.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/resolve-url-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/resolve-url-loader/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true + }, + "node_modules/rimraf": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz", + "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", + "dev": true, + "dependencies": { + "glob": "^11.0.0", + "package-json-from-dist": "^1.0.0" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", + "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/jackspeak": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz", + "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/rimraf/node_modules/lru-cache": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz", + "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==", + "dev": true, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/path-scurry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "dev": true, + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz", + "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.18.0", + "@rollup/rollup-android-arm64": "4.18.0", + "@rollup/rollup-darwin-arm64": "4.18.0", + "@rollup/rollup-darwin-x64": "4.18.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", + "@rollup/rollup-linux-arm-musleabihf": "4.18.0", + "@rollup/rollup-linux-arm64-gnu": "4.18.0", + "@rollup/rollup-linux-arm64-musl": "4.18.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", + "@rollup/rollup-linux-riscv64-gnu": "4.18.0", + "@rollup/rollup-linux-s390x-gnu": "4.18.0", + "@rollup/rollup-linux-x64-gnu": "4.18.0", + "@rollup/rollup-linux-x64-musl": "4.18.0", + "@rollup/rollup-win32-arm64-msvc": "4.18.0", + "@rollup/rollup-win32-ia32-msvc": "4.18.0", + "@rollup/rollup-win32-x64-msvc": "4.18.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sass": { + "version": "1.77.6", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.6.tgz", + "integrity": "sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-loader": { + "version": "14.2.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-14.2.1.tgz", + "integrity": "sha512-G0VcnMYU18a4N7VoNDegg2OuMjYtxnqzQWARVWCIVSZwJeiL9kg8QMsuIZOplsJgTzZLF6jGxI3AClj8I9nRdQ==", + "dev": true, + "dependencies": { + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "dev": true, + "optional": true + }, + "node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/schema-utils/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dev": true, + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sigstore": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.3.1.tgz", + "integrity": "sha512-8G+/XDU8wNsJOQS5ysDVO0Etg9/2uA5gR9l4ZwijjlwxBcrU6RPfwi2+jJmbP+Ap1Hlp/nVAaEO4Fj22/SL2gQ==", + "dev": true, + "dependencies": { + "@sigstore/bundle": "^2.3.2", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.2", + "@sigstore/sign": "^2.3.2", + "@sigstore/tuf": "^2.3.4", + "@sigstore/verify": "^1.2.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socket.io": { + "version": "4.7.5", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.5.tgz", + "integrity": "sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA==", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.3.2", + "engine.io": "~6.5.2", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz", + "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==", + "dev": true, + "dependencies": { + "debug": "~4.3.4", + "ws": "~8.17.1" + } + }, + "node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", + "dev": true, + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/socks": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", + "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", + "dev": true, + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz", + "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.1", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-5.0.0.tgz", + "integrity": "sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==", + "dev": true, + "dependencies": { + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.72.1" + } + }, + "node_modules/source-map-loader/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.18", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz", + "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==", + "dev": true + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true + }, + "node_modules/ssri": { + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", + "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", + "dev": true, + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/streamroller": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", + "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", + "dev": true, + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.4.tgz", + "integrity": "sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dev": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/terser": { + "version": "5.29.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.29.2.tgz", + "integrity": "sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/thingies": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", + "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==", + "dev": true, + "engines": { + "node": ">=10.18" + }, + "peerDependencies": { + "tslib": "^2" + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tree-dump": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.2.tgz", + "integrity": "sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==", + "dev": true, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + }, + "node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + }, + "node_modules/tuf-js": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-2.2.1.tgz", + "integrity": "sha512-GwIJau9XaA8nLVbUXsN3IlFi7WmQ48gBUrl3FTkkL/XLu/POhBzfmX9hd33FNMX1qAsfl6ozO1iMmW9NC8YniA==", + "dev": true, + "dependencies": { + "@tufjs/models": "2.0.1", + "debug": "^4.3.4", + "make-fetch-happen": "^13.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-assert": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", + "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", + "dev": true + }, + "node_modules/typescript": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz", + "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.38", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.38.tgz", + "integrity": "sha512-fYmIy7fKTSFAhG3fuPlubeGaMoAd6r0rSnfEsO5nEY55i26KSLt9EH7PLQiiqPUhNqYIJvSkTy1oArIcXAbPbA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/undici": { + "version": "6.19.2", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.19.2.tgz", + "integrity": "sha512-JfjKqIauur3Q6biAtHJ564e3bWa8VvT+7cSiOJHFbX4Erv6CLGDpg8z+Fmg/1OI/47RA+GI2QZaF48SSaLvyBA==", + "dev": true, + "engines": { + "node": ">=18.17" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "dev": true, + "dependencies": { + "unique-slug": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", + "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.2.tgz", + "integrity": "sha512-6lA7OBHBlXUxiJxbO5aAY2fsHHzDr1q7DvXYnyZycRs2Dz+dXBWuhpWHvmljTRTpQC2uvGmUFFkSHF2vGo90MA==", + "dev": true, + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.38", + "rollup": "^4.13.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", + "dev": true + }, + "node_modules/webpack": { + "version": "5.92.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.92.1.tgz", + "integrity": "sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.2.1.tgz", + "integrity": "sha512-hRLz+jPQXo999Nx9fXVdKlg/aehsw1ajA9skAneGmT03xwmyuhvF93p6HUKKbWhXdcERtGTzUCtIQr+2IQegrA==", + "dev": true, + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^4.6.0", + "mime-types": "^2.1.31", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.0.4.tgz", + "integrity": "sha512-dljXhUgx3HqKP2d8J/fUMvhxGhzjeNVarDLcbO/EWMSgRizDkxHQDZQaLFL5VJY9tRBj2Gz+rvCEYYvhbqPHNA==", + "dev": true, + "dependencies": { + "@types/bonjour": "^3.5.13", + "@types/connect-history-api-fallback": "^1.5.4", + "@types/express": "^4.17.21", + "@types/serve-index": "^1.9.4", + "@types/serve-static": "^1.15.5", + "@types/sockjs": "^0.3.36", + "@types/ws": "^8.5.10", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.2.1", + "chokidar": "^3.6.0", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.4.0", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.1.0", + "launch-editor": "^2.6.1", + "open": "^10.0.3", + "p-retry": "^6.2.0", + "rimraf": "^5.0.5", + "schema-utils": "^4.2.0", + "selfsigned": "^2.4.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^7.1.0", + "ws": "^8.16.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/webpack-dev-server/node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dev": true, + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/webpack-dev-server/node_modules/rimraf": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.9.tgz", + "integrity": "sha512-3i7b8OcswU6CpU8Ej89quJD4O98id7TtVM5U4Mybh84zQXdrFmDLouWBEEaD/QfO3gDDfH+AGFCGsR7kngzQnA==", + "dev": true, + "dependencies": { + "glob": "^10.3.7" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "engines": { + "node": "14 >=14.20 || 16 >=16.20 || >=18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-subresource-integrity": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", + "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", + "dev": true, + "dependencies": { + "typed-assert": "^1.0.8" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "html-webpack-plugin": ">= 5.0.0-beta.1 < 6", + "webpack": "^5.12.0" + }, + "peerDependenciesMeta": { + "html-webpack-plugin": { + "optional": true + } + } + }, + "node_modules/webpack/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/webpack/node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/webpack/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/wrap-ansi-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yaml": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", + "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yocto-queue": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz", + "integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zone.js": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.14.7.tgz", + "integrity": "sha512-0w6DGkX2BPuiK/NLf+4A8FLE43QwBfuqz2dVgi/40Rj1WmqUskCqj329O/pwrqFJLG5X8wkeG2RhIAro441xtg==", + "peer": true + } + } +} diff --git a/webapp/package.json b/webapp/package.json new file mode 100644 index 00000000..bb1be80a --- /dev/null +++ b/webapp/package.json @@ -0,0 +1,44 @@ +{ + "name": "hephaestus", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test", + "generate:api": "rimraf ./src/app/core/modules/openapi && npx openapi-generator-cli generate -i ../server/openapi.yaml -g typescript-angular -o ./src/app/core/modules/openapi --additional-properties fileNaming=kebab-case,withInterfaces=true --generate-alias-as-model" + }, + "private": true, + "dependencies": { + "@angular/animations": "18.1.0", + "@angular/common": "18.1.0", + "@angular/compiler": "18.1.0", + "@angular/core": "18.1.0", + "@angular/forms": "18.1.0", + "@angular/platform-browser": "18.1.0", + "@angular/platform-browser-dynamic": "18.1.0", + "@angular/router": "18.1.0", + "@tanstack/angular-query-devtools-experimental": "5.51.3", + "@tanstack/angular-query-experimental": "5.51.1", + "autoprefixer": "10.4.19", + "postcss": "8.4.39", + "rxjs": "7.8.1", + "tailwindcss": "3.4.4", + "tslib": "2.6.3" + }, + "devDependencies": { + "@angular-devkit/build-angular": "18.1.0", + "@angular/cli": "18.1.0", + "@angular/compiler-cli": "18.1.0", + "@types/jasmine": "5.1.4", + "jasmine-core": "5.1.2", + "karma": "6.4.3", + "karma-chrome-launcher": "3.2.0", + "karma-coverage": "2.2.1", + "karma-jasmine": "5.1.0", + "karma-jasmine-html-reporter": "2.1.0", + "rimraf": "^6.0.1", + "typescript": "5.5.3" + } +} diff --git a/webapp/postcss.config.js b/webapp/postcss.config.js new file mode 100644 index 00000000..c3188862 --- /dev/null +++ b/webapp/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: [ + require('tailwindcss'), + require('autoprefixer'), + ], +}; \ No newline at end of file diff --git a/webapp/public/favicon.ico b/webapp/public/favicon.ico new file mode 100644 index 00000000..180bb1ae Binary files /dev/null and b/webapp/public/favicon.ico differ diff --git a/webapp/src/app/app.component.html b/webapp/src/app/app.component.html new file mode 100644 index 00000000..53b75a57 --- /dev/null +++ b/webapp/src/app/app.component.html @@ -0,0 +1,11 @@ +
+
+

Header

+
+
+ + +
+ + +
\ No newline at end of file diff --git a/webapp/src/app/app.component.ts b/webapp/src/app/app.component.ts new file mode 100644 index 00000000..12b9ddb8 --- /dev/null +++ b/webapp/src/app/app.component.ts @@ -0,0 +1,15 @@ +import { Component } from '@angular/core'; +import { RouterOutlet } from '@angular/router'; +import { CounterComponent } from './example/counter/counter.component'; +import { PokemonComponent } from './example/pokemon/pokemon.component'; + +@Component({ + selector: 'app-root', + standalone: true, + imports: [RouterOutlet, CounterComponent, PokemonComponent], + templateUrl: './app.component.html', + styles: [], +}) +export class AppComponent { + title = 'Hephaestus'; +} diff --git a/webapp/src/app/app.config.ts b/webapp/src/app/app.config.ts new file mode 100644 index 00000000..1bb8529d --- /dev/null +++ b/webapp/src/app/app.config.ts @@ -0,0 +1,19 @@ +import { ApplicationConfig, provideExperimentalZonelessChangeDetection } from '@angular/core'; +import { provideRouter } from '@angular/router'; +import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http'; +import { + provideAngularQuery, + QueryClient, +} from '@tanstack/angular-query-experimental' +import { routes } from './app.routes'; +import { BASE_PATH } from './core/modules/openapi'; + +export const appConfig: ApplicationConfig = { + providers: [ + provideExperimentalZonelessChangeDetection(), + provideRouter(routes), + provideAngularQuery(new QueryClient()), + { provide: BASE_PATH, useValue: "https://pokeapi.co" }, + provideHttpClient(withInterceptorsFromDi()) + ] +}; \ No newline at end of file diff --git a/webapp/src/app/app.routes.ts b/webapp/src/app/app.routes.ts new file mode 100644 index 00000000..dc39edb5 --- /dev/null +++ b/webapp/src/app/app.routes.ts @@ -0,0 +1,3 @@ +import { Routes } from '@angular/router'; + +export const routes: Routes = []; diff --git a/webapp/src/app/core/modules/openapi/.gitignore b/webapp/src/app/core/modules/openapi/.gitignore new file mode 100644 index 00000000..149b5765 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/.gitignore @@ -0,0 +1,4 @@ +wwwroot/*.js +node_modules +typings +dist diff --git a/webapp/src/app/core/modules/openapi/.openapi-generator-ignore b/webapp/src/app/core/modules/openapi/.openapi-generator-ignore new file mode 100644 index 00000000..7484ee59 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/webapp/src/app/core/modules/openapi/.openapi-generator/FILES b/webapp/src/app/core/modules/openapi/.openapi-generator/FILES new file mode 100644 index 00000000..7846626f --- /dev/null +++ b/webapp/src/app/core/modules/openapi/.openapi-generator/FILES @@ -0,0 +1,308 @@ +.gitignore +.openapi-generator-ignore +README.md +api.module.ts +api/api.ts +api/berries.service.ts +api/berries.serviceInterface.ts +api/contests.service.ts +api/contests.serviceInterface.ts +api/encounters.service.ts +api/encounters.serviceInterface.ts +api/evolution.service.ts +api/evolution.serviceInterface.ts +api/games.service.ts +api/games.serviceInterface.ts +api/items.service.ts +api/items.serviceInterface.ts +api/location.service.ts +api/location.serviceInterface.ts +api/machines.service.ts +api/machines.serviceInterface.ts +api/moves.service.ts +api/moves.serviceInterface.ts +api/pokemon.service.ts +api/pokemon.serviceInterface.ts +api/utility.service.ts +api/utility.serviceInterface.ts +configuration.ts +encoder.ts +git_push.sh +index.ts +model/ability-change-effect-text.ts +model/ability-change.ts +model/ability-detail-pokemon-inner-pokemon.ts +model/ability-detail-pokemon-inner.ts +model/ability-detail.ts +model/ability-effect-text.ts +model/ability-flavor-text.ts +model/ability-name.ts +model/ability-summary.ts +model/berry-detail-flavors-inner-flavor.ts +model/berry-detail-flavors-inner.ts +model/berry-detail.ts +model/berry-firmness-detail.ts +model/berry-firmness-name.ts +model/berry-firmness-summary.ts +model/berry-flavor-detail-berries-inner-berry.ts +model/berry-flavor-detail-berries-inner.ts +model/berry-flavor-detail.ts +model/berry-flavor-name.ts +model/berry-flavor-summary.ts +model/berry-summary.ts +model/characteristic-description.ts +model/characteristic-detail.ts +model/characteristic-summary.ts +model/contest-effect-detail.ts +model/contest-effect-effect-text.ts +model/contest-effect-flavor-text.ts +model/contest-effect-summary.ts +model/contest-type-detail.ts +model/contest-type-name.ts +model/contest-type-summary.ts +model/egg-group-detail-pokemon-species-inner.ts +model/egg-group-detail.ts +model/egg-group-name.ts +model/egg-group-summary.ts +model/encounter-condition-detail.ts +model/encounter-condition-name.ts +model/encounter-condition-summary.ts +model/encounter-condition-value-detail.ts +model/encounter-condition-value-name.ts +model/encounter-condition-value-summary.ts +model/encounter-method-detail.ts +model/encounter-method-name.ts +model/encounter-method-summary.ts +model/evolution-chain-detail-chain-evolves-to-inner-evolution-details-inner-gender.ts +model/evolution-chain-detail-chain-evolves-to-inner-evolution-details-inner.ts +model/evolution-chain-detail-chain-evolves-to-inner.ts +model/evolution-chain-detail-chain.ts +model/evolution-chain-detail.ts +model/evolution-chain-summary.ts +model/evolution-trigger-detail.ts +model/evolution-trigger-name.ts +model/evolution-trigger-summary.ts +model/experience.ts +model/gender-detail-pokemon-species-details-inner.ts +model/gender-detail.ts +model/gender-summary.ts +model/generation-detail.ts +model/generation-name.ts +model/generation-summary.ts +model/growth-rate-description.ts +model/growth-rate-detail.ts +model/growth-rate-summary.ts +model/item-attribute-description.ts +model/item-attribute-detail.ts +model/item-attribute-name.ts +model/item-attribute-summary.ts +model/item-category-detail.ts +model/item-category-name.ts +model/item-category-summary.ts +model/item-detail-baby-trigger-for.ts +model/item-detail-held-by-pokemon-inner-version-details-inner.ts +model/item-detail-held-by-pokemon-inner.ts +model/item-detail-machines-inner.ts +model/item-detail-sprites.ts +model/item-detail.ts +model/item-effect-text.ts +model/item-flavor-text.ts +model/item-fling-effect-detail.ts +model/item-fling-effect-effect-text.ts +model/item-fling-effect-summary.ts +model/item-game-index.ts +model/item-name.ts +model/item-pocket-detail.ts +model/item-pocket-name.ts +model/item-pocket-summary.ts +model/item-summary.ts +model/language-detail.ts +model/language-name.ts +model/language-summary.ts +model/location-area-detail-encounter-method-rates-inner-version-details-inner.ts +model/location-area-detail-encounter-method-rates-inner.ts +model/location-area-detail-pokemon-encounters-inner-version-details-inner-encounter-details.ts +model/location-area-detail-pokemon-encounters-inner-version-details-inner.ts +model/location-area-detail-pokemon-encounters-inner.ts +model/location-area-detail.ts +model/location-area-name.ts +model/location-area-summary.ts +model/location-detail.ts +model/location-game-index.ts +model/location-name.ts +model/location-summary.ts +model/machine-detail.ts +model/machine-summary.ts +model/models.ts +model/move-battle-style-detail.ts +model/move-battle-style-name.ts +model/move-battle-style-summary.ts +model/move-change-effect-entries-inner.ts +model/move-change.ts +model/move-damage-class-description.ts +model/move-damage-class-detail.ts +model/move-damage-class-name.ts +model/move-damage-class-summary.ts +model/move-detail-contest-combos-normal.ts +model/move-detail-contest-combos.ts +model/move-detail-effect-changes-inner-effect-entries-inner.ts +model/move-detail-effect-changes-inner.ts +model/move-detail-machines-inner-machine.ts +model/move-detail-machines-inner.ts +model/move-detail-stat-changes-inner.ts +model/move-detail.ts +model/move-flavor-text.ts +model/move-learn-method-description.ts +model/move-learn-method-detail.ts +model/move-learn-method-name.ts +model/move-learn-method-summary.ts +model/move-meta-ailment-detail.ts +model/move-meta-ailment-name.ts +model/move-meta-ailment-summary.ts +model/move-meta-category-description.ts +model/move-meta-category-detail.ts +model/move-meta-category-summary.ts +model/move-meta.ts +model/move-name.ts +model/move-summary.ts +model/move-target-description.ts +model/move-target-detail.ts +model/move-target-name.ts +model/move-target-summary.ts +model/nature-battle-style-preference.ts +model/nature-detail-pokeathlon-stat-changes-inner.ts +model/nature-detail.ts +model/nature-name.ts +model/nature-summary.ts +model/paginated-ability-summary-list.ts +model/paginated-berry-firmness-summary-list.ts +model/paginated-berry-flavor-summary-list.ts +model/paginated-berry-summary-list.ts +model/paginated-characteristic-summary-list.ts +model/paginated-contest-effect-summary-list.ts +model/paginated-contest-type-summary-list.ts +model/paginated-egg-group-summary-list.ts +model/paginated-encounter-condition-summary-list.ts +model/paginated-encounter-condition-value-summary-list.ts +model/paginated-encounter-method-summary-list.ts +model/paginated-evolution-chain-summary-list.ts +model/paginated-evolution-trigger-summary-list.ts +model/paginated-gender-summary-list.ts +model/paginated-generation-summary-list.ts +model/paginated-growth-rate-summary-list.ts +model/paginated-item-attribute-summary-list.ts +model/paginated-item-category-summary-list.ts +model/paginated-item-fling-effect-summary-list.ts +model/paginated-item-pocket-summary-list.ts +model/paginated-item-summary-list.ts +model/paginated-language-summary-list.ts +model/paginated-location-area-summary-list.ts +model/paginated-location-summary-list.ts +model/paginated-machine-summary-list.ts +model/paginated-move-battle-style-summary-list.ts +model/paginated-move-damage-class-summary-list.ts +model/paginated-move-learn-method-summary-list.ts +model/paginated-move-meta-ailment-summary-list.ts +model/paginated-move-meta-category-summary-list.ts +model/paginated-move-summary-list.ts +model/paginated-move-target-summary-list.ts +model/paginated-nature-summary-list.ts +model/paginated-pal-park-area-summary-list.ts +model/paginated-pokeathlon-stat-summary-list.ts +model/paginated-pokedex-summary-list.ts +model/paginated-pokemon-color-summary-list.ts +model/paginated-pokemon-form-summary-list.ts +model/paginated-pokemon-habitat-summary-list.ts +model/paginated-pokemon-shape-summary-list.ts +model/paginated-pokemon-species-summary-list.ts +model/paginated-pokemon-summary-list.ts +model/paginated-region-summary-list.ts +model/paginated-stat-summary-list.ts +model/paginated-super-contest-effect-summary-list.ts +model/paginated-type-summary-list.ts +model/paginated-version-group-summary-list.ts +model/paginated-version-summary-list.ts +model/pal-park-area-detail-pokemon-encounters-inner.ts +model/pal-park-area-detail.ts +model/pal-park-area-name.ts +model/pal-park-area-summary.ts +model/pokeathlon-stat-detail-affecting-natures-decrease-inner.ts +model/pokeathlon-stat-detail-affecting-natures-increase-inner.ts +model/pokeathlon-stat-detail-affecting-natures.ts +model/pokeathlon-stat-detail.ts +model/pokeathlon-stat-name.ts +model/pokeathlon-stat-summary.ts +model/pokedex-description.ts +model/pokedex-detail-pokemon-entries-inner.ts +model/pokedex-detail.ts +model/pokedex-name.ts +model/pokedex-summary.ts +model/pokemon-color-detail.ts +model/pokemon-color-name.ts +model/pokemon-color-summary.ts +model/pokemon-detail-abilities-inner.ts +model/pokemon-detail-cries.ts +model/pokemon-detail-held-items.ts +model/pokemon-detail-moves-inner-version-group-details-inner.ts +model/pokemon-detail-moves-inner.ts +model/pokemon-detail-past-abilities-inner.ts +model/pokemon-detail-past-types-inner.ts +model/pokemon-detail-sprites.ts +model/pokemon-detail-types-inner.ts +model/pokemon-detail.ts +model/pokemon-dex-entry.ts +model/pokemon-encounters-retrieve200-response-inner-location-area.ts +model/pokemon-encounters-retrieve200-response-inner-version-details-inner-encounter-details-inner-condition-values-inner.ts +model/pokemon-encounters-retrieve200-response-inner-version-details-inner-encounter-details-inner-method.ts +model/pokemon-encounters-retrieve200-response-inner-version-details-inner-encounter-details-inner.ts +model/pokemon-encounters-retrieve200-response-inner-version-details-inner-version.ts +model/pokemon-encounters-retrieve200-response-inner-version-details-inner.ts +model/pokemon-encounters-retrieve200-response-inner.ts +model/pokemon-form-detail-form-names-inner.ts +model/pokemon-form-detail-sprites.ts +model/pokemon-form-detail.ts +model/pokemon-form-summary.ts +model/pokemon-game-index.ts +model/pokemon-habitat-detail.ts +model/pokemon-habitat-name.ts +model/pokemon-habitat-summary.ts +model/pokemon-shape-detail-awesome-names-inner.ts +model/pokemon-shape-detail-names-inner.ts +model/pokemon-shape-detail.ts +model/pokemon-shape-summary.ts +model/pokemon-species-description.ts +model/pokemon-species-detail-genera-inner.ts +model/pokemon-species-detail-pal-park-encounters-inner.ts +model/pokemon-species-detail-varieties-inner.ts +model/pokemon-species-detail.ts +model/pokemon-species-flavor-text.ts +model/pokemon-species-summary.ts +model/pokemon-stat.ts +model/pokemon-summary.ts +model/region-detail.ts +model/region-name.ts +model/region-summary.ts +model/stat-detail-affecting-moves-increase-inner.ts +model/stat-detail-affecting-moves.ts +model/stat-detail-affecting-natures.ts +model/stat-detail.ts +model/stat-name.ts +model/stat-summary.ts +model/super-contest-effect-detail.ts +model/super-contest-effect-flavor-text.ts +model/super-contest-effect-summary.ts +model/type-detail-damage-relations.ts +model/type-detail-past-damage-relations-inner-damage-relations.ts +model/type-detail-past-damage-relations-inner.ts +model/type-detail-pokemon-inner-pokemon.ts +model/type-detail-pokemon-inner.ts +model/type-detail.ts +model/type-game-index.ts +model/type-summary.ts +model/version-detail.ts +model/version-group-detail.ts +model/version-group-summary.ts +model/version-name.ts +model/version-summary.ts +param.ts +variables.ts diff --git a/webapp/src/app/core/modules/openapi/.openapi-generator/VERSION b/webapp/src/app/core/modules/openapi/.openapi-generator/VERSION new file mode 100644 index 00000000..1985849f --- /dev/null +++ b/webapp/src/app/core/modules/openapi/.openapi-generator/VERSION @@ -0,0 +1 @@ +7.7.0 diff --git a/webapp/src/app/core/modules/openapi/README.md b/webapp/src/app/core/modules/openapi/README.md new file mode 100644 index 00000000..de16f95a --- /dev/null +++ b/webapp/src/app/core/modules/openapi/README.md @@ -0,0 +1,226 @@ +## @ + +### Building + +To install the required dependencies and to build the typescript sources run: +``` +npm install +npm run build +``` + +### publishing + +First build the package then run ```npm publish dist``` (don't forget to specify the `dist` folder!) + +### consuming + +Navigate to the folder of your consuming project and run one of next commands. + +_published:_ + +``` +npm install @ --save +``` + +_without publishing (not recommended):_ + +``` +npm install PATH_TO_GENERATED_PACKAGE/dist.tgz --save +``` + +_It's important to take the tgz file, otherwise you'll get trouble with links on windows_ + +_using `npm link`:_ + +In PATH_TO_GENERATED_PACKAGE/dist: +``` +npm link +``` + +In your project: +``` +npm link +``` + +__Note for Windows users:__ The Angular CLI has troubles to use linked npm packages. +Please refer to this issue https://github.com/angular/angular-cli/issues/8284 for a solution / workaround. +Published packages are not effected by this issue. + + +#### General usage + +In your Angular project: + + +``` +// without configuring providers +import { ApiModule } from ''; +import { HttpClientModule } from '@angular/common/http'; + +@NgModule({ + imports: [ + ApiModule, + // make sure to import the HttpClientModule in the AppModule only, + // see https://github.com/angular/angular/issues/20575 + HttpClientModule + ], + declarations: [ AppComponent ], + providers: [], + bootstrap: [ AppComponent ] +}) +export class AppModule {} +``` + +``` +// configuring providers +import { ApiModule, Configuration, ConfigurationParameters } from ''; + +export function apiConfigFactory (): Configuration { + const params: ConfigurationParameters = { + // set configuration parameters here. + } + return new Configuration(params); +} + +@NgModule({ + imports: [ ApiModule.forRoot(apiConfigFactory) ], + declarations: [ AppComponent ], + providers: [], + bootstrap: [ AppComponent ] +}) +export class AppModule {} +``` + +``` +// configuring providers with an authentication service that manages your access tokens +import { ApiModule, Configuration } from ''; + +@NgModule({ + imports: [ ApiModule ], + declarations: [ AppComponent ], + providers: [ + { + provide: Configuration, + useFactory: (authService: AuthService) => new Configuration( + { + basePath: environment.apiUrl, + accessToken: authService.getAccessToken.bind(authService) + } + ), + deps: [AuthService], + multi: false + } + ], + bootstrap: [ AppComponent ] +}) +export class AppModule {} +``` + +``` +import { DefaultApi } from ''; + +export class AppComponent { + constructor(private apiGateway: DefaultApi) { } +} +``` + +Note: The ApiModule is restricted to being instantiated once app wide. +This is to ensure that all services are treated as singletons. + +#### Using multiple OpenAPI files / APIs / ApiModules +In order to use multiple `ApiModules` generated from different OpenAPI files, +you can create an alias name when importing the modules +in order to avoid naming conflicts: +``` +import { ApiModule } from 'my-api-path'; +import { ApiModule as OtherApiModule } from 'my-other-api-path'; +import { HttpClientModule } from '@angular/common/http'; + +@NgModule({ + imports: [ + ApiModule, + OtherApiModule, + // make sure to import the HttpClientModule in the AppModule only, + // see https://github.com/angular/angular/issues/20575 + HttpClientModule + ] +}) +export class AppModule { + +} +``` + + +### Set service base path +If different than the generated base path, during app bootstrap, you can provide the base path to your service. + +``` +import { BASE_PATH } from ''; + +bootstrap(AppComponent, [ + { provide: BASE_PATH, useValue: 'https://your-web-service.com' }, +]); +``` +or + +``` +import { BASE_PATH } from ''; + +@NgModule({ + imports: [], + declarations: [ AppComponent ], + providers: [ provide: BASE_PATH, useValue: 'https://your-web-service.com' ], + bootstrap: [ AppComponent ] +}) +export class AppModule {} +``` + + +#### Using @angular/cli +First extend your `src/environments/*.ts` files by adding the corresponding base path: + +``` +export const environment = { + production: false, + API_BASE_PATH: 'http://127.0.0.1:8080' +}; +``` + +In the src/app/app.module.ts: +``` +import { BASE_PATH } from ''; +import { environment } from '../environments/environment'; + +@NgModule({ + declarations: [ + AppComponent + ], + imports: [ ], + providers: [{ provide: BASE_PATH, useValue: environment.API_BASE_PATH }], + bootstrap: [ AppComponent ] +}) +export class AppModule { } +``` + +### Customizing path parameter encoding + +Without further customization, only [path-parameters][parameter-locations-url] of [style][style-values-url] 'simple' +and Dates for format 'date-time' are encoded correctly. + +Other styles (e.g. "matrix") are not that easy to encode +and thus are best delegated to other libraries (e.g.: [@honoluluhenk/http-param-expander]). + +To implement your own parameter encoding (or call another library), +pass an arrow-function or method-reference to the `encodeParam` property of the Configuration-object +(see [General Usage](#general-usage) above). + +Example value for use in your Configuration-Provider: +```typescript +new Configuration({ + encodeParam: (param: Param) => myFancyParamEncoder(param), +}) +``` + +[parameter-locations-url]: https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#parameter-locations +[style-values-url]: https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#style-values +[@honoluluhenk/http-param-expander]: https://www.npmjs.com/package/@honoluluhenk/http-param-expander diff --git a/webapp/src/app/core/modules/openapi/api.module.ts b/webapp/src/app/core/modules/openapi/api.module.ts new file mode 100644 index 00000000..58d341fb --- /dev/null +++ b/webapp/src/app/core/modules/openapi/api.module.ts @@ -0,0 +1,30 @@ +import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core'; +import { Configuration } from './configuration'; +import { HttpClient } from '@angular/common/http'; + + +@NgModule({ + imports: [], + declarations: [], + exports: [], + providers: [] +}) +export class ApiModule { + public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders { + return { + ngModule: ApiModule, + providers: [ { provide: Configuration, useFactory: configurationFactory } ] + }; + } + + constructor( @Optional() @SkipSelf() parentModule: ApiModule, + @Optional() http: HttpClient) { + if (parentModule) { + throw new Error('ApiModule is already loaded. Import in your base AppModule only.'); + } + if (!http) { + throw new Error('You need to import the HttpClientModule in your AppModule! \n' + + 'See also https://github.com/angular/angular/issues/20575'); + } + } +} diff --git a/webapp/src/app/core/modules/openapi/api/api.ts b/webapp/src/app/core/modules/openapi/api/api.ts new file mode 100644 index 00000000..3016e88a --- /dev/null +++ b/webapp/src/app/core/modules/openapi/api/api.ts @@ -0,0 +1,34 @@ +export * from './berries.service'; +import { BerriesService } from './berries.service'; +export * from './berries.serviceInterface'; +export * from './contests.service'; +import { ContestsService } from './contests.service'; +export * from './contests.serviceInterface'; +export * from './encounters.service'; +import { EncountersService } from './encounters.service'; +export * from './encounters.serviceInterface'; +export * from './evolution.service'; +import { EvolutionService } from './evolution.service'; +export * from './evolution.serviceInterface'; +export * from './games.service'; +import { GamesService } from './games.service'; +export * from './games.serviceInterface'; +export * from './items.service'; +import { ItemsService } from './items.service'; +export * from './items.serviceInterface'; +export * from './location.service'; +import { LocationService } from './location.service'; +export * from './location.serviceInterface'; +export * from './machines.service'; +import { MachinesService } from './machines.service'; +export * from './machines.serviceInterface'; +export * from './moves.service'; +import { MovesService } from './moves.service'; +export * from './moves.serviceInterface'; +export * from './pokemon.service'; +import { PokemonService } from './pokemon.service'; +export * from './pokemon.serviceInterface'; +export * from './utility.service'; +import { UtilityService } from './utility.service'; +export * from './utility.serviceInterface'; +export const APIS = [BerriesService, ContestsService, EncountersService, EvolutionService, GamesService, ItemsService, LocationService, MachinesService, MovesService, PokemonService, UtilityService]; diff --git a/webapp/src/app/core/modules/openapi/api/berries.service.ts b/webapp/src/app/core/modules/openapi/api/berries.service.ts new file mode 100644 index 00000000..d3e73abe --- /dev/null +++ b/webapp/src/app/core/modules/openapi/api/berries.service.ts @@ -0,0 +1,612 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext + } from '@angular/common/http'; +import { CustomHttpParameterCodec } from '../encoder'; +import { Observable } from 'rxjs'; + +// @ts-ignore +import { BerryDetail } from '../model/berry-detail'; +// @ts-ignore +import { BerryFirmnessDetail } from '../model/berry-firmness-detail'; +// @ts-ignore +import { BerryFlavorDetail } from '../model/berry-flavor-detail'; +// @ts-ignore +import { PaginatedBerryFirmnessSummaryList } from '../model/paginated-berry-firmness-summary-list'; +// @ts-ignore +import { PaginatedBerryFlavorSummaryList } from '../model/paginated-berry-flavor-summary-list'; +// @ts-ignore +import { PaginatedBerrySummaryList } from '../model/paginated-berry-summary-list'; + +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import { + BerriesServiceInterface +} from './berries.serviceInterface'; + + + +@Injectable({ + providedIn: 'root' +}) +export class BerriesService implements BerriesServiceInterface { + + protected basePath = 'https://pokeapi.co'; + public defaultHeaders = new HttpHeaders(); + public configuration = new Configuration(); + public encoder: HttpParameterCodec; + + constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) { + if (configuration) { + this.configuration = configuration; + } + if (typeof this.configuration.basePath !== 'string') { + const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined; + if (firstBasePath != undefined) { + basePath = firstBasePath; + } + + if (typeof basePath !== 'string') { + basePath = this.basePath; + } + this.configuration.basePath = basePath; + } + this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); + } + + + // @ts-ignore + private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { + if (typeof value === "object" && value instanceof Date === false) { + httpParams = this.addToHttpParamsRecursive(httpParams, value); + } else { + httpParams = this.addToHttpParamsRecursive(httpParams, value, key); + } + return httpParams; + } + + private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { + if (value == null) { + return httpParams; + } + + if (typeof value === "object") { + if (Array.isArray(value)) { + (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); + } else if (value instanceof Date) { + if (key != null) { + httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10)); + } else { + throw Error("key may not be null if value is Date"); + } + } else { + Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( + httpParams, value[k], key != null ? `${key}.${k}` : k)); + } + } else if (key != null) { + httpParams = httpParams.append(key, value); + } else { + throw Error("key may not be null if value is not object or array"); + } + return httpParams; + } + + /** + * List berry firmness + * Berries can be soft or hard. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Category:Berries_by_firmness) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public berryFirmnessList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public berryFirmnessList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public berryFirmnessList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public berryFirmnessList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/berry-firmness/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get berry by firmness + * Berries can be soft or hard. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Category:Berries_by_firmness) for greater detail. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public berryFirmnessRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public berryFirmnessRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public berryFirmnessRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public berryFirmnessRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling berryFirmnessRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/berry-firmness/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List berry flavors + * Flavors determine whether a Pokémon will benefit or suffer from eating a berry based on their **nature**. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Flavor) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public berryFlavorList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public berryFlavorList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public berryFlavorList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public berryFlavorList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/berry-flavor/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get berries by flavor + * Flavors determine whether a Pokémon will benefit or suffer from eating a berry based on their **nature**. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Flavor) for greater detail. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public berryFlavorRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public berryFlavorRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public berryFlavorRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public berryFlavorRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling berryFlavorRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/berry-flavor/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List berries + * Berries are small fruits that can provide HP and status condition restoration, stat enhancement, and even damage negation when eaten by Pokémon. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Berry) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public berryList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public berryList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public berryList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public berryList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/berry/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get a berry + * Berries are small fruits that can provide HP and status condition restoration, stat enhancement, and even damage negation when eaten by Pokémon. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Berry) for greater detail. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public berryRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public berryRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public berryRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public berryRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling berryRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/berry/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + +} diff --git a/webapp/src/app/core/modules/openapi/api/berries.serviceInterface.ts b/webapp/src/app/core/modules/openapi/api/berries.serviceInterface.ts new file mode 100644 index 00000000..32ac458a --- /dev/null +++ b/webapp/src/app/core/modules/openapi/api/berries.serviceInterface.ts @@ -0,0 +1,80 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { HttpHeaders } from '@angular/common/http'; + +import { Observable } from 'rxjs'; + +import { BerryDetail } from '../model/models'; +import { BerryFirmnessDetail } from '../model/models'; +import { BerryFlavorDetail } from '../model/models'; +import { PaginatedBerryFirmnessSummaryList } from '../model/models'; +import { PaginatedBerryFlavorSummaryList } from '../model/models'; +import { PaginatedBerrySummaryList } from '../model/models'; + + +import { Configuration } from '../configuration'; + + + +export interface BerriesServiceInterface { + defaultHeaders: HttpHeaders; + configuration: Configuration; + + /** + * List berry firmness + * Berries can be soft or hard. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Category:Berries_by_firmness) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + berryFirmnessList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get berry by firmness + * Berries can be soft or hard. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Category:Berries_by_firmness) for greater detail. + * @param id This parameter can be a string or an integer. + */ + berryFirmnessRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List berry flavors + * Flavors determine whether a Pokémon will benefit or suffer from eating a berry based on their **nature**. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Flavor) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + berryFlavorList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get berries by flavor + * Flavors determine whether a Pokémon will benefit or suffer from eating a berry based on their **nature**. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Flavor) for greater detail. + * @param id This parameter can be a string or an integer. + */ + berryFlavorRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List berries + * Berries are small fruits that can provide HP and status condition restoration, stat enhancement, and even damage negation when eaten by Pokémon. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Berry) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + berryList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get a berry + * Berries are small fruits that can provide HP and status condition restoration, stat enhancement, and even damage negation when eaten by Pokémon. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Berry) for greater detail. + * @param id This parameter can be a string or an integer. + */ + berryRetrieve(id: string, extraHttpRequestParams?: any): Observable; + +} diff --git a/webapp/src/app/core/modules/openapi/api/contests.service.ts b/webapp/src/app/core/modules/openapi/api/contests.service.ts new file mode 100644 index 00000000..979be965 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/api/contests.service.ts @@ -0,0 +1,612 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext + } from '@angular/common/http'; +import { CustomHttpParameterCodec } from '../encoder'; +import { Observable } from 'rxjs'; + +// @ts-ignore +import { ContestEffectDetail } from '../model/contest-effect-detail'; +// @ts-ignore +import { ContestTypeDetail } from '../model/contest-type-detail'; +// @ts-ignore +import { PaginatedContestEffectSummaryList } from '../model/paginated-contest-effect-summary-list'; +// @ts-ignore +import { PaginatedContestTypeSummaryList } from '../model/paginated-contest-type-summary-list'; +// @ts-ignore +import { PaginatedSuperContestEffectSummaryList } from '../model/paginated-super-contest-effect-summary-list'; +// @ts-ignore +import { SuperContestEffectDetail } from '../model/super-contest-effect-detail'; + +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import { + ContestsServiceInterface +} from './contests.serviceInterface'; + + + +@Injectable({ + providedIn: 'root' +}) +export class ContestsService implements ContestsServiceInterface { + + protected basePath = 'https://pokeapi.co'; + public defaultHeaders = new HttpHeaders(); + public configuration = new Configuration(); + public encoder: HttpParameterCodec; + + constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) { + if (configuration) { + this.configuration = configuration; + } + if (typeof this.configuration.basePath !== 'string') { + const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined; + if (firstBasePath != undefined) { + basePath = firstBasePath; + } + + if (typeof basePath !== 'string') { + basePath = this.basePath; + } + this.configuration.basePath = basePath; + } + this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); + } + + + // @ts-ignore + private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { + if (typeof value === "object" && value instanceof Date === false) { + httpParams = this.addToHttpParamsRecursive(httpParams, value); + } else { + httpParams = this.addToHttpParamsRecursive(httpParams, value, key); + } + return httpParams; + } + + private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { + if (value == null) { + return httpParams; + } + + if (typeof value === "object") { + if (Array.isArray(value)) { + (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); + } else if (value instanceof Date) { + if (key != null) { + httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10)); + } else { + throw Error("key may not be null if value is Date"); + } + } else { + Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( + httpParams, value[k], key != null ? `${key}.${k}` : k)); + } + } else if (key != null) { + httpParams = httpParams.append(key, value); + } else { + throw Error("key may not be null if value is not object or array"); + } + return httpParams; + } + + /** + * List contest effects + * Contest effects refer to the effects of moves when used in contests. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public contestEffectList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public contestEffectList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public contestEffectList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public contestEffectList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/contest-effect/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get contest effect + * Contest effects refer to the effects of moves when used in contests. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public contestEffectRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public contestEffectRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public contestEffectRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public contestEffectRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling contestEffectRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/contest-effect/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List contest types + * Contest types are categories judges used to weigh a Pokémon\'s condition in Pokémon contests. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Contest_condition) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public contestTypeList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public contestTypeList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public contestTypeList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public contestTypeList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/contest-type/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get contest type + * Contest types are categories judges used to weigh a Pokémon\'s condition in Pokémon contests. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Contest_condition) for greater detail. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public contestTypeRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public contestTypeRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public contestTypeRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public contestTypeRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling contestTypeRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/contest-type/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List super contest effects + * Super contest effects refer to the effects of moves when used in super contests. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public superContestEffectList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public superContestEffectList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public superContestEffectList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public superContestEffectList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/super-contest-effect/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get super contest effect + * Super contest effects refer to the effects of moves when used in super contests. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public superContestEffectRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public superContestEffectRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public superContestEffectRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public superContestEffectRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling superContestEffectRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/super-contest-effect/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + +} diff --git a/webapp/src/app/core/modules/openapi/api/contests.serviceInterface.ts b/webapp/src/app/core/modules/openapi/api/contests.serviceInterface.ts new file mode 100644 index 00000000..0fd8f61d --- /dev/null +++ b/webapp/src/app/core/modules/openapi/api/contests.serviceInterface.ts @@ -0,0 +1,80 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { HttpHeaders } from '@angular/common/http'; + +import { Observable } from 'rxjs'; + +import { ContestEffectDetail } from '../model/models'; +import { ContestTypeDetail } from '../model/models'; +import { PaginatedContestEffectSummaryList } from '../model/models'; +import { PaginatedContestTypeSummaryList } from '../model/models'; +import { PaginatedSuperContestEffectSummaryList } from '../model/models'; +import { SuperContestEffectDetail } from '../model/models'; + + +import { Configuration } from '../configuration'; + + + +export interface ContestsServiceInterface { + defaultHeaders: HttpHeaders; + configuration: Configuration; + + /** + * List contest effects + * Contest effects refer to the effects of moves when used in contests. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + contestEffectList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get contest effect + * Contest effects refer to the effects of moves when used in contests. + * @param id This parameter can be a string or an integer. + */ + contestEffectRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List contest types + * Contest types are categories judges used to weigh a Pokémon\'s condition in Pokémon contests. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Contest_condition) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + contestTypeList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get contest type + * Contest types are categories judges used to weigh a Pokémon\'s condition in Pokémon contests. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Contest_condition) for greater detail. + * @param id This parameter can be a string or an integer. + */ + contestTypeRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List super contest effects + * Super contest effects refer to the effects of moves when used in super contests. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + superContestEffectList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get super contest effect + * Super contest effects refer to the effects of moves when used in super contests. + * @param id This parameter can be a string or an integer. + */ + superContestEffectRetrieve(id: string, extraHttpRequestParams?: any): Observable; + +} diff --git a/webapp/src/app/core/modules/openapi/api/encounters.service.ts b/webapp/src/app/core/modules/openapi/api/encounters.service.ts new file mode 100644 index 00000000..0fd3e846 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/api/encounters.service.ts @@ -0,0 +1,691 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext + } from '@angular/common/http'; +import { CustomHttpParameterCodec } from '../encoder'; +import { Observable } from 'rxjs'; + +// @ts-ignore +import { EncounterConditionDetail } from '../model/encounter-condition-detail'; +// @ts-ignore +import { EncounterConditionValueDetail } from '../model/encounter-condition-value-detail'; +// @ts-ignore +import { EncounterMethodDetail } from '../model/encounter-method-detail'; +// @ts-ignore +import { PaginatedEncounterConditionSummaryList } from '../model/paginated-encounter-condition-summary-list'; +// @ts-ignore +import { PaginatedEncounterConditionValueSummaryList } from '../model/paginated-encounter-condition-value-summary-list'; +// @ts-ignore +import { PaginatedEncounterMethodSummaryList } from '../model/paginated-encounter-method-summary-list'; +// @ts-ignore +import { PokemonEncountersRetrieve200ResponseInner } from '../model/pokemon-encounters-retrieve200-response-inner'; + +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import { + EncountersServiceInterface +} from './encounters.serviceInterface'; + + + +@Injectable({ + providedIn: 'root' +}) +export class EncountersService implements EncountersServiceInterface { + + protected basePath = 'https://pokeapi.co'; + public defaultHeaders = new HttpHeaders(); + public configuration = new Configuration(); + public encoder: HttpParameterCodec; + + constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) { + if (configuration) { + this.configuration = configuration; + } + if (typeof this.configuration.basePath !== 'string') { + const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined; + if (firstBasePath != undefined) { + basePath = firstBasePath; + } + + if (typeof basePath !== 'string') { + basePath = this.basePath; + } + this.configuration.basePath = basePath; + } + this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); + } + + + // @ts-ignore + private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { + if (typeof value === "object" && value instanceof Date === false) { + httpParams = this.addToHttpParamsRecursive(httpParams, value); + } else { + httpParams = this.addToHttpParamsRecursive(httpParams, value, key); + } + return httpParams; + } + + private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { + if (value == null) { + return httpParams; + } + + if (typeof value === "object") { + if (Array.isArray(value)) { + (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); + } else if (value instanceof Date) { + if (key != null) { + httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10)); + } else { + throw Error("key may not be null if value is Date"); + } + } else { + Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( + httpParams, value[k], key != null ? `${key}.${k}` : k)); + } + } else if (key != null) { + httpParams = httpParams.append(key, value); + } else { + throw Error("key may not be null if value is not object or array"); + } + return httpParams; + } + + /** + * List encounter conditions + * Conditions which affect what pokemon might appear in the wild, e.g., day or night. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public encounterConditionList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public encounterConditionList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public encounterConditionList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public encounterConditionList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/encounter-condition/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get encounter condition + * Conditions which affect what pokemon might appear in the wild, e.g., day or night. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public encounterConditionRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public encounterConditionRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public encounterConditionRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public encounterConditionRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling encounterConditionRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/encounter-condition/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List encounter condition values + * Encounter condition values are the various states that an encounter condition can have, i.e., time of day can be either day or night. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public encounterConditionValueList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public encounterConditionValueList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public encounterConditionValueList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public encounterConditionValueList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/encounter-condition-value/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get encounter condition value + * Encounter condition values are the various states that an encounter condition can have, i.e., time of day can be either day or night. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public encounterConditionValueRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public encounterConditionValueRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public encounterConditionValueRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public encounterConditionValueRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling encounterConditionValueRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/encounter-condition-value/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List encounter methods + * Methods by which the player might can encounter Pokémon in the wild, e.g., walking in tall grass. Check out Bulbapedia for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public encounterMethodList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public encounterMethodList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public encounterMethodList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public encounterMethodList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/encounter-method/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get encounter method + * Methods by which the player might can encounter Pokémon in the wild, e.g., walking in tall grass. Check out Bulbapedia for greater detail. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public encounterMethodRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public encounterMethodRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public encounterMethodRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public encounterMethodRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling encounterMethodRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/encounter-method/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get pokemon encounter + * Handles Pokemon Encounters as a sub-resource. + * @param pokemonId + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public pokemonEncountersRetrieve(pokemonId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonEncountersRetrieve(pokemonId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public pokemonEncountersRetrieve(pokemonId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public pokemonEncountersRetrieve(pokemonId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (pokemonId === null || pokemonId === undefined) { + throw new Error('Required parameter pokemonId was null or undefined when calling pokemonEncountersRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/pokemon/${this.configuration.encodeParam({name: "pokemonId", value: pokemonId, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/encounters`; + return this.httpClient.request>('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + +} diff --git a/webapp/src/app/core/modules/openapi/api/encounters.serviceInterface.ts b/webapp/src/app/core/modules/openapi/api/encounters.serviceInterface.ts new file mode 100644 index 00000000..9096cae8 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/api/encounters.serviceInterface.ts @@ -0,0 +1,88 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { HttpHeaders } from '@angular/common/http'; + +import { Observable } from 'rxjs'; + +import { EncounterConditionDetail } from '../model/models'; +import { EncounterConditionValueDetail } from '../model/models'; +import { EncounterMethodDetail } from '../model/models'; +import { PaginatedEncounterConditionSummaryList } from '../model/models'; +import { PaginatedEncounterConditionValueSummaryList } from '../model/models'; +import { PaginatedEncounterMethodSummaryList } from '../model/models'; +import { PokemonEncountersRetrieve200ResponseInner } from '../model/models'; + + +import { Configuration } from '../configuration'; + + + +export interface EncountersServiceInterface { + defaultHeaders: HttpHeaders; + configuration: Configuration; + + /** + * List encounter conditions + * Conditions which affect what pokemon might appear in the wild, e.g., day or night. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + encounterConditionList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get encounter condition + * Conditions which affect what pokemon might appear in the wild, e.g., day or night. + * @param id This parameter can be a string or an integer. + */ + encounterConditionRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List encounter condition values + * Encounter condition values are the various states that an encounter condition can have, i.e., time of day can be either day or night. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + encounterConditionValueList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get encounter condition value + * Encounter condition values are the various states that an encounter condition can have, i.e., time of day can be either day or night. + * @param id This parameter can be a string or an integer. + */ + encounterConditionValueRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List encounter methods + * Methods by which the player might can encounter Pokémon in the wild, e.g., walking in tall grass. Check out Bulbapedia for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + encounterMethodList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get encounter method + * Methods by which the player might can encounter Pokémon in the wild, e.g., walking in tall grass. Check out Bulbapedia for greater detail. + * @param id This parameter can be a string or an integer. + */ + encounterMethodRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * Get pokemon encounter + * Handles Pokemon Encounters as a sub-resource. + * @param pokemonId + */ + pokemonEncountersRetrieve(pokemonId: string, extraHttpRequestParams?: any): Observable>; + +} diff --git a/webapp/src/app/core/modules/openapi/api/evolution.service.ts b/webapp/src/app/core/modules/openapi/api/evolution.service.ts new file mode 100644 index 00000000..a3b3e4f3 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/api/evolution.service.ts @@ -0,0 +1,440 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext + } from '@angular/common/http'; +import { CustomHttpParameterCodec } from '../encoder'; +import { Observable } from 'rxjs'; + +// @ts-ignore +import { EvolutionChainDetail } from '../model/evolution-chain-detail'; +// @ts-ignore +import { EvolutionTriggerDetail } from '../model/evolution-trigger-detail'; +// @ts-ignore +import { PaginatedEvolutionChainSummaryList } from '../model/paginated-evolution-chain-summary-list'; +// @ts-ignore +import { PaginatedEvolutionTriggerSummaryList } from '../model/paginated-evolution-trigger-summary-list'; + +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import { + EvolutionServiceInterface +} from './evolution.serviceInterface'; + + + +@Injectable({ + providedIn: 'root' +}) +export class EvolutionService implements EvolutionServiceInterface { + + protected basePath = 'https://pokeapi.co'; + public defaultHeaders = new HttpHeaders(); + public configuration = new Configuration(); + public encoder: HttpParameterCodec; + + constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) { + if (configuration) { + this.configuration = configuration; + } + if (typeof this.configuration.basePath !== 'string') { + const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined; + if (firstBasePath != undefined) { + basePath = firstBasePath; + } + + if (typeof basePath !== 'string') { + basePath = this.basePath; + } + this.configuration.basePath = basePath; + } + this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); + } + + + // @ts-ignore + private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { + if (typeof value === "object" && value instanceof Date === false) { + httpParams = this.addToHttpParamsRecursive(httpParams, value); + } else { + httpParams = this.addToHttpParamsRecursive(httpParams, value, key); + } + return httpParams; + } + + private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { + if (value == null) { + return httpParams; + } + + if (typeof value === "object") { + if (Array.isArray(value)) { + (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); + } else if (value instanceof Date) { + if (key != null) { + httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10)); + } else { + throw Error("key may not be null if value is Date"); + } + } else { + Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( + httpParams, value[k], key != null ? `${key}.${k}` : k)); + } + } else if (key != null) { + httpParams = httpParams.append(key, value); + } else { + throw Error("key may not be null if value is not object or array"); + } + return httpParams; + } + + /** + * List evolution chains + * Evolution chains are essentially family trees. They start with the lowest stage within a family and detail evolution conditions for each as well as Pokémon they can evolve into up through the hierarchy. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public evolutionChainList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public evolutionChainList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public evolutionChainList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public evolutionChainList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/evolution-chain/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get evolution chain + * Evolution chains are essentially family trees. They start with the lowest stage within a family and detail evolution conditions for each as well as Pokémon they can evolve into up through the hierarchy. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public evolutionChainRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public evolutionChainRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public evolutionChainRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public evolutionChainRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling evolutionChainRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/evolution-chain/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List evolution triggers + * Evolution triggers are the events and conditions that cause a Pokémon to evolve. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Methods_of_evolution) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public evolutionTriggerList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public evolutionTriggerList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public evolutionTriggerList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public evolutionTriggerList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/evolution-trigger/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get evolution trigger + * Evolution triggers are the events and conditions that cause a Pokémon to evolve. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Methods_of_evolution) for greater detail. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public evolutionTriggerRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public evolutionTriggerRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public evolutionTriggerRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public evolutionTriggerRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling evolutionTriggerRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/evolution-trigger/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + +} diff --git a/webapp/src/app/core/modules/openapi/api/evolution.serviceInterface.ts b/webapp/src/app/core/modules/openapi/api/evolution.serviceInterface.ts new file mode 100644 index 00000000..77cad43e --- /dev/null +++ b/webapp/src/app/core/modules/openapi/api/evolution.serviceInterface.ts @@ -0,0 +1,62 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { HttpHeaders } from '@angular/common/http'; + +import { Observable } from 'rxjs'; + +import { EvolutionChainDetail } from '../model/models'; +import { EvolutionTriggerDetail } from '../model/models'; +import { PaginatedEvolutionChainSummaryList } from '../model/models'; +import { PaginatedEvolutionTriggerSummaryList } from '../model/models'; + + +import { Configuration } from '../configuration'; + + + +export interface EvolutionServiceInterface { + defaultHeaders: HttpHeaders; + configuration: Configuration; + + /** + * List evolution chains + * Evolution chains are essentially family trees. They start with the lowest stage within a family and detail evolution conditions for each as well as Pokémon they can evolve into up through the hierarchy. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + evolutionChainList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get evolution chain + * Evolution chains are essentially family trees. They start with the lowest stage within a family and detail evolution conditions for each as well as Pokémon they can evolve into up through the hierarchy. + * @param id This parameter can be a string or an integer. + */ + evolutionChainRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List evolution triggers + * Evolution triggers are the events and conditions that cause a Pokémon to evolve. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Methods_of_evolution) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + evolutionTriggerList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get evolution trigger + * Evolution triggers are the events and conditions that cause a Pokémon to evolve. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Methods_of_evolution) for greater detail. + * @param id This parameter can be a string or an integer. + */ + evolutionTriggerRetrieve(id: string, extraHttpRequestParams?: any): Observable; + +} diff --git a/webapp/src/app/core/modules/openapi/api/games.service.ts b/webapp/src/app/core/modules/openapi/api/games.service.ts new file mode 100644 index 00000000..62d30639 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/api/games.service.ts @@ -0,0 +1,784 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext + } from '@angular/common/http'; +import { CustomHttpParameterCodec } from '../encoder'; +import { Observable } from 'rxjs'; + +// @ts-ignore +import { GenerationDetail } from '../model/generation-detail'; +// @ts-ignore +import { PaginatedGenerationSummaryList } from '../model/paginated-generation-summary-list'; +// @ts-ignore +import { PaginatedPokedexSummaryList } from '../model/paginated-pokedex-summary-list'; +// @ts-ignore +import { PaginatedVersionGroupSummaryList } from '../model/paginated-version-group-summary-list'; +// @ts-ignore +import { PaginatedVersionSummaryList } from '../model/paginated-version-summary-list'; +// @ts-ignore +import { PokedexDetail } from '../model/pokedex-detail'; +// @ts-ignore +import { VersionDetail } from '../model/version-detail'; +// @ts-ignore +import { VersionGroupDetail } from '../model/version-group-detail'; + +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import { + GamesServiceInterface +} from './games.serviceInterface'; + + + +@Injectable({ + providedIn: 'root' +}) +export class GamesService implements GamesServiceInterface { + + protected basePath = 'https://pokeapi.co'; + public defaultHeaders = new HttpHeaders(); + public configuration = new Configuration(); + public encoder: HttpParameterCodec; + + constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) { + if (configuration) { + this.configuration = configuration; + } + if (typeof this.configuration.basePath !== 'string') { + const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined; + if (firstBasePath != undefined) { + basePath = firstBasePath; + } + + if (typeof basePath !== 'string') { + basePath = this.basePath; + } + this.configuration.basePath = basePath; + } + this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); + } + + + // @ts-ignore + private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { + if (typeof value === "object" && value instanceof Date === false) { + httpParams = this.addToHttpParamsRecursive(httpParams, value); + } else { + httpParams = this.addToHttpParamsRecursive(httpParams, value, key); + } + return httpParams; + } + + private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { + if (value == null) { + return httpParams; + } + + if (typeof value === "object") { + if (Array.isArray(value)) { + (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); + } else if (value instanceof Date) { + if (key != null) { + httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10)); + } else { + throw Error("key may not be null if value is Date"); + } + } else { + Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( + httpParams, value[k], key != null ? `${key}.${k}` : k)); + } + } else if (key != null) { + httpParams = httpParams.append(key, value); + } else { + throw Error("key may not be null if value is not object or array"); + } + return httpParams; + } + + /** + * List genrations + * A generation is a grouping of the Pokémon games that separates them based on the Pokémon they include. In each generation, a new set of Pokémon, Moves, Abilities and Types that did not exist in the previous generation are released. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public generationList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public generationList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public generationList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public generationList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/generation/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get genration + * A generation is a grouping of the Pokémon games that separates them based on the Pokémon they include. In each generation, a new set of Pokémon, Moves, Abilities and Types that did not exist in the previous generation are released. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public generationRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public generationRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public generationRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public generationRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling generationRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/generation/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List pokedex + * A Pokédex is a handheld electronic encyclopedia device; one which is capable of recording and retaining information of the various Pokémon in a given region with the exception of the national dex and some smaller dexes related to portions of a region. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pokedex) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public pokedexList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public pokedexList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokedexList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokedexList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/pokedex/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get pokedex + * A Pokédex is a handheld electronic encyclopedia device; one which is capable of recording and retaining information of the various Pokémon in a given region with the exception of the national dex and some smaller dexes related to portions of a region. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pokedex) for greater detail. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public pokedexRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public pokedexRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokedexRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokedexRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling pokedexRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/pokedex/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List version groups + * Version groups categorize highly similar versions of the games. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public versionGroupList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public versionGroupList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public versionGroupList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public versionGroupList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/version-group/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get version group + * Version groups categorize highly similar versions of the games. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public versionGroupRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public versionGroupRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public versionGroupRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public versionGroupRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling versionGroupRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/version-group/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List versions + * Versions of the games, e.g., Red, Blue or Yellow. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public versionList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public versionList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public versionList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public versionList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/version/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get version + * Versions of the games, e.g., Red, Blue or Yellow. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public versionRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public versionRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public versionRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public versionRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling versionRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/version/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + +} diff --git a/webapp/src/app/core/modules/openapi/api/games.serviceInterface.ts b/webapp/src/app/core/modules/openapi/api/games.serviceInterface.ts new file mode 100644 index 00000000..e0b407e4 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/api/games.serviceInterface.ts @@ -0,0 +1,98 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { HttpHeaders } from '@angular/common/http'; + +import { Observable } from 'rxjs'; + +import { GenerationDetail } from '../model/models'; +import { PaginatedGenerationSummaryList } from '../model/models'; +import { PaginatedPokedexSummaryList } from '../model/models'; +import { PaginatedVersionGroupSummaryList } from '../model/models'; +import { PaginatedVersionSummaryList } from '../model/models'; +import { PokedexDetail } from '../model/models'; +import { VersionDetail } from '../model/models'; +import { VersionGroupDetail } from '../model/models'; + + +import { Configuration } from '../configuration'; + + + +export interface GamesServiceInterface { + defaultHeaders: HttpHeaders; + configuration: Configuration; + + /** + * List genrations + * A generation is a grouping of the Pokémon games that separates them based on the Pokémon they include. In each generation, a new set of Pokémon, Moves, Abilities and Types that did not exist in the previous generation are released. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + generationList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get genration + * A generation is a grouping of the Pokémon games that separates them based on the Pokémon they include. In each generation, a new set of Pokémon, Moves, Abilities and Types that did not exist in the previous generation are released. + * @param id This parameter can be a string or an integer. + */ + generationRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List pokedex + * A Pokédex is a handheld electronic encyclopedia device; one which is capable of recording and retaining information of the various Pokémon in a given region with the exception of the national dex and some smaller dexes related to portions of a region. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pokedex) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + pokedexList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get pokedex + * A Pokédex is a handheld electronic encyclopedia device; one which is capable of recording and retaining information of the various Pokémon in a given region with the exception of the national dex and some smaller dexes related to portions of a region. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pokedex) for greater detail. + * @param id This parameter can be a string or an integer. + */ + pokedexRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List version groups + * Version groups categorize highly similar versions of the games. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + versionGroupList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get version group + * Version groups categorize highly similar versions of the games. + * @param id This parameter can be a string or an integer. + */ + versionGroupRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List versions + * Versions of the games, e.g., Red, Blue or Yellow. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + versionList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get version + * Versions of the games, e.g., Red, Blue or Yellow. + * @param id This parameter can be a string or an integer. + */ + versionRetrieve(id: string, extraHttpRequestParams?: any): Observable; + +} diff --git a/webapp/src/app/core/modules/openapi/api/items.service.ts b/webapp/src/app/core/modules/openapi/api/items.service.ts new file mode 100644 index 00000000..d3710a30 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/api/items.service.ts @@ -0,0 +1,956 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext + } from '@angular/common/http'; +import { CustomHttpParameterCodec } from '../encoder'; +import { Observable } from 'rxjs'; + +// @ts-ignore +import { ItemAttributeDetail } from '../model/item-attribute-detail'; +// @ts-ignore +import { ItemCategoryDetail } from '../model/item-category-detail'; +// @ts-ignore +import { ItemDetail } from '../model/item-detail'; +// @ts-ignore +import { ItemFlingEffectDetail } from '../model/item-fling-effect-detail'; +// @ts-ignore +import { ItemPocketDetail } from '../model/item-pocket-detail'; +// @ts-ignore +import { PaginatedItemAttributeSummaryList } from '../model/paginated-item-attribute-summary-list'; +// @ts-ignore +import { PaginatedItemCategorySummaryList } from '../model/paginated-item-category-summary-list'; +// @ts-ignore +import { PaginatedItemFlingEffectSummaryList } from '../model/paginated-item-fling-effect-summary-list'; +// @ts-ignore +import { PaginatedItemPocketSummaryList } from '../model/paginated-item-pocket-summary-list'; +// @ts-ignore +import { PaginatedItemSummaryList } from '../model/paginated-item-summary-list'; + +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import { + ItemsServiceInterface +} from './items.serviceInterface'; + + + +@Injectable({ + providedIn: 'root' +}) +export class ItemsService implements ItemsServiceInterface { + + protected basePath = 'https://pokeapi.co'; + public defaultHeaders = new HttpHeaders(); + public configuration = new Configuration(); + public encoder: HttpParameterCodec; + + constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) { + if (configuration) { + this.configuration = configuration; + } + if (typeof this.configuration.basePath !== 'string') { + const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined; + if (firstBasePath != undefined) { + basePath = firstBasePath; + } + + if (typeof basePath !== 'string') { + basePath = this.basePath; + } + this.configuration.basePath = basePath; + } + this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); + } + + + // @ts-ignore + private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { + if (typeof value === "object" && value instanceof Date === false) { + httpParams = this.addToHttpParamsRecursive(httpParams, value); + } else { + httpParams = this.addToHttpParamsRecursive(httpParams, value, key); + } + return httpParams; + } + + private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { + if (value == null) { + return httpParams; + } + + if (typeof value === "object") { + if (Array.isArray(value)) { + (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); + } else if (value instanceof Date) { + if (key != null) { + httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10)); + } else { + throw Error("key may not be null if value is Date"); + } + } else { + Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( + httpParams, value[k], key != null ? `${key}.${k}` : k)); + } + } else if (key != null) { + httpParams = httpParams.append(key, value); + } else { + throw Error("key may not be null if value is not object or array"); + } + return httpParams; + } + + /** + * List item attributes + * Item attributes define particular aspects of items, e.g.\"usable in battle\" or \"consumable\". + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public itemAttributeList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public itemAttributeList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public itemAttributeList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public itemAttributeList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/item-attribute/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get item attribute + * Item attributes define particular aspects of items, e.g.\"usable in battle\" or \"consumable\". + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public itemAttributeRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public itemAttributeRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public itemAttributeRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public itemAttributeRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling itemAttributeRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/item-attribute/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List item categories + * Item categories determine where items will be placed in the players bag. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public itemCategoryList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public itemCategoryList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public itemCategoryList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public itemCategoryList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/item-category/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get item category + * Item categories determine where items will be placed in the players bag. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public itemCategoryRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public itemCategoryRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public itemCategoryRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public itemCategoryRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling itemCategoryRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/item-category/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List item fling effects + * The various effects of the move\"Fling\" when used with different items. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public itemFlingEffectList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public itemFlingEffectList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public itemFlingEffectList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public itemFlingEffectList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/item-fling-effect/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get item fling effect + * The various effects of the move\"Fling\" when used with different items. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public itemFlingEffectRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public itemFlingEffectRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public itemFlingEffectRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public itemFlingEffectRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling itemFlingEffectRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/item-fling-effect/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List items + * An item is an object in the games which the player can pick up, keep in their bag, and use in some manner. They have various uses, including healing, powering up, helping catch Pokémon, or to access a new area. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public itemList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public itemList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public itemList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public itemList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/item/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List item pockets + * Pockets within the players bag used for storing items by category. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public itemPocketList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public itemPocketList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public itemPocketList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public itemPocketList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/item-pocket/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get item pocket + * Pockets within the players bag used for storing items by category. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public itemPocketRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public itemPocketRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public itemPocketRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public itemPocketRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling itemPocketRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/item-pocket/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get item + * An item is an object in the games which the player can pick up, keep in their bag, and use in some manner. They have various uses, including healing, powering up, helping catch Pokémon, or to access a new area. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public itemRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public itemRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public itemRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public itemRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling itemRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/item/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + +} diff --git a/webapp/src/app/core/modules/openapi/api/items.serviceInterface.ts b/webapp/src/app/core/modules/openapi/api/items.serviceInterface.ts new file mode 100644 index 00000000..195a8250 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/api/items.serviceInterface.ts @@ -0,0 +1,116 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { HttpHeaders } from '@angular/common/http'; + +import { Observable } from 'rxjs'; + +import { ItemAttributeDetail } from '../model/models'; +import { ItemCategoryDetail } from '../model/models'; +import { ItemDetail } from '../model/models'; +import { ItemFlingEffectDetail } from '../model/models'; +import { ItemPocketDetail } from '../model/models'; +import { PaginatedItemAttributeSummaryList } from '../model/models'; +import { PaginatedItemCategorySummaryList } from '../model/models'; +import { PaginatedItemFlingEffectSummaryList } from '../model/models'; +import { PaginatedItemPocketSummaryList } from '../model/models'; +import { PaginatedItemSummaryList } from '../model/models'; + + +import { Configuration } from '../configuration'; + + + +export interface ItemsServiceInterface { + defaultHeaders: HttpHeaders; + configuration: Configuration; + + /** + * List item attributes + * Item attributes define particular aspects of items, e.g.\"usable in battle\" or \"consumable\". + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + itemAttributeList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get item attribute + * Item attributes define particular aspects of items, e.g.\"usable in battle\" or \"consumable\". + * @param id This parameter can be a string or an integer. + */ + itemAttributeRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List item categories + * Item categories determine where items will be placed in the players bag. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + itemCategoryList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get item category + * Item categories determine where items will be placed in the players bag. + * @param id This parameter can be a string or an integer. + */ + itemCategoryRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List item fling effects + * The various effects of the move\"Fling\" when used with different items. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + itemFlingEffectList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get item fling effect + * The various effects of the move\"Fling\" when used with different items. + * @param id This parameter can be a string or an integer. + */ + itemFlingEffectRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List items + * An item is an object in the games which the player can pick up, keep in their bag, and use in some manner. They have various uses, including healing, powering up, helping catch Pokémon, or to access a new area. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + itemList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * List item pockets + * Pockets within the players bag used for storing items by category. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + itemPocketList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get item pocket + * Pockets within the players bag used for storing items by category. + * @param id This parameter can be a string or an integer. + */ + itemPocketRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * Get item + * An item is an object in the games which the player can pick up, keep in their bag, and use in some manner. They have various uses, including healing, powering up, helping catch Pokémon, or to access a new area. + * @param id This parameter can be a string or an integer. + */ + itemRetrieve(id: string, extraHttpRequestParams?: any): Observable; + +} diff --git a/webapp/src/app/core/modules/openapi/api/location.service.ts b/webapp/src/app/core/modules/openapi/api/location.service.ts new file mode 100644 index 00000000..c9de9196 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/api/location.service.ts @@ -0,0 +1,779 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext + } from '@angular/common/http'; +import { CustomHttpParameterCodec } from '../encoder'; +import { Observable } from 'rxjs'; + +// @ts-ignore +import { LocationAreaDetail } from '../model/location-area-detail'; +// @ts-ignore +import { LocationDetail } from '../model/location-detail'; +// @ts-ignore +import { PaginatedLocationAreaSummaryList } from '../model/paginated-location-area-summary-list'; +// @ts-ignore +import { PaginatedLocationSummaryList } from '../model/paginated-location-summary-list'; +// @ts-ignore +import { PaginatedPalParkAreaSummaryList } from '../model/paginated-pal-park-area-summary-list'; +// @ts-ignore +import { PaginatedRegionSummaryList } from '../model/paginated-region-summary-list'; +// @ts-ignore +import { PalParkAreaDetail } from '../model/pal-park-area-detail'; +// @ts-ignore +import { RegionDetail } from '../model/region-detail'; + +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import { + LocationServiceInterface +} from './location.serviceInterface'; + + + +@Injectable({ + providedIn: 'root' +}) +export class LocationService implements LocationServiceInterface { + + protected basePath = 'https://pokeapi.co'; + public defaultHeaders = new HttpHeaders(); + public configuration = new Configuration(); + public encoder: HttpParameterCodec; + + constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) { + if (configuration) { + this.configuration = configuration; + } + if (typeof this.configuration.basePath !== 'string') { + const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined; + if (firstBasePath != undefined) { + basePath = firstBasePath; + } + + if (typeof basePath !== 'string') { + basePath = this.basePath; + } + this.configuration.basePath = basePath; + } + this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); + } + + + // @ts-ignore + private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { + if (typeof value === "object" && value instanceof Date === false) { + httpParams = this.addToHttpParamsRecursive(httpParams, value); + } else { + httpParams = this.addToHttpParamsRecursive(httpParams, value, key); + } + return httpParams; + } + + private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { + if (value == null) { + return httpParams; + } + + if (typeof value === "object") { + if (Array.isArray(value)) { + (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); + } else if (value instanceof Date) { + if (key != null) { + httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10)); + } else { + throw Error("key may not be null if value is Date"); + } + } else { + Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( + httpParams, value[k], key != null ? `${key}.${k}` : k)); + } + } else if (key != null) { + httpParams = httpParams.append(key, value); + } else { + throw Error("key may not be null if value is not object or array"); + } + return httpParams; + } + + /** + * List location areas + * Location areas are sections of areas, such as floors in a building or cave. Each area has its own set of possible Pokémon encounters. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public locationAreaList(limit?: number, offset?: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public locationAreaList(limit?: number, offset?: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public locationAreaList(limit?: number, offset?: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public locationAreaList(limit?: number, offset?: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/location-area/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get location area + * Location areas are sections of areas, such as floors in a building or cave. Each area has its own set of possible Pokémon encounters. + * @param id A unique integer value identifying this location area. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public locationAreaRetrieve(id: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public locationAreaRetrieve(id: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public locationAreaRetrieve(id: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public locationAreaRetrieve(id: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling locationAreaRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/location-area/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List locations + * Locations that can be visited within the games. Locations make up sizable portions of regions, like cities or routes. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public locationList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public locationList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public locationList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public locationList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/location/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get location + * Locations that can be visited within the games. Locations make up sizable portions of regions, like cities or routes. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public locationRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public locationRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public locationRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public locationRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling locationRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/location/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List pal park areas + * Areas used for grouping Pokémon encounters in Pal Park. They\'re like habitats that are specific to Pal Park. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public palParkAreaList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public palParkAreaList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public palParkAreaList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public palParkAreaList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/pal-park-area/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get pal park area + * Areas used for grouping Pokémon encounters in Pal Park. They\'re like habitats that are specific to Pal Park. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public palParkAreaRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public palParkAreaRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public palParkAreaRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public palParkAreaRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling palParkAreaRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/pal-park-area/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List regions + * A region is an organized area of the Pokémon world. Most often, the main difference between regions is the species of Pokémon that can be encountered within them. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public regionList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public regionList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public regionList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public regionList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/region/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get region + * A region is an organized area of the Pokémon world. Most often, the main difference between regions is the species of Pokémon that can be encountered within them. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public regionRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public regionRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public regionRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public regionRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling regionRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/region/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + +} diff --git a/webapp/src/app/core/modules/openapi/api/location.serviceInterface.ts b/webapp/src/app/core/modules/openapi/api/location.serviceInterface.ts new file mode 100644 index 00000000..083cd0f1 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/api/location.serviceInterface.ts @@ -0,0 +1,97 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { HttpHeaders } from '@angular/common/http'; + +import { Observable } from 'rxjs'; + +import { LocationAreaDetail } from '../model/models'; +import { LocationDetail } from '../model/models'; +import { PaginatedLocationAreaSummaryList } from '../model/models'; +import { PaginatedLocationSummaryList } from '../model/models'; +import { PaginatedPalParkAreaSummaryList } from '../model/models'; +import { PaginatedRegionSummaryList } from '../model/models'; +import { PalParkAreaDetail } from '../model/models'; +import { RegionDetail } from '../model/models'; + + +import { Configuration } from '../configuration'; + + + +export interface LocationServiceInterface { + defaultHeaders: HttpHeaders; + configuration: Configuration; + + /** + * List location areas + * Location areas are sections of areas, such as floors in a building or cave. Each area has its own set of possible Pokémon encounters. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + */ + locationAreaList(limit?: number, offset?: number, extraHttpRequestParams?: any): Observable; + + /** + * Get location area + * Location areas are sections of areas, such as floors in a building or cave. Each area has its own set of possible Pokémon encounters. + * @param id A unique integer value identifying this location area. + */ + locationAreaRetrieve(id: number, extraHttpRequestParams?: any): Observable; + + /** + * List locations + * Locations that can be visited within the games. Locations make up sizable portions of regions, like cities or routes. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + locationList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get location + * Locations that can be visited within the games. Locations make up sizable portions of regions, like cities or routes. + * @param id This parameter can be a string or an integer. + */ + locationRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List pal park areas + * Areas used for grouping Pokémon encounters in Pal Park. They\'re like habitats that are specific to Pal Park. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + palParkAreaList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get pal park area + * Areas used for grouping Pokémon encounters in Pal Park. They\'re like habitats that are specific to Pal Park. + * @param id This parameter can be a string or an integer. + */ + palParkAreaRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List regions + * A region is an organized area of the Pokémon world. Most often, the main difference between regions is the species of Pokémon that can be encountered within them. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + regionList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get region + * A region is an organized area of the Pokémon world. Most often, the main difference between regions is the species of Pokémon that can be encountered within them. + * @param id This parameter can be a string or an integer. + */ + regionRetrieve(id: string, extraHttpRequestParams?: any): Observable; + +} diff --git a/webapp/src/app/core/modules/openapi/api/machines.service.ts b/webapp/src/app/core/modules/openapi/api/machines.service.ts new file mode 100644 index 00000000..9cbc8c37 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/api/machines.service.ts @@ -0,0 +1,268 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext + } from '@angular/common/http'; +import { CustomHttpParameterCodec } from '../encoder'; +import { Observable } from 'rxjs'; + +// @ts-ignore +import { MachineDetail } from '../model/machine-detail'; +// @ts-ignore +import { PaginatedMachineSummaryList } from '../model/paginated-machine-summary-list'; + +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import { + MachinesServiceInterface +} from './machines.serviceInterface'; + + + +@Injectable({ + providedIn: 'root' +}) +export class MachinesService implements MachinesServiceInterface { + + protected basePath = 'https://pokeapi.co'; + public defaultHeaders = new HttpHeaders(); + public configuration = new Configuration(); + public encoder: HttpParameterCodec; + + constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) { + if (configuration) { + this.configuration = configuration; + } + if (typeof this.configuration.basePath !== 'string') { + const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined; + if (firstBasePath != undefined) { + basePath = firstBasePath; + } + + if (typeof basePath !== 'string') { + basePath = this.basePath; + } + this.configuration.basePath = basePath; + } + this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); + } + + + // @ts-ignore + private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { + if (typeof value === "object" && value instanceof Date === false) { + httpParams = this.addToHttpParamsRecursive(httpParams, value); + } else { + httpParams = this.addToHttpParamsRecursive(httpParams, value, key); + } + return httpParams; + } + + private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { + if (value == null) { + return httpParams; + } + + if (typeof value === "object") { + if (Array.isArray(value)) { + (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); + } else if (value instanceof Date) { + if (key != null) { + httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10)); + } else { + throw Error("key may not be null if value is Date"); + } + } else { + Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( + httpParams, value[k], key != null ? `${key}.${k}` : k)); + } + } else if (key != null) { + httpParams = httpParams.append(key, value); + } else { + throw Error("key may not be null if value is not object or array"); + } + return httpParams; + } + + /** + * List machines + * Machines are the representation of items that teach moves to Pokémon. They vary from version to version, so it is not certain that one specific TM or HM corresponds to a single Machine. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public machineList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public machineList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public machineList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public machineList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/machine/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get machine + * Machines are the representation of items that teach moves to Pokémon. They vary from version to version, so it is not certain that one specific TM or HM corresponds to a single Machine. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public machineRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public machineRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public machineRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public machineRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling machineRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/machine/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + +} diff --git a/webapp/src/app/core/modules/openapi/api/machines.serviceInterface.ts b/webapp/src/app/core/modules/openapi/api/machines.serviceInterface.ts new file mode 100644 index 00000000..8aaeb883 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/api/machines.serviceInterface.ts @@ -0,0 +1,44 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { HttpHeaders } from '@angular/common/http'; + +import { Observable } from 'rxjs'; + +import { MachineDetail } from '../model/models'; +import { PaginatedMachineSummaryList } from '../model/models'; + + +import { Configuration } from '../configuration'; + + + +export interface MachinesServiceInterface { + defaultHeaders: HttpHeaders; + configuration: Configuration; + + /** + * List machines + * Machines are the representation of items that teach moves to Pokémon. They vary from version to version, so it is not certain that one specific TM or HM corresponds to a single Machine. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + machineList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get machine + * Machines are the representation of items that teach moves to Pokémon. They vary from version to version, so it is not certain that one specific TM or HM corresponds to a single Machine. + * @param id This parameter can be a string or an integer. + */ + machineRetrieve(id: string, extraHttpRequestParams?: any): Observable; + +} diff --git a/webapp/src/app/core/modules/openapi/api/moves.service.ts b/webapp/src/app/core/modules/openapi/api/moves.service.ts new file mode 100644 index 00000000..8b8a2230 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/api/moves.service.ts @@ -0,0 +1,1128 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext + } from '@angular/common/http'; +import { CustomHttpParameterCodec } from '../encoder'; +import { Observable } from 'rxjs'; + +// @ts-ignore +import { MoveBattleStyleDetail } from '../model/move-battle-style-detail'; +// @ts-ignore +import { MoveDetail } from '../model/move-detail'; +// @ts-ignore +import { MoveLearnMethodDetail } from '../model/move-learn-method-detail'; +// @ts-ignore +import { MoveMetaAilmentDetail } from '../model/move-meta-ailment-detail'; +// @ts-ignore +import { MoveMetaCategoryDetail } from '../model/move-meta-category-detail'; +// @ts-ignore +import { MoveTargetDetail } from '../model/move-target-detail'; +// @ts-ignore +import { PaginatedMoveBattleStyleSummaryList } from '../model/paginated-move-battle-style-summary-list'; +// @ts-ignore +import { PaginatedMoveLearnMethodSummaryList } from '../model/paginated-move-learn-method-summary-list'; +// @ts-ignore +import { PaginatedMoveMetaAilmentSummaryList } from '../model/paginated-move-meta-ailment-summary-list'; +// @ts-ignore +import { PaginatedMoveMetaCategorySummaryList } from '../model/paginated-move-meta-category-summary-list'; +// @ts-ignore +import { PaginatedMoveSummaryList } from '../model/paginated-move-summary-list'; +// @ts-ignore +import { PaginatedMoveTargetSummaryList } from '../model/paginated-move-target-summary-list'; + +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import { + MovesServiceInterface +} from './moves.serviceInterface'; + + + +@Injectable({ + providedIn: 'root' +}) +export class MovesService implements MovesServiceInterface { + + protected basePath = 'https://pokeapi.co'; + public defaultHeaders = new HttpHeaders(); + public configuration = new Configuration(); + public encoder: HttpParameterCodec; + + constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) { + if (configuration) { + this.configuration = configuration; + } + if (typeof this.configuration.basePath !== 'string') { + const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined; + if (firstBasePath != undefined) { + basePath = firstBasePath; + } + + if (typeof basePath !== 'string') { + basePath = this.basePath; + } + this.configuration.basePath = basePath; + } + this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); + } + + + // @ts-ignore + private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { + if (typeof value === "object" && value instanceof Date === false) { + httpParams = this.addToHttpParamsRecursive(httpParams, value); + } else { + httpParams = this.addToHttpParamsRecursive(httpParams, value, key); + } + return httpParams; + } + + private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { + if (value == null) { + return httpParams; + } + + if (typeof value === "object") { + if (Array.isArray(value)) { + (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); + } else if (value instanceof Date) { + if (key != null) { + httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10)); + } else { + throw Error("key may not be null if value is Date"); + } + } else { + Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( + httpParams, value[k], key != null ? `${key}.${k}` : k)); + } + } else if (key != null) { + httpParams = httpParams.append(key, value); + } else { + throw Error("key may not be null if value is not object or array"); + } + return httpParams; + } + + /** + * List move meta ailments + * Move Ailments are status conditions caused by moves used during battle. See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Status_condition) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public moveAilmentList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public moveAilmentList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveAilmentList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveAilmentList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/move-ailment/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get move meta ailment + * Move Ailments are status conditions caused by moves used during battle. See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Status_condition) for greater detail. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public moveAilmentRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public moveAilmentRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveAilmentRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveAilmentRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling moveAilmentRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/move-ailment/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List move battle styles + * Styles of moves when used in the Battle Palace. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Battle_Frontier_(Generation_III)) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public moveBattleStyleList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public moveBattleStyleList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveBattleStyleList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveBattleStyleList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/move-battle-style/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get move battle style + * Styles of moves when used in the Battle Palace. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Battle_Frontier_(Generation_III)) for greater detail. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public moveBattleStyleRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public moveBattleStyleRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveBattleStyleRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveBattleStyleRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling moveBattleStyleRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/move-battle-style/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List move meta categories + * Very general categories that loosely group move effects. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public moveCategoryList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public moveCategoryList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveCategoryList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveCategoryList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/move-category/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get move meta category + * Very general categories that loosely group move effects. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public moveCategoryRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public moveCategoryRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveCategoryRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveCategoryRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling moveCategoryRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/move-category/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List move learn methods + * Methods by which Pokémon can learn moves. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public moveLearnMethodList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public moveLearnMethodList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveLearnMethodList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveLearnMethodList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/move-learn-method/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get move learn method + * Methods by which Pokémon can learn moves. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public moveLearnMethodRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public moveLearnMethodRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveLearnMethodRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveLearnMethodRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling moveLearnMethodRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/move-learn-method/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List moves + * Moves are the skills of Pokémon in battle. In battle, a Pokémon uses one move each turn. Some moves (including those learned by Hidden Machine) can be used outside of battle as well, usually for the purpose of removing obstacles or exploring new areas. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public moveList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public moveList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/move/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get move + * Moves are the skills of Pokémon in battle. In battle, a Pokémon uses one move each turn. Some moves (including those learned by Hidden Machine) can be used outside of battle as well, usually for the purpose of removing obstacles or exploring new areas. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public moveRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public moveRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling moveRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/move/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List move targets + * Targets moves can be directed at during battle. Targets can be Pokémon, environments or even other moves. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public moveTargetList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public moveTargetList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveTargetList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveTargetList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/move-target/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get move target + * Targets moves can be directed at during battle. Targets can be Pokémon, environments or even other moves. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public moveTargetRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public moveTargetRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveTargetRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveTargetRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling moveTargetRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/move-target/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + +} diff --git a/webapp/src/app/core/modules/openapi/api/moves.serviceInterface.ts b/webapp/src/app/core/modules/openapi/api/moves.serviceInterface.ts new file mode 100644 index 00000000..62f5aeb9 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/api/moves.serviceInterface.ts @@ -0,0 +1,134 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { HttpHeaders } from '@angular/common/http'; + +import { Observable } from 'rxjs'; + +import { MoveBattleStyleDetail } from '../model/models'; +import { MoveDetail } from '../model/models'; +import { MoveLearnMethodDetail } from '../model/models'; +import { MoveMetaAilmentDetail } from '../model/models'; +import { MoveMetaCategoryDetail } from '../model/models'; +import { MoveTargetDetail } from '../model/models'; +import { PaginatedMoveBattleStyleSummaryList } from '../model/models'; +import { PaginatedMoveLearnMethodSummaryList } from '../model/models'; +import { PaginatedMoveMetaAilmentSummaryList } from '../model/models'; +import { PaginatedMoveMetaCategorySummaryList } from '../model/models'; +import { PaginatedMoveSummaryList } from '../model/models'; +import { PaginatedMoveTargetSummaryList } from '../model/models'; + + +import { Configuration } from '../configuration'; + + + +export interface MovesServiceInterface { + defaultHeaders: HttpHeaders; + configuration: Configuration; + + /** + * List move meta ailments + * Move Ailments are status conditions caused by moves used during battle. See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Status_condition) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + moveAilmentList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get move meta ailment + * Move Ailments are status conditions caused by moves used during battle. See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Status_condition) for greater detail. + * @param id This parameter can be a string or an integer. + */ + moveAilmentRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List move battle styles + * Styles of moves when used in the Battle Palace. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Battle_Frontier_(Generation_III)) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + moveBattleStyleList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get move battle style + * Styles of moves when used in the Battle Palace. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Battle_Frontier_(Generation_III)) for greater detail. + * @param id This parameter can be a string or an integer. + */ + moveBattleStyleRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List move meta categories + * Very general categories that loosely group move effects. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + moveCategoryList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get move meta category + * Very general categories that loosely group move effects. + * @param id This parameter can be a string or an integer. + */ + moveCategoryRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List move learn methods + * Methods by which Pokémon can learn moves. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + moveLearnMethodList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get move learn method + * Methods by which Pokémon can learn moves. + * @param id This parameter can be a string or an integer. + */ + moveLearnMethodRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List moves + * Moves are the skills of Pokémon in battle. In battle, a Pokémon uses one move each turn. Some moves (including those learned by Hidden Machine) can be used outside of battle as well, usually for the purpose of removing obstacles or exploring new areas. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + moveList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get move + * Moves are the skills of Pokémon in battle. In battle, a Pokémon uses one move each turn. Some moves (including those learned by Hidden Machine) can be used outside of battle as well, usually for the purpose of removing obstacles or exploring new areas. + * @param id This parameter can be a string or an integer. + */ + moveRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List move targets + * Targets moves can be directed at during battle. Targets can be Pokémon, environments or even other moves. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + moveTargetList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get move target + * Targets moves can be directed at during battle. Targets can be Pokémon, environments or even other moves. + * @param id This parameter can be a string or an integer. + */ + moveTargetRetrieve(id: string, extraHttpRequestParams?: any): Observable; + +} diff --git a/webapp/src/app/core/modules/openapi/api/pokemon.service.ts b/webapp/src/app/core/modules/openapi/api/pokemon.service.ts new file mode 100644 index 00000000..fbdf2166 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/api/pokemon.service.ts @@ -0,0 +1,2846 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext + } from '@angular/common/http'; +import { CustomHttpParameterCodec } from '../encoder'; +import { Observable } from 'rxjs'; + +// @ts-ignore +import { AbilityDetail } from '../model/ability-detail'; +// @ts-ignore +import { CharacteristicDetail } from '../model/characteristic-detail'; +// @ts-ignore +import { EggGroupDetail } from '../model/egg-group-detail'; +// @ts-ignore +import { GenderDetail } from '../model/gender-detail'; +// @ts-ignore +import { GrowthRateDetail } from '../model/growth-rate-detail'; +// @ts-ignore +import { MoveDamageClassDetail } from '../model/move-damage-class-detail'; +// @ts-ignore +import { NatureDetail } from '../model/nature-detail'; +// @ts-ignore +import { PaginatedAbilitySummaryList } from '../model/paginated-ability-summary-list'; +// @ts-ignore +import { PaginatedCharacteristicSummaryList } from '../model/paginated-characteristic-summary-list'; +// @ts-ignore +import { PaginatedEggGroupSummaryList } from '../model/paginated-egg-group-summary-list'; +// @ts-ignore +import { PaginatedGenderSummaryList } from '../model/paginated-gender-summary-list'; +// @ts-ignore +import { PaginatedGrowthRateSummaryList } from '../model/paginated-growth-rate-summary-list'; +// @ts-ignore +import { PaginatedMoveDamageClassSummaryList } from '../model/paginated-move-damage-class-summary-list'; +// @ts-ignore +import { PaginatedNatureSummaryList } from '../model/paginated-nature-summary-list'; +// @ts-ignore +import { PaginatedPokeathlonStatSummaryList } from '../model/paginated-pokeathlon-stat-summary-list'; +// @ts-ignore +import { PaginatedPokemonColorSummaryList } from '../model/paginated-pokemon-color-summary-list'; +// @ts-ignore +import { PaginatedPokemonFormSummaryList } from '../model/paginated-pokemon-form-summary-list'; +// @ts-ignore +import { PaginatedPokemonHabitatSummaryList } from '../model/paginated-pokemon-habitat-summary-list'; +// @ts-ignore +import { PaginatedPokemonShapeSummaryList } from '../model/paginated-pokemon-shape-summary-list'; +// @ts-ignore +import { PaginatedPokemonSpeciesSummaryList } from '../model/paginated-pokemon-species-summary-list'; +// @ts-ignore +import { PaginatedPokemonSummaryList } from '../model/paginated-pokemon-summary-list'; +// @ts-ignore +import { PaginatedStatSummaryList } from '../model/paginated-stat-summary-list'; +// @ts-ignore +import { PaginatedTypeSummaryList } from '../model/paginated-type-summary-list'; +// @ts-ignore +import { PokeathlonStatDetail } from '../model/pokeathlon-stat-detail'; +// @ts-ignore +import { PokemonColorDetail } from '../model/pokemon-color-detail'; +// @ts-ignore +import { PokemonDetail } from '../model/pokemon-detail'; +// @ts-ignore +import { PokemonFormDetail } from '../model/pokemon-form-detail'; +// @ts-ignore +import { PokemonHabitatDetail } from '../model/pokemon-habitat-detail'; +// @ts-ignore +import { PokemonShapeDetail } from '../model/pokemon-shape-detail'; +// @ts-ignore +import { PokemonSpeciesDetail } from '../model/pokemon-species-detail'; +// @ts-ignore +import { StatDetail } from '../model/stat-detail'; +// @ts-ignore +import { TypeDetail } from '../model/type-detail'; + +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import { + PokemonServiceInterface +} from './pokemon.serviceInterface'; + + + +@Injectable({ + providedIn: 'root' +}) +export class PokemonService implements PokemonServiceInterface { + + protected basePath = 'https://pokeapi.co'; + public defaultHeaders = new HttpHeaders(); + public configuration = new Configuration(); + public encoder: HttpParameterCodec; + + constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) { + if (configuration) { + this.configuration = configuration; + } + if (typeof this.configuration.basePath !== 'string') { + const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined; + if (firstBasePath != undefined) { + basePath = firstBasePath; + } + + if (typeof basePath !== 'string') { + basePath = this.basePath; + } + this.configuration.basePath = basePath; + } + this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); + } + + + // @ts-ignore + private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { + if (typeof value === "object" && value instanceof Date === false) { + httpParams = this.addToHttpParamsRecursive(httpParams, value); + } else { + httpParams = this.addToHttpParamsRecursive(httpParams, value, key); + } + return httpParams; + } + + private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { + if (value == null) { + return httpParams; + } + + if (typeof value === "object") { + if (Array.isArray(value)) { + (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); + } else if (value instanceof Date) { + if (key != null) { + httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10)); + } else { + throw Error("key may not be null if value is Date"); + } + } else { + Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( + httpParams, value[k], key != null ? `${key}.${k}` : k)); + } + } else if (key != null) { + httpParams = httpParams.append(key, value); + } else { + throw Error("key may not be null if value is not object or array"); + } + return httpParams; + } + + /** + * Abilities provide passive effects for Pokémon in battle or in the overworld. Pokémon have multiple possible abilities but can have only one ability at a time. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Ability) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public abilityList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public abilityList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public abilityList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public abilityList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/ability/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Abilities provide passive effects for Pokémon in battle or in the overworld. Pokémon have multiple possible abilities but can have only one ability at a time. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Ability) for greater detail. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public abilityRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public abilityRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public abilityRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public abilityRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling abilityRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/ability/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List charecterictics + * Characteristics indicate which stat contains a Pokémon\'s highest IV. A Pokémon\'s Characteristic is determined by the remainder of its highest IV divided by 5 (gene_modulo). Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Characteristic) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public characteristicList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public characteristicList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public characteristicList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public characteristicList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/characteristic/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get characteristic + * Characteristics indicate which stat contains a Pokémon\'s highest IV. A Pokémon\'s Characteristic is determined by the remainder of its highest IV divided by 5 (gene_modulo). Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Characteristic) for greater detail. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public characteristicRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public characteristicRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public characteristicRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public characteristicRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling characteristicRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/characteristic/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List egg groups + * Egg Groups are categories which determine which Pokémon are able to interbreed. Pokémon may belong to either one or two Egg Groups. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Egg_Group) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public eggGroupList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public eggGroupList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public eggGroupList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public eggGroupList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/egg-group/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get egg group + * Egg Groups are categories which determine which Pokémon are able to interbreed. Pokémon may belong to either one or two Egg Groups. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Egg_Group) for greater detail. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public eggGroupRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public eggGroupRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public eggGroupRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public eggGroupRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling eggGroupRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/egg-group/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List genders + * Genders were introduced in Generation II for the purposes of breeding Pokémon but can also result in visual differences or even different evolutionary lines. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Gender) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public genderList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public genderList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public genderList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public genderList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/gender/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get gender + * Genders were introduced in Generation II for the purposes of breeding Pokémon but can also result in visual differences or even different evolutionary lines. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Gender) for greater detail. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public genderRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public genderRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public genderRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public genderRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling genderRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/gender/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List growth rates + * Growth rates are the speed with which Pokémon gain levels through experience. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Experience) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public growthRateList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public growthRateList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public growthRateList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public growthRateList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/growth-rate/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get growth rate + * Growth rates are the speed with which Pokémon gain levels through experience. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Experience) for greater detail. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public growthRateRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public growthRateRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public growthRateRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public growthRateRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling growthRateRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/growth-rate/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List move damage classes + * Damage classes moves can have, e.g. physical, special, or non-damaging. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public moveDamageClassList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public moveDamageClassList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveDamageClassList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveDamageClassList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/move-damage-class/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get move damage class + * Damage classes moves can have, e.g. physical, special, or non-damaging. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public moveDamageClassRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public moveDamageClassRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveDamageClassRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public moveDamageClassRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling moveDamageClassRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/move-damage-class/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List natures + * Natures influence how a Pokémon\'s stats grow. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Nature) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public natureList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public natureList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public natureList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public natureList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/nature/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get nature + * Natures influence how a Pokémon\'s stats grow. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Nature) for greater detail. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public natureRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public natureRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public natureRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public natureRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling natureRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/nature/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List pokeathlon stats + * Pokeathlon Stats are different attributes of a Pokémon\'s performance in Pokéathlons. In Pokéathlons, competitions happen on different courses; one for each of the different Pokéathlon stats. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9athlon) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public pokeathlonStatList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public pokeathlonStatList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokeathlonStatList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokeathlonStatList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/pokeathlon-stat/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get pokeathlon stat + * Pokeathlon Stats are different attributes of a Pokémon\'s performance in Pokéathlons. In Pokéathlons, competitions happen on different courses; one for each of the different Pokéathlon stats. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9athlon) for greater detail. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public pokeathlonStatRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public pokeathlonStatRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokeathlonStatRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokeathlonStatRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling pokeathlonStatRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/pokeathlon-stat/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List pokemon colors + * Colors used for sorting Pokémon in a Pokédex. The color listed in the Pokédex is usually the color most apparent or covering each Pokémon\'s body. No orange category exists; Pokémon that are primarily orange are listed as red or brown. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public pokemonColorList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public pokemonColorList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonColorList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonColorList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/pokemon-color/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get pokemon color + * Colors used for sorting Pokémon in a Pokédex. The color listed in the Pokédex is usually the color most apparent or covering each Pokémon\'s body. No orange category exists; Pokémon that are primarily orange are listed as red or brown. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public pokemonColorRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public pokemonColorRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonColorRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonColorRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling pokemonColorRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/pokemon-color/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List pokemon forms + * Some Pokémon may appear in one of multiple, visually different forms. These differences are purely cosmetic. For variations within a Pokémon species, which do differ in more than just visuals, the \'Pokémon\' entity is used to represent such a variety. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public pokemonFormList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public pokemonFormList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonFormList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonFormList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/pokemon-form/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get pokemon form + * Some Pokémon may appear in one of multiple, visually different forms. These differences are purely cosmetic. For variations within a Pokémon species, which do differ in more than just visuals, the \'Pokémon\' entity is used to represent such a variety. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public pokemonFormRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public pokemonFormRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonFormRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonFormRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling pokemonFormRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/pokemon-form/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List pokemom habitas + * Habitats are generally different terrain Pokémon can be found in but can also be areas designated for rare or legendary Pokémon. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public pokemonHabitatList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public pokemonHabitatList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonHabitatList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonHabitatList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/pokemon-habitat/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get pokemom habita + * Habitats are generally different terrain Pokémon can be found in but can also be areas designated for rare or legendary Pokémon. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public pokemonHabitatRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public pokemonHabitatRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonHabitatRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonHabitatRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling pokemonHabitatRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/pokemon-habitat/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List pokemon + * Pokémon are the creatures that inhabit the world of the Pokémon games. They can be caught using Pokéballs and trained by battling with other Pokémon. Each Pokémon belongs to a specific species but may take on a variant which makes it differ from other Pokémon of the same species, such as base stats, available abilities and typings. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_(species)) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public pokemonList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public pokemonList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/pokemon/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get pokemon + * Pokémon are the creatures that inhabit the world of the Pokémon games. They can be caught using Pokéballs and trained by battling with other Pokémon. Each Pokémon belongs to a specific species but may take on a variant which makes it differ from other Pokémon of the same species, such as base stats, available abilities and typings. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_(species)) for greater detail. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public pokemonRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public pokemonRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling pokemonRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/pokemon/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List pokemon shapes + * Shapes used for sorting Pokémon in a Pokédex. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public pokemonShapeList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public pokemonShapeList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonShapeList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonShapeList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/pokemon-shape/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get pokemon shape + * Shapes used for sorting Pokémon in a Pokédex. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public pokemonShapeRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public pokemonShapeRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonShapeRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonShapeRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling pokemonShapeRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/pokemon-shape/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List pokemon species + * A Pokémon Species forms the basis for at least one Pokémon. Attributes of a Pokémon species are shared across all varieties of Pokémon within the species. A good example is Wormadam; Wormadam is the species which can be found in three different varieties, Wormadam-Trash, Wormadam-Sandy and Wormadam-Plant. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public pokemonSpeciesList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public pokemonSpeciesList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonSpeciesList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonSpeciesList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/pokemon-species/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get pokemon species + * A Pokémon Species forms the basis for at least one Pokémon. Attributes of a Pokémon species are shared across all varieties of Pokémon within the species. A good example is Wormadam; Wormadam is the species which can be found in three different varieties, Wormadam-Trash, Wormadam-Sandy and Wormadam-Plant. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public pokemonSpeciesRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public pokemonSpeciesRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonSpeciesRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public pokemonSpeciesRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling pokemonSpeciesRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/pokemon-species/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List stats + * Stats determine certain aspects of battles. Each Pokémon has a value for each stat which grows as they gain levels and can be altered momentarily by effects in battles. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public statList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public statList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public statList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public statList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/stat/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get stat + * Stats determine certain aspects of battles. Each Pokémon has a value for each stat which grows as they gain levels and can be altered momentarily by effects in battles. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public statRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public statRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public statRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public statRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling statRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/stat/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * List types + * Types are properties for Pokémon and their moves. Each type has three properties: which types of Pokémon it is super effective against, which types of Pokémon it is not very effective against, and which types of Pokémon it is completely ineffective against. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public typeList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public typeList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public typeList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public typeList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/type/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get types + * Types are properties for Pokémon and their moves. Each type has three properties: which types of Pokémon it is super effective against, which types of Pokémon it is not very effective against, and which types of Pokémon it is completely ineffective against. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public typeRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public typeRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public typeRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public typeRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling typeRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/type/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + +} diff --git a/webapp/src/app/core/modules/openapi/api/pokemon.serviceInterface.ts b/webapp/src/app/core/modules/openapi/api/pokemon.serviceInterface.ts new file mode 100644 index 00000000..3cac33ff --- /dev/null +++ b/webapp/src/app/core/modules/openapi/api/pokemon.serviceInterface.ts @@ -0,0 +1,314 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { HttpHeaders } from '@angular/common/http'; + +import { Observable } from 'rxjs'; + +import { AbilityDetail } from '../model/models'; +import { CharacteristicDetail } from '../model/models'; +import { EggGroupDetail } from '../model/models'; +import { GenderDetail } from '../model/models'; +import { GrowthRateDetail } from '../model/models'; +import { MoveDamageClassDetail } from '../model/models'; +import { NatureDetail } from '../model/models'; +import { PaginatedAbilitySummaryList } from '../model/models'; +import { PaginatedCharacteristicSummaryList } from '../model/models'; +import { PaginatedEggGroupSummaryList } from '../model/models'; +import { PaginatedGenderSummaryList } from '../model/models'; +import { PaginatedGrowthRateSummaryList } from '../model/models'; +import { PaginatedMoveDamageClassSummaryList } from '../model/models'; +import { PaginatedNatureSummaryList } from '../model/models'; +import { PaginatedPokeathlonStatSummaryList } from '../model/models'; +import { PaginatedPokemonColorSummaryList } from '../model/models'; +import { PaginatedPokemonFormSummaryList } from '../model/models'; +import { PaginatedPokemonHabitatSummaryList } from '../model/models'; +import { PaginatedPokemonShapeSummaryList } from '../model/models'; +import { PaginatedPokemonSpeciesSummaryList } from '../model/models'; +import { PaginatedPokemonSummaryList } from '../model/models'; +import { PaginatedStatSummaryList } from '../model/models'; +import { PaginatedTypeSummaryList } from '../model/models'; +import { PokeathlonStatDetail } from '../model/models'; +import { PokemonColorDetail } from '../model/models'; +import { PokemonDetail } from '../model/models'; +import { PokemonFormDetail } from '../model/models'; +import { PokemonHabitatDetail } from '../model/models'; +import { PokemonShapeDetail } from '../model/models'; +import { PokemonSpeciesDetail } from '../model/models'; +import { StatDetail } from '../model/models'; +import { TypeDetail } from '../model/models'; + + +import { Configuration } from '../configuration'; + + + +export interface PokemonServiceInterface { + defaultHeaders: HttpHeaders; + configuration: Configuration; + + /** + * + * Abilities provide passive effects for Pokémon in battle or in the overworld. Pokémon have multiple possible abilities but can have only one ability at a time. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Ability) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + abilityList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * + * Abilities provide passive effects for Pokémon in battle or in the overworld. Pokémon have multiple possible abilities but can have only one ability at a time. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Ability) for greater detail. + * @param id This parameter can be a string or an integer. + */ + abilityRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List charecterictics + * Characteristics indicate which stat contains a Pokémon\'s highest IV. A Pokémon\'s Characteristic is determined by the remainder of its highest IV divided by 5 (gene_modulo). Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Characteristic) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + characteristicList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get characteristic + * Characteristics indicate which stat contains a Pokémon\'s highest IV. A Pokémon\'s Characteristic is determined by the remainder of its highest IV divided by 5 (gene_modulo). Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Characteristic) for greater detail. + * @param id This parameter can be a string or an integer. + */ + characteristicRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List egg groups + * Egg Groups are categories which determine which Pokémon are able to interbreed. Pokémon may belong to either one or two Egg Groups. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Egg_Group) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + eggGroupList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get egg group + * Egg Groups are categories which determine which Pokémon are able to interbreed. Pokémon may belong to either one or two Egg Groups. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Egg_Group) for greater detail. + * @param id This parameter can be a string or an integer. + */ + eggGroupRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List genders + * Genders were introduced in Generation II for the purposes of breeding Pokémon but can also result in visual differences or even different evolutionary lines. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Gender) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + genderList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get gender + * Genders were introduced in Generation II for the purposes of breeding Pokémon but can also result in visual differences or even different evolutionary lines. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Gender) for greater detail. + * @param id This parameter can be a string or an integer. + */ + genderRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List growth rates + * Growth rates are the speed with which Pokémon gain levels through experience. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Experience) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + growthRateList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get growth rate + * Growth rates are the speed with which Pokémon gain levels through experience. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Experience) for greater detail. + * @param id This parameter can be a string or an integer. + */ + growthRateRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List move damage classes + * Damage classes moves can have, e.g. physical, special, or non-damaging. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + moveDamageClassList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get move damage class + * Damage classes moves can have, e.g. physical, special, or non-damaging. + * @param id This parameter can be a string or an integer. + */ + moveDamageClassRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List natures + * Natures influence how a Pokémon\'s stats grow. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Nature) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + natureList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get nature + * Natures influence how a Pokémon\'s stats grow. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Nature) for greater detail. + * @param id This parameter can be a string or an integer. + */ + natureRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List pokeathlon stats + * Pokeathlon Stats are different attributes of a Pokémon\'s performance in Pokéathlons. In Pokéathlons, competitions happen on different courses; one for each of the different Pokéathlon stats. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9athlon) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + pokeathlonStatList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get pokeathlon stat + * Pokeathlon Stats are different attributes of a Pokémon\'s performance in Pokéathlons. In Pokéathlons, competitions happen on different courses; one for each of the different Pokéathlon stats. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9athlon) for greater detail. + * @param id This parameter can be a string or an integer. + */ + pokeathlonStatRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List pokemon colors + * Colors used for sorting Pokémon in a Pokédex. The color listed in the Pokédex is usually the color most apparent or covering each Pokémon\'s body. No orange category exists; Pokémon that are primarily orange are listed as red or brown. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + pokemonColorList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get pokemon color + * Colors used for sorting Pokémon in a Pokédex. The color listed in the Pokédex is usually the color most apparent or covering each Pokémon\'s body. No orange category exists; Pokémon that are primarily orange are listed as red or brown. + * @param id This parameter can be a string or an integer. + */ + pokemonColorRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List pokemon forms + * Some Pokémon may appear in one of multiple, visually different forms. These differences are purely cosmetic. For variations within a Pokémon species, which do differ in more than just visuals, the \'Pokémon\' entity is used to represent such a variety. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + pokemonFormList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get pokemon form + * Some Pokémon may appear in one of multiple, visually different forms. These differences are purely cosmetic. For variations within a Pokémon species, which do differ in more than just visuals, the \'Pokémon\' entity is used to represent such a variety. + * @param id This parameter can be a string or an integer. + */ + pokemonFormRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List pokemom habitas + * Habitats are generally different terrain Pokémon can be found in but can also be areas designated for rare or legendary Pokémon. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + pokemonHabitatList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get pokemom habita + * Habitats are generally different terrain Pokémon can be found in but can also be areas designated for rare or legendary Pokémon. + * @param id This parameter can be a string or an integer. + */ + pokemonHabitatRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List pokemon + * Pokémon are the creatures that inhabit the world of the Pokémon games. They can be caught using Pokéballs and trained by battling with other Pokémon. Each Pokémon belongs to a specific species but may take on a variant which makes it differ from other Pokémon of the same species, such as base stats, available abilities and typings. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_(species)) for greater detail. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + pokemonList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get pokemon + * Pokémon are the creatures that inhabit the world of the Pokémon games. They can be caught using Pokéballs and trained by battling with other Pokémon. Each Pokémon belongs to a specific species but may take on a variant which makes it differ from other Pokémon of the same species, such as base stats, available abilities and typings. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_(species)) for greater detail. + * @param id This parameter can be a string or an integer. + */ + pokemonRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List pokemon shapes + * Shapes used for sorting Pokémon in a Pokédex. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + pokemonShapeList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get pokemon shape + * Shapes used for sorting Pokémon in a Pokédex. + * @param id This parameter can be a string or an integer. + */ + pokemonShapeRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List pokemon species + * A Pokémon Species forms the basis for at least one Pokémon. Attributes of a Pokémon species are shared across all varieties of Pokémon within the species. A good example is Wormadam; Wormadam is the species which can be found in three different varieties, Wormadam-Trash, Wormadam-Sandy and Wormadam-Plant. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + pokemonSpeciesList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get pokemon species + * A Pokémon Species forms the basis for at least one Pokémon. Attributes of a Pokémon species are shared across all varieties of Pokémon within the species. A good example is Wormadam; Wormadam is the species which can be found in three different varieties, Wormadam-Trash, Wormadam-Sandy and Wormadam-Plant. + * @param id This parameter can be a string or an integer. + */ + pokemonSpeciesRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List stats + * Stats determine certain aspects of battles. Each Pokémon has a value for each stat which grows as they gain levels and can be altered momentarily by effects in battles. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + statList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get stat + * Stats determine certain aspects of battles. Each Pokémon has a value for each stat which grows as they gain levels and can be altered momentarily by effects in battles. + * @param id This parameter can be a string or an integer. + */ + statRetrieve(id: string, extraHttpRequestParams?: any): Observable; + + /** + * List types + * Types are properties for Pokémon and their moves. Each type has three properties: which types of Pokémon it is super effective against, which types of Pokémon it is not very effective against, and which types of Pokémon it is completely ineffective against. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + typeList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get types + * Types are properties for Pokémon and their moves. Each type has three properties: which types of Pokémon it is super effective against, which types of Pokémon it is not very effective against, and which types of Pokémon it is completely ineffective against. + * @param id This parameter can be a string or an integer. + */ + typeRetrieve(id: string, extraHttpRequestParams?: any): Observable; + +} diff --git a/webapp/src/app/core/modules/openapi/api/utility.service.ts b/webapp/src/app/core/modules/openapi/api/utility.service.ts new file mode 100644 index 00000000..ed315fb2 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/api/utility.service.ts @@ -0,0 +1,268 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext + } from '@angular/common/http'; +import { CustomHttpParameterCodec } from '../encoder'; +import { Observable } from 'rxjs'; + +// @ts-ignore +import { LanguageDetail } from '../model/language-detail'; +// @ts-ignore +import { PaginatedLanguageSummaryList } from '../model/paginated-language-summary-list'; + +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import { + UtilityServiceInterface +} from './utility.serviceInterface'; + + + +@Injectable({ + providedIn: 'root' +}) +export class UtilityService implements UtilityServiceInterface { + + protected basePath = 'https://pokeapi.co'; + public defaultHeaders = new HttpHeaders(); + public configuration = new Configuration(); + public encoder: HttpParameterCodec; + + constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) { + if (configuration) { + this.configuration = configuration; + } + if (typeof this.configuration.basePath !== 'string') { + const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined; + if (firstBasePath != undefined) { + basePath = firstBasePath; + } + + if (typeof basePath !== 'string') { + basePath = this.basePath; + } + this.configuration.basePath = basePath; + } + this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); + } + + + // @ts-ignore + private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { + if (typeof value === "object" && value instanceof Date === false) { + httpParams = this.addToHttpParamsRecursive(httpParams, value); + } else { + httpParams = this.addToHttpParamsRecursive(httpParams, value, key); + } + return httpParams; + } + + private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { + if (value == null) { + return httpParams; + } + + if (typeof value === "object") { + if (Array.isArray(value)) { + (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); + } else if (value instanceof Date) { + if (key != null) { + httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10)); + } else { + throw Error("key may not be null if value is Date"); + } + } else { + Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( + httpParams, value[k], key != null ? `${key}.${k}` : k)); + } + } else if (key != null) { + httpParams = httpParams.append(key, value); + } else { + throw Error("key may not be null if value is not object or array"); + } + return httpParams; + } + + /** + * List languages + * Languages for translations of API resource information. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public languageList(limit?: number, offset?: number, q?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public languageList(limit?: number, offset?: number, q?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public languageList(limit?: number, offset?: number, q?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public languageList(limit?: number, offset?: number, q?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarQueryParameters = new HttpParams({encoder: this.encoder}); + if (limit !== undefined && limit !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + limit, 'limit'); + } + if (offset !== undefined && offset !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + offset, 'offset'); + } + if (q !== undefined && q !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + q, 'q'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/language/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + params: localVarQueryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + + /** + * Get language + * Languages for translations of API resource information. + * @param id This parameter can be a string or an integer. + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public languageRetrieve(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public languageRetrieve(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public languageRetrieve(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public languageRetrieve(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling languageRetrieve.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (basicAuth) required + localVarCredential = this.configuration.lookupCredential('basicAuth'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Basic ' + localVarCredential); + } + + // authentication (cookieAuth) required + localVarCredential = this.configuration.lookupCredential('cookieAuth'); + if (localVarCredential) { + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/api/v2/language/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined})}/`; + return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + +} diff --git a/webapp/src/app/core/modules/openapi/api/utility.serviceInterface.ts b/webapp/src/app/core/modules/openapi/api/utility.serviceInterface.ts new file mode 100644 index 00000000..d364c168 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/api/utility.serviceInterface.ts @@ -0,0 +1,44 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { HttpHeaders } from '@angular/common/http'; + +import { Observable } from 'rxjs'; + +import { LanguageDetail } from '../model/models'; +import { PaginatedLanguageSummaryList } from '../model/models'; + + +import { Configuration } from '../configuration'; + + + +export interface UtilityServiceInterface { + defaultHeaders: HttpHeaders; + configuration: Configuration; + + /** + * List languages + * Languages for translations of API resource information. + * @param limit Number of results to return per page. + * @param offset The initial index from which to return the results. + * @param q > Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2) Case-insensitive query applied on the `name` property. + */ + languageList(limit?: number, offset?: number, q?: string, extraHttpRequestParams?: any): Observable; + + /** + * Get language + * Languages for translations of API resource information. + * @param id This parameter can be a string or an integer. + */ + languageRetrieve(id: string, extraHttpRequestParams?: any): Observable; + +} diff --git a/webapp/src/app/core/modules/openapi/configuration.ts b/webapp/src/app/core/modules/openapi/configuration.ts new file mode 100644 index 00000000..4cbb0d0f --- /dev/null +++ b/webapp/src/app/core/modules/openapi/configuration.ts @@ -0,0 +1,186 @@ +import { HttpParameterCodec } from '@angular/common/http'; +import { Param } from './param'; + +export interface ConfigurationParameters { + /** + * @deprecated Since 5.0. Use credentials instead + */ + apiKeys?: {[ key: string ]: string}; + username?: string; + password?: string; + /** + * @deprecated Since 5.0. Use credentials instead + */ + accessToken?: string | (() => string); + basePath?: string; + withCredentials?: boolean; + /** + * Takes care of encoding query- and form-parameters. + */ + encoder?: HttpParameterCodec; + /** + * Override the default method for encoding path parameters in various + * styles. + *

+ * See {@link README.md} for more details + *

+ */ + encodeParam?: (param: Param) => string; + /** + * The keys are the names in the securitySchemes section of the OpenAPI + * document. They should map to the value used for authentication + * minus any standard prefixes such as 'Basic' or 'Bearer'. + */ + credentials?: {[ key: string ]: string | (() => string | undefined)}; +} + +export class Configuration { + /** + * @deprecated Since 5.0. Use credentials instead + */ + apiKeys?: {[ key: string ]: string}; + username?: string; + password?: string; + /** + * @deprecated Since 5.0. Use credentials instead + */ + accessToken?: string | (() => string); + basePath?: string; + withCredentials?: boolean; + /** + * Takes care of encoding query- and form-parameters. + */ + encoder?: HttpParameterCodec; + /** + * Encoding of various path parameter + * styles. + *

+ * See {@link README.md} for more details + *

+ */ + encodeParam: (param: Param) => string; + /** + * The keys are the names in the securitySchemes section of the OpenAPI + * document. They should map to the value used for authentication + * minus any standard prefixes such as 'Basic' or 'Bearer'. + */ + credentials: {[ key: string ]: string | (() => string | undefined)}; + + constructor(configurationParameters: ConfigurationParameters = {}) { + this.apiKeys = configurationParameters.apiKeys; + this.username = configurationParameters.username; + this.password = configurationParameters.password; + this.accessToken = configurationParameters.accessToken; + this.basePath = configurationParameters.basePath; + this.withCredentials = configurationParameters.withCredentials; + this.encoder = configurationParameters.encoder; + if (configurationParameters.encodeParam) { + this.encodeParam = configurationParameters.encodeParam; + } + else { + this.encodeParam = param => this.defaultEncodeParam(param); + } + if (configurationParameters.credentials) { + this.credentials = configurationParameters.credentials; + } + else { + this.credentials = {}; + } + + // init default basicAuth credential + if (!this.credentials['basicAuth']) { + this.credentials['basicAuth'] = () => { + return (this.username || this.password) + ? btoa(this.username + ':' + this.password) + : undefined; + }; + } + + // init default cookieAuth credential + if (!this.credentials['cookieAuth']) { + this.credentials['cookieAuth'] = () => { + if (this.apiKeys === null || this.apiKeys === undefined) { + return undefined; + } else { + return this.apiKeys['cookieAuth'] || this.apiKeys['sessionid']; + } + }; + } + } + + /** + * Select the correct content-type to use for a request. + * Uses {@link Configuration#isJsonMime} to determine the correct content-type. + * If no content type is found return the first found type if the contentTypes is not empty + * @param contentTypes - the array of content types that are available for selection + * @returns the selected content-type or undefined if no selection could be made. + */ + public selectHeaderContentType (contentTypes: string[]): string | undefined { + if (contentTypes.length === 0) { + return undefined; + } + + const type = contentTypes.find((x: string) => this.isJsonMime(x)); + if (type === undefined) { + return contentTypes[0]; + } + return type; + } + + /** + * Select the correct accept content-type to use for a request. + * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type. + * If no content type is found return the first found type if the contentTypes is not empty + * @param accepts - the array of content types that are available for selection. + * @returns the selected content-type or undefined if no selection could be made. + */ + public selectHeaderAccept(accepts: string[]): string | undefined { + if (accepts.length === 0) { + return undefined; + } + + const type = accepts.find((x: string) => this.isJsonMime(x)); + if (type === undefined) { + return accepts[0]; + } + return type; + } + + /** + * Check if the given MIME is a JSON MIME. + * JSON MIME examples: + * application/json + * application/json; charset=UTF8 + * APPLICATION/JSON + * application/vnd.company+json + * @param mime - MIME (Multipurpose Internet Mail Extensions) + * @return True if the given MIME is JSON, false otherwise. + */ + public isJsonMime(mime: string): boolean { + const jsonMime: RegExp = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i'); + return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json'); + } + + public lookupCredential(key: string): string | undefined { + const value = this.credentials[key]; + return typeof value === 'function' + ? value() + : value; + } + + private defaultEncodeParam(param: Param): string { + // This implementation exists as fallback for missing configuration + // and for backwards compatibility to older typescript-angular generator versions. + // It only works for the 'simple' parameter style. + // Date-handling only works for the 'date-time' format. + // All other styles and Date-formats are probably handled incorrectly. + // + // But: if that's all you need (i.e.: the most common use-case): no need for customization! + + const value = param.dataFormat === 'date-time' && param.value instanceof Date + ? (param.value as Date).toISOString() + : param.value; + + return encodeURIComponent(String(value)); + } +} diff --git a/webapp/src/app/core/modules/openapi/encoder.ts b/webapp/src/app/core/modules/openapi/encoder.ts new file mode 100644 index 00000000..138c4d5c --- /dev/null +++ b/webapp/src/app/core/modules/openapi/encoder.ts @@ -0,0 +1,20 @@ +import { HttpParameterCodec } from '@angular/common/http'; + +/** + * Custom HttpParameterCodec + * Workaround for https://github.com/angular/angular/issues/18261 + */ +export class CustomHttpParameterCodec implements HttpParameterCodec { + encodeKey(k: string): string { + return encodeURIComponent(k); + } + encodeValue(v: string): string { + return encodeURIComponent(v); + } + decodeKey(k: string): string { + return decodeURIComponent(k); + } + decodeValue(v: string): string { + return decodeURIComponent(v); + } +} diff --git a/webapp/src/app/core/modules/openapi/git_push.sh b/webapp/src/app/core/modules/openapi/git_push.sh new file mode 100644 index 00000000..f53a75d4 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/git_push.sh @@ -0,0 +1,57 @@ +#!/bin/sh +# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ +# +# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com" + +git_user_id=$1 +git_repo_id=$2 +release_note=$3 +git_host=$4 + +if [ "$git_host" = "" ]; then + git_host="github.com" + echo "[INFO] No command line input provided. Set \$git_host to $git_host" +fi + +if [ "$git_user_id" = "" ]; then + git_user_id="GIT_USER_ID" + echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" +fi + +if [ "$git_repo_id" = "" ]; then + git_repo_id="GIT_REPO_ID" + echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" +fi + +if [ "$release_note" = "" ]; then + release_note="Minor update" + echo "[INFO] No command line input provided. Set \$release_note to $release_note" +fi + +# Initialize the local directory as a Git repository +git init + +# Adds the files in the local repository and stages them for commit. +git add . + +# Commits the tracked changes and prepares them to be pushed to a remote repository. +git commit -m "$release_note" + +# Sets the new remote +git_remote=$(git remote) +if [ "$git_remote" = "" ]; then # git remote not defined + + if [ "$GIT_TOKEN" = "" ]; then + echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment." + git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git + else + git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git + fi + +fi + +git pull origin master + +# Pushes (Forces) the changes in the local repository up to the remote repository +echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git" +git push origin master 2>&1 | grep -v 'To https' diff --git a/webapp/src/app/core/modules/openapi/index.ts b/webapp/src/app/core/modules/openapi/index.ts new file mode 100644 index 00000000..104dd3d2 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/index.ts @@ -0,0 +1,6 @@ +export * from './api/api'; +export * from './model/models'; +export * from './variables'; +export * from './configuration'; +export * from './api.module'; +export * from './param'; diff --git a/webapp/src/app/core/modules/openapi/model/ability-change-effect-text.ts b/webapp/src/app/core/modules/openapi/model/ability-change-effect-text.ts new file mode 100644 index 00000000..a920f1a7 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/ability-change-effect-text.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface AbilityChangeEffectText { + effect: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/ability-change.ts b/webapp/src/app/core/modules/openapi/model/ability-change.ts new file mode 100644 index 00000000..5702008a --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/ability-change.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { VersionGroupSummary } from './version-group-summary'; +import { AbilityChangeEffectText } from './ability-change-effect-text'; + + +export interface AbilityChange { + version_group: VersionGroupSummary; + effect_entries: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/ability-detail-pokemon-inner-pokemon.ts b/webapp/src/app/core/modules/openapi/model/ability-detail-pokemon-inner-pokemon.ts new file mode 100644 index 00000000..3b3de46d --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/ability-detail-pokemon-inner-pokemon.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface AbilityDetailPokemonInnerPokemon { + name: string; + url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/ability-detail-pokemon-inner.ts b/webapp/src/app/core/modules/openapi/model/ability-detail-pokemon-inner.ts new file mode 100644 index 00000000..242af7ea --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/ability-detail-pokemon-inner.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface AbilityDetailPokemonInner { + is_hidden: boolean; + slot: number; + pokemon: AbilityDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/ability-detail.ts b/webapp/src/app/core/modules/openapi/model/ability-detail.ts new file mode 100644 index 00000000..936d5b61 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/ability-detail.ts @@ -0,0 +1,31 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInner } from './ability-detail-pokemon-inner'; +import { AbilityName } from './ability-name'; +import { GenerationSummary } from './generation-summary'; +import { AbilityChange } from './ability-change'; +import { AbilityEffectText } from './ability-effect-text'; +import { AbilityFlavorText } from './ability-flavor-text'; + + +export interface AbilityDetail { + readonly id: number; + name: string; + is_main_series?: boolean; + generation: GenerationSummary; + names: Array; + effect_entries: Array; + effect_changes: Array; + flavor_text_entries: Array; + pokemon: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/ability-effect-text.ts b/webapp/src/app/core/modules/openapi/model/ability-effect-text.ts new file mode 100644 index 00000000..8af57b45 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/ability-effect-text.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface AbilityEffectText { + effect: string; + short_effect: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/ability-flavor-text.ts b/webapp/src/app/core/modules/openapi/model/ability-flavor-text.ts new file mode 100644 index 00000000..d65db9f9 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/ability-flavor-text.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; +import { VersionGroupSummary } from './version-group-summary'; + + +export interface AbilityFlavorText { + flavor_text: string; + language: LanguageSummary; + version_group: VersionGroupSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/ability-name.ts b/webapp/src/app/core/modules/openapi/model/ability-name.ts new file mode 100644 index 00000000..c6f2d942 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/ability-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface AbilityName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/ability-summary.ts b/webapp/src/app/core/modules/openapi/model/ability-summary.ts new file mode 100644 index 00000000..8c7233c5 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/ability-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface AbilitySummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/berry-detail-flavors-inner-flavor.ts b/webapp/src/app/core/modules/openapi/model/berry-detail-flavors-inner-flavor.ts new file mode 100644 index 00000000..60b5ef62 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/berry-detail-flavors-inner-flavor.ts @@ -0,0 +1,24 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface BerryDetailFlavorsInnerFlavor { + /** + * The name of the flavor + */ + name?: string; + /** + * The URL to get more information about the flavor + */ + url?: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/berry-detail-flavors-inner.ts b/webapp/src/app/core/modules/openapi/model/berry-detail-flavors-inner.ts new file mode 100644 index 00000000..341e0179 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/berry-detail-flavors-inner.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { BerryDetailFlavorsInnerFlavor } from './berry-detail-flavors-inner-flavor'; + + +export interface BerryDetailFlavorsInner { + potency: number; + flavor: BerryDetailFlavorsInnerFlavor; +} + diff --git a/webapp/src/app/core/modules/openapi/model/berry-detail.ts b/webapp/src/app/core/modules/openapi/model/berry-detail.ts new file mode 100644 index 00000000..b69c7c8b --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/berry-detail.ts @@ -0,0 +1,32 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { BerryDetailFlavorsInner } from './berry-detail-flavors-inner'; +import { TypeSummary } from './type-summary'; +import { BerryFirmnessSummary } from './berry-firmness-summary'; +import { ItemSummary } from './item-summary'; + + +export interface BerryDetail { + readonly id: number; + name: string; + growth_time: number; + max_harvest: number; + natural_gift_power: number; + size: number; + smoothness: number; + soil_dryness: number; + firmness: BerryFirmnessSummary; + flavors: Array; + item: ItemSummary; + natural_gift_type: TypeSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/berry-firmness-detail.ts b/webapp/src/app/core/modules/openapi/model/berry-firmness-detail.ts new file mode 100644 index 00000000..da538703 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/berry-firmness-detail.ts @@ -0,0 +1,22 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { BerryFirmnessName } from './berry-firmness-name'; +import { BerrySummary } from './berry-summary'; + + +export interface BerryFirmnessDetail { + readonly id: number; + name: string; + berries: Array; + names: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/berry-firmness-name.ts b/webapp/src/app/core/modules/openapi/model/berry-firmness-name.ts new file mode 100644 index 00000000..fb418474 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/berry-firmness-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface BerryFirmnessName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/berry-firmness-summary.ts b/webapp/src/app/core/modules/openapi/model/berry-firmness-summary.ts new file mode 100644 index 00000000..5c666a2f --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/berry-firmness-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface BerryFirmnessSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/berry-flavor-detail-berries-inner-berry.ts b/webapp/src/app/core/modules/openapi/model/berry-flavor-detail-berries-inner-berry.ts new file mode 100644 index 00000000..f7ff1956 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/berry-flavor-detail-berries-inner-berry.ts @@ -0,0 +1,24 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface BerryFlavorDetailBerriesInnerBerry { + /** + * The name of the berry + */ + name?: string; + /** + * The URL to get more information about the berry + */ + url?: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/berry-flavor-detail-berries-inner.ts b/webapp/src/app/core/modules/openapi/model/berry-flavor-detail-berries-inner.ts new file mode 100644 index 00000000..1582a4b1 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/berry-flavor-detail-berries-inner.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { BerryFlavorDetailBerriesInnerBerry } from './berry-flavor-detail-berries-inner-berry'; + + +export interface BerryFlavorDetailBerriesInner { + potency: number; + berry: BerryFlavorDetailBerriesInnerBerry; +} + diff --git a/webapp/src/app/core/modules/openapi/model/berry-flavor-detail.ts b/webapp/src/app/core/modules/openapi/model/berry-flavor-detail.ts new file mode 100644 index 00000000..d6285cf8 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/berry-flavor-detail.ts @@ -0,0 +1,24 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { BerryFlavorDetailBerriesInner } from './berry-flavor-detail-berries-inner'; +import { BerryFlavorName } from './berry-flavor-name'; +import { ContestTypeSummary } from './contest-type-summary'; + + +export interface BerryFlavorDetail { + readonly id: number; + name: string; + berries: Array; + contest_type: ContestTypeSummary; + names: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/berry-flavor-name.ts b/webapp/src/app/core/modules/openapi/model/berry-flavor-name.ts new file mode 100644 index 00000000..e113f1d6 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/berry-flavor-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface BerryFlavorName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/berry-flavor-summary.ts b/webapp/src/app/core/modules/openapi/model/berry-flavor-summary.ts new file mode 100644 index 00000000..5ef0891e --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/berry-flavor-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface BerryFlavorSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/berry-summary.ts b/webapp/src/app/core/modules/openapi/model/berry-summary.ts new file mode 100644 index 00000000..443d1c50 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/berry-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface BerrySummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/characteristic-description.ts b/webapp/src/app/core/modules/openapi/model/characteristic-description.ts new file mode 100644 index 00000000..5a1e29d1 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/characteristic-description.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface CharacteristicDescription { + description?: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/characteristic-detail.ts b/webapp/src/app/core/modules/openapi/model/characteristic-detail.ts new file mode 100644 index 00000000..efc1e9e4 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/characteristic-detail.ts @@ -0,0 +1,23 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { StatSummary } from './stat-summary'; +import { CharacteristicDescription } from './characteristic-description'; + + +export interface CharacteristicDetail { + readonly id: number; + gene_modulo: number; + possible_values: Array; + highest_stat: StatSummary; + descriptions: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/characteristic-summary.ts b/webapp/src/app/core/modules/openapi/model/characteristic-summary.ts new file mode 100644 index 00000000..d2c269b5 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/characteristic-summary.ts @@ -0,0 +1,17 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface CharacteristicSummary { + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/contest-effect-detail.ts b/webapp/src/app/core/modules/openapi/model/contest-effect-detail.ts new file mode 100644 index 00000000..4da92674 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/contest-effect-detail.ts @@ -0,0 +1,23 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { ContestEffectEffectText } from './contest-effect-effect-text'; +import { ContestEffectFlavorText } from './contest-effect-flavor-text'; + + +export interface ContestEffectDetail { + readonly id: number; + appeal: number; + jam: number; + effect_entries: Array; + flavor_text_entries: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/contest-effect-effect-text.ts b/webapp/src/app/core/modules/openapi/model/contest-effect-effect-text.ts new file mode 100644 index 00000000..220a6a93 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/contest-effect-effect-text.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface ContestEffectEffectText { + effect: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/contest-effect-flavor-text.ts b/webapp/src/app/core/modules/openapi/model/contest-effect-flavor-text.ts new file mode 100644 index 00000000..d2c05ab7 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/contest-effect-flavor-text.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface ContestEffectFlavorText { + flavor_text: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/contest-effect-summary.ts b/webapp/src/app/core/modules/openapi/model/contest-effect-summary.ts new file mode 100644 index 00000000..4e940497 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/contest-effect-summary.ts @@ -0,0 +1,17 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface ContestEffectSummary { + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/contest-type-detail.ts b/webapp/src/app/core/modules/openapi/model/contest-type-detail.ts new file mode 100644 index 00000000..ed3c456c --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/contest-type-detail.ts @@ -0,0 +1,22 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { BerryFlavorSummary } from './berry-flavor-summary'; +import { ContestTypeName } from './contest-type-name'; + + +export interface ContestTypeDetail { + readonly id: number; + name: string; + readonly berry_flavor: BerryFlavorSummary; + names: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/contest-type-name.ts b/webapp/src/app/core/modules/openapi/model/contest-type-name.ts new file mode 100644 index 00000000..8c303c04 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/contest-type-name.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface ContestTypeName { + name: string; + color: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/contest-type-summary.ts b/webapp/src/app/core/modules/openapi/model/contest-type-summary.ts new file mode 100644 index 00000000..aaebc4d0 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/contest-type-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface ContestTypeSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/egg-group-detail-pokemon-species-inner.ts b/webapp/src/app/core/modules/openapi/model/egg-group-detail-pokemon-species-inner.ts new file mode 100644 index 00000000..7e41eac7 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/egg-group-detail-pokemon-species-inner.ts @@ -0,0 +1,24 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface EggGroupDetailPokemonSpeciesInner { + /** + * Pokemon species name. + */ + name?: string; + /** + * The URL to get more information about the species + */ + url?: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/egg-group-detail.ts b/webapp/src/app/core/modules/openapi/model/egg-group-detail.ts new file mode 100644 index 00000000..683e8dad --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/egg-group-detail.ts @@ -0,0 +1,22 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { EggGroupName } from './egg-group-name'; +import { EggGroupDetailPokemonSpeciesInner } from './egg-group-detail-pokemon-species-inner'; + + +export interface EggGroupDetail { + readonly id: number; + name: string; + names: Array; + pokemon_species: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/egg-group-name.ts b/webapp/src/app/core/modules/openapi/model/egg-group-name.ts new file mode 100644 index 00000000..8758c3da --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/egg-group-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface EggGroupName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/egg-group-summary.ts b/webapp/src/app/core/modules/openapi/model/egg-group-summary.ts new file mode 100644 index 00000000..2572e90c --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/egg-group-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface EggGroupSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/encounter-condition-detail.ts b/webapp/src/app/core/modules/openapi/model/encounter-condition-detail.ts new file mode 100644 index 00000000..b583aaa6 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/encounter-condition-detail.ts @@ -0,0 +1,22 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { EncounterConditionValueSummary } from './encounter-condition-value-summary'; +import { EncounterConditionName } from './encounter-condition-name'; + + +export interface EncounterConditionDetail { + readonly id: number; + name: string; + values: Array; + names: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/encounter-condition-name.ts b/webapp/src/app/core/modules/openapi/model/encounter-condition-name.ts new file mode 100644 index 00000000..f9bc88bb --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/encounter-condition-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface EncounterConditionName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/encounter-condition-summary.ts b/webapp/src/app/core/modules/openapi/model/encounter-condition-summary.ts new file mode 100644 index 00000000..6800b2d0 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/encounter-condition-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface EncounterConditionSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/encounter-condition-value-detail.ts b/webapp/src/app/core/modules/openapi/model/encounter-condition-value-detail.ts new file mode 100644 index 00000000..d1d80748 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/encounter-condition-value-detail.ts @@ -0,0 +1,22 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { EncounterConditionSummary } from './encounter-condition-summary'; +import { EncounterConditionValueName } from './encounter-condition-value-name'; + + +export interface EncounterConditionValueDetail { + readonly id: number; + name: string; + condition: EncounterConditionSummary; + names: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/encounter-condition-value-name.ts b/webapp/src/app/core/modules/openapi/model/encounter-condition-value-name.ts new file mode 100644 index 00000000..542e47bd --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/encounter-condition-value-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface EncounterConditionValueName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/encounter-condition-value-summary.ts b/webapp/src/app/core/modules/openapi/model/encounter-condition-value-summary.ts new file mode 100644 index 00000000..af940a53 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/encounter-condition-value-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface EncounterConditionValueSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/encounter-method-detail.ts b/webapp/src/app/core/modules/openapi/model/encounter-method-detail.ts new file mode 100644 index 00000000..30c0f7b7 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/encounter-method-detail.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { EncounterMethodName } from './encounter-method-name'; + + +export interface EncounterMethodDetail { + readonly id: number; + name: string; + order?: number | null; + names: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/encounter-method-name.ts b/webapp/src/app/core/modules/openapi/model/encounter-method-name.ts new file mode 100644 index 00000000..9e89f642 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/encounter-method-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface EncounterMethodName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/encounter-method-summary.ts b/webapp/src/app/core/modules/openapi/model/encounter-method-summary.ts new file mode 100644 index 00000000..20eba81b --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/encounter-method-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface EncounterMethodSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/evolution-chain-detail-chain-evolves-to-inner-evolution-details-inner-gender.ts b/webapp/src/app/core/modules/openapi/model/evolution-chain-detail-chain-evolves-to-inner-evolution-details-inner-gender.ts new file mode 100644 index 00000000..58a4575f --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/evolution-chain-detail-chain-evolves-to-inner-evolution-details-inner-gender.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface EvolutionChainDetailChainEvolvesToInnerEvolutionDetailsInnerGender { + name: string; + url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/evolution-chain-detail-chain-evolves-to-inner-evolution-details-inner.ts b/webapp/src/app/core/modules/openapi/model/evolution-chain-detail-chain-evolves-to-inner-evolution-details-inner.ts new file mode 100644 index 00000000..55ed896e --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/evolution-chain-detail-chain-evolves-to-inner-evolution-details-inner.ts @@ -0,0 +1,36 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { EvolutionChainDetailChainEvolvesToInnerEvolutionDetailsInnerGender } from './evolution-chain-detail-chain-evolves-to-inner-evolution-details-inner-gender'; +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface EvolutionChainDetailChainEvolvesToInnerEvolutionDetailsInner { + gender: EvolutionChainDetailChainEvolvesToInnerEvolutionDetailsInnerGender; + held_item: EvolutionChainDetailChainEvolvesToInnerEvolutionDetailsInnerGender; + item: EvolutionChainDetailChainEvolvesToInnerEvolutionDetailsInnerGender; + known_move: object; + known_move_type: object; + location: EvolutionChainDetailChainEvolvesToInnerEvolutionDetailsInnerGender; + min_affection: number; + min_beauty: number; + min_happiness: number; + min_level: number; + needs_overworld_rain: boolean; + party_species: string; + party_type: string; + relative_physical_stats: string; + time_of_day: string; + trade_species: string; + trigger: AbilityDetailPokemonInnerPokemon; + turn_upside_down: boolean; +} + diff --git a/webapp/src/app/core/modules/openapi/model/evolution-chain-detail-chain-evolves-to-inner.ts b/webapp/src/app/core/modules/openapi/model/evolution-chain-detail-chain-evolves-to-inner.ts new file mode 100644 index 00000000..bf8fefaa --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/evolution-chain-detail-chain-evolves-to-inner.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { EvolutionChainDetailChainEvolvesToInnerEvolutionDetailsInner } from './evolution-chain-detail-chain-evolves-to-inner-evolution-details-inner'; +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface EvolutionChainDetailChainEvolvesToInner { + evolution_details: Array; + is_baby: boolean; + species: AbilityDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/evolution-chain-detail-chain.ts b/webapp/src/app/core/modules/openapi/model/evolution-chain-detail-chain.ts new file mode 100644 index 00000000..5730e423 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/evolution-chain-detail-chain.ts @@ -0,0 +1,22 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; +import { EvolutionChainDetailChainEvolvesToInner } from './evolution-chain-detail-chain-evolves-to-inner'; + + +export interface EvolutionChainDetailChain { + evolution_details: Array; + evolves_to: Array; + is_baby: boolean; + species: AbilityDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/evolution-chain-detail.ts b/webapp/src/app/core/modules/openapi/model/evolution-chain-detail.ts new file mode 100644 index 00000000..763bd906 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/evolution-chain-detail.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { EvolutionChainDetailChain } from './evolution-chain-detail-chain'; +import { ItemSummary } from './item-summary'; + + +export interface EvolutionChainDetail { + readonly id: number; + baby_trigger_item: ItemSummary; + chain: EvolutionChainDetailChain; +} + diff --git a/webapp/src/app/core/modules/openapi/model/evolution-chain-summary.ts b/webapp/src/app/core/modules/openapi/model/evolution-chain-summary.ts new file mode 100644 index 00000000..a0c864fe --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/evolution-chain-summary.ts @@ -0,0 +1,17 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface EvolutionChainSummary { + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/evolution-trigger-detail.ts b/webapp/src/app/core/modules/openapi/model/evolution-trigger-detail.ts new file mode 100644 index 00000000..878cf550 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/evolution-trigger-detail.ts @@ -0,0 +1,22 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; +import { EvolutionTriggerName } from './evolution-trigger-name'; + + +export interface EvolutionTriggerDetail { + readonly id: number; + name: string; + names: Array; + pokemon_species: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/evolution-trigger-name.ts b/webapp/src/app/core/modules/openapi/model/evolution-trigger-name.ts new file mode 100644 index 00000000..62b98806 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/evolution-trigger-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface EvolutionTriggerName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/evolution-trigger-summary.ts b/webapp/src/app/core/modules/openapi/model/evolution-trigger-summary.ts new file mode 100644 index 00000000..62c5ded6 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/evolution-trigger-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface EvolutionTriggerSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/experience.ts b/webapp/src/app/core/modules/openapi/model/experience.ts new file mode 100644 index 00000000..1256338a --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/experience.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface Experience { + level: number; + experience: number; +} + diff --git a/webapp/src/app/core/modules/openapi/model/gender-detail-pokemon-species-details-inner.ts b/webapp/src/app/core/modules/openapi/model/gender-detail-pokemon-species-details-inner.ts new file mode 100644 index 00000000..80ce924b --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/gender-detail-pokemon-species-details-inner.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface GenderDetailPokemonSpeciesDetailsInner { + rate: number; + pokemon_species: AbilityDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/gender-detail.ts b/webapp/src/app/core/modules/openapi/model/gender-detail.ts new file mode 100644 index 00000000..857cbec1 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/gender-detail.ts @@ -0,0 +1,22 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; +import { GenderDetailPokemonSpeciesDetailsInner } from './gender-detail-pokemon-species-details-inner'; + + +export interface GenderDetail { + readonly id: number; + name: string; + pokemon_species_details: Array; + required_for_evolution: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/gender-summary.ts b/webapp/src/app/core/modules/openapi/model/gender-summary.ts new file mode 100644 index 00000000..d050bc30 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/gender-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface GenderSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/generation-detail.ts b/webapp/src/app/core/modules/openapi/model/generation-detail.ts new file mode 100644 index 00000000..f4fd77ac --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/generation-detail.ts @@ -0,0 +1,32 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { VersionGroupSummary } from './version-group-summary'; +import { MoveSummary } from './move-summary'; +import { GenerationName } from './generation-name'; +import { TypeSummary } from './type-summary'; +import { AbilitySummary } from './ability-summary'; +import { RegionSummary } from './region-summary'; +import { PokemonSpeciesSummary } from './pokemon-species-summary'; + + +export interface GenerationDetail { + readonly id: number; + name: string; + abilities: Array; + main_region: RegionSummary; + moves: Array; + names: Array; + pokemon_species: Array; + types: Array; + version_groups: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/generation-name.ts b/webapp/src/app/core/modules/openapi/model/generation-name.ts new file mode 100644 index 00000000..cf700040 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/generation-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface GenerationName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/generation-summary.ts b/webapp/src/app/core/modules/openapi/model/generation-summary.ts new file mode 100644 index 00000000..1e1f9e03 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/generation-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface GenerationSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/growth-rate-description.ts b/webapp/src/app/core/modules/openapi/model/growth-rate-description.ts new file mode 100644 index 00000000..113c9633 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/growth-rate-description.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface GrowthRateDescription { + description?: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/growth-rate-detail.ts b/webapp/src/app/core/modules/openapi/model/growth-rate-detail.ts new file mode 100644 index 00000000..e76a1555 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/growth-rate-detail.ts @@ -0,0 +1,25 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { Experience } from './experience'; +import { GrowthRateDescription } from './growth-rate-description'; +import { PokemonSpeciesSummary } from './pokemon-species-summary'; + + +export interface GrowthRateDetail { + readonly id: number; + name: string; + formula: string; + descriptions: Array; + levels: Array; + pokemon_species: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/growth-rate-summary.ts b/webapp/src/app/core/modules/openapi/model/growth-rate-summary.ts new file mode 100644 index 00000000..79611c58 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/growth-rate-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface GrowthRateSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/item-attribute-description.ts b/webapp/src/app/core/modules/openapi/model/item-attribute-description.ts new file mode 100644 index 00000000..8cf1769e --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/item-attribute-description.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface ItemAttributeDescription { + description?: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/item-attribute-detail.ts b/webapp/src/app/core/modules/openapi/model/item-attribute-detail.ts new file mode 100644 index 00000000..69e5d50e --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/item-attribute-detail.ts @@ -0,0 +1,24 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { ItemAttributeName } from './item-attribute-name'; +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; +import { ItemAttributeDescription } from './item-attribute-description'; + + +export interface ItemAttributeDetail { + readonly id: number; + name: string; + descriptions: Array; + items: Array; + names: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/item-attribute-name.ts b/webapp/src/app/core/modules/openapi/model/item-attribute-name.ts new file mode 100644 index 00000000..1d7dcb1f --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/item-attribute-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface ItemAttributeName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/item-attribute-summary.ts b/webapp/src/app/core/modules/openapi/model/item-attribute-summary.ts new file mode 100644 index 00000000..4af5df2d --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/item-attribute-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface ItemAttributeSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/item-category-detail.ts b/webapp/src/app/core/modules/openapi/model/item-category-detail.ts new file mode 100644 index 00000000..a4aa662a --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/item-category-detail.ts @@ -0,0 +1,24 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { ItemPocketSummary } from './item-pocket-summary'; +import { ItemCategoryName } from './item-category-name'; +import { ItemSummary } from './item-summary'; + + +export interface ItemCategoryDetail { + readonly id: number; + name: string; + items: Array; + names: Array; + pocket: ItemPocketSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/item-category-name.ts b/webapp/src/app/core/modules/openapi/model/item-category-name.ts new file mode 100644 index 00000000..09d19ed1 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/item-category-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface ItemCategoryName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/item-category-summary.ts b/webapp/src/app/core/modules/openapi/model/item-category-summary.ts new file mode 100644 index 00000000..ba4db5d6 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/item-category-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface ItemCategorySummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/item-detail-baby-trigger-for.ts b/webapp/src/app/core/modules/openapi/model/item-detail-baby-trigger-for.ts new file mode 100644 index 00000000..a7e1af41 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/item-detail-baby-trigger-for.ts @@ -0,0 +1,17 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface ItemDetailBabyTriggerFor { + url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/item-detail-held-by-pokemon-inner-version-details-inner.ts b/webapp/src/app/core/modules/openapi/model/item-detail-held-by-pokemon-inner-version-details-inner.ts new file mode 100644 index 00000000..91465279 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/item-detail-held-by-pokemon-inner-version-details-inner.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface ItemDetailHeldByPokemonInnerVersionDetailsInner { + rarity: number; + version: AbilityDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/item-detail-held-by-pokemon-inner.ts b/webapp/src/app/core/modules/openapi/model/item-detail-held-by-pokemon-inner.ts new file mode 100644 index 00000000..d5cbb3ac --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/item-detail-held-by-pokemon-inner.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; +import { ItemDetailHeldByPokemonInnerVersionDetailsInner } from './item-detail-held-by-pokemon-inner-version-details-inner'; + + +export interface ItemDetailHeldByPokemonInner { + pokemon: AbilityDetailPokemonInnerPokemon; + version_details: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/item-detail-machines-inner.ts b/webapp/src/app/core/modules/openapi/model/item-detail-machines-inner.ts new file mode 100644 index 00000000..87110075 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/item-detail-machines-inner.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface ItemDetailMachinesInner { + machine: string; + version_group: AbilityDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/item-detail-sprites.ts b/webapp/src/app/core/modules/openapi/model/item-detail-sprites.ts new file mode 100644 index 00000000..a50093e9 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/item-detail-sprites.ts @@ -0,0 +1,17 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface ItemDetailSprites { + _default: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/item-detail.ts b/webapp/src/app/core/modules/openapi/model/item-detail.ts new file mode 100644 index 00000000..4fb0f21f --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/item-detail.ts @@ -0,0 +1,42 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { ItemDetailSprites } from './item-detail-sprites'; +import { ItemFlingEffectSummary } from './item-fling-effect-summary'; +import { ItemName } from './item-name'; +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; +import { ItemCategorySummary } from './item-category-summary'; +import { ItemDetailHeldByPokemonInner } from './item-detail-held-by-pokemon-inner'; +import { ItemEffectText } from './item-effect-text'; +import { ItemGameIndex } from './item-game-index'; +import { ItemFlavorText } from './item-flavor-text'; +import { ItemDetailBabyTriggerFor } from './item-detail-baby-trigger-for'; +import { ItemDetailMachinesInner } from './item-detail-machines-inner'; + + +export interface ItemDetail { + readonly id: number; + name: string; + cost?: number | null; + fling_power?: number | null; + fling_effect: ItemFlingEffectSummary; + attributes: Array; + category: ItemCategorySummary; + effect_entries: Array; + flavor_text_entries: Array; + game_indices: Array; + names: Array; + held_by_pokemon: Array; + sprites: ItemDetailSprites; + baby_trigger_for: ItemDetailBabyTriggerFor; + machines: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/item-effect-text.ts b/webapp/src/app/core/modules/openapi/model/item-effect-text.ts new file mode 100644 index 00000000..deaba1a6 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/item-effect-text.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface ItemEffectText { + effect: string; + short_effect: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/item-flavor-text.ts b/webapp/src/app/core/modules/openapi/model/item-flavor-text.ts new file mode 100644 index 00000000..6ea98a17 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/item-flavor-text.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; +import { VersionGroupSummary } from './version-group-summary'; + + +export interface ItemFlavorText { + text: string; + version_group: VersionGroupSummary; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/item-fling-effect-detail.ts b/webapp/src/app/core/modules/openapi/model/item-fling-effect-detail.ts new file mode 100644 index 00000000..e499fc87 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/item-fling-effect-detail.ts @@ -0,0 +1,22 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { ItemSummary } from './item-summary'; +import { ItemFlingEffectEffectText } from './item-fling-effect-effect-text'; + + +export interface ItemFlingEffectDetail { + readonly id: number; + name: string; + effect_entries: Array; + items: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/item-fling-effect-effect-text.ts b/webapp/src/app/core/modules/openapi/model/item-fling-effect-effect-text.ts new file mode 100644 index 00000000..9edc3023 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/item-fling-effect-effect-text.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface ItemFlingEffectEffectText { + effect: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/item-fling-effect-summary.ts b/webapp/src/app/core/modules/openapi/model/item-fling-effect-summary.ts new file mode 100644 index 00000000..08d1021d --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/item-fling-effect-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface ItemFlingEffectSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/item-game-index.ts b/webapp/src/app/core/modules/openapi/model/item-game-index.ts new file mode 100644 index 00000000..cc7ea1ce --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/item-game-index.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { GenerationSummary } from './generation-summary'; + + +export interface ItemGameIndex { + game_index: number; + generation: GenerationSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/item-name.ts b/webapp/src/app/core/modules/openapi/model/item-name.ts new file mode 100644 index 00000000..85c9a534 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/item-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface ItemName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/item-pocket-detail.ts b/webapp/src/app/core/modules/openapi/model/item-pocket-detail.ts new file mode 100644 index 00000000..6f6dae12 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/item-pocket-detail.ts @@ -0,0 +1,22 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { ItemPocketName } from './item-pocket-name'; +import { ItemCategorySummary } from './item-category-summary'; + + +export interface ItemPocketDetail { + readonly id: number; + name: string; + categories: Array; + names: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/item-pocket-name.ts b/webapp/src/app/core/modules/openapi/model/item-pocket-name.ts new file mode 100644 index 00000000..d14ccf3a --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/item-pocket-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface ItemPocketName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/item-pocket-summary.ts b/webapp/src/app/core/modules/openapi/model/item-pocket-summary.ts new file mode 100644 index 00000000..a8614c54 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/item-pocket-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface ItemPocketSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/item-summary.ts b/webapp/src/app/core/modules/openapi/model/item-summary.ts new file mode 100644 index 00000000..a381e1c7 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/item-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface ItemSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/language-detail.ts b/webapp/src/app/core/modules/openapi/model/language-detail.ts new file mode 100644 index 00000000..321f418c --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/language-detail.ts @@ -0,0 +1,23 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageName } from './language-name'; + + +export interface LanguageDetail { + readonly id: number; + name: string; + official?: boolean; + iso639: string; + iso3166: string; + names: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/language-name.ts b/webapp/src/app/core/modules/openapi/model/language-name.ts new file mode 100644 index 00000000..04d3285d --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/language-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface LanguageName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/language-summary.ts b/webapp/src/app/core/modules/openapi/model/language-summary.ts new file mode 100644 index 00000000..bd6ed645 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/language-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface LanguageSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/location-area-detail-encounter-method-rates-inner-version-details-inner.ts b/webapp/src/app/core/modules/openapi/model/location-area-detail-encounter-method-rates-inner-version-details-inner.ts new file mode 100644 index 00000000..6556fcbd --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/location-area-detail-encounter-method-rates-inner-version-details-inner.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface LocationAreaDetailEncounterMethodRatesInnerVersionDetailsInner { + rate: number; + version: AbilityDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/location-area-detail-encounter-method-rates-inner.ts b/webapp/src/app/core/modules/openapi/model/location-area-detail-encounter-method-rates-inner.ts new file mode 100644 index 00000000..68f8926b --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/location-area-detail-encounter-method-rates-inner.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LocationAreaDetailEncounterMethodRatesInnerVersionDetailsInner } from './location-area-detail-encounter-method-rates-inner-version-details-inner'; +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface LocationAreaDetailEncounterMethodRatesInner { + encounter_method: AbilityDetailPokemonInnerPokemon; + version_details: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/location-area-detail-pokemon-encounters-inner-version-details-inner-encounter-details.ts b/webapp/src/app/core/modules/openapi/model/location-area-detail-pokemon-encounters-inner-version-details-inner-encounter-details.ts new file mode 100644 index 00000000..dca616c1 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/location-area-detail-pokemon-encounters-inner-version-details-inner-encounter-details.ts @@ -0,0 +1,22 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface LocationAreaDetailPokemonEncountersInnerVersionDetailsInnerEncounterDetails { + min_level: number; + max_level: number; + condition_values?: AbilityDetailPokemonInnerPokemon; + chance: number; + method: AbilityDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/location-area-detail-pokemon-encounters-inner-version-details-inner.ts b/webapp/src/app/core/modules/openapi/model/location-area-detail-pokemon-encounters-inner-version-details-inner.ts new file mode 100644 index 00000000..ffe60ac2 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/location-area-detail-pokemon-encounters-inner-version-details-inner.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LocationAreaDetailPokemonEncountersInnerVersionDetailsInnerEncounterDetails } from './location-area-detail-pokemon-encounters-inner-version-details-inner-encounter-details'; +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface LocationAreaDetailPokemonEncountersInnerVersionDetailsInner { + version: AbilityDetailPokemonInnerPokemon; + max_chance: number; + encounter_details: LocationAreaDetailPokemonEncountersInnerVersionDetailsInnerEncounterDetails; +} + diff --git a/webapp/src/app/core/modules/openapi/model/location-area-detail-pokemon-encounters-inner.ts b/webapp/src/app/core/modules/openapi/model/location-area-detail-pokemon-encounters-inner.ts new file mode 100644 index 00000000..358c0375 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/location-area-detail-pokemon-encounters-inner.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; +import { LocationAreaDetailPokemonEncountersInnerVersionDetailsInner } from './location-area-detail-pokemon-encounters-inner-version-details-inner'; + + +export interface LocationAreaDetailPokemonEncountersInner { + pokemon: AbilityDetailPokemonInnerPokemon; + version_details: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/location-area-detail.ts b/webapp/src/app/core/modules/openapi/model/location-area-detail.ts new file mode 100644 index 00000000..1407c972 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/location-area-detail.ts @@ -0,0 +1,27 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LocationAreaName } from './location-area-name'; +import { LocationSummary } from './location-summary'; +import { LocationAreaDetailPokemonEncountersInner } from './location-area-detail-pokemon-encounters-inner'; +import { LocationAreaDetailEncounterMethodRatesInner } from './location-area-detail-encounter-method-rates-inner'; + + +export interface LocationAreaDetail { + readonly id: number; + name: string; + game_index: number; + encounter_method_rates: Array; + location: LocationSummary; + names: Array; + pokemon_encounters: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/location-area-name.ts b/webapp/src/app/core/modules/openapi/model/location-area-name.ts new file mode 100644 index 00000000..580b934a --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/location-area-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface LocationAreaName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/location-area-summary.ts b/webapp/src/app/core/modules/openapi/model/location-area-summary.ts new file mode 100644 index 00000000..cdb7f3cf --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/location-area-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface LocationAreaSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/location-detail.ts b/webapp/src/app/core/modules/openapi/model/location-detail.ts new file mode 100644 index 00000000..23f53a73 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/location-detail.ts @@ -0,0 +1,26 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LocationGameIndex } from './location-game-index'; +import { RegionSummary } from './region-summary'; +import { LocationAreaSummary } from './location-area-summary'; +import { LocationName } from './location-name'; + + +export interface LocationDetail { + readonly id: number; + name: string; + region: RegionSummary; + names: Array; + game_indices: Array; + areas: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/location-game-index.ts b/webapp/src/app/core/modules/openapi/model/location-game-index.ts new file mode 100644 index 00000000..5d364858 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/location-game-index.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { GenerationSummary } from './generation-summary'; + + +export interface LocationGameIndex { + game_index: number; + generation: GenerationSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/location-name.ts b/webapp/src/app/core/modules/openapi/model/location-name.ts new file mode 100644 index 00000000..112dd243 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/location-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface LocationName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/location-summary.ts b/webapp/src/app/core/modules/openapi/model/location-summary.ts new file mode 100644 index 00000000..a687f344 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/location-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface LocationSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/machine-detail.ts b/webapp/src/app/core/modules/openapi/model/machine-detail.ts new file mode 100644 index 00000000..5329e365 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/machine-detail.ts @@ -0,0 +1,23 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { VersionGroupSummary } from './version-group-summary'; +import { MoveSummary } from './move-summary'; +import { ItemSummary } from './item-summary'; + + +export interface MachineDetail { + readonly id: number; + item: ItemSummary; + version_group: VersionGroupSummary; + move: MoveSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/machine-summary.ts b/webapp/src/app/core/modules/openapi/model/machine-summary.ts new file mode 100644 index 00000000..d1c0b18e --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/machine-summary.ts @@ -0,0 +1,17 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface MachineSummary { + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/models.ts b/webapp/src/app/core/modules/openapi/model/models.ts new file mode 100644 index 00000000..750d1878 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/models.ts @@ -0,0 +1,274 @@ +export * from './ability-change'; +export * from './ability-change-effect-text'; +export * from './ability-detail'; +export * from './ability-detail-pokemon-inner'; +export * from './ability-detail-pokemon-inner-pokemon'; +export * from './ability-effect-text'; +export * from './ability-flavor-text'; +export * from './ability-name'; +export * from './ability-summary'; +export * from './berry-detail'; +export * from './berry-detail-flavors-inner'; +export * from './berry-detail-flavors-inner-flavor'; +export * from './berry-firmness-detail'; +export * from './berry-firmness-name'; +export * from './berry-firmness-summary'; +export * from './berry-flavor-detail'; +export * from './berry-flavor-detail-berries-inner'; +export * from './berry-flavor-detail-berries-inner-berry'; +export * from './berry-flavor-name'; +export * from './berry-flavor-summary'; +export * from './berry-summary'; +export * from './characteristic-description'; +export * from './characteristic-detail'; +export * from './characteristic-summary'; +export * from './contest-effect-detail'; +export * from './contest-effect-effect-text'; +export * from './contest-effect-flavor-text'; +export * from './contest-effect-summary'; +export * from './contest-type-detail'; +export * from './contest-type-name'; +export * from './contest-type-summary'; +export * from './egg-group-detail'; +export * from './egg-group-detail-pokemon-species-inner'; +export * from './egg-group-name'; +export * from './egg-group-summary'; +export * from './encounter-condition-detail'; +export * from './encounter-condition-name'; +export * from './encounter-condition-summary'; +export * from './encounter-condition-value-detail'; +export * from './encounter-condition-value-name'; +export * from './encounter-condition-value-summary'; +export * from './encounter-method-detail'; +export * from './encounter-method-name'; +export * from './encounter-method-summary'; +export * from './evolution-chain-detail'; +export * from './evolution-chain-detail-chain'; +export * from './evolution-chain-detail-chain-evolves-to-inner'; +export * from './evolution-chain-detail-chain-evolves-to-inner-evolution-details-inner'; +export * from './evolution-chain-detail-chain-evolves-to-inner-evolution-details-inner-gender'; +export * from './evolution-chain-summary'; +export * from './evolution-trigger-detail'; +export * from './evolution-trigger-name'; +export * from './evolution-trigger-summary'; +export * from './experience'; +export * from './gender-detail'; +export * from './gender-detail-pokemon-species-details-inner'; +export * from './gender-summary'; +export * from './generation-detail'; +export * from './generation-name'; +export * from './generation-summary'; +export * from './growth-rate-description'; +export * from './growth-rate-detail'; +export * from './growth-rate-summary'; +export * from './item-attribute-description'; +export * from './item-attribute-detail'; +export * from './item-attribute-name'; +export * from './item-attribute-summary'; +export * from './item-category-detail'; +export * from './item-category-name'; +export * from './item-category-summary'; +export * from './item-detail'; +export * from './item-detail-baby-trigger-for'; +export * from './item-detail-held-by-pokemon-inner'; +export * from './item-detail-held-by-pokemon-inner-version-details-inner'; +export * from './item-detail-machines-inner'; +export * from './item-detail-sprites'; +export * from './item-effect-text'; +export * from './item-flavor-text'; +export * from './item-fling-effect-detail'; +export * from './item-fling-effect-effect-text'; +export * from './item-fling-effect-summary'; +export * from './item-game-index'; +export * from './item-name'; +export * from './item-pocket-detail'; +export * from './item-pocket-name'; +export * from './item-pocket-summary'; +export * from './item-summary'; +export * from './language-detail'; +export * from './language-name'; +export * from './language-summary'; +export * from './location-area-detail'; +export * from './location-area-detail-encounter-method-rates-inner'; +export * from './location-area-detail-encounter-method-rates-inner-version-details-inner'; +export * from './location-area-detail-pokemon-encounters-inner'; +export * from './location-area-detail-pokemon-encounters-inner-version-details-inner'; +export * from './location-area-detail-pokemon-encounters-inner-version-details-inner-encounter-details'; +export * from './location-area-name'; +export * from './location-area-summary'; +export * from './location-detail'; +export * from './location-game-index'; +export * from './location-name'; +export * from './location-summary'; +export * from './machine-detail'; +export * from './machine-summary'; +export * from './move-battle-style-detail'; +export * from './move-battle-style-name'; +export * from './move-battle-style-summary'; +export * from './move-change'; +export * from './move-change-effect-entries-inner'; +export * from './move-damage-class-description'; +export * from './move-damage-class-detail'; +export * from './move-damage-class-name'; +export * from './move-damage-class-summary'; +export * from './move-detail'; +export * from './move-detail-contest-combos'; +export * from './move-detail-contest-combos-normal'; +export * from './move-detail-effect-changes-inner'; +export * from './move-detail-effect-changes-inner-effect-entries-inner'; +export * from './move-detail-machines-inner'; +export * from './move-detail-machines-inner-machine'; +export * from './move-detail-stat-changes-inner'; +export * from './move-flavor-text'; +export * from './move-learn-method-description'; +export * from './move-learn-method-detail'; +export * from './move-learn-method-name'; +export * from './move-learn-method-summary'; +export * from './move-meta'; +export * from './move-meta-ailment-detail'; +export * from './move-meta-ailment-name'; +export * from './move-meta-ailment-summary'; +export * from './move-meta-category-description'; +export * from './move-meta-category-detail'; +export * from './move-meta-category-summary'; +export * from './move-name'; +export * from './move-summary'; +export * from './move-target-description'; +export * from './move-target-detail'; +export * from './move-target-name'; +export * from './move-target-summary'; +export * from './nature-battle-style-preference'; +export * from './nature-detail'; +export * from './nature-detail-pokeathlon-stat-changes-inner'; +export * from './nature-name'; +export * from './nature-summary'; +export * from './paginated-ability-summary-list'; +export * from './paginated-berry-firmness-summary-list'; +export * from './paginated-berry-flavor-summary-list'; +export * from './paginated-berry-summary-list'; +export * from './paginated-characteristic-summary-list'; +export * from './paginated-contest-effect-summary-list'; +export * from './paginated-contest-type-summary-list'; +export * from './paginated-egg-group-summary-list'; +export * from './paginated-encounter-condition-summary-list'; +export * from './paginated-encounter-condition-value-summary-list'; +export * from './paginated-encounter-method-summary-list'; +export * from './paginated-evolution-chain-summary-list'; +export * from './paginated-evolution-trigger-summary-list'; +export * from './paginated-gender-summary-list'; +export * from './paginated-generation-summary-list'; +export * from './paginated-growth-rate-summary-list'; +export * from './paginated-item-attribute-summary-list'; +export * from './paginated-item-category-summary-list'; +export * from './paginated-item-fling-effect-summary-list'; +export * from './paginated-item-pocket-summary-list'; +export * from './paginated-item-summary-list'; +export * from './paginated-language-summary-list'; +export * from './paginated-location-area-summary-list'; +export * from './paginated-location-summary-list'; +export * from './paginated-machine-summary-list'; +export * from './paginated-move-battle-style-summary-list'; +export * from './paginated-move-damage-class-summary-list'; +export * from './paginated-move-learn-method-summary-list'; +export * from './paginated-move-meta-ailment-summary-list'; +export * from './paginated-move-meta-category-summary-list'; +export * from './paginated-move-summary-list'; +export * from './paginated-move-target-summary-list'; +export * from './paginated-nature-summary-list'; +export * from './paginated-pal-park-area-summary-list'; +export * from './paginated-pokeathlon-stat-summary-list'; +export * from './paginated-pokedex-summary-list'; +export * from './paginated-pokemon-color-summary-list'; +export * from './paginated-pokemon-form-summary-list'; +export * from './paginated-pokemon-habitat-summary-list'; +export * from './paginated-pokemon-shape-summary-list'; +export * from './paginated-pokemon-species-summary-list'; +export * from './paginated-pokemon-summary-list'; +export * from './paginated-region-summary-list'; +export * from './paginated-stat-summary-list'; +export * from './paginated-super-contest-effect-summary-list'; +export * from './paginated-type-summary-list'; +export * from './paginated-version-group-summary-list'; +export * from './paginated-version-summary-list'; +export * from './pal-park-area-detail'; +export * from './pal-park-area-detail-pokemon-encounters-inner'; +export * from './pal-park-area-name'; +export * from './pal-park-area-summary'; +export * from './pokeathlon-stat-detail'; +export * from './pokeathlon-stat-detail-affecting-natures'; +export * from './pokeathlon-stat-detail-affecting-natures-decrease-inner'; +export * from './pokeathlon-stat-detail-affecting-natures-increase-inner'; +export * from './pokeathlon-stat-name'; +export * from './pokeathlon-stat-summary'; +export * from './pokedex-description'; +export * from './pokedex-detail'; +export * from './pokedex-detail-pokemon-entries-inner'; +export * from './pokedex-name'; +export * from './pokedex-summary'; +export * from './pokemon-color-detail'; +export * from './pokemon-color-name'; +export * from './pokemon-color-summary'; +export * from './pokemon-detail'; +export * from './pokemon-detail-abilities-inner'; +export * from './pokemon-detail-cries'; +export * from './pokemon-detail-held-items'; +export * from './pokemon-detail-moves-inner'; +export * from './pokemon-detail-moves-inner-version-group-details-inner'; +export * from './pokemon-detail-past-abilities-inner'; +export * from './pokemon-detail-past-types-inner'; +export * from './pokemon-detail-sprites'; +export * from './pokemon-detail-types-inner'; +export * from './pokemon-dex-entry'; +export * from './pokemon-encounters-retrieve200-response-inner'; +export * from './pokemon-encounters-retrieve200-response-inner-location-area'; +export * from './pokemon-encounters-retrieve200-response-inner-version-details-inner'; +export * from './pokemon-encounters-retrieve200-response-inner-version-details-inner-encounter-details-inner'; +export * from './pokemon-encounters-retrieve200-response-inner-version-details-inner-encounter-details-inner-condition-values-inner'; +export * from './pokemon-encounters-retrieve200-response-inner-version-details-inner-encounter-details-inner-method'; +export * from './pokemon-encounters-retrieve200-response-inner-version-details-inner-version'; +export * from './pokemon-form-detail'; +export * from './pokemon-form-detail-form-names-inner'; +export * from './pokemon-form-detail-sprites'; +export * from './pokemon-form-summary'; +export * from './pokemon-game-index'; +export * from './pokemon-habitat-detail'; +export * from './pokemon-habitat-name'; +export * from './pokemon-habitat-summary'; +export * from './pokemon-shape-detail'; +export * from './pokemon-shape-detail-awesome-names-inner'; +export * from './pokemon-shape-detail-names-inner'; +export * from './pokemon-shape-summary'; +export * from './pokemon-species-description'; +export * from './pokemon-species-detail'; +export * from './pokemon-species-detail-genera-inner'; +export * from './pokemon-species-detail-pal-park-encounters-inner'; +export * from './pokemon-species-detail-varieties-inner'; +export * from './pokemon-species-flavor-text'; +export * from './pokemon-species-summary'; +export * from './pokemon-stat'; +export * from './pokemon-summary'; +export * from './region-detail'; +export * from './region-name'; +export * from './region-summary'; +export * from './stat-detail'; +export * from './stat-detail-affecting-moves'; +export * from './stat-detail-affecting-moves-increase-inner'; +export * from './stat-detail-affecting-natures'; +export * from './stat-name'; +export * from './stat-summary'; +export * from './super-contest-effect-detail'; +export * from './super-contest-effect-flavor-text'; +export * from './super-contest-effect-summary'; +export * from './type-detail'; +export * from './type-detail-damage-relations'; +export * from './type-detail-past-damage-relations-inner'; +export * from './type-detail-past-damage-relations-inner-damage-relations'; +export * from './type-detail-pokemon-inner'; +export * from './type-detail-pokemon-inner-pokemon'; +export * from './type-game-index'; +export * from './type-summary'; +export * from './version-detail'; +export * from './version-group-detail'; +export * from './version-group-summary'; +export * from './version-name'; +export * from './version-summary'; diff --git a/webapp/src/app/core/modules/openapi/model/move-battle-style-detail.ts b/webapp/src/app/core/modules/openapi/model/move-battle-style-detail.ts new file mode 100644 index 00000000..48df4285 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-battle-style-detail.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MoveBattleStyleName } from './move-battle-style-name'; + + +export interface MoveBattleStyleDetail { + readonly id: number; + name: string; + names: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-battle-style-name.ts b/webapp/src/app/core/modules/openapi/model/move-battle-style-name.ts new file mode 100644 index 00000000..56751f58 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-battle-style-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface MoveBattleStyleName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-battle-style-summary.ts b/webapp/src/app/core/modules/openapi/model/move-battle-style-summary.ts new file mode 100644 index 00000000..1f234fcb --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-battle-style-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface MoveBattleStyleSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-change-effect-entries-inner.ts b/webapp/src/app/core/modules/openapi/model/move-change-effect-entries-inner.ts new file mode 100644 index 00000000..2c474a15 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-change-effect-entries-inner.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface MoveChangeEffectEntriesInner { + effect: string; + short_effect: string; + language: AbilityDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-change.ts b/webapp/src/app/core/modules/openapi/model/move-change.ts new file mode 100644 index 00000000..207b5c6d --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-change.ts @@ -0,0 +1,26 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MoveChangeEffectEntriesInner } from './move-change-effect-entries-inner'; +import { VersionGroupSummary } from './version-group-summary'; +import { TypeSummary } from './type-summary'; + + +export interface MoveChange { + accuracy?: number | null; + power?: number | null; + pp?: number | null; + effect_chance: number; + effect_entries: Array; + type: TypeSummary; + version_group: VersionGroupSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-damage-class-description.ts b/webapp/src/app/core/modules/openapi/model/move-damage-class-description.ts new file mode 100644 index 00000000..e24a223d --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-damage-class-description.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface MoveDamageClassDescription { + description?: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-damage-class-detail.ts b/webapp/src/app/core/modules/openapi/model/move-damage-class-detail.ts new file mode 100644 index 00000000..d5e6ed6c --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-damage-class-detail.ts @@ -0,0 +1,24 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MoveDamageClassDescription } from './move-damage-class-description'; +import { MoveSummary } from './move-summary'; +import { MoveDamageClassName } from './move-damage-class-name'; + + +export interface MoveDamageClassDetail { + readonly id: number; + name: string; + descriptions: Array; + moves: Array; + names: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-damage-class-name.ts b/webapp/src/app/core/modules/openapi/model/move-damage-class-name.ts new file mode 100644 index 00000000..24ccc698 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-damage-class-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface MoveDamageClassName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-damage-class-summary.ts b/webapp/src/app/core/modules/openapi/model/move-damage-class-summary.ts new file mode 100644 index 00000000..5611dea7 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-damage-class-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface MoveDamageClassSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-detail-contest-combos-normal.ts b/webapp/src/app/core/modules/openapi/model/move-detail-contest-combos-normal.ts new file mode 100644 index 00000000..fef3da2f --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-detail-contest-combos-normal.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface MoveDetailContestCombosNormal { + use_before: Array; + use_after: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-detail-contest-combos.ts b/webapp/src/app/core/modules/openapi/model/move-detail-contest-combos.ts new file mode 100644 index 00000000..42a2f349 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-detail-contest-combos.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MoveDetailContestCombosNormal } from './move-detail-contest-combos-normal'; + + +export interface MoveDetailContestCombos { + normal: MoveDetailContestCombosNormal; + _super: MoveDetailContestCombosNormal; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-detail-effect-changes-inner-effect-entries-inner.ts b/webapp/src/app/core/modules/openapi/model/move-detail-effect-changes-inner-effect-entries-inner.ts new file mode 100644 index 00000000..deca3406 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-detail-effect-changes-inner-effect-entries-inner.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface MoveDetailEffectChangesInnerEffectEntriesInner { + effect: string; + language: AbilityDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-detail-effect-changes-inner.ts b/webapp/src/app/core/modules/openapi/model/move-detail-effect-changes-inner.ts new file mode 100644 index 00000000..310ea82d --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-detail-effect-changes-inner.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; +import { MoveDetailEffectChangesInnerEffectEntriesInner } from './move-detail-effect-changes-inner-effect-entries-inner'; + + +export interface MoveDetailEffectChangesInner { + effect_entries: Array; + version_group: AbilityDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-detail-machines-inner-machine.ts b/webapp/src/app/core/modules/openapi/model/move-detail-machines-inner-machine.ts new file mode 100644 index 00000000..cc7006ce --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-detail-machines-inner-machine.ts @@ -0,0 +1,17 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface MoveDetailMachinesInnerMachine { + url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-detail-machines-inner.ts b/webapp/src/app/core/modules/openapi/model/move-detail-machines-inner.ts new file mode 100644 index 00000000..7d29b594 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-detail-machines-inner.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MoveDetailMachinesInnerMachine } from './move-detail-machines-inner-machine'; +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface MoveDetailMachinesInner { + machine: MoveDetailMachinesInnerMachine; + version_group: AbilityDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-detail-stat-changes-inner.ts b/webapp/src/app/core/modules/openapi/model/move-detail-stat-changes-inner.ts new file mode 100644 index 00000000..a71e7bd4 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-detail-stat-changes-inner.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface MoveDetailStatChangesInner { + change: number; + stat: AbilityDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-detail.ts b/webapp/src/app/core/modules/openapi/model/move-detail.ts new file mode 100644 index 00000000..af41fe0e --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-detail.ts @@ -0,0 +1,57 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MoveName } from './move-name'; +import { MoveDetailEffectChangesInner } from './move-detail-effect-changes-inner'; +import { MoveFlavorText } from './move-flavor-text'; +import { GenerationSummary } from './generation-summary'; +import { ContestTypeSummary } from './contest-type-summary'; +import { MoveDetailStatChangesInner } from './move-detail-stat-changes-inner'; +import { MoveMeta } from './move-meta'; +import { TypeSummary } from './type-summary'; +import { MoveDetailContestCombos } from './move-detail-contest-combos'; +import { ContestEffectSummary } from './contest-effect-summary'; +import { MoveChangeEffectEntriesInner } from './move-change-effect-entries-inner'; +import { MoveDetailMachinesInner } from './move-detail-machines-inner'; +import { MoveDamageClassSummary } from './move-damage-class-summary'; +import { MoveTargetSummary } from './move-target-summary'; +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; +import { MoveChange } from './move-change'; +import { SuperContestEffectSummary } from './super-contest-effect-summary'; + + +export interface MoveDetail { + readonly id: number; + name: string; + accuracy?: number | null; + effect_chance: number; + pp?: number | null; + priority?: number | null; + power?: number | null; + contest_combos: MoveDetailContestCombos; + contest_type: ContestTypeSummary; + contest_effect: ContestEffectSummary; + damage_class: MoveDamageClassSummary; + effect_entries: Array; + effect_changes: Array; + generation: GenerationSummary; + readonly meta: MoveMeta; + names: Array; + past_values: Array; + stat_changes: Array; + super_contest_effect: SuperContestEffectSummary; + target: MoveTargetSummary; + type: TypeSummary; + machines: Array; + flavor_text_entries: Array; + learned_by_pokemon: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-flavor-text.ts b/webapp/src/app/core/modules/openapi/model/move-flavor-text.ts new file mode 100644 index 00000000..374d5358 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-flavor-text.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; +import { VersionGroupSummary } from './version-group-summary'; + + +export interface MoveFlavorText { + flavor_text: string; + language: LanguageSummary; + version_group: VersionGroupSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-learn-method-description.ts b/webapp/src/app/core/modules/openapi/model/move-learn-method-description.ts new file mode 100644 index 00000000..f264b7d4 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-learn-method-description.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface MoveLearnMethodDescription { + description?: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-learn-method-detail.ts b/webapp/src/app/core/modules/openapi/model/move-learn-method-detail.ts new file mode 100644 index 00000000..b6b64f52 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-learn-method-detail.ts @@ -0,0 +1,24 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MoveLearnMethodName } from './move-learn-method-name'; +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; +import { MoveLearnMethodDescription } from './move-learn-method-description'; + + +export interface MoveLearnMethodDetail { + readonly id: number; + name: string; + names: Array; + descriptions: Array; + version_groups: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-learn-method-name.ts b/webapp/src/app/core/modules/openapi/model/move-learn-method-name.ts new file mode 100644 index 00000000..31161eef --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-learn-method-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface MoveLearnMethodName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-learn-method-summary.ts b/webapp/src/app/core/modules/openapi/model/move-learn-method-summary.ts new file mode 100644 index 00000000..a325e7b0 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-learn-method-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface MoveLearnMethodSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-meta-ailment-detail.ts b/webapp/src/app/core/modules/openapi/model/move-meta-ailment-detail.ts new file mode 100644 index 00000000..f335ab90 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-meta-ailment-detail.ts @@ -0,0 +1,22 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; +import { MoveMetaAilmentName } from './move-meta-ailment-name'; + + +export interface MoveMetaAilmentDetail { + readonly id: number; + name: string; + moves: Array; + names: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-meta-ailment-name.ts b/webapp/src/app/core/modules/openapi/model/move-meta-ailment-name.ts new file mode 100644 index 00000000..411961f7 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-meta-ailment-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface MoveMetaAilmentName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-meta-ailment-summary.ts b/webapp/src/app/core/modules/openapi/model/move-meta-ailment-summary.ts new file mode 100644 index 00000000..21b1fbaf --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-meta-ailment-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface MoveMetaAilmentSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-meta-category-description.ts b/webapp/src/app/core/modules/openapi/model/move-meta-category-description.ts new file mode 100644 index 00000000..f403a74b --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-meta-category-description.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface MoveMetaCategoryDescription { + description?: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-meta-category-detail.ts b/webapp/src/app/core/modules/openapi/model/move-meta-category-detail.ts new file mode 100644 index 00000000..04ab1679 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-meta-category-detail.ts @@ -0,0 +1,22 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MoveMetaCategoryDescription } from './move-meta-category-description'; +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface MoveMetaCategoryDetail { + readonly id: number; + name: string; + descriptions: Array; + moves: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-meta-category-summary.ts b/webapp/src/app/core/modules/openapi/model/move-meta-category-summary.ts new file mode 100644 index 00000000..0c9c652b --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-meta-category-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface MoveMetaCategorySummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-meta.ts b/webapp/src/app/core/modules/openapi/model/move-meta.ts new file mode 100644 index 00000000..731d19a2 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-meta.ts @@ -0,0 +1,30 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MoveMetaCategorySummary } from './move-meta-category-summary'; +import { MoveMetaAilmentSummary } from './move-meta-ailment-summary'; + + +export interface MoveMeta { + ailment: MoveMetaAilmentSummary; + category: MoveMetaCategorySummary; + min_hits?: number | null; + max_hits?: number | null; + min_turns?: number | null; + max_turns?: number | null; + drain?: number | null; + healing?: number | null; + crit_rate?: number | null; + ailment_chance?: number | null; + flinch_chance?: number | null; + stat_chance?: number | null; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-name.ts b/webapp/src/app/core/modules/openapi/model/move-name.ts new file mode 100644 index 00000000..beda00b3 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface MoveName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-summary.ts b/webapp/src/app/core/modules/openapi/model/move-summary.ts new file mode 100644 index 00000000..05935f28 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface MoveSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-target-description.ts b/webapp/src/app/core/modules/openapi/model/move-target-description.ts new file mode 100644 index 00000000..2ac376c6 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-target-description.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface MoveTargetDescription { + description?: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-target-detail.ts b/webapp/src/app/core/modules/openapi/model/move-target-detail.ts new file mode 100644 index 00000000..5a911e67 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-target-detail.ts @@ -0,0 +1,24 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MoveTargetDescription } from './move-target-description'; +import { MoveSummary } from './move-summary'; +import { MoveTargetName } from './move-target-name'; + + +export interface MoveTargetDetail { + readonly id: number; + name: string; + descriptions: Array; + moves: Array; + names: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-target-name.ts b/webapp/src/app/core/modules/openapi/model/move-target-name.ts new file mode 100644 index 00000000..5c62a084 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-target-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface MoveTargetName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/move-target-summary.ts b/webapp/src/app/core/modules/openapi/model/move-target-summary.ts new file mode 100644 index 00000000..02e9ed51 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/move-target-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface MoveTargetSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/nature-battle-style-preference.ts b/webapp/src/app/core/modules/openapi/model/nature-battle-style-preference.ts new file mode 100644 index 00000000..cc3c6172 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/nature-battle-style-preference.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MoveBattleStyleSummary } from './move-battle-style-summary'; + + +export interface NatureBattleStylePreference { + low_hp_preference: number; + high_hp_preference: number; + move_battle_style: MoveBattleStyleSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/nature-detail-pokeathlon-stat-changes-inner.ts b/webapp/src/app/core/modules/openapi/model/nature-detail-pokeathlon-stat-changes-inner.ts new file mode 100644 index 00000000..9ff83fa7 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/nature-detail-pokeathlon-stat-changes-inner.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface NatureDetailPokeathlonStatChangesInner { + max_change: number; + pokeathlon_stat: AbilityDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/nature-detail.ts b/webapp/src/app/core/modules/openapi/model/nature-detail.ts new file mode 100644 index 00000000..da12dde6 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/nature-detail.ts @@ -0,0 +1,32 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { StatSummary } from './stat-summary'; +import { BerrySummary } from './berry-summary'; +import { NatureBattleStylePreference } from './nature-battle-style-preference'; +import { NatureDetailPokeathlonStatChangesInner } from './nature-detail-pokeathlon-stat-changes-inner'; +import { BerryFlavorSummary } from './berry-flavor-summary'; +import { NatureName } from './nature-name'; + + +export interface NatureDetail { + readonly id: number; + name: string; + decreased_stat: StatSummary; + increased_stat: StatSummary; + likes_flavor: BerryFlavorSummary; + hates_flavor: BerryFlavorSummary; + berries: Array; + pokeathlon_stat_changes: Array; + move_battle_style_preferences: Array; + names: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/nature-name.ts b/webapp/src/app/core/modules/openapi/model/nature-name.ts new file mode 100644 index 00000000..38ab12b6 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/nature-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface NatureName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/nature-summary.ts b/webapp/src/app/core/modules/openapi/model/nature-summary.ts new file mode 100644 index 00000000..1e794837 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/nature-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface NatureSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-ability-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-ability-summary-list.ts new file mode 100644 index 00000000..afa303c3 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-ability-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilitySummary } from './ability-summary'; + + +export interface PaginatedAbilitySummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-berry-firmness-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-berry-firmness-summary-list.ts new file mode 100644 index 00000000..8790972d --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-berry-firmness-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { BerryFirmnessSummary } from './berry-firmness-summary'; + + +export interface PaginatedBerryFirmnessSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-berry-flavor-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-berry-flavor-summary-list.ts new file mode 100644 index 00000000..64ed884b --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-berry-flavor-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { BerryFlavorSummary } from './berry-flavor-summary'; + + +export interface PaginatedBerryFlavorSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-berry-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-berry-summary-list.ts new file mode 100644 index 00000000..d4ac03d4 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-berry-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { BerrySummary } from './berry-summary'; + + +export interface PaginatedBerrySummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-characteristic-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-characteristic-summary-list.ts new file mode 100644 index 00000000..eef9f469 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-characteristic-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { CharacteristicSummary } from './characteristic-summary'; + + +export interface PaginatedCharacteristicSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-contest-effect-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-contest-effect-summary-list.ts new file mode 100644 index 00000000..740594ec --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-contest-effect-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { ContestEffectSummary } from './contest-effect-summary'; + + +export interface PaginatedContestEffectSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-contest-type-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-contest-type-summary-list.ts new file mode 100644 index 00000000..ddca4b15 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-contest-type-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { ContestTypeSummary } from './contest-type-summary'; + + +export interface PaginatedContestTypeSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-egg-group-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-egg-group-summary-list.ts new file mode 100644 index 00000000..cc42a3d5 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-egg-group-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { EggGroupSummary } from './egg-group-summary'; + + +export interface PaginatedEggGroupSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-encounter-condition-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-encounter-condition-summary-list.ts new file mode 100644 index 00000000..1091bc4a --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-encounter-condition-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { EncounterConditionSummary } from './encounter-condition-summary'; + + +export interface PaginatedEncounterConditionSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-encounter-condition-value-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-encounter-condition-value-summary-list.ts new file mode 100644 index 00000000..5e3f5cbd --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-encounter-condition-value-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { EncounterConditionValueSummary } from './encounter-condition-value-summary'; + + +export interface PaginatedEncounterConditionValueSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-encounter-method-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-encounter-method-summary-list.ts new file mode 100644 index 00000000..abd8954d --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-encounter-method-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { EncounterMethodSummary } from './encounter-method-summary'; + + +export interface PaginatedEncounterMethodSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-evolution-chain-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-evolution-chain-summary-list.ts new file mode 100644 index 00000000..f08a1101 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-evolution-chain-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { EvolutionChainSummary } from './evolution-chain-summary'; + + +export interface PaginatedEvolutionChainSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-evolution-trigger-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-evolution-trigger-summary-list.ts new file mode 100644 index 00000000..80449eac --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-evolution-trigger-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { EvolutionTriggerSummary } from './evolution-trigger-summary'; + + +export interface PaginatedEvolutionTriggerSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-gender-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-gender-summary-list.ts new file mode 100644 index 00000000..8cac8c56 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-gender-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { GenderSummary } from './gender-summary'; + + +export interface PaginatedGenderSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-generation-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-generation-summary-list.ts new file mode 100644 index 00000000..56062563 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-generation-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { GenerationSummary } from './generation-summary'; + + +export interface PaginatedGenerationSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-growth-rate-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-growth-rate-summary-list.ts new file mode 100644 index 00000000..969446a2 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-growth-rate-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { GrowthRateSummary } from './growth-rate-summary'; + + +export interface PaginatedGrowthRateSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-item-attribute-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-item-attribute-summary-list.ts new file mode 100644 index 00000000..37798679 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-item-attribute-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { ItemAttributeSummary } from './item-attribute-summary'; + + +export interface PaginatedItemAttributeSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-item-category-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-item-category-summary-list.ts new file mode 100644 index 00000000..f58997c7 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-item-category-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { ItemCategorySummary } from './item-category-summary'; + + +export interface PaginatedItemCategorySummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-item-fling-effect-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-item-fling-effect-summary-list.ts new file mode 100644 index 00000000..98d7f35e --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-item-fling-effect-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { ItemFlingEffectSummary } from './item-fling-effect-summary'; + + +export interface PaginatedItemFlingEffectSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-item-pocket-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-item-pocket-summary-list.ts new file mode 100644 index 00000000..51c5ffb0 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-item-pocket-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { ItemPocketSummary } from './item-pocket-summary'; + + +export interface PaginatedItemPocketSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-item-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-item-summary-list.ts new file mode 100644 index 00000000..c1a4a465 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-item-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { ItemSummary } from './item-summary'; + + +export interface PaginatedItemSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-language-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-language-summary-list.ts new file mode 100644 index 00000000..d3e74821 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-language-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface PaginatedLanguageSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-location-area-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-location-area-summary-list.ts new file mode 100644 index 00000000..d0eddf70 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-location-area-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LocationAreaSummary } from './location-area-summary'; + + +export interface PaginatedLocationAreaSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-location-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-location-summary-list.ts new file mode 100644 index 00000000..8022e9a1 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-location-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LocationSummary } from './location-summary'; + + +export interface PaginatedLocationSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-machine-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-machine-summary-list.ts new file mode 100644 index 00000000..067d5a6d --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-machine-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MachineSummary } from './machine-summary'; + + +export interface PaginatedMachineSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-move-battle-style-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-move-battle-style-summary-list.ts new file mode 100644 index 00000000..4f56addf --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-move-battle-style-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MoveBattleStyleSummary } from './move-battle-style-summary'; + + +export interface PaginatedMoveBattleStyleSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-move-damage-class-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-move-damage-class-summary-list.ts new file mode 100644 index 00000000..a88cf585 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-move-damage-class-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MoveDamageClassSummary } from './move-damage-class-summary'; + + +export interface PaginatedMoveDamageClassSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-move-learn-method-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-move-learn-method-summary-list.ts new file mode 100644 index 00000000..d3af2c73 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-move-learn-method-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MoveLearnMethodSummary } from './move-learn-method-summary'; + + +export interface PaginatedMoveLearnMethodSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-move-meta-ailment-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-move-meta-ailment-summary-list.ts new file mode 100644 index 00000000..362a9102 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-move-meta-ailment-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MoveMetaAilmentSummary } from './move-meta-ailment-summary'; + + +export interface PaginatedMoveMetaAilmentSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-move-meta-category-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-move-meta-category-summary-list.ts new file mode 100644 index 00000000..33d6e9bb --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-move-meta-category-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MoveMetaCategorySummary } from './move-meta-category-summary'; + + +export interface PaginatedMoveMetaCategorySummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-move-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-move-summary-list.ts new file mode 100644 index 00000000..ba08ac57 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-move-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MoveSummary } from './move-summary'; + + +export interface PaginatedMoveSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-move-target-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-move-target-summary-list.ts new file mode 100644 index 00000000..4dc167c7 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-move-target-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MoveTargetSummary } from './move-target-summary'; + + +export interface PaginatedMoveTargetSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-nature-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-nature-summary-list.ts new file mode 100644 index 00000000..2b524ea2 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-nature-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { NatureSummary } from './nature-summary'; + + +export interface PaginatedNatureSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-pal-park-area-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-pal-park-area-summary-list.ts new file mode 100644 index 00000000..4276e823 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-pal-park-area-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PalParkAreaSummary } from './pal-park-area-summary'; + + +export interface PaginatedPalParkAreaSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-pokeathlon-stat-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-pokeathlon-stat-summary-list.ts new file mode 100644 index 00000000..55460c43 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-pokeathlon-stat-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PokeathlonStatSummary } from './pokeathlon-stat-summary'; + + +export interface PaginatedPokeathlonStatSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-pokedex-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-pokedex-summary-list.ts new file mode 100644 index 00000000..788a816d --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-pokedex-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PokedexSummary } from './pokedex-summary'; + + +export interface PaginatedPokedexSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-pokemon-color-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-pokemon-color-summary-list.ts new file mode 100644 index 00000000..7fc1cc05 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-pokemon-color-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PokemonColorSummary } from './pokemon-color-summary'; + + +export interface PaginatedPokemonColorSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-pokemon-form-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-pokemon-form-summary-list.ts new file mode 100644 index 00000000..cef34c7a --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-pokemon-form-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PokemonFormSummary } from './pokemon-form-summary'; + + +export interface PaginatedPokemonFormSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-pokemon-habitat-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-pokemon-habitat-summary-list.ts new file mode 100644 index 00000000..efd69b7f --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-pokemon-habitat-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PokemonHabitatSummary } from './pokemon-habitat-summary'; + + +export interface PaginatedPokemonHabitatSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-pokemon-shape-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-pokemon-shape-summary-list.ts new file mode 100644 index 00000000..f86995fb --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-pokemon-shape-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PokemonShapeSummary } from './pokemon-shape-summary'; + + +export interface PaginatedPokemonShapeSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-pokemon-species-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-pokemon-species-summary-list.ts new file mode 100644 index 00000000..8c9dbc1f --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-pokemon-species-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PokemonSpeciesSummary } from './pokemon-species-summary'; + + +export interface PaginatedPokemonSpeciesSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-pokemon-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-pokemon-summary-list.ts new file mode 100644 index 00000000..d6538920 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-pokemon-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PokemonSummary } from './pokemon-summary'; + + +export interface PaginatedPokemonSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-region-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-region-summary-list.ts new file mode 100644 index 00000000..3e5be2bb --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-region-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { RegionSummary } from './region-summary'; + + +export interface PaginatedRegionSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-stat-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-stat-summary-list.ts new file mode 100644 index 00000000..8eecf5ee --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-stat-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { StatSummary } from './stat-summary'; + + +export interface PaginatedStatSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-super-contest-effect-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-super-contest-effect-summary-list.ts new file mode 100644 index 00000000..ca07cc14 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-super-contest-effect-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { SuperContestEffectSummary } from './super-contest-effect-summary'; + + +export interface PaginatedSuperContestEffectSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-type-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-type-summary-list.ts new file mode 100644 index 00000000..56247d3a --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-type-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { TypeSummary } from './type-summary'; + + +export interface PaginatedTypeSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-version-group-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-version-group-summary-list.ts new file mode 100644 index 00000000..a2ea3bbd --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-version-group-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { VersionGroupSummary } from './version-group-summary'; + + +export interface PaginatedVersionGroupSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/paginated-version-summary-list.ts b/webapp/src/app/core/modules/openapi/model/paginated-version-summary-list.ts new file mode 100644 index 00000000..be504122 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/paginated-version-summary-list.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { VersionSummary } from './version-summary'; + + +export interface PaginatedVersionSummaryList { + count?: number; + next?: string; + previous?: string; + results?: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pal-park-area-detail-pokemon-encounters-inner.ts b/webapp/src/app/core/modules/openapi/model/pal-park-area-detail-pokemon-encounters-inner.ts new file mode 100644 index 00000000..d3d94b37 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pal-park-area-detail-pokemon-encounters-inner.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface PalParkAreaDetailPokemonEncountersInner { + base_score: number; + pokemon_species: AbilityDetailPokemonInnerPokemon; + rate: number; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pal-park-area-detail.ts b/webapp/src/app/core/modules/openapi/model/pal-park-area-detail.ts new file mode 100644 index 00000000..14f4915c --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pal-park-area-detail.ts @@ -0,0 +1,22 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PalParkAreaDetailPokemonEncountersInner } from './pal-park-area-detail-pokemon-encounters-inner'; +import { PalParkAreaName } from './pal-park-area-name'; + + +export interface PalParkAreaDetail { + readonly id: number; + name: string; + names: Array; + pokemon_encounters: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pal-park-area-name.ts b/webapp/src/app/core/modules/openapi/model/pal-park-area-name.ts new file mode 100644 index 00000000..3ddaedb9 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pal-park-area-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface PalParkAreaName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pal-park-area-summary.ts b/webapp/src/app/core/modules/openapi/model/pal-park-area-summary.ts new file mode 100644 index 00000000..3d1c2d7a --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pal-park-area-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface PalParkAreaSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokeathlon-stat-detail-affecting-natures-decrease-inner.ts b/webapp/src/app/core/modules/openapi/model/pokeathlon-stat-detail-affecting-natures-decrease-inner.ts new file mode 100644 index 00000000..ff925791 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokeathlon-stat-detail-affecting-natures-decrease-inner.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface PokeathlonStatDetailAffectingNaturesDecreaseInner { + max_change: number; + nature: AbilityDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokeathlon-stat-detail-affecting-natures-increase-inner.ts b/webapp/src/app/core/modules/openapi/model/pokeathlon-stat-detail-affecting-natures-increase-inner.ts new file mode 100644 index 00000000..4753a4af --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokeathlon-stat-detail-affecting-natures-increase-inner.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface PokeathlonStatDetailAffectingNaturesIncreaseInner { + max_change: number; + nature: AbilityDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokeathlon-stat-detail-affecting-natures.ts b/webapp/src/app/core/modules/openapi/model/pokeathlon-stat-detail-affecting-natures.ts new file mode 100644 index 00000000..2e9fd1d3 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokeathlon-stat-detail-affecting-natures.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PokeathlonStatDetailAffectingNaturesDecreaseInner } from './pokeathlon-stat-detail-affecting-natures-decrease-inner'; +import { PokeathlonStatDetailAffectingNaturesIncreaseInner } from './pokeathlon-stat-detail-affecting-natures-increase-inner'; + + +export interface PokeathlonStatDetailAffectingNatures { + decrease: Array; + increase: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokeathlon-stat-detail.ts b/webapp/src/app/core/modules/openapi/model/pokeathlon-stat-detail.ts new file mode 100644 index 00000000..e54b5f6c --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokeathlon-stat-detail.ts @@ -0,0 +1,22 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PokeathlonStatDetailAffectingNatures } from './pokeathlon-stat-detail-affecting-natures'; +import { PokeathlonStatName } from './pokeathlon-stat-name'; + + +export interface PokeathlonStatDetail { + readonly id: number; + name: string; + affecting_natures: PokeathlonStatDetailAffectingNatures; + names: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokeathlon-stat-name.ts b/webapp/src/app/core/modules/openapi/model/pokeathlon-stat-name.ts new file mode 100644 index 00000000..cb9e332f --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokeathlon-stat-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface PokeathlonStatName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokeathlon-stat-summary.ts b/webapp/src/app/core/modules/openapi/model/pokeathlon-stat-summary.ts new file mode 100644 index 00000000..40c01fc1 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokeathlon-stat-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface PokeathlonStatSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokedex-description.ts b/webapp/src/app/core/modules/openapi/model/pokedex-description.ts new file mode 100644 index 00000000..8ea2d211 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokedex-description.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface PokedexDescription { + description?: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokedex-detail-pokemon-entries-inner.ts b/webapp/src/app/core/modules/openapi/model/pokedex-detail-pokemon-entries-inner.ts new file mode 100644 index 00000000..4f1f120c --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokedex-detail-pokemon-entries-inner.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface PokedexDetailPokemonEntriesInner { + entry_number: number; + pokemon_species: AbilityDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokedex-detail.ts b/webapp/src/app/core/modules/openapi/model/pokedex-detail.ts new file mode 100644 index 00000000..0d6178ca --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokedex-detail.ts @@ -0,0 +1,29 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PokedexName } from './pokedex-name'; +import { PokedexDescription } from './pokedex-description'; +import { PokedexDetailPokemonEntriesInner } from './pokedex-detail-pokemon-entries-inner'; +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; +import { RegionSummary } from './region-summary'; + + +export interface PokedexDetail { + readonly id: number; + name: string; + is_main_series?: boolean; + descriptions: Array; + names: Array; + pokemon_entries: Array; + region: RegionSummary; + version_groups: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokedex-name.ts b/webapp/src/app/core/modules/openapi/model/pokedex-name.ts new file mode 100644 index 00000000..e0a192be --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokedex-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface PokedexName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokedex-summary.ts b/webapp/src/app/core/modules/openapi/model/pokedex-summary.ts new file mode 100644 index 00000000..5d865f45 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokedex-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface PokedexSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-color-detail.ts b/webapp/src/app/core/modules/openapi/model/pokemon-color-detail.ts new file mode 100644 index 00000000..37d5cdd6 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-color-detail.ts @@ -0,0 +1,22 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PokemonColorName } from './pokemon-color-name'; +import { PokemonSpeciesSummary } from './pokemon-species-summary'; + + +export interface PokemonColorDetail { + readonly id: number; + name: string; + names: Array; + pokemon_species: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-color-name.ts b/webapp/src/app/core/modules/openapi/model/pokemon-color-name.ts new file mode 100644 index 00000000..cd5ac09a --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-color-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface PokemonColorName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-color-summary.ts b/webapp/src/app/core/modules/openapi/model/pokemon-color-summary.ts new file mode 100644 index 00000000..e417cbbc --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-color-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface PokemonColorSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-detail-abilities-inner.ts b/webapp/src/app/core/modules/openapi/model/pokemon-detail-abilities-inner.ts new file mode 100644 index 00000000..e2dc52d8 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-detail-abilities-inner.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface PokemonDetailAbilitiesInner { + ability: AbilityDetailPokemonInnerPokemon; + is_hidden: boolean; + slot: number; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-detail-cries.ts b/webapp/src/app/core/modules/openapi/model/pokemon-detail-cries.ts new file mode 100644 index 00000000..a28160db --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-detail-cries.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface PokemonDetailCries { + latest: string; + legacy: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-detail-held-items.ts b/webapp/src/app/core/modules/openapi/model/pokemon-detail-held-items.ts new file mode 100644 index 00000000..4f9f08e9 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-detail-held-items.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; +import { ItemDetailHeldByPokemonInnerVersionDetailsInner } from './item-detail-held-by-pokemon-inner-version-details-inner'; + + +export interface PokemonDetailHeldItems { + item: AbilityDetailPokemonInnerPokemon; + version_details: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-detail-moves-inner-version-group-details-inner.ts b/webapp/src/app/core/modules/openapi/model/pokemon-detail-moves-inner-version-group-details-inner.ts new file mode 100644 index 00000000..4e0015fd --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-detail-moves-inner-version-group-details-inner.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface PokemonDetailMovesInnerVersionGroupDetailsInner { + level_learned_at: number; + move_learn_method: AbilityDetailPokemonInnerPokemon; + version_group: AbilityDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-detail-moves-inner.ts b/webapp/src/app/core/modules/openapi/model/pokemon-detail-moves-inner.ts new file mode 100644 index 00000000..b490793b --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-detail-moves-inner.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PokemonDetailMovesInnerVersionGroupDetailsInner } from './pokemon-detail-moves-inner-version-group-details-inner'; +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface PokemonDetailMovesInner { + move: AbilityDetailPokemonInnerPokemon; + version_group_details: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-detail-past-abilities-inner.ts b/webapp/src/app/core/modules/openapi/model/pokemon-detail-past-abilities-inner.ts new file mode 100644 index 00000000..2fd8a6ac --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-detail-past-abilities-inner.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; +import { PokemonDetailAbilitiesInner } from './pokemon-detail-abilities-inner'; + + +export interface PokemonDetailPastAbilitiesInner { + abilities: Array; + generation: AbilityDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-detail-past-types-inner.ts b/webapp/src/app/core/modules/openapi/model/pokemon-detail-past-types-inner.ts new file mode 100644 index 00000000..939aac7f --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-detail-past-types-inner.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PokemonDetailTypesInner } from './pokemon-detail-types-inner'; +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface PokemonDetailPastTypesInner { + generation: AbilityDetailPokemonInnerPokemon; + types: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-detail-sprites.ts b/webapp/src/app/core/modules/openapi/model/pokemon-detail-sprites.ts new file mode 100644 index 00000000..ef6b214b --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-detail-sprites.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface PokemonDetailSprites { + [key: string]: string | any; + + + front_default?: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-detail-types-inner.ts b/webapp/src/app/core/modules/openapi/model/pokemon-detail-types-inner.ts new file mode 100644 index 00000000..a60910b0 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-detail-types-inner.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface PokemonDetailTypesInner { + slot: number; + type: AbilityDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-detail.ts b/webapp/src/app/core/modules/openapi/model/pokemon-detail.ts new file mode 100644 index 00000000..20f0cb43 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-detail.ts @@ -0,0 +1,48 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PokemonDetailPastAbilitiesInner } from './pokemon-detail-past-abilities-inner'; +import { PokemonStat } from './pokemon-stat'; +import { PokemonDetailCries } from './pokemon-detail-cries'; +import { PokemonGameIndex } from './pokemon-game-index'; +import { PokemonDetailHeldItems } from './pokemon-detail-held-items'; +import { PokemonDetailPastTypesInner } from './pokemon-detail-past-types-inner'; +import { PokemonDetailTypesInner } from './pokemon-detail-types-inner'; +import { PokemonDetailMovesInner } from './pokemon-detail-moves-inner'; +import { PokemonDetailSprites } from './pokemon-detail-sprites'; +import { PokemonFormSummary } from './pokemon-form-summary'; +import { PokemonSpeciesSummary } from './pokemon-species-summary'; +import { PokemonDetailAbilitiesInner } from './pokemon-detail-abilities-inner'; + + +export interface PokemonDetail { + readonly id: number; + name: string; + base_experience?: number | null; + height?: number | null; + is_default?: boolean; + order?: number | null; + weight?: number | null; + abilities: Array; + past_abilities: Array; + forms: Array; + game_indices: Array; + held_items: PokemonDetailHeldItems; + readonly location_area_encounters: string; + moves: Array; + species: PokemonSpeciesSummary; + sprites: PokemonDetailSprites; + cries: PokemonDetailCries; + stats: Array; + types: Array; + past_types: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-dex-entry.ts b/webapp/src/app/core/modules/openapi/model/pokemon-dex-entry.ts new file mode 100644 index 00000000..80fabdab --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-dex-entry.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PokedexSummary } from './pokedex-summary'; + + +export interface PokemonDexEntry { + entry_number: number; + pokedex: PokedexSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-encounters-retrieve200-response-inner-location-area.ts b/webapp/src/app/core/modules/openapi/model/pokemon-encounters-retrieve200-response-inner-location-area.ts new file mode 100644 index 00000000..ed393be4 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-encounters-retrieve200-response-inner-location-area.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface PokemonEncountersRetrieve200ResponseInnerLocationArea { + name: string; + url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-encounters-retrieve200-response-inner-version-details-inner-encounter-details-inner-condition-values-inner.ts b/webapp/src/app/core/modules/openapi/model/pokemon-encounters-retrieve200-response-inner-version-details-inner-encounter-details-inner-condition-values-inner.ts new file mode 100644 index 00000000..da410b9b --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-encounters-retrieve200-response-inner-version-details-inner-encounter-details-inner-condition-values-inner.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface PokemonEncountersRetrieve200ResponseInnerVersionDetailsInnerEncounterDetailsInnerConditionValuesInner { + name: string; + url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-encounters-retrieve200-response-inner-version-details-inner-encounter-details-inner-method.ts b/webapp/src/app/core/modules/openapi/model/pokemon-encounters-retrieve200-response-inner-version-details-inner-encounter-details-inner-method.ts new file mode 100644 index 00000000..be685887 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-encounters-retrieve200-response-inner-version-details-inner-encounter-details-inner-method.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface PokemonEncountersRetrieve200ResponseInnerVersionDetailsInnerEncounterDetailsInnerMethod { + name: string; + url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-encounters-retrieve200-response-inner-version-details-inner-encounter-details-inner.ts b/webapp/src/app/core/modules/openapi/model/pokemon-encounters-retrieve200-response-inner-version-details-inner-encounter-details-inner.ts new file mode 100644 index 00000000..ba75cc9e --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-encounters-retrieve200-response-inner-version-details-inner-encounter-details-inner.ts @@ -0,0 +1,23 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PokemonEncountersRetrieve200ResponseInnerVersionDetailsInnerEncounterDetailsInnerConditionValuesInner } from './pokemon-encounters-retrieve200-response-inner-version-details-inner-encounter-details-inner-condition-values-inner'; +import { PokemonEncountersRetrieve200ResponseInnerVersionDetailsInnerEncounterDetailsInnerMethod } from './pokemon-encounters-retrieve200-response-inner-version-details-inner-encounter-details-inner-method'; + + +export interface PokemonEncountersRetrieve200ResponseInnerVersionDetailsInnerEncounterDetailsInner { + chance: number; + condition_values: Array; + max_level: number; + method: PokemonEncountersRetrieve200ResponseInnerVersionDetailsInnerEncounterDetailsInnerMethod; + min_level: number; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-encounters-retrieve200-response-inner-version-details-inner-version.ts b/webapp/src/app/core/modules/openapi/model/pokemon-encounters-retrieve200-response-inner-version-details-inner-version.ts new file mode 100644 index 00000000..a599dd1b --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-encounters-retrieve200-response-inner-version-details-inner-version.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface PokemonEncountersRetrieve200ResponseInnerVersionDetailsInnerVersion { + name: string; + url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-encounters-retrieve200-response-inner-version-details-inner.ts b/webapp/src/app/core/modules/openapi/model/pokemon-encounters-retrieve200-response-inner-version-details-inner.ts new file mode 100644 index 00000000..6368973f --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-encounters-retrieve200-response-inner-version-details-inner.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PokemonEncountersRetrieve200ResponseInnerVersionDetailsInnerEncounterDetailsInner } from './pokemon-encounters-retrieve200-response-inner-version-details-inner-encounter-details-inner'; +import { PokemonEncountersRetrieve200ResponseInnerVersionDetailsInnerVersion } from './pokemon-encounters-retrieve200-response-inner-version-details-inner-version'; + + +export interface PokemonEncountersRetrieve200ResponseInnerVersionDetailsInner { + encounter_details: Array; + max_chance: number; + version: PokemonEncountersRetrieve200ResponseInnerVersionDetailsInnerVersion; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-encounters-retrieve200-response-inner.ts b/webapp/src/app/core/modules/openapi/model/pokemon-encounters-retrieve200-response-inner.ts new file mode 100644 index 00000000..70474cbc --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-encounters-retrieve200-response-inner.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PokemonEncountersRetrieve200ResponseInnerLocationArea } from './pokemon-encounters-retrieve200-response-inner-location-area'; +import { PokemonEncountersRetrieve200ResponseInnerVersionDetailsInner } from './pokemon-encounters-retrieve200-response-inner-version-details-inner'; + + +export interface PokemonEncountersRetrieve200ResponseInner { + location_area: PokemonEncountersRetrieve200ResponseInnerLocationArea; + version_details: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-form-detail-form-names-inner.ts b/webapp/src/app/core/modules/openapi/model/pokemon-form-detail-form-names-inner.ts new file mode 100644 index 00000000..06e198db --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-form-detail-form-names-inner.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface PokemonFormDetailFormNamesInner { + language: AbilityDetailPokemonInnerPokemon; + name: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-form-detail-sprites.ts b/webapp/src/app/core/modules/openapi/model/pokemon-form-detail-sprites.ts new file mode 100644 index 00000000..79808147 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-form-detail-sprites.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface PokemonFormDetailSprites { + [key: string]: string | any; + + + _default?: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-form-detail.ts b/webapp/src/app/core/modules/openapi/model/pokemon-form-detail.ts new file mode 100644 index 00000000..d22ed954 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-form-detail.ts @@ -0,0 +1,35 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { VersionGroupSummary } from './version-group-summary'; +import { PokemonFormDetailFormNamesInner } from './pokemon-form-detail-form-names-inner'; +import { PokemonSummary } from './pokemon-summary'; +import { PokemonFormDetailSprites } from './pokemon-form-detail-sprites'; +import { PokemonDetailTypesInner } from './pokemon-detail-types-inner'; + + +export interface PokemonFormDetail { + readonly id: number; + name: string; + order?: number | null; + form_order?: number | null; + is_default?: boolean; + is_battle_only?: boolean; + is_mega?: boolean; + form_name: string; + pokemon: PokemonSummary; + sprites: PokemonFormDetailSprites; + version_group: VersionGroupSummary; + form_names: Array; + names: Array; + types: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-form-summary.ts b/webapp/src/app/core/modules/openapi/model/pokemon-form-summary.ts new file mode 100644 index 00000000..48fcac2e --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-form-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface PokemonFormSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-game-index.ts b/webapp/src/app/core/modules/openapi/model/pokemon-game-index.ts new file mode 100644 index 00000000..174ddd38 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-game-index.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { VersionSummary } from './version-summary'; + + +export interface PokemonGameIndex { + game_index: number; + version: VersionSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-habitat-detail.ts b/webapp/src/app/core/modules/openapi/model/pokemon-habitat-detail.ts new file mode 100644 index 00000000..136ae517 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-habitat-detail.ts @@ -0,0 +1,22 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PokemonHabitatName } from './pokemon-habitat-name'; +import { PokemonSpeciesSummary } from './pokemon-species-summary'; + + +export interface PokemonHabitatDetail { + readonly id: number; + name: string; + names: Array; + pokemon_species: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-habitat-name.ts b/webapp/src/app/core/modules/openapi/model/pokemon-habitat-name.ts new file mode 100644 index 00000000..f3e8fbbe --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-habitat-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface PokemonHabitatName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-habitat-summary.ts b/webapp/src/app/core/modules/openapi/model/pokemon-habitat-summary.ts new file mode 100644 index 00000000..0bffd453 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-habitat-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface PokemonHabitatSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-shape-detail-awesome-names-inner.ts b/webapp/src/app/core/modules/openapi/model/pokemon-shape-detail-awesome-names-inner.ts new file mode 100644 index 00000000..30ee6a27 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-shape-detail-awesome-names-inner.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface PokemonShapeDetailAwesomeNamesInner { + awesome_name: string; + language: AbilityDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-shape-detail-names-inner.ts b/webapp/src/app/core/modules/openapi/model/pokemon-shape-detail-names-inner.ts new file mode 100644 index 00000000..e1a8a2a7 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-shape-detail-names-inner.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface PokemonShapeDetailNamesInner { + url: string; + name: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-shape-detail.ts b/webapp/src/app/core/modules/openapi/model/pokemon-shape-detail.ts new file mode 100644 index 00000000..07e312a6 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-shape-detail.ts @@ -0,0 +1,24 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PokemonShapeDetailAwesomeNamesInner } from './pokemon-shape-detail-awesome-names-inner'; +import { PokemonSpeciesSummary } from './pokemon-species-summary'; +import { PokemonShapeDetailNamesInner } from './pokemon-shape-detail-names-inner'; + + +export interface PokemonShapeDetail { + readonly id: number; + name: string; + awesome_names: Array; + names: Array; + pokemon_species: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-shape-summary.ts b/webapp/src/app/core/modules/openapi/model/pokemon-shape-summary.ts new file mode 100644 index 00000000..38ce0c03 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-shape-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface PokemonShapeSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-species-description.ts b/webapp/src/app/core/modules/openapi/model/pokemon-species-description.ts new file mode 100644 index 00000000..5370cea8 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-species-description.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface PokemonSpeciesDescription { + description?: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-species-detail-genera-inner.ts b/webapp/src/app/core/modules/openapi/model/pokemon-species-detail-genera-inner.ts new file mode 100644 index 00000000..e5d89411 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-species-detail-genera-inner.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface PokemonSpeciesDetailGeneraInner { + genus: string; + language: AbilityDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-species-detail-pal-park-encounters-inner.ts b/webapp/src/app/core/modules/openapi/model/pokemon-species-detail-pal-park-encounters-inner.ts new file mode 100644 index 00000000..25124c5e --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-species-detail-pal-park-encounters-inner.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface PokemonSpeciesDetailPalParkEncountersInner { + area: AbilityDetailPokemonInnerPokemon; + base_score: number; + rate: number; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-species-detail-varieties-inner.ts b/webapp/src/app/core/modules/openapi/model/pokemon-species-detail-varieties-inner.ts new file mode 100644 index 00000000..535af2b7 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-species-detail-varieties-inner.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface PokemonSpeciesDetailVarietiesInner { + is_default: boolean; + pokemon: AbilityDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-species-detail.ts b/webapp/src/app/core/modules/openapi/model/pokemon-species-detail.ts new file mode 100644 index 00000000..a52f52bd --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-species-detail.ts @@ -0,0 +1,58 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { PokemonSpeciesDetailPalParkEncountersInner } from './pokemon-species-detail-pal-park-encounters-inner'; +import { PokemonSpeciesDetailVarietiesInner } from './pokemon-species-detail-varieties-inner'; +import { GenerationSummary } from './generation-summary'; +import { PokemonFormDetailFormNamesInner } from './pokemon-form-detail-form-names-inner'; +import { PokemonSpeciesDetailGeneraInner } from './pokemon-species-detail-genera-inner'; +import { PokemonSpeciesDescription } from './pokemon-species-description'; +import { PokemonDexEntry } from './pokemon-dex-entry'; +import { PokemonSpeciesFlavorText } from './pokemon-species-flavor-text'; +import { PokemonColorSummary } from './pokemon-color-summary'; +import { PokemonShapeSummary } from './pokemon-shape-summary'; +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; +import { GrowthRateSummary } from './growth-rate-summary'; +import { PokemonHabitatSummary } from './pokemon-habitat-summary'; +import { EvolutionChainSummary } from './evolution-chain-summary'; +import { PokemonSpeciesSummary } from './pokemon-species-summary'; + + +export interface PokemonSpeciesDetail { + readonly id: number; + name: string; + order?: number | null; + gender_rate?: number | null; + capture_rate?: number | null; + base_happiness?: number | null; + is_baby?: boolean; + is_legendary?: boolean; + is_mythical?: boolean; + hatch_counter?: number | null; + has_gender_differences?: boolean; + forms_switchable?: boolean; + growth_rate: GrowthRateSummary; + pokedex_numbers: Array; + egg_groups: Array; + color: PokemonColorSummary; + shape: PokemonShapeSummary; + evolves_from_species: PokemonSpeciesSummary; + evolution_chain: EvolutionChainSummary; + habitat: PokemonHabitatSummary; + generation: GenerationSummary; + names: Array; + pal_park_encounters: Array; + form_descriptions: Array; + flavor_text_entries: Array; + genera: Array; + varieties: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-species-flavor-text.ts b/webapp/src/app/core/modules/openapi/model/pokemon-species-flavor-text.ts new file mode 100644 index 00000000..411d1fd7 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-species-flavor-text.ts @@ -0,0 +1,21 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; +import { VersionSummary } from './version-summary'; + + +export interface PokemonSpeciesFlavorText { + flavor_text: string; + language: LanguageSummary; + version: VersionSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-species-summary.ts b/webapp/src/app/core/modules/openapi/model/pokemon-species-summary.ts new file mode 100644 index 00000000..e34ea840 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-species-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface PokemonSpeciesSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-stat.ts b/webapp/src/app/core/modules/openapi/model/pokemon-stat.ts new file mode 100644 index 00000000..e3e88d97 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-stat.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { StatSummary } from './stat-summary'; + + +export interface PokemonStat { + base_stat: number; + effort: number; + stat: StatSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/pokemon-summary.ts b/webapp/src/app/core/modules/openapi/model/pokemon-summary.ts new file mode 100644 index 00000000..7cddbf55 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/pokemon-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface PokemonSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/region-detail.ts b/webapp/src/app/core/modules/openapi/model/region-detail.ts new file mode 100644 index 00000000..4e161bed --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/region-detail.ts @@ -0,0 +1,28 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { RegionName } from './region-name'; +import { LocationSummary } from './location-summary'; +import { GenerationSummary } from './generation-summary'; +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; +import { PokedexSummary } from './pokedex-summary'; + + +export interface RegionDetail { + readonly id: number; + name: string; + locations: Array; + readonly main_generation: GenerationSummary; + names: Array; + pokedexes: Array; + version_groups: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/region-name.ts b/webapp/src/app/core/modules/openapi/model/region-name.ts new file mode 100644 index 00000000..0abad482 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/region-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface RegionName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/region-summary.ts b/webapp/src/app/core/modules/openapi/model/region-summary.ts new file mode 100644 index 00000000..a5cc016e --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/region-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface RegionSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/stat-detail-affecting-moves-increase-inner.ts b/webapp/src/app/core/modules/openapi/model/stat-detail-affecting-moves-increase-inner.ts new file mode 100644 index 00000000..026f2fd5 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/stat-detail-affecting-moves-increase-inner.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface StatDetailAffectingMovesIncreaseInner { + change: number; + move: AbilityDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/stat-detail-affecting-moves.ts b/webapp/src/app/core/modules/openapi/model/stat-detail-affecting-moves.ts new file mode 100644 index 00000000..999e526f --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/stat-detail-affecting-moves.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { StatDetailAffectingMovesIncreaseInner } from './stat-detail-affecting-moves-increase-inner'; + + +export interface StatDetailAffectingMoves { + increase: Array; + decrease: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/stat-detail-affecting-natures.ts b/webapp/src/app/core/modules/openapi/model/stat-detail-affecting-natures.ts new file mode 100644 index 00000000..d92017b9 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/stat-detail-affecting-natures.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface StatDetailAffectingNatures { + increase: Array; + decrease: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/stat-detail.ts b/webapp/src/app/core/modules/openapi/model/stat-detail.ts new file mode 100644 index 00000000..25e016b9 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/stat-detail.ts @@ -0,0 +1,30 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { CharacteristicSummary } from './characteristic-summary'; +import { MoveDamageClassSummary } from './move-damage-class-summary'; +import { StatName } from './stat-name'; +import { StatDetailAffectingNatures } from './stat-detail-affecting-natures'; +import { StatDetailAffectingMoves } from './stat-detail-affecting-moves'; + + +export interface StatDetail { + readonly id: number; + name: string; + game_index: number; + is_battle_only?: boolean; + affecting_moves: StatDetailAffectingMoves; + affecting_natures: StatDetailAffectingNatures; + characteristics: Array; + move_damage_class: MoveDamageClassSummary; + names: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/stat-name.ts b/webapp/src/app/core/modules/openapi/model/stat-name.ts new file mode 100644 index 00000000..7c984c7a --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/stat-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface StatName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/stat-summary.ts b/webapp/src/app/core/modules/openapi/model/stat-summary.ts new file mode 100644 index 00000000..f64d0e83 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/stat-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface StatSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/super-contest-effect-detail.ts b/webapp/src/app/core/modules/openapi/model/super-contest-effect-detail.ts new file mode 100644 index 00000000..577d6203 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/super-contest-effect-detail.ts @@ -0,0 +1,22 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { SuperContestEffectFlavorText } from './super-contest-effect-flavor-text'; +import { MoveSummary } from './move-summary'; + + +export interface SuperContestEffectDetail { + readonly id: number; + appeal: number; + flavor_text_entries: Array; + moves: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/super-contest-effect-flavor-text.ts b/webapp/src/app/core/modules/openapi/model/super-contest-effect-flavor-text.ts new file mode 100644 index 00000000..542b4a90 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/super-contest-effect-flavor-text.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface SuperContestEffectFlavorText { + flavor_text: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/super-contest-effect-summary.ts b/webapp/src/app/core/modules/openapi/model/super-contest-effect-summary.ts new file mode 100644 index 00000000..a750641f --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/super-contest-effect-summary.ts @@ -0,0 +1,17 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface SuperContestEffectSummary { + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/type-detail-damage-relations.ts b/webapp/src/app/core/modules/openapi/model/type-detail-damage-relations.ts new file mode 100644 index 00000000..221cee31 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/type-detail-damage-relations.ts @@ -0,0 +1,23 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface TypeDetailDamageRelations { + no_damage_to: Array; + half_damage_to: Array; + double_damage_to: Array; + no_damage_from: Array; + half_damage_from: Array; + double_damage_from: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/type-detail-past-damage-relations-inner-damage-relations.ts b/webapp/src/app/core/modules/openapi/model/type-detail-past-damage-relations-inner-damage-relations.ts new file mode 100644 index 00000000..1de6fb13 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/type-detail-past-damage-relations-inner-damage-relations.ts @@ -0,0 +1,23 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface TypeDetailPastDamageRelationsInnerDamageRelations { + no_damage_to: Array; + half_damage_to: Array; + double_damage_to: Array; + no_damage_from: Array; + half_damage_from: Array; + double_damage_from: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/type-detail-past-damage-relations-inner.ts b/webapp/src/app/core/modules/openapi/model/type-detail-past-damage-relations-inner.ts new file mode 100644 index 00000000..9d56df2a --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/type-detail-past-damage-relations-inner.ts @@ -0,0 +1,20 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { TypeDetailPastDamageRelationsInnerDamageRelations } from './type-detail-past-damage-relations-inner-damage-relations'; +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface TypeDetailPastDamageRelationsInner { + generation: AbilityDetailPokemonInnerPokemon; + damage_relations: TypeDetailPastDamageRelationsInnerDamageRelations; +} + diff --git a/webapp/src/app/core/modules/openapi/model/type-detail-pokemon-inner-pokemon.ts b/webapp/src/app/core/modules/openapi/model/type-detail-pokemon-inner-pokemon.ts new file mode 100644 index 00000000..6d22d9e3 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/type-detail-pokemon-inner-pokemon.ts @@ -0,0 +1,24 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface TypeDetailPokemonInnerPokemon { + /** + * The name of the pokemon + */ + name?: string; + /** + * The URL to get more information about the pokemon + */ + url?: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/type-detail-pokemon-inner.ts b/webapp/src/app/core/modules/openapi/model/type-detail-pokemon-inner.ts new file mode 100644 index 00000000..b0af6c72 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/type-detail-pokemon-inner.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { TypeDetailPokemonInnerPokemon } from './type-detail-pokemon-inner-pokemon'; + + +export interface TypeDetailPokemonInner { + slot?: number; + pokemon?: TypeDetailPokemonInnerPokemon; +} + diff --git a/webapp/src/app/core/modules/openapi/model/type-detail.ts b/webapp/src/app/core/modules/openapi/model/type-detail.ts new file mode 100644 index 00000000..b1246556 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/type-detail.ts @@ -0,0 +1,37 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { TypeDetailDamageRelations } from './type-detail-damage-relations'; +import { TypeGameIndex } from './type-game-index'; +import { MoveDamageClassSummary } from './move-damage-class-summary'; +import { MoveSummary } from './move-summary'; +import { AbilityName } from './ability-name'; +import { GenerationSummary } from './generation-summary'; +import { TypeDetailPastDamageRelationsInner } from './type-detail-past-damage-relations-inner'; +import { TypeDetailPokemonInner } from './type-detail-pokemon-inner'; + + +/** + * Serializer for the Type resource + */ +export interface TypeDetail { + readonly id: number; + name: string; + damage_relations: TypeDetailDamageRelations; + past_damage_relations: Array; + game_indices: Array; + generation: GenerationSummary; + move_damage_class: MoveDamageClassSummary; + names: Array; + pokemon: Array; + moves: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/type-game-index.ts b/webapp/src/app/core/modules/openapi/model/type-game-index.ts new file mode 100644 index 00000000..239dc272 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/type-game-index.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { GenerationSummary } from './generation-summary'; + + +export interface TypeGameIndex { + game_index: number; + generation: GenerationSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/type-summary.ts b/webapp/src/app/core/modules/openapi/model/type-summary.ts new file mode 100644 index 00000000..122cd2d0 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/type-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface TypeSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/version-detail.ts b/webapp/src/app/core/modules/openapi/model/version-detail.ts new file mode 100644 index 00000000..9c31c0da --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/version-detail.ts @@ -0,0 +1,25 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { VersionGroupSummary } from './version-group-summary'; +import { VersionName } from './version-name'; + + +/** + * Should have a link to Version Group info but the Circular dependency and compilation order fight eachother and I\'m not sure how to add anything other than a hyperlink + */ +export interface VersionDetail { + readonly id: number; + name: string; + names: Array; + version_group: VersionGroupSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/version-group-detail.ts b/webapp/src/app/core/modules/openapi/model/version-group-detail.ts new file mode 100644 index 00000000..b2d58f23 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/version-group-detail.ts @@ -0,0 +1,27 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { GenerationSummary } from './generation-summary'; +import { VersionSummary } from './version-summary'; +import { AbilityDetailPokemonInnerPokemon } from './ability-detail-pokemon-inner-pokemon'; + + +export interface VersionGroupDetail { + readonly id: number; + name: string; + order?: number | null; + generation: GenerationSummary; + move_learn_methods: Array; + pokedexes: Array; + regions: Array; + versions: Array; +} + diff --git a/webapp/src/app/core/modules/openapi/model/version-group-summary.ts b/webapp/src/app/core/modules/openapi/model/version-group-summary.ts new file mode 100644 index 00000000..e1795669 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/version-group-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface VersionGroupSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/model/version-name.ts b/webapp/src/app/core/modules/openapi/model/version-name.ts new file mode 100644 index 00000000..a91944ce --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/version-name.ts @@ -0,0 +1,19 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { LanguageSummary } from './language-summary'; + + +export interface VersionName { + name: string; + language: LanguageSummary; +} + diff --git a/webapp/src/app/core/modules/openapi/model/version-summary.ts b/webapp/src/app/core/modules/openapi/model/version-summary.ts new file mode 100644 index 00000000..1d41e47d --- /dev/null +++ b/webapp/src/app/core/modules/openapi/model/version-summary.ts @@ -0,0 +1,18 @@ +/** + * PokéAPI + * All the Pokémon data you\'ll ever need in one place, easily accessible through a modern free open-source RESTful API. ## What is this? This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series. We\'ve covered everything from Pokémon to Berry Flavors. ## Where do I start? We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started. This API will always be publicly available and will never require any extensive setup process to consume. Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo. + * + * The version of the OpenAPI document: 2.7.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface VersionSummary { + name: string; + readonly url: string; +} + diff --git a/webapp/src/app/core/modules/openapi/param.ts b/webapp/src/app/core/modules/openapi/param.ts new file mode 100644 index 00000000..78a2d20a --- /dev/null +++ b/webapp/src/app/core/modules/openapi/param.ts @@ -0,0 +1,69 @@ +/** + * Standard parameter styles defined by OpenAPI spec + */ +export type StandardParamStyle = + | 'matrix' + | 'label' + | 'form' + | 'simple' + | 'spaceDelimited' + | 'pipeDelimited' + | 'deepObject' + ; + +/** + * The OpenAPI standard {@link StandardParamStyle}s may be extended by custom styles by the user. + */ +export type ParamStyle = StandardParamStyle | string; + +/** + * Standard parameter locations defined by OpenAPI spec + */ +export type ParamLocation = 'query' | 'header' | 'path' | 'cookie'; + +/** + * Standard types as defined in OpenAPI Specification: Data Types + */ +export type StandardDataType = + | "integer" + | "number" + | "boolean" + | "string" + | "object" + | "array" + ; + +/** + * Standard {@link DataType}s plus your own types/classes. + */ +export type DataType = StandardDataType | string; + +/** + * Standard formats as defined in OpenAPI Specification: Data Types + */ +export type StandardDataFormat = + | "int32" + | "int64" + | "float" + | "double" + | "byte" + | "binary" + | "date" + | "date-time" + | "password" + ; + +export type DataFormat = StandardDataFormat | string; + +/** + * The parameter to encode. + */ +export interface Param { + name: string; + value: unknown; + in: ParamLocation; + style: ParamStyle, + explode: boolean; + dataType: DataType; + dataFormat: DataFormat | undefined; +} diff --git a/webapp/src/app/core/modules/openapi/variables.ts b/webapp/src/app/core/modules/openapi/variables.ts new file mode 100644 index 00000000..6fe58549 --- /dev/null +++ b/webapp/src/app/core/modules/openapi/variables.ts @@ -0,0 +1,9 @@ +import { InjectionToken } from '@angular/core'; + +export const BASE_PATH = new InjectionToken('basePath'); +export const COLLECTION_FORMATS = { + 'csv': ',', + 'tsv': ' ', + 'ssv': ' ', + 'pipes': '|' +} diff --git a/webapp/src/app/example/counter/counter.component.html b/webapp/src/app/example/counter/counter.component.html new file mode 100644 index 00000000..146af5b1 --- /dev/null +++ b/webapp/src/app/example/counter/counter.component.html @@ -0,0 +1,17 @@ +
+

Counter Title: {{title()}}

+

Value: {{counter()}}

+

HexValue: {{hexCounter()}}

+ +

History

+
+ @for (item of counterHistory(); track item.dec) { + {{ item.dec }} + } +
+
\ No newline at end of file diff --git a/webapp/src/app/example/counter/counter.component.ts b/webapp/src/app/example/counter/counter.component.ts new file mode 100644 index 00000000..9b648704 --- /dev/null +++ b/webapp/src/app/example/counter/counter.component.ts @@ -0,0 +1,63 @@ +import { Component, computed, effect, input, signal } from '@angular/core'; +import { counter } from './counter'; + +interface CounterHistoryEntry { + dec: number; + hex: string; +} + +@Component({ + selector: 'counter', + standalone: true, + templateUrl: './counter.component.html', +}) +export class CounterComponent { + // we put all our application data inside signals! -> most optimal change detection and re-rendering possible + + // Input signal `input` without required is also possible but then it is `string | undefined` + title = input.required(); + byCount = input(1); + + counter = counter; // We can share signals imported from file + + hexCounter = computed(() => { + // Pitfall: conditional logic inside computed + // When calling computed initially the dependency signal has to be called, otherwise it will not work + return this.counter().toString(16); + }) + + counterHistory = signal([{ dec: 0, hex: "0" }]) + + constructor() { + console.log(`counter value: ${this.counter()}`); + + // `effect`s goes in constructor (?) + // `effectRef` is not necessary, only if needed + // Runs once when the effect is declared to collect dependencies, and again when they change + const effectRef = effect((onCleanup) => { + const currentCount = this.counter(); + const currentHexCount = this.hexCounter(); + + console.log(`current values: ${currentCount}, ${currentHexCount}`); + + // By default we cannot change signals within an `effect` -> would cause an infinite loop + + onCleanup(() => { + console.log('Perform cleanup action here'); + }) + }) + + // effectRef.destroy() at any time! Usually not necessary + + // Readonly Example: (for when to expose something that should not be changed by someone else) + // readonly counter = this.counterSignal.asReadonly(); + } + + increment() { + console.log('Updating counter...'); + this.counter.update(counter => counter + this.byCount()); + + // Update values of a signal only through Signals API, e.g.`set()` and `update()`, not directly (i.e. `push()`) + this.counterHistory.update(history => [...history, { dec: this.counter(), hex: this.hexCounter() }]) + } +} diff --git a/webapp/src/app/example/counter/counter.ts b/webapp/src/app/example/counter/counter.ts new file mode 100644 index 00000000..a16ed0a6 --- /dev/null +++ b/webapp/src/app/example/counter/counter.ts @@ -0,0 +1,26 @@ +import { signal } from "@angular/core"; + +export const counter = signal(0); + +// While global state is possible, this is a good alternative: +// @Injectable({ +// providedIn: "root", +// }) +// export class CounterService { +// +// // this is the private writeable signal +// private counterSignal = signal(0); +// +// // this is the public read-only signal +// readonly counter = this.counterSignal.asReadonly(); +// +// constructor() { +// // inject any dependencies you need here +// } +// +// // anyone needing to modify the signal +// // needs to do so in a controlled way +// incrementCounter() { +// this.counterSignal.update((val) => val + 1); +// } +// } \ No newline at end of file diff --git a/webapp/src/app/example/pokemon/pokemon.component.html b/webapp/src/app/example/pokemon/pokemon.component.html new file mode 100644 index 00000000..71b0e57e --- /dev/null +++ b/webapp/src/app/example/pokemon/pokemon.component.html @@ -0,0 +1,28 @@ + +
+ + +
+ + +@if (query.isPending()) { + Loading... +} @else if (query.error()) { + An error has occurred: {{ query.error()?.message }} +} + +@if (query.data(); as pokemon) { +
+

ID: {{pokemon.id }}

+

Name: {{pokemon.name }}

+ @if (query.isFetching()) { +

Updating...

+ } +
+} + + \ No newline at end of file diff --git a/webapp/src/app/example/pokemon/pokemon.component.ts b/webapp/src/app/example/pokemon/pokemon.component.ts new file mode 100644 index 00000000..001fcc99 --- /dev/null +++ b/webapp/src/app/example/pokemon/pokemon.component.ts @@ -0,0 +1,36 @@ +import { Component, inject, signal } from '@angular/core'; +import { PokemonService } from '../../core/modules/openapi'; +import { injectQuery, injectQueryClient } from '@tanstack/angular-query-experimental'; +import { AngularQueryDevtools } from '@tanstack/angular-query-devtools-experimental' +import { fromEvent, lastValueFrom } from 'rxjs'; + +@Component({ + selector: 'pokemon', + standalone: true, + imports: [AngularQueryDevtools], + templateUrl: './pokemon.component.html' +}) +export class PokemonComponent { + #pokemonService = inject(PokemonService) + queryClient = injectQueryClient() + + pokemonId = signal(0); + + query = injectQuery(() => ({ + enabled: this.pokemonId() > 0, + queryKey: ['pokemon', this.pokemonId()], + queryFn: async (context) => { + // Cancels the request when component is destroyed before the request finishes + const abort$ = fromEvent(context.signal, 'abort') + return lastValueFrom(this.#pokemonService.pokemonRetrieve(this.pokemonId().toString())) + }, + })) + + incrementId() { + this.pokemonId.update(id => id + 1); + } + + decrementId() { + this.pokemonId.update(id => id - 1); + } +} \ No newline at end of file diff --git a/webapp/src/index.html b/webapp/src/index.html new file mode 100644 index 00000000..c4c981e0 --- /dev/null +++ b/webapp/src/index.html @@ -0,0 +1,13 @@ + + + + + Hephaestus + + + + + + + + diff --git a/webapp/src/main.ts b/webapp/src/main.ts new file mode 100644 index 00000000..35b00f34 --- /dev/null +++ b/webapp/src/main.ts @@ -0,0 +1,6 @@ +import { bootstrapApplication } from '@angular/platform-browser'; +import { appConfig } from './app/app.config'; +import { AppComponent } from './app/app.component'; + +bootstrapApplication(AppComponent, appConfig) + .catch((err) => console.error(err)); diff --git a/webapp/src/styles.css b/webapp/src/styles.css new file mode 100644 index 00000000..bd6213e1 --- /dev/null +++ b/webapp/src/styles.css @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; \ No newline at end of file diff --git a/webapp/tailwind.config.js b/webapp/tailwind.config.js new file mode 100644 index 00000000..6fd21460 --- /dev/null +++ b/webapp/tailwind.config.js @@ -0,0 +1,9 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: [__dirname + '/src/**/*.{html,ts}'], + theme: { + extend: {}, + }, + plugins: [], +} + diff --git a/webapp/tsconfig.app.json b/webapp/tsconfig.app.json new file mode 100644 index 00000000..3775b37e --- /dev/null +++ b/webapp/tsconfig.app.json @@ -0,0 +1,15 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "files": [ + "src/main.ts" + ], + "include": [ + "src/**/*.d.ts" + ] +} diff --git a/webapp/tsconfig.json b/webapp/tsconfig.json new file mode 100644 index 00000000..a9ae8b06 --- /dev/null +++ b/webapp/tsconfig.json @@ -0,0 +1,32 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "compileOnSave": false, + "compilerOptions": { + "outDir": "./dist/out-tsc", + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "esModuleInterop": true, + "sourceMap": true, + "declaration": false, + "experimentalDecorators": true, + "moduleResolution": "bundler", + "importHelpers": true, + "target": "ES2022", + "module": "ES2022", + "lib": [ + "ES2022", + "dom" + ] + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } +} diff --git a/webapp/tsconfig.spec.json b/webapp/tsconfig.spec.json new file mode 100644 index 00000000..5fb748d9 --- /dev/null +++ b/webapp/tsconfig.spec.json @@ -0,0 +1,15 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": [ + "jasmine" + ] + }, + "include": [ + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] +}