1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
use ;
use ;
use cratePagination;
/// Wraps API responses which have the single field `data`.
///
/// This type dereferences to the inner `T` in the field `data`. [`Client`]
/// methods that make calls to endpoints returning this type will unwrap the
/// contents and return the value of `data` directly.
///
/// | [`Client`] Methods | API Reference |
/// | ----------------------------- | ---------------------------- |
/// | [`game`] | [Get Game Response] |
/// | [`game_versions`] | [Get Versions Response] |
/// | [`game_version_types`] | [Get Version Types Response] |
/// | [`categories`] | [Get Categories Response] |
/// | [`project`] | [Get Mod Response] |
/// | [`projects`] | [Get Mods Response] |
/// | [`featured_projects`] | [Get Featured Mods Response] |
/// | [`project_description`] | [String Response] |
/// | [`project_file`] | [Get Mod File Response] |
/// | [`project_files_by_ids`] | [Get Files Response] |
/// | [`project_file_changelog`] | [String Response] |
/// | [`project_file_download_url`] | [String Response] |
///
/// [`Client`]: crate::official::client::Client
/// [`game`]: crate::official::client::Client::game
/// [`game_versions`]: crate::official::client::Client::game_versions
/// [`game_version_types`]: crate::official::client::Client::game_version_types
/// [`categories`]: crate::official::client::Client::categories
/// [`project`]: crate::official::client::Client::project
/// [`projects`]: crate::official::client::Client::projects
/// [`featured_projects`]: crate::official::client::Client::featured_projects
/// [`project_description`]: crate::official::client::Client::project_description
/// [`project_file`]: crate::official::client::Client::project_file
/// [`project_files_by_ids`]: crate::official::client::Client::project_files_by_ids
/// [`project_file_changelog`]: crate::official::client::Client::project_file_changelog
/// [`project_file_download_url`]: crate::official::client::Client::project_file_download_url
///
/// [Get Game response]: https://docs.curseforge.com/#tocS_Get%20Game%20Response
/// [Get Versions Response]: https://docs.curseforge.com/#tocS_Get%20Versions%20Response
/// [Get Version Types Response]: https://docs.curseforge.com/#tocS_Get%20Version%20Types%20Response
/// [Get Categories Response]: https://docs.curseforge.com/#tocS_Get%20Categories%20Response
/// [Get Mod Response]: https://docs.curseforge.com/#tocS_Get%20Mod%20Response
/// [Get Mods Response]: https://docs.curseforge.com/#tocS_Get%20Mods%20Response
/// [Get Featured Mods Response]: https://docs.curseforge.com/#tocS_Get%20Featured%20Mods%20Response
/// [Get Mod File Response]: https://docs.curseforge.com/#tocS_Get%20Mod%20File%20Response
/// [Get Files Response]: https://docs.curseforge.com/#tocS_Get%20Files%20Response
/// [String Response]: https://docs.curseforge.com/#tocS_String%20Response
/// Wraps API responses which have the fields `data` and `pagination`.
///
/// This type dereferences to the inner `Vec<T>` in the field `data`.
/// Generally, it is recommended to use methods that end with `_iter` rather
/// than those that return this type directly, as pagination over the results
/// can be tricky to get right.
///
/// | [`Client`] Methods | API Reference |
/// | ------------------------ | ------------------------ |
/// | [`games`] | [Get Games Response] |
/// | [`games_iter`] | [Get Games Response] |
/// | [`search_projects`] | [Search Mods Response] |
/// | [`search_projects_iter`] | [Search Mods Response] |
/// | [`project_files`] | [Get Mod Files Response] |
/// | [`project_files_iter`] | [Get Mod Files Response] |
///
/// [`Client`]: crate::official::client::Client
/// [`games`]: crate::official::client::Client::games
/// [`games_iter`]: crate::official::client::Client::games_iter
/// [`search_projects`]: crate::official::client::Client::search_projects
/// [`search_projects_iter`]: crate::official::client::Client::search_projects_iter
/// [`project_files`]: crate::official::client::Client::project_files
/// [`project_files_iter`]: crate::official::client::Client::project_files_iter
///
/// [Get Games Response]: https://docs.curseforge.com/#tocS_Get%20Games%20Response
/// [Search Mods Response]: https://docs.curseforge.com/#tocS_Search%20Mods%20Response
/// [Get Mod Files Response]: https://docs.curseforge.com/#tocS_Get%20Mod%20Files%20Response
/// This type is a pair of a response's body bytes and the deserialized value.
/// It usually wraps a [`DataResponse`] or a [`PaginatedDataResponse`], for
/// instance when returned from a method in [`crate::official::endpoints`]. In
/// these cases, use the [`ApiDataResult`] and [`ApiPageResult`] aliases.
/// See the documentation for [`ApiResponse`].
pub type ApiDataResult<T> = ;
/// See the documentation for [`ApiResponse`].
pub type ApiPageResult<T> = ;