@decky/ui 4.15.1 → 4.16.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/components/Dropdown.d.ts +2 -2
- package/dist/components/FooterLegend.d.ts +8 -2
- package/dist/components/FooterLegend.js +7 -0
- package/dist/components/Menu.d.ts +5 -9
- package/dist/components/Modal.d.ts +3 -2
- package/dist/globals/index.d.ts +25 -2
- package/dist/globals/index.js +1 -2
- package/dist/globals/shared/cm.d.ts +112 -0
- package/dist/globals/shared/enums.d.ts +80 -0
- package/dist/globals/shared/enums.js +85 -0
- package/dist/globals/shared/history.d.ts +12 -0
- package/dist/globals/shared/history.js +1 -0
- package/dist/globals/shared/index.d.ts +5 -0
- package/dist/globals/shared/index.js +5 -0
- package/dist/globals/shared/interfaces.d.ts +54 -0
- package/dist/globals/shared/interfaces.js +1 -0
- package/dist/globals/shared/navigation.d.ts +14 -0
- package/dist/globals/shared/navigation.js +10 -0
- package/dist/globals/shared/steamid.d.ts +36 -0
- package/dist/globals/shared/steamid.js +15 -0
- package/dist/globals/shared/storage.d.ts +27 -0
- package/dist/globals/shared/storage.js +11 -0
- package/dist/globals/steam-client/App.d.ts +1 -1
- package/dist/globals/steam-client/Auth.d.ts +1 -1
- package/dist/globals/steam-client/ClientNotifications.d.ts +1 -1
- package/dist/globals/steam-client/Overlay.d.ts +2 -1
- package/dist/globals/steam-client/Settings.d.ts +1 -1
- package/dist/globals/steam-client/SharedConnection.d.ts +2 -1
- package/dist/globals/steam-client/UI.d.ts +14 -3
- package/dist/globals/steam-client/UI.js +11 -0
- package/dist/globals/steam-client/User.d.ts +13 -0
- package/dist/globals/steam-client/User.js +7 -0
- package/dist/globals/steam-client/WebChat.d.ts +3 -2
- package/dist/globals/steam-client/shared.d.ts +0 -29
- package/dist/globals/steam-client/shared.js +0 -24
- package/dist/globals/stores/app.d.ts +35 -0
- package/dist/globals/stores/app.js +1 -0
- package/dist/globals/stores/appdetailsstore.d.ts +86 -0
- package/dist/globals/stores/appdetailsstore.js +1 -0
- package/dist/globals/stores/appinfostore.d.ts +56 -0
- package/dist/globals/stores/appinfostore.js +1 -0
- package/dist/globals/stores/appstore.d.ts +77 -0
- package/dist/globals/stores/appstore.js +1 -0
- package/dist/globals/stores/badgestore.d.ts +52 -0
- package/dist/globals/stores/badgestore.js +1 -0
- package/dist/globals/stores/collectionstore.d.ts +313 -0
- package/dist/globals/stores/collectionstore.js +143 -0
- package/dist/globals/stores/consolestore.d.ts +20 -0
- package/dist/globals/stores/consolestore.js +1 -0
- package/dist/globals/stores/focusnavcontroller.d.ts +383 -0
- package/dist/globals/stores/focusnavcontroller.js +29 -0
- package/dist/globals/stores/friendstore/clanstore.d.ts +75 -0
- package/dist/globals/stores/friendstore/clanstore.js +19 -0
- package/dist/globals/stores/friendstore/friendchat.d.ts +374 -0
- package/dist/globals/stores/friendstore/friendchat.js +56 -0
- package/dist/globals/stores/friendstore/friendgroupstore.d.ts +98 -0
- package/dist/globals/stores/friendstore/friendgroupstore.js +8 -0
- package/dist/globals/stores/friendstore/friendingamenotificationstore.d.ts +2 -0
- package/dist/globals/stores/friendstore/friendingamenotificationstore.js +1 -0
- package/dist/globals/stores/friendstore/friendslistfavoritesstore.d.ts +22 -0
- package/dist/globals/stores/friendstore/friendslistfavoritesstore.js +1 -0
- package/dist/globals/stores/friendstore/friendsuifriendstore.d.ts +125 -0
- package/dist/globals/stores/friendstore/friendsuifriendstore.js +1 -0
- package/dist/globals/stores/friendstore/index.d.ts +25 -0
- package/dist/globals/stores/friendstore/index.js +1 -0
- package/dist/globals/stores/friendstore/shared.d.ts +207 -0
- package/dist/globals/stores/friendstore/shared.js +41 -0
- package/dist/globals/stores/gamerecordingstore.d.ts +263 -0
- package/dist/globals/stores/gamerecordingstore.js +1 -0
- package/dist/globals/stores/index.d.ts +18 -0
- package/dist/globals/stores/index.js +18 -0
- package/dist/globals/stores/libraryuistore.d.ts +179 -0
- package/dist/globals/stores/libraryuistore.js +56 -0
- package/dist/globals/stores/localizationmanager.d.ts +18 -0
- package/dist/globals/stores/localizationmanager.js +1 -0
- package/dist/globals/stores/mainwindowbrowsermanager.d.ts +62 -0
- package/dist/globals/stores/mainwindowbrowsermanager.js +1 -0
- package/dist/globals/stores/notificationstore.d.ts +242 -0
- package/dist/globals/stores/notificationstore.js +20 -0
- package/dist/globals/stores/popupmanager.d.ts +128 -0
- package/dist/globals/stores/popupmanager.js +1 -0
- package/dist/globals/stores/securitystore.d.ts +35 -0
- package/dist/globals/stores/securitystore.js +1 -0
- package/dist/globals/stores/settingsstore.d.ts +86 -0
- package/dist/globals/stores/settingsstore.js +19 -0
- package/dist/globals/stores/steamuistore/gamepadbrowserview.d.ts +143 -0
- package/dist/globals/stores/steamuistore/gamepadbrowserview.js +9 -0
- package/dist/globals/stores/steamuistore/gamepaduiaudio.d.ts +36 -0
- package/dist/globals/stores/steamuistore/gamepaduiaudio.js +1 -0
- package/dist/globals/stores/steamuistore/index.d.ts +129 -0
- package/dist/globals/stores/steamuistore/index.js +11 -0
- package/dist/globals/stores/steamuistore/menu.d.ts +39 -0
- package/dist/globals/stores/steamuistore/menu.js +19 -0
- package/dist/globals/stores/steamuistore/window.d.ts +206 -0
- package/dist/globals/stores/steamuistore/window.js +6 -0
- package/dist/globals/stores/storeitemcache.d.ts +319 -0
- package/dist/globals/stores/storeitemcache.js +17 -0
- package/dist/globals/stores/urlstore.d.ts +57 -0
- package/dist/globals/stores/urlstore.js +1 -0
- package/dist/modules/Router.d.ts +5 -58
- package/dist/modules/Router.js +2 -20
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/index.d.ts +0 -1
- package/package.json +1 -1
- package/src/components/Dropdown.tsx +2 -2
- package/src/components/FooterLegend.ts +10 -2
- package/src/components/Menu.ts +11 -21
- package/src/components/Modal.ts +40 -8
- package/src/globals/index.ts +45 -2
- package/src/globals/shared/cm.ts +158 -0
- package/src/globals/shared/enums.ts +97 -0
- package/src/globals/shared/history.ts +15 -0
- package/src/globals/shared/index.ts +5 -0
- package/src/globals/shared/interfaces.ts +147 -0
- package/src/globals/shared/navigation.ts +15 -0
- package/src/globals/shared/steamid.ts +49 -0
- package/src/globals/shared/storage.ts +62 -0
- package/src/globals/steam-client/App.ts +2 -2
- package/src/globals/steam-client/Auth.ts +2 -2
- package/src/globals/steam-client/ClientNotifications.ts +1 -1
- package/src/globals/steam-client/Overlay.ts +2 -1
- package/src/globals/steam-client/Settings.ts +1 -1
- package/src/globals/steam-client/SharedConnection.ts +2 -1
- package/src/globals/steam-client/UI.ts +15 -6
- package/src/globals/steam-client/User.ts +20 -0
- package/src/globals/steam-client/WebChat.ts +3 -2
- package/src/globals/steam-client/shared.ts +0 -69
- package/src/globals/stores/app.ts +102 -0
- package/src/globals/stores/appdetailsstore.ts +235 -0
- package/src/globals/stores/appinfostore.ts +65 -0
- package/src/globals/stores/appstore.ts +166 -0
- package/src/globals/stores/badgestore.ts +87 -0
- package/src/globals/stores/collectionstore.ts +544 -0
- package/src/globals/stores/consolestore.ts +54 -0
- package/src/globals/stores/focusnavcontroller.ts +522 -0
- package/src/globals/stores/friendstore/clanstore.ts +89 -0
- package/src/globals/stores/friendstore/friendchat.ts +646 -0
- package/src/globals/stores/friendstore/friendgroupstore.ts +187 -0
- package/src/globals/stores/friendstore/friendingamenotificationstore.ts +1 -0
- package/src/globals/stores/friendstore/friendslistfavoritesstore.ts +37 -0
- package/src/globals/stores/friendstore/friendsuifriendstore.ts +274 -0
- package/src/globals/stores/friendstore/index.ts +58 -0
- package/src/globals/stores/friendstore/shared.ts +318 -0
- package/src/globals/stores/gamerecordingstore.ts +367 -0
- package/src/globals/stores/index.ts +18 -0
- package/src/globals/stores/libraryuistore.ts +395 -0
- package/src/globals/stores/localizationmanager.ts +56 -0
- package/src/globals/stores/mainwindowbrowsermanager.ts +135 -0
- package/src/globals/stores/notificationstore.ts +298 -0
- package/src/globals/stores/popupmanager.ts +352 -0
- package/src/globals/stores/securitystore.ts +36 -0
- package/src/globals/stores/settingsstore.ts +134 -0
- package/src/globals/stores/steamuistore/gamepadbrowserview.ts +172 -0
- package/src/globals/stores/steamuistore/gamepaduiaudio.ts +117 -0
- package/src/globals/stores/steamuistore/index.ts +212 -0
- package/src/globals/stores/steamuistore/menu.ts +89 -0
- package/src/globals/stores/steamuistore/window.ts +466 -0
- package/src/globals/stores/storeitemcache.ts +347 -0
- package/src/globals/stores/urlstore.ts +150 -0
- package/src/modules/Router.ts +11 -77
- package/src/utils/index.ts +0 -1
- package/dist/globals/SteamClient.d.ts +0 -5
- package/dist/globals/SteamClient.js +0 -1
- package/dist/globals/stores.d.ts +0 -70
- package/src/globals/SteamClient.ts +0 -6
- package/src/globals/stores.ts +0 -74
- /package/dist/globals/{stores.js → shared/cm.js} +0 -0
|
@@ -0,0 +1,544 @@
|
|
|
1
|
+
import type { CCloudStorage, CCloudStorageMap, CUserLocalStorage } from '../shared/storage';
|
|
2
|
+
import type { EAppType, SteamAppOverview } from '../steam-client/App';
|
|
3
|
+
import type { EResult } from '../steam-client/shared';
|
|
4
|
+
|
|
5
|
+
// Not an enum, rather an array in Steam code
|
|
6
|
+
export enum EFilterAppFeature {
|
|
7
|
+
FullControllerSupport = 1,
|
|
8
|
+
PartialControllerSupport,
|
|
9
|
+
VR,
|
|
10
|
+
TradingCards,
|
|
11
|
+
Workshop,
|
|
12
|
+
Achievements,
|
|
13
|
+
SinglePlayer,
|
|
14
|
+
MultiPlayer,
|
|
15
|
+
CoOp,
|
|
16
|
+
SteamCloud,
|
|
17
|
+
RemotePlayTogether,
|
|
18
|
+
SteamDeckVerified,
|
|
19
|
+
SteamDeckPlayable,
|
|
20
|
+
SteamDeckUnknown,
|
|
21
|
+
SteamDeckUnsupported,
|
|
22
|
+
PS4ControllerSupport,
|
|
23
|
+
PS4ControllerBTSupport,
|
|
24
|
+
PS5ControllerSupport,
|
|
25
|
+
PS5ControllerBTSupport,
|
|
26
|
+
SteamInputAPI,
|
|
27
|
+
GamepadPreferred,
|
|
28
|
+
HDR,
|
|
29
|
+
FamilySharing,
|
|
30
|
+
SteamOSCompatible,
|
|
31
|
+
SteamOSUnknown,
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
enum EFilterGroup {
|
|
35
|
+
AppType,
|
|
36
|
+
PlayState,
|
|
37
|
+
AppFeature,
|
|
38
|
+
Genre,
|
|
39
|
+
StoreCategory,
|
|
40
|
+
Partner,
|
|
41
|
+
Friends,
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Not an enum, rather an array in Steam code
|
|
45
|
+
export enum EGamePlayState {
|
|
46
|
+
Installed = 1,
|
|
47
|
+
ReadyToPlay,
|
|
48
|
+
PlayedPreviously,
|
|
49
|
+
Unplayed,
|
|
50
|
+
ValidPlatform,
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// Another dogshit const enum I have to dig up !
|
|
54
|
+
// Stolen from https://github.com/SteamDatabase/SteamTracking/blob/master/store.steampowered.com/public/javascript/applications/store/storemenu.js
|
|
55
|
+
export enum EGenre {
|
|
56
|
+
action = 19,
|
|
57
|
+
adventure = 21,
|
|
58
|
+
anime = 4085,
|
|
59
|
+
casual = 597,
|
|
60
|
+
open_world = 1695,
|
|
61
|
+
fighting = 4328,
|
|
62
|
+
fighting_2 = 4736,
|
|
63
|
+
fighting_3 = 6506,
|
|
64
|
+
horror = 1667,
|
|
65
|
+
coop = 1685,
|
|
66
|
+
puzzle = 1664,
|
|
67
|
+
puzzle_2 = 5537,
|
|
68
|
+
puzzle_3 = 1665,
|
|
69
|
+
racing = 699,
|
|
70
|
+
racing_2 = 4102,
|
|
71
|
+
roguelike = 42804,
|
|
72
|
+
rpg = 112,
|
|
73
|
+
rpg_2 = 4434,
|
|
74
|
+
rpg_3 = 4231,
|
|
75
|
+
scifi = 3942,
|
|
76
|
+
simulation = 599,
|
|
77
|
+
simulation_2 = 12472,
|
|
78
|
+
sports = 701,
|
|
79
|
+
story_rich = 1742,
|
|
80
|
+
strategy = 9,
|
|
81
|
+
strategy_2 = 1670,
|
|
82
|
+
strategy_3 = 1676,
|
|
83
|
+
cities_settlements = 9,
|
|
84
|
+
cities_settlements_2 = 4328,
|
|
85
|
+
cities_settlements_3 = 220585,
|
|
86
|
+
survival = 1662,
|
|
87
|
+
visual_novel = 3799,
|
|
88
|
+
f2p = 113,
|
|
89
|
+
vr = 402,
|
|
90
|
+
vr_2 = 401,
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export enum EStoreCategory {
|
|
94
|
+
MultiPlayer = 1,
|
|
95
|
+
SinglePlayer = 2,
|
|
96
|
+
CoOp = 9,
|
|
97
|
+
PartialController = 18,
|
|
98
|
+
MMO = 20,
|
|
99
|
+
Achievements = 22,
|
|
100
|
+
SteamCloud = 23,
|
|
101
|
+
SplitScreen = 24,
|
|
102
|
+
CrossPlatformMultiPlayer = 27,
|
|
103
|
+
FullController = 28,
|
|
104
|
+
TradingCards = 29,
|
|
105
|
+
Workshop = 30,
|
|
106
|
+
VRSupport = 31,
|
|
107
|
+
OnlineMultiPlayer = 36,
|
|
108
|
+
LocalMultiPlayer = 37,
|
|
109
|
+
OnlineCoOp = 38,
|
|
110
|
+
LocalCoOp = 39,
|
|
111
|
+
RemotePlayTogether = 44,
|
|
112
|
+
HighQualitySoundtrackAudio = 50,
|
|
113
|
+
FamilySharing = 62,
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export enum EPartnerCollection {
|
|
117
|
+
EASubscription = 'EAAccess',
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export enum ESystemCollection {
|
|
121
|
+
Favorites = 'favorite',
|
|
122
|
+
Uncategorized = 'uncategorized',
|
|
123
|
+
Hidden = 'hidden',
|
|
124
|
+
AllAppsAlpha = 'all-apps-alpha',
|
|
125
|
+
AllAppsRecent = 'all-apps-recent',
|
|
126
|
+
MyGames = 'my-games',
|
|
127
|
+
SiteLicense = 'site-license',
|
|
128
|
+
Recent = 'recent',
|
|
129
|
+
Shared = 'shared-',
|
|
130
|
+
FamilyGroup = 'shared-familygroup',
|
|
131
|
+
DeckGames = 'deck-games',
|
|
132
|
+
DTst1Games = 'dtst1-games',
|
|
133
|
+
LocalGames = 'local-install',
|
|
134
|
+
AllGames = 'all-games',
|
|
135
|
+
LocalPlayed = 'local-played',
|
|
136
|
+
RecentPurchased = 'recent-purchased',
|
|
137
|
+
DeckDesktopApps = 'deck-desktop-apps',
|
|
138
|
+
RemotePlay = 'remote-play',
|
|
139
|
+
RemotePlayActive = 'remote-play-active',
|
|
140
|
+
VR = 'vr',
|
|
141
|
+
Xbox = 'xbox',
|
|
142
|
+
PS4 = 'ps4',
|
|
143
|
+
PS5 = 'ps5',
|
|
144
|
+
AppType = 'type-',
|
|
145
|
+
AppType_Games = 'type-games',
|
|
146
|
+
AppType_Soundtracks = 'type-music',
|
|
147
|
+
AppType_Software = 'type-software',
|
|
148
|
+
AppType_Videos = 'type-videos',
|
|
149
|
+
AppType_Tools = 'type-tools',
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
interface CollectionInStorageData_t {
|
|
153
|
+
id: string;
|
|
154
|
+
name: string;
|
|
155
|
+
added: number[];
|
|
156
|
+
removed: number[];
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
interface CollectionInStorage_t {
|
|
160
|
+
roamingData: CollectionInStorageData_t;
|
|
161
|
+
localData: Omit<CollectionInStorageData_t, 'name'>;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
type Values<K> = {
|
|
165
|
+
[P in keyof K]: K[P];
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
interface FilterGroup {
|
|
169
|
+
bAcceptUnion: boolean;
|
|
170
|
+
// TODO: these types depend on its index... no idea what i should do with this one
|
|
171
|
+
rgOptions: Values<FilterOptionByIndex_t>;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
export interface FilterSpec_t {
|
|
175
|
+
filterGroups: FilterGroup[];
|
|
176
|
+
nFormatVersion: number;
|
|
177
|
+
setSuggestions: Set<number>;
|
|
178
|
+
strSearchText: string;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
export type FilterOptionByIndex_t = {
|
|
182
|
+
[EFilterGroup.AppType]: EAppType;
|
|
183
|
+
[EFilterGroup.PlayState]: EGamePlayState;
|
|
184
|
+
[EFilterGroup.AppFeature]: EFilterAppFeature;
|
|
185
|
+
[EFilterGroup.Genre]: EGenre;
|
|
186
|
+
[EFilterGroup.StoreCategory]: EStoreCategory;
|
|
187
|
+
[EFilterGroup.Partner]: EPartnerCollection;
|
|
188
|
+
[EFilterGroup.Friends]: number;
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
type FilterOption_t<T extends EFilterGroup> = {
|
|
192
|
+
eGroup: T;
|
|
193
|
+
option: FilterOptionByIndex_t[T];
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Localized option name.
|
|
197
|
+
*/
|
|
198
|
+
name: string;
|
|
199
|
+
};
|
|
200
|
+
|
|
201
|
+
export declare class CCollectionFilterBase {
|
|
202
|
+
m_filterSpec: FilterSpec_t;
|
|
203
|
+
|
|
204
|
+
BAcceptsUnion(group: EFilterGroup): boolean;
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* @returns `true` if the option from a provided group is selected
|
|
208
|
+
*/
|
|
209
|
+
BIsSelected<K extends keyof FilterOptionByIndex_t>(group: K, option: FilterOptionByIndex_t[K]): boolean;
|
|
210
|
+
|
|
211
|
+
// TODO: is this even right? how do i check HEEEEEEEEEEEEEEEEEEELP
|
|
212
|
+
/**
|
|
213
|
+
* @returns all selected filter options.
|
|
214
|
+
*/
|
|
215
|
+
GetAllSelectedOptions<K extends keyof FilterOptionByIndex_t>(): FilterOption_t<K>[];
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* @returns all selected filter options for a provided group.
|
|
219
|
+
*/
|
|
220
|
+
GetSelectedOptions<K extends keyof FilterOptionByIndex_t>(group: K): FilterOptionByIndex_t[K][];
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* @returns search URL params for the current filter that could be used for
|
|
224
|
+
* the store search page. For example: `?tags=9,7` for "Cooperative" and
|
|
225
|
+
* "Single player" tags respectively.
|
|
226
|
+
*/
|
|
227
|
+
GetTagsString(): string;
|
|
228
|
+
|
|
229
|
+
Matches(overview: SteamAppOverview): boolean;
|
|
230
|
+
MatchesImpl(overview: SteamAppOverview): boolean;
|
|
231
|
+
MatchesScored(overview: SteamAppOverview): boolean;
|
|
232
|
+
MatchesScoredImpl(overview: SteamAppOverview): boolean;
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Adds/removes an option from a provided group.
|
|
236
|
+
*
|
|
237
|
+
* Note that sometimes you may have to call {@link CCollection.Save} for the
|
|
238
|
+
* UI changes to appear.
|
|
239
|
+
*
|
|
240
|
+
* @param value `true` to select, `false` otherwise.
|
|
241
|
+
*/
|
|
242
|
+
SelectOption<K extends keyof FilterOptionByIndex_t>(group: K, option: FilterOptionByIndex_t[K], value: boolean): void;
|
|
243
|
+
|
|
244
|
+
SetSearchSuggestions(list: number[]): void;
|
|
245
|
+
SetSearchText(text: string): void;
|
|
246
|
+
ToggleAcceptsUnion(group: EFilterGroup): void;
|
|
247
|
+
ToStorageFormat(): FilterSpec_t;
|
|
248
|
+
|
|
249
|
+
get bIsEmpty(): boolean;
|
|
250
|
+
get hash(): number;
|
|
251
|
+
get searchSuggestions(): Set<number>;
|
|
252
|
+
get searchText(): string;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
export declare class CDynamicCollectionFilter extends CCollectionFilterBase {
|
|
256
|
+
/**
|
|
257
|
+
* @returns `true` if the current filter includes filters for the specified
|
|
258
|
+
* app feature.
|
|
259
|
+
*/
|
|
260
|
+
BHasAppFeature(feature: EFilterAppFeature): boolean;
|
|
261
|
+
|
|
262
|
+
BHasNonGamepadOptions(): boolean;
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* @returns `true` if the current filter includes tools.
|
|
266
|
+
*/
|
|
267
|
+
BIncludesTools(): boolean;
|
|
268
|
+
|
|
269
|
+
GetCurrentControllerSpecificOption(): EFilterAppFeature[] | undefined;
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
* @returns an array of localized strings for the current filter.
|
|
273
|
+
*/
|
|
274
|
+
GetToolTipText(): string[];
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* Resets everything to default.
|
|
278
|
+
*/
|
|
279
|
+
Reset(): void;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
export declare class CCollectionBase {
|
|
283
|
+
m_mapFilterToAppCounts: Map<number, number>;
|
|
284
|
+
m_rgApps: number[];
|
|
285
|
+
m_setApps: Set<number>;
|
|
286
|
+
m_strId: string;
|
|
287
|
+
m_strName: string;
|
|
288
|
+
|
|
289
|
+
AsDeletableCollection(): CCollectionBase | null;
|
|
290
|
+
|
|
291
|
+
AsDragDropCollection(): CCollectionBase | null;
|
|
292
|
+
|
|
293
|
+
AsEditableCollection(): CCollectionBase | null;
|
|
294
|
+
|
|
295
|
+
/**
|
|
296
|
+
* @returns `true` if the provided SteamID is included with the dynamic
|
|
297
|
+
* collection's filter.
|
|
298
|
+
* @param steamid The SteamID 3 of a friend.
|
|
299
|
+
*/
|
|
300
|
+
BIncludesFriend(steamid: number): boolean;
|
|
301
|
+
|
|
302
|
+
ClearAppCounts(): void;
|
|
303
|
+
|
|
304
|
+
/**
|
|
305
|
+
* @returns the amount of games returned by the filter.
|
|
306
|
+
*/
|
|
307
|
+
GetAppCountWithToolsFilter(filter: CDynamicCollectionFilter): number;
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* Sets the provided app IDs for this collection.
|
|
311
|
+
*/
|
|
312
|
+
SetApps(rgApps: number[]): void;
|
|
313
|
+
|
|
314
|
+
UpdateAllApps(): void;
|
|
315
|
+
|
|
316
|
+
UpdateApps(rgAppsToAdd: SteamAppOverview[], rgAppsToRemove: number[]): void;
|
|
317
|
+
|
|
318
|
+
UpdateFriendOwnedGames(steamid: number): void;
|
|
319
|
+
|
|
320
|
+
get allApps(): SteamAppOverview[];
|
|
321
|
+
get apps(): Set<number>;
|
|
322
|
+
get bAllowsDragAndDrop(): boolean;
|
|
323
|
+
get bFiltersOnGameListAppType(): boolean;
|
|
324
|
+
get bIsDeletable(): boolean;
|
|
325
|
+
get bIsDynamic(): boolean;
|
|
326
|
+
get bIsEditable(): boolean;
|
|
327
|
+
get displayName(): string;
|
|
328
|
+
get id(): string;
|
|
329
|
+
get visibleApps(): SteamAppOverview[];
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
export declare class CCollection extends CCollectionBase {
|
|
333
|
+
m_filter: CDynamicCollectionFilter;
|
|
334
|
+
m_setAddedManually: Set<number>;
|
|
335
|
+
m_setRemovedManually: Set<number>;
|
|
336
|
+
|
|
337
|
+
/**
|
|
338
|
+
* Adds provided apps from this collection.
|
|
339
|
+
*/
|
|
340
|
+
AddApps(rgApps: SteamAppOverview[]): void;
|
|
341
|
+
|
|
342
|
+
/**
|
|
343
|
+
* Deletes the collection.
|
|
344
|
+
*/
|
|
345
|
+
Delete(): Promise<void>;
|
|
346
|
+
|
|
347
|
+
FreezeToStatic(): void;
|
|
348
|
+
|
|
349
|
+
MergeFromStorageFormat(data: CollectionInStorage_t): void;
|
|
350
|
+
|
|
351
|
+
/**
|
|
352
|
+
* Removes provided apps from this collection.
|
|
353
|
+
*/
|
|
354
|
+
RemoveApps(rgApps: SteamAppOverview[]): void;
|
|
355
|
+
|
|
356
|
+
Save(): Promise<void>;
|
|
357
|
+
|
|
358
|
+
ToStorageFormat(): CollectionInStorage_t;
|
|
359
|
+
|
|
360
|
+
get internalAddedList(): Set<number>;
|
|
361
|
+
get internalAppFilter(): CDynamicCollectionFilter;
|
|
362
|
+
get internalRemovedList(): Set<number>;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
export declare class CCollectionStore {
|
|
366
|
+
m_localStorage: CUserLocalStorage;
|
|
367
|
+
m_cloudStorage: CCloudStorage;
|
|
368
|
+
m_cloudStorageMap: CCloudStorageMap;
|
|
369
|
+
m_shortcutCollectionInfo: Record<string, Omit<CollectionInStorageData_t, 'name'>>;
|
|
370
|
+
m_mapSystemCollectionIdToName: Map<ESystemCollection, string>;
|
|
371
|
+
m_mapPartnerCollectionIdToName: Map<string, string>;
|
|
372
|
+
m_mapCollectionsFromStorage: Map<ESystemCollection, CCollection>;
|
|
373
|
+
|
|
374
|
+
/**
|
|
375
|
+
* Adds or removes provided apps to a collection.
|
|
376
|
+
*
|
|
377
|
+
* @param rgAppIDs Apps to add/remove.
|
|
378
|
+
* @param bAdd `true` to add, `false` to remove.
|
|
379
|
+
* @param strCollectionID The collection ID to add the apps to.
|
|
380
|
+
*/
|
|
381
|
+
AddOrRemoveApp(rgAppIDs: number[], bAdd: boolean, strCollectionID: string): void;
|
|
382
|
+
|
|
383
|
+
AddPartnerCollection(collectionID: string): Promise<void>;
|
|
384
|
+
|
|
385
|
+
BHasNonGamepadOptions(): boolean;
|
|
386
|
+
|
|
387
|
+
/**
|
|
388
|
+
* @returns `true` if the provided app needs to be included in your family's
|
|
389
|
+
* library.
|
|
390
|
+
*/
|
|
391
|
+
BIncludeInFamilyGroupCollection(app: SteamAppOverview): boolean;
|
|
392
|
+
|
|
393
|
+
/**
|
|
394
|
+
* @returns `true` if the provided app is owned by another user in your
|
|
395
|
+
* family.
|
|
396
|
+
*/
|
|
397
|
+
BIncludeInSharedLibraryCollection(app: SteamAppOverview): boolean;
|
|
398
|
+
|
|
399
|
+
/**
|
|
400
|
+
* @returns `true` if the provided app is in the "favorite" collection.
|
|
401
|
+
*/
|
|
402
|
+
BIsFavorite(app: SteamAppOverview | number): boolean;
|
|
403
|
+
|
|
404
|
+
/**
|
|
405
|
+
* @returns `true` if the provided SteamID 3 is in any dynamic collection.
|
|
406
|
+
*/
|
|
407
|
+
BIsFriendInAnyCollection(steamid3: number): boolean;
|
|
408
|
+
|
|
409
|
+
/**
|
|
410
|
+
* @returns `true` if the provided app is hidden.
|
|
411
|
+
*/
|
|
412
|
+
BIsHidden(app: SteamAppOverview | number): boolean;
|
|
413
|
+
|
|
414
|
+
/**
|
|
415
|
+
* @returns `true` if the provided ID is a partner collection. (only
|
|
416
|
+
* `partner-ea-access` for now).
|
|
417
|
+
*/
|
|
418
|
+
BIsPartnerCollectionId(id: string): boolean;
|
|
419
|
+
|
|
420
|
+
/**
|
|
421
|
+
* @returns `true` if the provided string is a partner collection's localized
|
|
422
|
+
* name.
|
|
423
|
+
*/
|
|
424
|
+
BIsPartnerCollectionName(name: string): boolean;
|
|
425
|
+
|
|
426
|
+
/**
|
|
427
|
+
* @returns `true` if the provided ID is a system collection.
|
|
428
|
+
*/
|
|
429
|
+
BIsSystemCollectionId(id: string): boolean;
|
|
430
|
+
|
|
431
|
+
/**
|
|
432
|
+
* @returns `true` if the provided string is a system collection's localized
|
|
433
|
+
* name.
|
|
434
|
+
*/
|
|
435
|
+
BIsSystemCollectionName(name: string): boolean;
|
|
436
|
+
|
|
437
|
+
/**
|
|
438
|
+
* @returns `true` if the provided app is visible in the collection view.
|
|
439
|
+
*/
|
|
440
|
+
BIsVisible(app: SteamAppOverview | number): boolean;
|
|
441
|
+
|
|
442
|
+
CreateSystemCollections(): Promise<void>;
|
|
443
|
+
|
|
444
|
+
/**
|
|
445
|
+
* Deletes a provided collection ID.
|
|
446
|
+
*
|
|
447
|
+
* @throws if the provided ID is of a system collection.
|
|
448
|
+
*/
|
|
449
|
+
DeleteCollection(collectionID: string): Promise<EResult>;
|
|
450
|
+
|
|
451
|
+
/**
|
|
452
|
+
* @returns the collection associated with the provided ID.
|
|
453
|
+
*/
|
|
454
|
+
GetCollection(collectionID: string): CCollection | null;
|
|
455
|
+
|
|
456
|
+
/**
|
|
457
|
+
* @returns the collection associated with the provided app type.
|
|
458
|
+
*/
|
|
459
|
+
GetCollectionForAppType(type: EAppType): CCollectionBase | undefined;
|
|
460
|
+
|
|
461
|
+
/**
|
|
462
|
+
* @returns the collection ID associated with the provided collection name.
|
|
463
|
+
*/
|
|
464
|
+
GetCollectionIDByUserTag(collectionName: string): string | null;
|
|
465
|
+
|
|
466
|
+
/**
|
|
467
|
+
* @returns an array of user collections that have a provided app.
|
|
468
|
+
*/
|
|
469
|
+
GetCollectionListForAppID(appId: number): CCollection[];
|
|
470
|
+
|
|
471
|
+
GetCurrentGamepadFilter(): EFilterAppFeature;
|
|
472
|
+
|
|
473
|
+
/**
|
|
474
|
+
* @returns an array of user collections filtered by the provided name.
|
|
475
|
+
*/
|
|
476
|
+
GetUserCollectionsByName(collectionName: string): CCollection[];
|
|
477
|
+
|
|
478
|
+
NewUnsavedCollection(strName: string, filter: CDynamicCollectionFilter, rgApps: SteamAppOverview[]): CCollection;
|
|
479
|
+
|
|
480
|
+
/**
|
|
481
|
+
* @returns the localized partner collection name from its ID.
|
|
482
|
+
*/
|
|
483
|
+
PartnerCollectionIdToName(collectionID: string): string | undefined;
|
|
484
|
+
|
|
485
|
+
/**
|
|
486
|
+
* Saves a provided collection to local & cloud storages. Rewrites the
|
|
487
|
+
* previous one if both have the same name.
|
|
488
|
+
*/
|
|
489
|
+
SaveCollection(collection: CCollection): Promise<void>;
|
|
490
|
+
|
|
491
|
+
/**
|
|
492
|
+
* Adds or removes provided apps to the "favorite" collection.
|
|
493
|
+
*
|
|
494
|
+
* @param rgAppIDs Apps to add/remove.
|
|
495
|
+
* @param bAdd `true` to add, `false` to remove.
|
|
496
|
+
*/
|
|
497
|
+
SetAppsAsFavorite(rgAppIDs: number[], bAdd: boolean): void;
|
|
498
|
+
|
|
499
|
+
/**
|
|
500
|
+
* Adds or removes provided apps to the "hidden" collection.
|
|
501
|
+
*
|
|
502
|
+
* @param rgAppIDs Apps to add/remove.
|
|
503
|
+
* @param bAdd `true` to add, `false` to remove.
|
|
504
|
+
*/
|
|
505
|
+
SetAppsAsHidden(rgAppIDs: number[], bAdd: boolean): void;
|
|
506
|
+
|
|
507
|
+
SetGamepadCollectionFilter(type: EAppType): void;
|
|
508
|
+
|
|
509
|
+
/**
|
|
510
|
+
* @returns the localized system collection name from its ID.
|
|
511
|
+
*/
|
|
512
|
+
SystemCollectionIdToName(collectionID: ESystemCollection): string | undefined;
|
|
513
|
+
|
|
514
|
+
WriteLocalStorage(): Promise<void>;
|
|
515
|
+
|
|
516
|
+
get allAppsCollection(): CCollectionBase;
|
|
517
|
+
get allGamesCollection(): CCollectionBase;
|
|
518
|
+
get allRecentAppsCollection(): CCollectionBase;
|
|
519
|
+
get appTypeCollectionMap(): Map<ESystemCollection, CCollectionBase>;
|
|
520
|
+
get appTypeCollections(): CCollectionBase[];
|
|
521
|
+
get collectionsFromStorage(): Map<ESystemCollection, CCollection>;
|
|
522
|
+
get deckDesktopApps(): CCollectionBase;
|
|
523
|
+
get deckGamesCollection(): CCollectionBase;
|
|
524
|
+
// what
|
|
525
|
+
get dtestGamesCollection(): null;
|
|
526
|
+
get localGamesCollection(): CCollectionBase;
|
|
527
|
+
get localPlayedGamesCollection(): CCollectionBase;
|
|
528
|
+
get myGamesCollection(): CCollectionBase;
|
|
529
|
+
get ps4ControllerGamesCollection(): CCollectionBase;
|
|
530
|
+
get ps5ControllerGamesCollection(): CCollectionBase;
|
|
531
|
+
get recentAppCollectionMap(): Map<string, CCollectionBase>;
|
|
532
|
+
get recentAppCollections(): CCollectionBase[];
|
|
533
|
+
get recentAppsCollection(): CCollectionBase;
|
|
534
|
+
get recentPurchasedGamesCollection(): CCollectionBase;
|
|
535
|
+
get remotePlayActiveCollection(): CCollectionBase;
|
|
536
|
+
get remotePlayCollection(): CCollectionBase;
|
|
537
|
+
get sharedLibrariesCollectionMap(): Map<string, CCollectionBase>;
|
|
538
|
+
get sharedLibrariesCollections(): CCollectionBase[];
|
|
539
|
+
get siteLicenseCollection(): CCollectionBase;
|
|
540
|
+
get uncategorizedCollection(): CCollectionBase;
|
|
541
|
+
get userCollections(): CCollectionBase[];
|
|
542
|
+
get vrAppsCollection(): CCollectionBase;
|
|
543
|
+
get xboxControllerGamesCollection(): CCollectionBase;
|
|
544
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { SpewType_t } from '../steam-client/Console';
|
|
2
|
+
import type { Unregisterable } from '../steam-client/shared';
|
|
3
|
+
|
|
4
|
+
export interface ConsoleSpewInfo {
|
|
5
|
+
text: string;
|
|
6
|
+
type: SpewType_t;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface ConsoleSpew {
|
|
10
|
+
/**
|
|
11
|
+
* Zero-indexed line number.
|
|
12
|
+
*/
|
|
13
|
+
line: number;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Spew info.
|
|
17
|
+
*/
|
|
18
|
+
spew: ConsoleSpewInfo[];
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Time at which this got spewed out.
|
|
22
|
+
*/
|
|
23
|
+
time: Date;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface CConsoleStore {
|
|
27
|
+
m_listenHandle: Unregisterable;
|
|
28
|
+
m_rgCommandHistory: string[];
|
|
29
|
+
m_rgConsoleSpew: ConsoleSpew[];
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Adds text to the console.
|
|
33
|
+
*
|
|
34
|
+
* @param text Text to add. Must include `\n` at the end for a newline if
|
|
35
|
+
* `type` isn't "input".
|
|
36
|
+
* @param type Text type. Responsible for colors.
|
|
37
|
+
*/
|
|
38
|
+
AddSpewLine(text: string, type?: SpewType_t): void;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Clears the console history.
|
|
42
|
+
*/
|
|
43
|
+
Reset(): void;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Starts listening for console output.
|
|
47
|
+
*/
|
|
48
|
+
StartListening(): void;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Stops listening for console output.
|
|
52
|
+
*/
|
|
53
|
+
StopListening(): void;
|
|
54
|
+
}
|