eve-esi-types 3.2.0 → 3.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,18 +2,33 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
- ## [3.2.0] - 2025-4-17
5
+ ## [3.2.2] - 2025-04-21
6
6
 
7
- ### Added
8
- - New experimental utility type `InferNextEndpoint` (beta).
7
+ ### 🚜 Refactor
8
+
9
+ - *(types)* Make `NoContentResponse` a branded type
10
+ - Move experimental types to experimental-esi-types.d.ts
11
+
12
+ ### ⚙️ Miscellaneous Tasks
9
13
 
10
- ### Changed
11
- - Until now, DTS files were written for each method and endpoint,
12
- but from this version, DTS files are written collectively by "tag".
14
+ - Bump version to v3.2.2
15
+
16
+ ## [3.2.1] - 2025-04-19
17
+
18
+ ### 🐛 Bug Fixes
19
+
20
+ - Package.json "files"
21
+
22
+ ### 🚜 Refactor
23
+
24
+ - *(types)* Consolidate redundant type definitions
25
+ - *(types)* Improve clarity and validation in endpoint utility types
26
+
27
+ ### ⚙️ Miscellaneous Tasks
13
28
 
14
- ### Maintenance
15
- - Confirmed removal of the unused "opportunities" ESI endpoint, as per official deprecation notice.
29
+ - *(release)* V3.2.1
16
30
 
31
+ ## [3.2.0] - 2025-04-16
17
32
 
18
33
  ### ⚙️ Miscellaneous Tasks
19
34
 
@@ -142,7 +157,10 @@ All notable changes to this project will be documented in this file.
142
157
 
143
158
  ### ⚙️ Miscellaneous Tasks
144
159
 
160
+ - Jsdoc etc
161
+ - Move files
145
162
  - Jsdoc of `initOptions`, refactor `injectESIRequestBody`
163
+ - Jsdoc
146
164
  - ESITagsWithMethodList -> ESITagMethodMapping
147
165
  - Apply `Object.freeze` to result of `injectESIRequestBody`
148
166
  - *(release)* V2.3.4 release
@@ -180,3 +198,4 @@ All notable changes to this project will be documented in this file.
180
198
 
181
199
  - Remove non-functional bookmarks endpoints in ESI
182
200
 
201
+ <!-- generated by git-cliff -->
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eve-esi-types",
3
- "version": "3.2.0",
3
+ "version": "3.2.2",
4
4
  "description": "Extracted the main type of ESI. use for ESI request response types (version 2 only)",
5
5
  "main": "v2/index.d.ts",
