swcombine-sdk 2.2.3 → 3.0.0-beta.0
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/dist/cjs/auth/scopes.js +328 -79
- package/dist/cjs/auth/scopes.js.map +1 -1
- package/dist/cjs/http/HttpClient.js +6 -9
- package/dist/cjs/http/HttpClient.js.map +1 -1
- package/dist/cjs/index.js +4 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/pagination/Page.js +48 -0
- package/dist/cjs/pagination/Page.js.map +1 -0
- package/dist/cjs/resources/BaseResource.js +28 -0
- package/dist/cjs/resources/BaseResource.js.map +1 -1
- package/dist/cjs/resources/CharacterResource.js +41 -21
- package/dist/cjs/resources/CharacterResource.js.map +1 -1
- package/dist/cjs/resources/DatacardResource.js +20 -7
- package/dist/cjs/resources/DatacardResource.js.map +1 -1
- package/dist/cjs/resources/EventsResource.js +34 -22
- package/dist/cjs/resources/EventsResource.js.map +1 -1
- package/dist/cjs/resources/FactionResource.js +96 -75
- package/dist/cjs/resources/FactionResource.js.map +1 -1
- package/dist/cjs/resources/GalaxyResource.js +81 -53
- package/dist/cjs/resources/GalaxyResource.js.map +1 -1
- package/dist/cjs/resources/InventoryResource.js +29 -28
- package/dist/cjs/resources/InventoryResource.js.map +1 -1
- package/dist/cjs/resources/MarketResource.js +15 -6
- package/dist/cjs/resources/MarketResource.js.map +1 -1
- package/dist/cjs/resources/NewsResource.js +68 -92
- package/dist/cjs/resources/NewsResource.js.map +1 -1
- package/dist/cjs/resources/TypesResource.js +41 -67
- package/dist/cjs/resources/TypesResource.js.map +1 -1
- package/dist/esm/auth/scopes.js +328 -79
- package/dist/esm/auth/scopes.js.map +1 -1
- package/dist/esm/http/HttpClient.js +6 -9
- package/dist/esm/http/HttpClient.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/pagination/Page.js +44 -0
- package/dist/esm/pagination/Page.js.map +1 -0
- package/dist/esm/resources/BaseResource.js +28 -0
- package/dist/esm/resources/BaseResource.js.map +1 -1
- package/dist/esm/resources/CharacterResource.js +41 -21
- package/dist/esm/resources/CharacterResource.js.map +1 -1
- package/dist/esm/resources/DatacardResource.js +20 -7
- package/dist/esm/resources/DatacardResource.js.map +1 -1
- package/dist/esm/resources/EventsResource.js +34 -22
- package/dist/esm/resources/EventsResource.js.map +1 -1
- package/dist/esm/resources/FactionResource.js +96 -75
- package/dist/esm/resources/FactionResource.js.map +1 -1
- package/dist/esm/resources/GalaxyResource.js +81 -53
- package/dist/esm/resources/GalaxyResource.js.map +1 -1
- package/dist/esm/resources/InventoryResource.js +29 -28
- package/dist/esm/resources/InventoryResource.js.map +1 -1
- package/dist/esm/resources/MarketResource.js +15 -6
- package/dist/esm/resources/MarketResource.js.map +1 -1
- package/dist/esm/resources/NewsResource.js +68 -92
- package/dist/esm/resources/NewsResource.js.map +1 -1
- package/dist/esm/resources/TypesResource.js +41 -67
- package/dist/esm/resources/TypesResource.js.map +1 -1
- package/dist/types/auth/scopes.d.ts +654 -81
- package/dist/types/auth/scopes.d.ts.map +1 -1
- package/dist/types/http/HttpClient.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/pagination/Page.d.ts +32 -0
- package/dist/types/pagination/Page.d.ts.map +1 -0
- package/dist/types/resources/BaseResource.d.ts +15 -0
- package/dist/types/resources/BaseResource.d.ts.map +1 -1
- package/dist/types/resources/CharacterResource.d.ts +17 -6
- package/dist/types/resources/CharacterResource.d.ts.map +1 -1
- package/dist/types/resources/DatacardResource.d.ts +2 -1
- package/dist/types/resources/DatacardResource.d.ts.map +1 -1
- package/dist/types/resources/EventsResource.d.ts +2 -1
- package/dist/types/resources/EventsResource.d.ts.map +1 -1
- package/dist/types/resources/FactionResource.d.ts +24 -25
- package/dist/types/resources/FactionResource.d.ts.map +1 -1
- package/dist/types/resources/GalaxyResource.d.ts +7 -26
- package/dist/types/resources/GalaxyResource.d.ts.map +1 -1
- package/dist/types/resources/InventoryResource.d.ts +2 -1
- package/dist/types/resources/InventoryResource.d.ts.map +1 -1
- package/dist/types/resources/MarketResource.d.ts +2 -1
- package/dist/types/resources/MarketResource.d.ts.map +1 -1
- package/dist/types/resources/NewsResource.d.ts +16 -15
- package/dist/types/resources/NewsResource.d.ts.map +1 -1
- package/dist/types/resources/TypesResource.d.ts +8 -32
- package/dist/types/resources/TypesResource.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +0 -90
- package/dist/types/types/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -8,13 +8,6 @@ import { BaseResource } from './BaseResource.js';
|
|
|
8
8
|
* @see https://www.swcombine.com/ws/v2.0/documentation/galaxy/planets/ SW Combine API Documentation
|
|
9
9
|
*/
|
|
10
10
|
export class GalaxyPlanetsResource extends BaseResource {
|
|
11
|
-
async listRaw(options) {
|
|
12
|
-
const params = {
|
|
13
|
-
start_index: options?.start_index || 1,
|
|
14
|
-
item_count: options?.item_count || 50,
|
|
15
|
-
};
|
|
16
|
-
return this.http.get('/galaxy/planets/', { params });
|
|
17
|
-
}
|
|
18
11
|
/**
|
|
19
12
|
* List all planets (paginated)
|
|
20
13
|
* @param options - Optional pagination parameters
|
|
@@ -23,9 +16,22 @@ export class GalaxyPlanetsResource extends BaseResource {
|
|
|
23
16
|
* const morePlanets = await client.galaxy.planets.list({ start_index: 51, item_count: 50 });
|
|
24
17
|
*/
|
|
25
18
|
async list(options) {
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
19
|
+
const makeRequest = async (startIndex) => {
|
|
20
|
+
const params = {
|
|
21
|
+
start_index: startIndex,
|
|
22
|
+
item_count: options?.item_count ?? 50,
|
|
23
|
+
};
|
|
24
|
+
const response = await this.http.get('/galaxy/planets/', { params });
|
|
25
|
+
const data = (response.planet || []);
|
|
26
|
+
const attrs = (response.attributes || {});
|
|
27
|
+
return this.createPage({
|
|
28
|
+
data,
|
|
29
|
+
attributes: attrs,
|
|
30
|
+
defaultStart: 1,
|
|
31
|
+
fetcher: makeRequest,
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
return makeRequest(options?.start_index ?? 1);
|
|
29
35
|
}
|
|
30
36
|
/**
|
|
31
37
|
* Get planet by UID
|
|
@@ -40,13 +46,6 @@ export class GalaxyPlanetsResource extends BaseResource {
|
|
|
40
46
|
* @see https://www.swcombine.com/ws/v2.0/documentation/galaxy/sectors/ SW Combine API Documentation
|
|
41
47
|
*/
|
|
42
48
|
export class GalaxySectorsResource extends BaseResource {
|
|
43
|
-
async listRaw(options) {
|
|
44
|
-
const params = {
|
|
45
|
-
start_index: options?.start_index || 1,
|
|
46
|
-
item_count: options?.item_count || 50,
|
|
47
|
-
};
|
|
48
|
-
return this.http.get('/galaxy/sectors/', { params });
|
|
49
|
-
}
|
|
50
49
|
/**
|
|
51
50
|
* List all sectors (paginated)
|
|
52
51
|
* @param options - Optional pagination parameters
|
|
@@ -55,9 +54,22 @@ export class GalaxySectorsResource extends BaseResource {
|
|
|
55
54
|
* const moreSectors = await client.galaxy.sectors.list({ start_index: 51, item_count: 50 });
|
|
56
55
|
*/
|
|
57
56
|
async list(options) {
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
57
|
+
const makeRequest = async (startIndex) => {
|
|
58
|
+
const params = {
|
|
59
|
+
start_index: startIndex,
|
|
60
|
+
item_count: options?.item_count ?? 50,
|
|
61
|
+
};
|
|
62
|
+
const response = await this.http.get('/galaxy/sectors/', { params });
|
|
63
|
+
const data = (response.sector || []);
|
|
64
|
+
const attrs = (response.attributes || {});
|
|
65
|
+
return this.createPage({
|
|
66
|
+
data,
|
|
67
|
+
attributes: attrs,
|
|
68
|
+
defaultStart: 1,
|
|
69
|
+
fetcher: makeRequest,
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
return makeRequest(options?.start_index ?? 1);
|
|
61
73
|
}
|
|
62
74
|
/**
|
|
63
75
|
* Get sector by name or UID
|
|
@@ -75,13 +87,6 @@ export class GalaxySectorsResource extends BaseResource {
|
|
|
75
87
|
* @see https://www.swcombine.com/ws/v2.0/documentation/galaxy/systems/ SW Combine API Documentation
|
|
76
88
|
*/
|
|
77
89
|
export class GalaxySystemsResource extends BaseResource {
|
|
78
|
-
async listRaw(options) {
|
|
79
|
-
const params = {
|
|
80
|
-
start_index: options?.start_index || 1,
|
|
81
|
-
item_count: options?.item_count || 50,
|
|
82
|
-
};
|
|
83
|
-
return this.http.get('/galaxy/systems/', { params });
|
|
84
|
-
}
|
|
85
90
|
/**
|
|
86
91
|
* List all systems (paginated)
|
|
87
92
|
* @param options - Optional pagination parameters
|
|
@@ -90,9 +95,22 @@ export class GalaxySystemsResource extends BaseResource {
|
|
|
90
95
|
* const moreSystems = await client.galaxy.systems.list({ start_index: 51, item_count: 50 });
|
|
91
96
|
*/
|
|
92
97
|
async list(options) {
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
|
|
98
|
+
const makeRequest = async (startIndex) => {
|
|
99
|
+
const params = {
|
|
100
|
+
start_index: startIndex,
|
|
101
|
+
item_count: options?.item_count ?? 50,
|
|
102
|
+
};
|
|
103
|
+
const response = await this.http.get('/galaxy/systems/', { params });
|
|
104
|
+
const data = (response.system || []);
|
|
105
|
+
const attrs = (response.attributes || {});
|
|
106
|
+
return this.createPage({
|
|
107
|
+
data,
|
|
108
|
+
attributes: attrs,
|
|
109
|
+
defaultStart: 1,
|
|
110
|
+
fetcher: makeRequest,
|
|
111
|
+
});
|
|
112
|
+
};
|
|
113
|
+
return makeRequest(options?.start_index ?? 1);
|
|
96
114
|
}
|
|
97
115
|
/**
|
|
98
116
|
* Get system by UID
|
|
@@ -107,13 +125,6 @@ export class GalaxySystemsResource extends BaseResource {
|
|
|
107
125
|
* @see https://www.swcombine.com/ws/v2.0/documentation/galaxy/stations/ SW Combine API Documentation
|
|
108
126
|
*/
|
|
109
127
|
export class GalaxyStationsResource extends BaseResource {
|
|
110
|
-
async listRaw(options) {
|
|
111
|
-
const params = {
|
|
112
|
-
start_index: options?.start_index || 1,
|
|
113
|
-
item_count: options?.item_count || 50,
|
|
114
|
-
};
|
|
115
|
-
return this.http.get('/galaxy/stations/', { params });
|
|
116
|
-
}
|
|
117
128
|
/**
|
|
118
129
|
* List all stations in named systems with no ECM (paginated)
|
|
119
130
|
* @param options - Optional pagination parameters
|
|
@@ -122,9 +133,22 @@ export class GalaxyStationsResource extends BaseResource {
|
|
|
122
133
|
* const moreStations = await client.galaxy.stations.list({ start_index: 51, item_count: 50 });
|
|
123
134
|
*/
|
|
124
135
|
async list(options) {
|
|
125
|
-
const
|
|
126
|
-
|
|
127
|
-
|
|
136
|
+
const makeRequest = async (startIndex) => {
|
|
137
|
+
const params = {
|
|
138
|
+
start_index: startIndex,
|
|
139
|
+
item_count: options?.item_count ?? 50,
|
|
140
|
+
};
|
|
141
|
+
const response = await this.http.get('/galaxy/stations/', { params });
|
|
142
|
+
const data = (response.station || []);
|
|
143
|
+
const attrs = (response.attributes || {});
|
|
144
|
+
return this.createPage({
|
|
145
|
+
data,
|
|
146
|
+
attributes: attrs,
|
|
147
|
+
defaultStart: 1,
|
|
148
|
+
fetcher: makeRequest,
|
|
149
|
+
});
|
|
150
|
+
};
|
|
151
|
+
return makeRequest(options?.start_index ?? 1);
|
|
128
152
|
}
|
|
129
153
|
/**
|
|
130
154
|
* Get station by UID
|
|
@@ -139,13 +163,6 @@ export class GalaxyStationsResource extends BaseResource {
|
|
|
139
163
|
* @see https://www.swcombine.com/ws/v2.0/documentation/galaxy/cities/ SW Combine API Documentation
|
|
140
164
|
*/
|
|
141
165
|
export class GalaxyCitiesResource extends BaseResource {
|
|
142
|
-
async listRaw(options) {
|
|
143
|
-
const params = {
|
|
144
|
-
start_index: options?.start_index || 1,
|
|
145
|
-
item_count: options?.item_count || 50,
|
|
146
|
-
};
|
|
147
|
-
return this.http.get('/galaxy/cities/', { params });
|
|
148
|
-
}
|
|
149
166
|
/**
|
|
150
167
|
* List all cities (paginated)
|
|
151
168
|
* @param options - Optional pagination parameters
|
|
@@ -154,9 +171,22 @@ export class GalaxyCitiesResource extends BaseResource {
|
|
|
154
171
|
* const moreCities = await client.galaxy.cities.list({ start_index: 51, item_count: 50 });
|
|
155
172
|
*/
|
|
156
173
|
async list(options) {
|
|
157
|
-
const
|
|
158
|
-
|
|
159
|
-
|
|
174
|
+
const makeRequest = async (startIndex) => {
|
|
175
|
+
const params = {
|
|
176
|
+
start_index: startIndex,
|
|
177
|
+
item_count: options?.item_count ?? 50,
|
|
178
|
+
};
|
|
179
|
+
const response = await this.http.get('/galaxy/cities/', { params });
|
|
180
|
+
const data = (response.city || []);
|
|
181
|
+
const attrs = (response.attributes || {});
|
|
182
|
+
return this.createPage({
|
|
183
|
+
data,
|
|
184
|
+
attributes: attrs,
|
|
185
|
+
defaultStart: 1,
|
|
186
|
+
fetcher: makeRequest,
|
|
187
|
+
});
|
|
188
|
+
};
|
|
189
|
+
return makeRequest(options?.start_index ?? 1);
|
|
160
190
|
}
|
|
161
191
|
/**
|
|
162
192
|
* Get city by UID
|
|
@@ -190,11 +220,9 @@ export class GalaxyResource extends BaseResource {
|
|
|
190
220
|
*/
|
|
191
221
|
async getSectorsFromSystems() {
|
|
192
222
|
const systemsResponse = await this.systems.list();
|
|
193
|
-
// Handle paginated response
|
|
194
|
-
const systems = systemsResponse.system || systemsResponse;
|
|
195
223
|
// Extract unique sectors
|
|
196
224
|
const sectorMap = new Map();
|
|
197
|
-
for (const system of
|
|
225
|
+
for (const system of systemsResponse.data) {
|
|
198
226
|
const sector = system.location?.container;
|
|
199
227
|
if (sector?.attributes?.uid && sector.attributes.type === 'sector') {
|
|
200
228
|
const uid = sector.attributes.uid;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GalaxyResource.js","sourceRoot":"","sources":["../../../src/resources/GalaxyResource.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"GalaxyResource.js","sourceRoot":"","sources":["../../../src/resources/GalaxyResource.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAoBjD;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,YAAY;IACrD;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CAAC,OAAuD;QAChE,MAAM,WAAW,GAAG,KAAK,EAAE,UAAkB,EAAuC,EAAE;YACpF,MAAM,MAAM,GAAG;gBACb,WAAW,EAAE,UAAU;gBACvB,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,EAAE;aACtC,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAA0B,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9F,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAA2B,CAAC;YAC/D,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAA4B,CAAC;YAErE,OAAO,IAAI,CAAC,UAAU,CAAC;gBACrB,IAAI;gBACJ,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,CAAC;gBACf,OAAO,EAAE,WAAW;aACrB,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,WAAW,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAAyB;QACjC,OAAO,IAAI,CAAC,OAAO,CAAS,KAAK,EAAE,mBAAmB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACvE,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,YAAY;IACrD;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CAAC,OAAuD;QAChE,MAAM,WAAW,GAAG,KAAK,EAAE,UAAkB,EAAuC,EAAE;YACpF,MAAM,MAAM,GAAG;gBACb,WAAW,EAAE,UAAU;gBACvB,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,EAAE;aACtC,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAA0B,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9F,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAA2B,CAAC;YAC/D,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAA4B,CAAC;YAErE,OAAO,IAAI,CAAC,UAAU,CAAC;gBACrB,IAAI;gBACJ,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,CAAC;gBACf,OAAO,EAAE,WAAW;aACrB,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,WAAW,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,OAAyB;QACjC,OAAO,IAAI,CAAC,OAAO,CAAS,KAAK,EAAE,mBAAmB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACvE,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,YAAY;IACrD;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CAAC,OAAuD;QAChE,MAAM,WAAW,GAAG,KAAK,EAAE,UAAkB,EAAuC,EAAE;YACpF,MAAM,MAAM,GAAG;gBACb,WAAW,EAAE,UAAU;gBACvB,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,EAAE;aACtC,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAA0B,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9F,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAA2B,CAAC;YAC/D,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAA4B,CAAC;YAErE,OAAO,IAAI,CAAC,UAAU,CAAC;gBACrB,IAAI;gBACJ,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,CAAC;gBACf,OAAO,EAAE,WAAW;aACrB,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,WAAW,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAAyB;QACjC,OAAO,IAAI,CAAC,OAAO,CAAS,KAAK,EAAE,mBAAmB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACvE,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,sBAAuB,SAAQ,YAAY;IACtD;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CAAC,OAAuD;QAChE,MAAM,WAAW,GAAG,KAAK,EAAE,UAAkB,EAAwC,EAAE;YACrF,MAAM,MAAM,GAAG;gBACb,WAAW,EAAE,UAAU;gBACvB,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,EAAE;aACtC,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAA0B,mBAAmB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC/F,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAA4B,CAAC;YACjE,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAA4B,CAAC;YAErE,OAAO,IAAI,CAAC,UAAU,CAAC;gBACrB,IAAI;gBACJ,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,CAAC;gBACf,OAAO,EAAE,WAAW;aACrB,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,WAAW,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAA0B;QAClC,OAAO,IAAI,CAAC,OAAO,CAAU,KAAK,EAAE,oBAAoB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzE,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,oBAAqB,SAAQ,YAAY;IACpD;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CAAC,OAAuD;QAChE,MAAM,WAAW,GAAG,KAAK,EAAE,UAAkB,EAAqC,EAAE;YAClF,MAAM,MAAM,GAAG;gBACb,WAAW,EAAE,UAAU;gBACvB,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,EAAE;aACtC,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAA0B,iBAAiB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7F,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAyB,CAAC;YAC3D,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAA4B,CAAC;YAErE,OAAO,IAAI,CAAC,UAAU,CAAC;gBACrB,IAAI;gBACJ,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,CAAC;gBACf,OAAO,EAAE,WAAW;aACrB,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,WAAW,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAAuB;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAO,KAAK,EAAE,kBAAkB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACpE,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,cAAe,SAAQ,YAAY;IAO9C,YAAY,IAAgB;QAC1B,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,OAAO,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,qBAAqB;QACzB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAElD,yBAAyB;QACzB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAwD,CAAC;QAElF,KAAK,MAAM,MAAM,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC;YAC1C,IAAI,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnE,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;gBAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxB,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE;wBACjB,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,MAAM,CAAC,KAAK;wBAClB,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI;qBAC7B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,CAAC;CACF"}
|
|
@@ -37,35 +37,36 @@ export class InventoryEntitiesResource extends BaseResource {
|
|
|
37
37
|
* });
|
|
38
38
|
*/
|
|
39
39
|
async list(options) {
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
if (options.filter_value) {
|
|
49
|
-
params.filter_value = options.filter_value;
|
|
50
|
-
}
|
|
51
|
-
if (options.filter_inclusion) {
|
|
52
|
-
params.filter_inclusion = options.filter_inclusion;
|
|
53
|
-
}
|
|
54
|
-
const response = await this.http.get(`/inventory/${options.uid}/${options.entityType}/${options.assignType}`, { params });
|
|
55
|
-
// API returns { swcapi: { filters: {...}, entities: { attributes: {...}, entity: [...] } } }
|
|
56
|
-
// HttpClient unwraps swcapi but since there are multiple keys (filters, entities),
|
|
57
|
-
// it returns the whole object. Extract entities.entity array.
|
|
58
|
-
const entities = response.entities;
|
|
59
|
-
if (entities && Array.isArray(entities.entity)) {
|
|
60
|
-
return entities.entity;
|
|
61
|
-
}
|
|
62
|
-
// Fallback: look for any array in the response
|
|
63
|
-
for (const key of Object.keys(response)) {
|
|
64
|
-
if (key !== 'attributes' && Array.isArray(response[key])) {
|
|
65
|
-
return response[key];
|
|
40
|
+
const makeRequest = async (startIndex) => {
|
|
41
|
+
const params = {
|
|
42
|
+
start_index: startIndex,
|
|
43
|
+
item_count: options.item_count ?? 50,
|
|
44
|
+
};
|
|
45
|
+
// Add filtering parameters if provided
|
|
46
|
+
if (options.filter_type) {
|
|
47
|
+
params.filter_type = options.filter_type;
|
|
66
48
|
}
|
|
67
|
-
|
|
68
|
-
|
|
49
|
+
if (options.filter_value) {
|
|
50
|
+
params.filter_value = options.filter_value;
|
|
51
|
+
}
|
|
52
|
+
if (options.filter_inclusion) {
|
|
53
|
+
params.filter_inclusion = options.filter_inclusion;
|
|
54
|
+
}
|
|
55
|
+
const response = await this.http.get(`/inventory/${options.uid}/${options.entityType}/${options.assignType}`, { params });
|
|
56
|
+
// API returns { filters: {...}, entities: { attributes: {...}, entity: [...] } }
|
|
57
|
+
const entities = response.entities;
|
|
58
|
+
const data = (entities && Array.isArray(entities.entity)
|
|
59
|
+
? entities.entity
|
|
60
|
+
: []);
|
|
61
|
+
const attrs = (entities?.attributes || {});
|
|
62
|
+
return this.createPage({
|
|
63
|
+
data,
|
|
64
|
+
attributes: attrs,
|
|
65
|
+
defaultStart: 1,
|
|
66
|
+
fetcher: makeRequest,
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
return makeRequest(options.start_index ?? 1);
|
|
69
70
|
}
|
|
70
71
|
/**
|
|
71
72
|
* Get specific entity
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InventoryResource.js","sourceRoot":"","sources":["../../../src/resources/InventoryResource.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"InventoryResource.js","sourceRoot":"","sources":["../../../src/resources/InventoryResource.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,13 +16,22 @@ export class MarketVendorsResource extends BaseResource {
|
|
|
16
16
|
* const moreVendors = await client.market.vendors.list({ start_index: 51, item_count: 50 });
|
|
17
17
|
*/
|
|
18
18
|
async list(options) {
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
const makeRequest = async (startIndex) => {
|
|
20
|
+
const params = {
|
|
21
|
+
start_index: startIndex,
|
|
22
|
+
item_count: options?.item_count ?? 50,
|
|
23
|
+
};
|
|
24
|
+
const response = await this.http.get('/market/vendors', { params });
|
|
25
|
+
const data = response.vendor ?? [];
|
|
26
|
+
const attrs = response.attributes ?? {};
|
|
27
|
+
return this.createPage({
|
|
28
|
+
data,
|
|
29
|
+
attributes: attrs,
|
|
30
|
+
defaultStart: 1,
|
|
31
|
+
fetcher: makeRequest,
|
|
32
|
+
});
|
|
22
33
|
};
|
|
23
|
-
|
|
24
|
-
// API returns { attributes: {...}, vendor: [...] }, extract just the array
|
|
25
|
-
return response.vendor || [];
|
|
34
|
+
return makeRequest(options?.start_index ?? 1);
|
|
26
35
|
}
|
|
27
36
|
/**
|
|
28
37
|
* Get vendor by UID
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarketResource.js","sourceRoot":"","sources":["../../../src/resources/MarketResource.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"MarketResource.js","sourceRoot":"","sources":["../../../src/resources/MarketResource.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIjD;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,YAAY;IACrD;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CAAC,OAAuD;QAChE,MAAM,WAAW,GAAG,KAAK,EAAE,UAAkB,EAAyB,EAAE;YACtE,MAAM,MAAM,GAAG;gBACb,WAAW,EAAE,UAAU;gBACvB,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,EAAE;aACtC,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAA8D,iBAAiB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAEjI,MAAM,IAAI,GAAa,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;YAC7C,MAAM,KAAK,GAA4B,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;YAEjE,OAAO,IAAI,CAAC,UAAU,CAAC;gBACrB,IAAI;gBACJ,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,CAAC;gBACf,OAAO,EAAE,WAAW;aACrB,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,WAAW,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAAyB;QACjC,OAAO,IAAI,CAAC,OAAO,CAAS,KAAK,EAAE,mBAAmB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACvE,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,cAAe,SAAQ,YAAY;IAG9C,YAAY,IAAgB;QAC1B,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,OAAO,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;CACF"}
|
|
@@ -2,35 +2,6 @@
|
|
|
2
2
|
* News resource for accessing news feeds
|
|
3
3
|
*/
|
|
4
4
|
import { BaseResource } from './BaseResource.js';
|
|
5
|
-
function normalizeNewsListAttributes(attributes) {
|
|
6
|
-
if (!attributes || typeof attributes !== 'object') {
|
|
7
|
-
return {};
|
|
8
|
-
}
|
|
9
|
-
const raw = attributes;
|
|
10
|
-
const normalized = {};
|
|
11
|
-
const maybeNumber = (value) => {
|
|
12
|
-
if (typeof value === 'number' && Number.isFinite(value)) {
|
|
13
|
-
return value;
|
|
14
|
-
}
|
|
15
|
-
if (typeof value === 'string') {
|
|
16
|
-
const parsed = Number(value);
|
|
17
|
-
if (Number.isFinite(parsed)) {
|
|
18
|
-
return parsed;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return undefined;
|
|
22
|
-
};
|
|
23
|
-
const start = maybeNumber(raw.start);
|
|
24
|
-
const total = maybeNumber(raw.total);
|
|
25
|
-
const count = maybeNumber(raw.count);
|
|
26
|
-
if (start !== undefined)
|
|
27
|
-
normalized.start = start;
|
|
28
|
-
if (total !== undefined)
|
|
29
|
-
normalized.total = total;
|
|
30
|
-
if (count !== undefined)
|
|
31
|
-
normalized.count = count;
|
|
32
|
-
return { ...raw, ...normalized };
|
|
33
|
-
}
|
|
34
5
|
function normalizeNewsId(id) {
|
|
35
6
|
if (typeof id === 'number' && Number.isFinite(id)) {
|
|
36
7
|
return id;
|
|
@@ -61,13 +32,6 @@ function normalizeNewsListItem(item) {
|
|
|
61
32
|
};
|
|
62
33
|
return normalized;
|
|
63
34
|
}
|
|
64
|
-
function normalizeNewsListResponse(response) {
|
|
65
|
-
const items = (response.newsitem || []).map(normalizeNewsListItem);
|
|
66
|
-
const list = Object.assign(items, {
|
|
67
|
-
attributes: normalizeNewsListAttributes(response.attributes),
|
|
68
|
-
});
|
|
69
|
-
return list;
|
|
70
|
-
}
|
|
71
35
|
function normalizeNewsReference(reference) {
|
|
72
36
|
if (typeof reference === 'string') {
|
|
73
37
|
return { value: reference };
|
|
@@ -149,9 +113,9 @@ function normalizeNewsGetResponse(response) {
|
|
|
149
113
|
export class GNSResource extends BaseResource {
|
|
150
114
|
/**
|
|
151
115
|
* List GNS news items (paginated with optional filtering)
|
|
152
|
-
* Returns headline metadata entries (`attributes.id`, `attributes.href`, `attributes.title`, `value`).
|
|
153
|
-
*
|
|
154
|
-
*
|
|
116
|
+
* Returns a Page of headline metadata entries (`attributes.id`, `attributes.href`, `attributes.title`, `value`).
|
|
117
|
+
* Use `page.data` for the current page items, `page.hasMore` / `page.getNextPage()` for pagination,
|
|
118
|
+
* or `for await (const item of page)` to iterate through all pages automatically.
|
|
155
119
|
* @requires_auth No
|
|
156
120
|
* @param options - Optional category, pagination, and filtering parameters
|
|
157
121
|
* @param options.category - News category: 'auto', 'economy', 'military', 'political', 'social'
|
|
@@ -160,41 +124,46 @@ export class GNSResource extends BaseResource {
|
|
|
160
124
|
* @param options.faction - Filter by faction name (GNS only)
|
|
161
125
|
* @param options.faction_type - Filter by faction type (GNS only)
|
|
162
126
|
* @example
|
|
163
|
-
* const
|
|
127
|
+
* const page = await client.news.gns.list();
|
|
164
128
|
* const economyNews = await client.news.gns.list({ category: 'economy' });
|
|
165
129
|
* const moreNews = await client.news.gns.list({ start_index: 51, item_count: 50 });
|
|
166
130
|
* const searchNews = await client.news.gns.list({ search: 'battle', author: 'John Doe' });
|
|
167
131
|
* const factionNews = await client.news.gns.list({ faction: 'Empire', faction_type: 'government' });
|
|
168
|
-
* console.log(
|
|
169
|
-
* console.log(
|
|
132
|
+
* console.log(page.data[0].attributes.title);
|
|
133
|
+
* console.log(page.start, page.total, page.count);
|
|
170
134
|
*/
|
|
171
135
|
async list(options) {
|
|
172
|
-
const
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
136
|
+
const makeRequest = async (startIndex) => {
|
|
137
|
+
const path = options?.category ? `/news/gns/${options.category}` : '/news/gns';
|
|
138
|
+
const params = {
|
|
139
|
+
start_index: startIndex,
|
|
140
|
+
item_count: options?.item_count ?? 50,
|
|
141
|
+
};
|
|
142
|
+
if (options?.start_date !== undefined)
|
|
143
|
+
params.start_date = options.start_date;
|
|
144
|
+
if (options?.end_date !== undefined)
|
|
145
|
+
params.end_date = options.end_date;
|
|
146
|
+
if (options?.search)
|
|
147
|
+
params.search = options.search;
|
|
148
|
+
if (options?.author)
|
|
149
|
+
params.author = options.author;
|
|
150
|
+
if (options?.faction)
|
|
151
|
+
params.faction = options.faction;
|
|
152
|
+
if (options?.faction_type)
|
|
153
|
+
params.faction_type = options.faction_type;
|
|
154
|
+
const response = await this.http.get(path, { params });
|
|
155
|
+
const data = (response.newsitem || []).map(normalizeNewsListItem);
|
|
156
|
+
const attrs = (response.attributes && typeof response.attributes === 'object'
|
|
157
|
+
? response.attributes
|
|
158
|
+
: {});
|
|
159
|
+
return this.createPage({
|
|
160
|
+
data,
|
|
161
|
+
attributes: attrs,
|
|
162
|
+
defaultStart: 1,
|
|
163
|
+
fetcher: makeRequest,
|
|
164
|
+
});
|
|
176
165
|
};
|
|
177
|
-
|
|
178
|
-
params.start_date = options.start_date;
|
|
179
|
-
}
|
|
180
|
-
if (options?.end_date !== undefined) {
|
|
181
|
-
params.end_date = options.end_date;
|
|
182
|
-
}
|
|
183
|
-
if (options?.search) {
|
|
184
|
-
params.search = options.search;
|
|
185
|
-
}
|
|
186
|
-
if (options?.author) {
|
|
187
|
-
params.author = options.author;
|
|
188
|
-
}
|
|
189
|
-
if (options?.faction) {
|
|
190
|
-
params.faction = options.faction;
|
|
191
|
-
}
|
|
192
|
-
if (options?.faction_type) {
|
|
193
|
-
params.faction_type = options.faction_type;
|
|
194
|
-
}
|
|
195
|
-
const response = await this.http.get(path, { params });
|
|
196
|
-
// Preserve array behavior while exposing `attributes.start/total/count`.
|
|
197
|
-
return normalizeNewsListResponse(response);
|
|
166
|
+
return makeRequest(options?.start_index ?? 1);
|
|
198
167
|
}
|
|
199
168
|
/**
|
|
200
169
|
* Get a specific GNS news item by numeric ID.
|
|
@@ -218,43 +187,50 @@ export class GNSResource extends BaseResource {
|
|
|
218
187
|
export class SimNewsResource extends BaseResource {
|
|
219
188
|
/**
|
|
220
189
|
* List Sim News items (paginated with optional filtering)
|
|
221
|
-
* Returns headline metadata entries (`attributes.id`, `attributes.href`, `attributes.title`, `value`).
|
|
222
|
-
*
|
|
223
|
-
*
|
|
190
|
+
* Returns a Page of headline metadata entries (`attributes.id`, `attributes.href`, `attributes.title`, `value`).
|
|
191
|
+
* Use `page.data` for the current page items, `page.hasMore` / `page.getNextPage()` for pagination,
|
|
192
|
+
* or `for await (const item of page)` to iterate through all pages automatically.
|
|
224
193
|
* @requires_auth No
|
|
225
194
|
* @param options - Optional category, pagination, and filtering parameters
|
|
226
195
|
* @param options.category - News category: 'player', 'technical', 'community'
|
|
227
196
|
* @param options.start_index - Starting position (1-based). Default: 1
|
|
228
197
|
* @param options.item_count - Number of items to retrieve. Default: 50, Max: 50
|
|
229
198
|
* @example
|
|
230
|
-
* const
|
|
199
|
+
* const page = await client.news.simNews.list();
|
|
231
200
|
* const playerNews = await client.news.simNews.list({ category: 'player' });
|
|
232
201
|
* const moreNews = await client.news.simNews.list({ start_index: 51, item_count: 50 });
|
|
233
202
|
* const searchNews = await client.news.simNews.list({ search: 'update', author: 'Admin' });
|
|
234
|
-
* console.log(
|
|
235
|
-
* console.log(
|
|
203
|
+
* console.log(page.data[0].attributes.title);
|
|
204
|
+
* console.log(page.start, page.total, page.count);
|
|
236
205
|
*/
|
|
237
206
|
async list(options) {
|
|
238
|
-
const
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
207
|
+
const makeRequest = async (startIndex) => {
|
|
208
|
+
const path = options?.category ? `/news/simnews/${options.category}` : '/news/simnews';
|
|
209
|
+
const params = {
|
|
210
|
+
start_index: startIndex,
|
|
211
|
+
item_count: options?.item_count ?? 50,
|
|
212
|
+
};
|
|
213
|
+
if (options?.start_date !== undefined)
|
|
214
|
+
params.start_date = options.start_date;
|
|
215
|
+
if (options?.end_date !== undefined)
|
|
216
|
+
params.end_date = options.end_date;
|
|
217
|
+
if (options?.search)
|
|
218
|
+
params.search = options.search;
|
|
219
|
+
if (options?.author)
|
|
220
|
+
params.author = options.author;
|
|
221
|
+
const response = await this.http.get(path, { params });
|
|
222
|
+
const data = (response.newsitem || []).map(normalizeNewsListItem);
|
|
223
|
+
const attrs = (response.attributes && typeof response.attributes === 'object'
|
|
224
|
+
? response.attributes
|
|
225
|
+
: {});
|
|
226
|
+
return this.createPage({
|
|
227
|
+
data,
|
|
228
|
+
attributes: attrs,
|
|
229
|
+
defaultStart: 1,
|
|
230
|
+
fetcher: makeRequest,
|
|
231
|
+
});
|
|
242
232
|
};
|
|
243
|
-
|
|
244
|
-
params.start_date = options.start_date;
|
|
245
|
-
}
|
|
246
|
-
if (options?.end_date !== undefined) {
|
|
247
|
-
params.end_date = options.end_date;
|
|
248
|
-
}
|
|
249
|
-
if (options?.search) {
|
|
250
|
-
params.search = options.search;
|
|
251
|
-
}
|
|
252
|
-
if (options?.author) {
|
|
253
|
-
params.author = options.author;
|
|
254
|
-
}
|
|
255
|
-
const response = await this.http.get(path, { params });
|
|
256
|
-
// Preserve array behavior while exposing `attributes.start/total/count`.
|
|
257
|
-
return normalizeNewsListResponse(response);
|
|
233
|
+
return makeRequest(options?.start_index ?? 1);
|
|
258
234
|
}
|
|
259
235
|
/**
|
|
260
236
|
* Get a specific Sim News item by numeric ID.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewsResource.js","sourceRoot":"","sources":["../../../src/resources/NewsResource.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"NewsResource.js","sourceRoot":"","sources":["../../../src/resources/NewsResource.ts"],"names":[],"mappings":"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"}
|