6
6
  "scripts": {
@@ -9,7 +9,7 @@
9
9
  * THIS DTS IS AUTO GENERATED, DO NOT EDIT
10
10
  *
11
11
  * @file eve-esi-types/v2/esi-tagged-types.d.ts
12
- * @summary This file is auto-generated and defines version 3.2.0 of the EVE Online ESI response types.
12
+ * @summary This file is auto-generated and defines version 3.2.2 of the EVE Online ESI response types.
13
13
  */
14
14
  import type { TESIResponseOKMap } from "./index.d.ts";
15
15
  export type * from "./index.d.ts";
@@ -0,0 +1,287 @@
1
+ /*!
2
+ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
3
+ // Copyright (C) 2025 jeffy-g <hirotom1107@gmail.com>
4
+ // Released under the MIT license
5
+ // https://opensource.org/licenses/mit-license.php
6
+ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
7
+ */
8
+ /**
9
+ * THIS DTS IS AUTO GENERATED, DO NOT EDIT
10
+ *
11
+ * @file eve-esi-types/v2/experimental-esi-types.d.ts
12
+ * @summary This file is auto-generated and defines version 3.2.2 of the EVE Online ESI response types.
13
+ */
14
+ import type { _ESIResponseType, PickPathParameters, UnionToTuple, Split } from "./index.d.ts";
15
+
16
+ /**
17
+ * Infers the response result type of an ESI endpoint based on a union of HTTP method and endpoint.
18
+ *
19
+ * This utility type takes an endpoint union (`EPU`) in the format `${TESIEntryMethod}:${ESIEndpointAll}`
20
+ * and infers the response result type from the corresponding ESI response map.
21
+ *
22
+ * @template EPU - A union of HTTP method and endpoint in the format `${TESIEntryMethod}:${ESIEndpointAll}`.
23
+ *
24
+ * @remarks
25
+ * This type uses advanced TypeScript features such as template literal types and conditional types
26
+ * to infer the response result type of a given ESI endpoint.
27
+ *
28
+ * @example
29
+ * ``` ts
30
+ * type ResponseResult = InferESIResponseResultFromUnion<"get:/characters/{character_id}/">;
31
+ * // Result: The inferred response result type for the given method and endpoint.
32
+ * ```
33
+ */
34
+ export type InferESIResponseResultFromUnion<
35
+ EP extends unknown
36
+ // EP extends ESIEndpointUnions
37
+ > = EP extends `${infer M}:${infer EPRest}`
38
+ /* ctt
39
+ ? M extends TESIEntryMethod
40
+ ? EPRest extends ESIEndpointOf<M>
41
+ ? _ESIResponseType<M, EPRest> extends { result: infer U }
42
+ ? U : never
43
+ : never
44
+ : never
45
+ : never;
46
+ /*/
47
+ ? EPRest extends (
48
+ M extends TESIEntryMethod ? ESIEndpointOf<M> : never
49
+ )
50
+ ? _ESIResponseType<M, EPRest> extends { result: infer U }
51
+ ? U : never
52
+ : never
53
+ : never;
54
+ //*/
55
+
56
+ // - - - - - - - - - - - - - - - - - - - - - - - - - -
57
+ // Next Endpoint
58
+ // - - - - - - - - - - - - - - - - - - - - - - - - - -
59
+ /**
60
+ * @experimental
61
+ *
62
+ * Resolves the next applicable ESI endpoint based on the current endpoint and its response type.
63
+ *
64
+ * This utility type determines which endpoints can be chained after the current endpoint (`EP`),
65
+ * based on the response type (`BaseResut`) and the URL pattern of potential next endpoints.
66
+ *
67
+ * @template M - The HTTP method type (e.g., "get", "post", etc.), which must extend `TESIEntryMethod`.
68
+ * @template EP - The current ESI endpoint under inspection; it extends `ESIEndpointOf<M>`.
69
+ * @template BaseResut - Defaults to `InferESIResponseResult<M, EP>`; it is the inferred response result of the endpoint.
70
+ * @template Endpoints - Defaults to `ESIEndpointOf<M>`; represents the union of all endpoints for method `M` to be considered as potential next endpoints.
71
+ *
72
+ * @remarks
73
+ * This type uses advanced TypeScript features such as conditional types, template literal types, and type inference
74
+ * to perform endpoint validation and chaining.
75
+ *
76
+ * @example
77
+ * ```ts
78
+ * type NextEndpoint = ResolveNextEndpoint<"get", "/universe/graphics/">;
79
+ * // Result: Union of endpoints like "/universe/graphics/{graphic_id}/" if they match the template and response type constraint.
80
+ * ```
81
+ */
82
+ export type ResolveNextEndpoint<
83
+ M extends TESIEntryMethod,
84
+ EP extends Exclude<ESIEndpointOf<M>, symbol> = Exclude<ESIEndpointOf<M>, symbol>,
85
+ BaseResut extends InferESIResponseResult<M, EP> = InferESIResponseResult<M, EP>,
86
+ // Endpoints extends ESIEndpointAll = ESIEndpointAll,
87
+ Endpoints extends ESIEndpointOf<M> = ESIEndpointOf<M>,
88
+ > = {
89
+ [NextEP in Endpoints]: NextEP extends `${EP}${string}{${string}}/${string}`
90
+ ? ValidateNextEndpoint<BaseResut, NextEP> extends 1
91
+ ? NextEP : never
92
+ // ? [EP, NextEP, BaseResut] : never
93
+ : never;
94
+ }[Endpoints];
95
+
96
+ /**
97
+ * Resolves the next applicable ESI endpoint based on a union of HTTP method and endpoint.
98
+ *
99
+ * This utility type determines which endpoints can be chained after the current endpoint (`EP`),
100
+ * based on the response type (`BaseResut`) and the URL pattern of potential next endpoints.
101
+ *
102
+ * @template EPU - A union of HTTP method and endpoint in the format `${TESIEntryMethod}:${ESIEndpointAll}`.
103
+ * @template M - The HTTP method extracted from `EPU`.
104
+ * @template EP - The current endpoint extracted from `EPU`.
105
+ * @template BaseResut - The inferred response result of the endpoint.
106
+ * @template Endpoints - The union of all endpoints for the given method.
107
+ *
108
+ * @remarks
109
+ * This type uses advanced TypeScript features such as conditional types and template literal types
110
+ * to infer the next valid endpoint based on the current endpoint and its response type.
111
+ *
112
+ * @example
113
+ * ``` ts
114
+ * type NextEndpoint = ResolveNextEndpointFromUnion<"get:/universe/graphics/">;
115
+ * // Result: Union of endpoints like "/universe/graphics/{graphic_id}/" if they match the template and response type constraint.
116
+ * ```
117
+ */
118
+ export type ResolveNextEndpointFromUnion<
119
+ EPU extends ESIEndpointUnions,
120
+ SplitM_EP = Split<EPU>,
121
+ M extends TESIEntryMethod = SplitM_EP[0],
122
+ EP extends Exclude<ESIEndpointOf<M>, symbol> = SplitM_EP[1],
123
+ BaseResut extends InferESIResponseResult<M, EP> = InferESIResponseResult<M, EP>,
124
+ Endpoints extends ESIEndpointOf<M> = ESIEndpointOf<M>,
125
+ > = {
126
+ [NextEP in Endpoints]: NextEP extends `${EP}${string}{${string}}/${string}`
127
+ ? ValidateNextEndpoint<BaseResut, NextEP> extends 1
128
+ ? NextEP : never
129
+ // ? [EP, NextEP, BaseResut] : never
130
+ : never;
131
+ }[Endpoints];
132
+
133
+ /**
134
+ * Validates whether a given endpoint can be the next endpoint in a chain based on the response type of the current endpoint.
135
+ *
136
+ * This utility type checks if the response type (`Entry`) of the current endpoint satisfies the requirements
137
+ * for the next endpoint (`NextEP`), such as having the necessary path parameters.
138
+ *
139
+ * @template BaseResut - The response type of the current endpoint (e.g., `number[]` or an array of objects).
140
+ * @template NextEP - The next endpoint to validate.
141
+ * @template Debug - Optional debug flag; if set to `1`, additional debug information is returned.
142
+ *
143
+ * @remarks
144
+ * This type assumes that if the response type is `number[]`, the next endpoint is always valid. For object arrays,
145
+ * it checks if the required path parameters can be inferred from the response type.
146
+ *
147
+ * ```ts
148
+ * type IsValid = ValidateNextEndpoint<GetCharactersCharacterIdMailOk, "/characters/{character_id}/mail/{mail_id}/">;
149
+ * // or
150
+ * type IsValid = ValidateNextEndpoint<GetCharactersCharacterIdMail_200Ok[], "/characters/{character_id}/mail/{mail_id}/">;
151
+ * // Result: 1 if valid, 0 otherwise.
152
+ * ```
153
+ */
154
+ export type ValidateNextEndpoint<
155
+ BaseResut extends unknown, // number[] or SomeType[]
156
+ NextEP extends string,
157
+ Debug = 0,
158
+ > =
159
+ // If it is simply a number[], it is unconditionally assumed that there is a next endpoint.
160
+ BaseResut extends number[] ? 1 : ValidateEndpointParamsInArray<BaseResut, NextEP, Debug>;
161
+
162
+ /**
163
+ * Validates whether the elements of an object array satisfy the path parameter requirements
164
+ * for a given endpoint.
165
+ *
166
+ * @template BaseResut - The response type of the current endpoint (e.g., an array of objects).
167
+ * @template NextEP - The next endpoint to validate.
168
+ * @template Debug - Optional debug flag; if set to `1`, additional debug information is returned.
169
+ * @template PathParams - Defaults to `UnionToTuple<PickPathParameters<NextEP>>`; represents the path parameters of the next endpoint.
170
+ *
171
+ * @remarks
172
+ * This type assumes that if the response type is an array of objects, it checks whether the required
173
+ * path parameters can be inferred from the properties of the objects in the array.
174
+ *
175
+ * @example
176
+ * ```ts
177
+ * type IsValid = ValidateEndpointParamsInArray<GetCharactersCharacterIdMailOk, "/characters/{character_id}/mail/{mail_id}/">;
178
+ * // or
179
+ * type IsValid = ValidateEndpointParamsInArray<GetCharactersCharacterIdMail_200Ok[], "/characters/{character_id}/mail/{mail_id}/">;
180
+ * // Result: 1 if valid, 0 otherwise.
181
+ * ```
182
+ */
183
+ type ValidateEndpointParamsInArray<
184
+ BaseResut extends unknown, // SomeType[]
185
+ NextEP extends string,
186
+ Debug = 0,
187
+ PathParams = UnionToTuple<PickPathParameters<NextEP>>,
188
+ > = BaseResut extends (infer O)[]
189
+ ? NonNullable<O[PathParams[1]]> extends number
190
+ ? Debug extends 1 // development
191
+ ? [O, PathParams] : 1
192
+ : 0
193
+ : 0;
194
+
195
+ /**
196
+ * `ResolveNextEndpointLoos` is a utility type that infers the next endpoint based on the current endpoint and method.
197
+ *
198
+ * DONE: 2025/4/11 15:45:01
199
+ * ``` jsonc
200
+ * // Infer the next parameterized endpoint to request from the EP
201
+ * // Does not validate the EP result, just infers the next endpoint to request
202
+ * ```
203
+ *
204
+ * @template M - The HTTP method to use for the request.
205
+ * @template EP - The endpoint from which the next parameterized endpoint to request is inferred.
206
+ * @template Endpoints - The possible endpoints for the given method.
207
+ *
208
+ * ```ts
209
+ * type NextEndpoint = ResolveNextEndpointLoos<"get", "/markets/groups/">;
210
+ * // Result: "/markets/groups/{market_group_id}/"
211
+ * ```
212
+ * @remarks
213
+ * This type is useful for chaining requests or determining the next endpoint to call based on the current endpoint.
214
+ * It does not validate the response type of the endpoint, only the URL pattern.
215
+ */
216
+ export type ResolveNextEndpointLoos<
217
+ M extends TESIEntryMethod,
218
+ //* ctt
219
+ // DEVNOTE: As it turns out, the behavior of this utility type is broken unless you use the "skipLibCheck=true".
220
+ EP extends ESIEndpointOf<M> = ESIEndpointOf<M>,
221
+ Endpoints extends ESIEndpointOf<M> = ESIEndpointOf<M>,
222
+ /*/
223
+ // This fix is required for skipLibCheck=false
224
+ EP extends Exclude<ESIEndpointOf<M>, symbol> = Exclude<ESIEndpointOf<M>, symbol>,
225
+ Endpoints extends Exclude<ESIEndpointOf<M>, symbol> = Exclude<ESIEndpointOf<M>, symbol>,
226
+ //*/
227
+ > = {
228
+ [NextEP in Endpoints]: NextEP extends `${EP}{${string}}${string}` ? NextEP : never
229
+ }[Endpoints];
230
+
231
+ /**
232
+ * @see For the meaning of this type of comment trick, see {@link ResolveNextEndpointLoos} line comment.
233
+ */
234
+ export type ESIEndpointUnions = {
235
+ [M in TESIEntryMethod]: `${M}:${
236
+ //* ctt
237
+ ESIEndpointOf<M>
238
+ /*/
239
+ Exclude<ESIEndpointOf<M>, symbol>
240
+ //*/
241
+ }`;
242
+ }[TESIEntryMethod];
243
+
244
+
245
+ // - - - - - - - - - - - - - - - - - - - - - - - - - -
246
+ // Filter Endpoint
247
+ // - - - - - - - - - - - - - - - - - - - - - - - - - -
248
+ /**
249
+ * Filters ESI endpoints based on the response type.
250
+ *
251
+ * This utility type iterates over all ESI endpoint unions (`ESIEndpointUnions`) and checks
252
+ * if the inferred response type (`InferESIResponseResultEX<EPU>`) matches the specified type `T`.
253
+ * If it matches, the endpoint is included; otherwise, it is excluded.
254
+ *
255
+ * @template T - The response type to filter endpoints by.
256
+ *
257
+ * @example
258
+ * ``` ts
259
+ * type NumberEndpoints = FilterEndpointUnionsByResponse<number>;
260
+ * // Result: Union of endpoints whose response type is `number`.
261
+ * ```
262
+ */
263
+ export type FilterEndpointUnionsByResponse<T> = {
264
+ [EPU in ESIEndpointUnions]: InferESIResponseResultFromUnion<EPU> extends T ? EPU : never;
265
+ }[ESIEndpointUnions];
266
+
267
+ /**
268
+ * Extracts valid next ESI endpoints from a filtered list of endpoints.
269
+ *
270
+ * This utility type iterates over a list of filtered endpoints (`EPUs`) and applies
271
+ * `ResolveNextEndpoint2` to determine if the endpoint is valid. If valid, the endpoint
272
+ * is included in the result; otherwise, it is excluded.
273
+ *
274
+ * @template EPUs - The list of filtered endpoints to process.
275
+ *
276
+ * @example
277
+ * ``` ts
278
+ * type ValidEndpoints = ExtractValidNextEndpoints<FilterEndpointsByResponse<number[]>>;
279
+ * // Result: Union of valid next endpoints.
280
+ * ```
281
+ */
282
+ export type ExtractValidNextEndpoints<
283
+ T = number[], EPUs = FilterEndpointUnionsByResponse<T>
284
+ > = {
285
+ [EPU in EPUs]: ResolveNextEndpointFromUnion<EPU>;
286
+ // [EPU in EPUs]: ResolveNextEndpointFromUnion<EPU> extends never ? never : EPU;
287
+ }[EPUs];
@@ -760,10 +760,11 @@ interface GetCharactersCharacterIdPortraitOk {
760
760
  /*!
761
761
  * ESI endpoint: get:/characters/{character_id}/roles/
762
762
  */
763
+
763
764
  /**
764
765
  * role string
765
766
  */
766
- type GetCharactersCharacterIdRolesRole =
767
+ type __CharacterRole =
767
768
  | "Account_Take_1"
768
769
  | "Account_Take_2"
769
770
  | "Account_Take_3"
@@ -818,213 +819,46 @@ type GetCharactersCharacterIdRolesRole =
818
819
  | "Starbase_Fuel_Technician"
819
820
  | "Station_Manager"
820
821
  | "Trader";
822
+
821
823
  /**
822
824
  * roles array
823
825
  *
824
826
  * @maxItems 100
825
827
  */
826
- type GetCharactersCharacterIdRolesRoles = GetCharactersCharacterIdRolesRole[];
827
- /**
828
- * roles_at_base string
829
- */
830
- type GetCharactersCharacterIdRolesRolesAtBaseRolesAtBase =
831
- | "Account_Take_1"
832
- | "Account_Take_2"
833
- | "Account_Take_3"
834
- | "Account_Take_4"
835
- | "Account_Take_5"
836
- | "Account_Take_6"
837
- | "Account_Take_7"
838
- | "Accountant"
839
- | "Auditor"
840
- | "Brand_Manager"
841
- | "Communications_Officer"
842
- | "Config_Equipment"
843
- | "Config_Starbase_Equipment"
844
- | "Container_Take_1"
845
- | "Container_Take_2"
846
- | "Container_Take_3"
847
- | "Container_Take_4"
848
- | "Container_Take_5"
849
- | "Container_Take_6"
850
- | "Container_Take_7"
851
- | "Contract_Manager"
852
- | "Deliveries_Container_Take"
853
- | "Deliveries_Query"
854
- | "Deliveries_Take"
855
- | "Diplomat"
856
- | "Director"
857
- | "Factory_Manager"
858
- | "Fitting_Manager"
859
- | "Hangar_Query_1"
860
- | "Hangar_Query_2"
861
- | "Hangar_Query_3"
862
- | "Hangar_Query_4"
863
- | "Hangar_Query_5"
864
- | "Hangar_Query_6"
865
- | "Hangar_Query_7"
866
- | "Hangar_Take_1"
867
- | "Hangar_Take_2"
868
- | "Hangar_Take_3"
869
- | "Hangar_Take_4"
870
- | "Hangar_Take_5"
871
- | "Hangar_Take_6"
872
- | "Hangar_Take_7"
873
- | "Junior_Accountant"
874
- | "Personnel_Manager"
875
- | "Project_Manager"
876
- | "Rent_Factory_Facility"
877
- | "Rent_Office"
878
- | "Rent_Research_Facility"
879
- | "Security_Officer"
880
- | "Skill_Plan_Manager"
881
- | "Starbase_Defense_Operator"
882
- | "Starbase_Fuel_Technician"
883
- | "Station_Manager"
884
- | "Trader";
885
- /**
886
- * roles_at_base array
887
- *
888
- * @maxItems 100
889
- */
890
- type GetCharactersCharacterIdRolesRolesAtBase = GetCharactersCharacterIdRolesRolesAtBaseRolesAtBase[];
891
- /**
892
- * roles_at_hq string
893
- */
894
- type GetCharactersCharacterIdRolesRolesAtHqRolesAtHq =
895
- | "Account_Take_1"
896
- | "Account_Take_2"
897
- | "Account_Take_3"
898
- | "Account_Take_4"
899
- | "Account_Take_5"
900
- | "Account_Take_6"
901
- | "Account_Take_7"
902
- | "Accountant"
903
- | "Auditor"
904
- | "Brand_Manager"
905
- | "Communications_Officer"
906
- | "Config_Equipment"
907
- | "Config_Starbase_Equipment"
908
- | "Container_Take_1"
909
- | "Container_Take_2"
910
- | "Container_Take_3"
911
- | "Container_Take_4"
912
- | "Container_Take_5"
913
- | "Container_Take_6"
914
- | "Container_Take_7"
915
- | "Contract_Manager"
916
- | "Deliveries_Container_Take"
917
- | "Deliveries_Query"
918
- | "Deliveries_Take"
919
- | "Diplomat"
920
- | "Director"
921
- | "Factory_Manager"
922
- | "Fitting_Manager"
923
- | "Hangar_Query_1"
924
- | "Hangar_Query_2"
925
- | "Hangar_Query_3"
926
- | "Hangar_Query_4"
927
- | "Hangar_Query_5"
928
- | "Hangar_Query_6"
929
- | "Hangar_Query_7"
930
- | "Hangar_Take_1"
931
- | "Hangar_Take_2"
932
- | "Hangar_Take_3"
933
- | "Hangar_Take_4"
934
- | "Hangar_Take_5"
935
- | "Hangar_Take_6"
936
- | "Hangar_Take_7"
937
- | "Junior_Accountant"
938
- | "Personnel_Manager"
939
- | "Project_Manager"
940
- | "Rent_Factory_Facility"
941
- | "Rent_Office"
942
- | "Rent_Research_Facility"
943
- | "Security_Officer"
944
- | "Skill_Plan_Manager"
945
- | "Starbase_Defense_Operator"
946
- | "Starbase_Fuel_Technician"
947
- | "Station_Manager"
948
- | "Trader";
949
- /**
950
- * roles_at_hq array
951
- *
952
- * @maxItems 100
953
- */
954
- type GetCharactersCharacterIdRolesRolesAtHq = GetCharactersCharacterIdRolesRolesAtHqRolesAtHq[];
955
- /**
956
- * roles_at_other string
957
- */
958
- type GetCharactersCharacterIdRolesRolesAtOtherRolesAtOther =
959
- | "Account_Take_1"
960
- | "Account_Take_2"
961
- | "Account_Take_3"
962
- | "Account_Take_4"
963
- | "Account_Take_5"
964
- | "Account_Take_6"
965
- | "Account_Take_7"
966
- | "Accountant"
967
- | "Auditor"
968
- | "Brand_Manager"
969
- | "Communications_Officer"
970
- | "Config_Equipment"
971
- | "Config_Starbase_Equipment"
972
- | "Container_Take_1"
973
- | "Container_Take_2"
974
- | "Container_Take_3"
975
- | "Container_Take_4"
976
- | "Container_Take_5"
977
- | "Container_Take_6"
978
- | "Container_Take_7"
979
- | "Contract_Manager"
980
- | "Deliveries_Container_Take"
981
- | "Deliveries_Query"
982
- | "Deliveries_Take"
983
- | "Diplomat"
984
- | "Director"
985
- | "Factory_Manager"
986
- | "Fitting_Manager"
987
- | "Hangar_Query_1"
988
- | "Hangar_Query_2"
989
- | "Hangar_Query_3"
990
- | "Hangar_Query_4"
991
- | "Hangar_Query_5"
992
- | "Hangar_Query_6"
993
- | "Hangar_Query_7"
994
- | "Hangar_Take_1"
995
- | "Hangar_Take_2"
996
- | "Hangar_Take_3"
997
- | "Hangar_Take_4"
998
- | "Hangar_Take_5"
999
- | "Hangar_Take_6"
1000
- | "Hangar_Take_7"
1001
- | "Junior_Accountant"
1002
- | "Personnel_Manager"
1003
- | "Project_Manager"
1004
- | "Rent_Factory_Facility"
1005
- | "Rent_Office"
1006
- | "Rent_Research_Facility"
1007
- | "Security_Officer"
1008
- | "Skill_Plan_Manager"
1009
- | "Starbase_Defense_Operator"
1010
- | "Starbase_Fuel_Technician"
1011
- | "Station_Manager"
1012
- | "Trader";
1013
- /**
1014
- * roles_at_other array
1015
- *
1016
- * @maxItems 100
1017
- */
1018
- type GetCharactersCharacterIdRolesRolesAtOther = GetCharactersCharacterIdRolesRolesAtOtherRolesAtOther[];
828
+ type CharacterRoleArray = __CharacterRole[];
1019
829
 
1020
830
  /**
1021
831
  * 200 ok object
1022
832
  */
1023
833
  interface GetCharactersCharacterIdRolesOk {
1024
- roles?: GetCharactersCharacterIdRolesRoles;
1025
- roles_at_base?: GetCharactersCharacterIdRolesRolesAtBase;
1026
- roles_at_hq?: GetCharactersCharacterIdRolesRolesAtHq;
1027
- roles_at_other?: GetCharactersCharacterIdRolesRolesAtOther;
834
+ /**
835
+ * roles array
836
+ *
837
+ * @maxItems 100
838
+ */
839
+ roles?: CharacterRoleArray;
840
+
841
+ /**
842
+ * roles_at_base array
843
+ *
844
+ * @maxItems 100
845
+ */
846
+ roles_at_base?: CharacterRoleArray;
847
+
848
+ /**
849
+ * roles_at_hq array
850
+ *
851
+ * @maxItems 100
852
+ */
853
+ roles_at_hq?: CharacterRoleArray;
854
+
855
+ /**
856
+ * roles_at_other array
857
+ *
858
+ * @maxItems 100
859
+ */
860
+ roles_at_other?: CharacterRoleArray;
861
+
1028
862
  [k: string]: unknown | undefined;
1029
863
  }
1030
864