@@ -45,6 +45,7 @@ export interface GameSearchRelations {
45
45
platforms : boolean
46
46
gameData : boolean
47
47
addApps : boolean
48
+ ext : Record < string , Record < string , boolean > >
48
49
}
49
50
export interface GameFilter {
50
51
subfilters : Array < GameFilter >
@@ -77,9 +78,11 @@ export interface FieldFilter {
77
78
applicationPath ?: Array < string >
78
79
launchCommand ?: Array < string >
79
80
ruffleSupport ?: Array < string >
81
+ ext ?: Record < string , Record < string , Array < string > > >
80
82
}
81
83
export interface BoolFilter {
82
84
installed ?: boolean
85
+ ext ?: Record < string , Record < string , boolean > >
83
86
}
84
87
export interface SizeFilter {
85
88
tags ?: number
@@ -92,6 +95,7 @@ export interface SizeFilter {
92
95
playtime ?: number
93
96
playcount ?: number
94
97
lastPlayed ?: string
98
+ ext ?: Record < string , Record < string , number > >
95
99
}
96
100
export interface PageTuple {
97
101
id : string
@@ -114,6 +118,25 @@ export interface ParsedInput {
114
118
search : GameSearch
115
119
positions : Array < ElementPosition >
116
120
}
121
+ export interface ExtensionIndex {
122
+ name : string
123
+ key : string
124
+ }
125
+ export const enum ExtSearchableType {
126
+ String = 0 ,
127
+ Boolean = 1 ,
128
+ Number = 2
129
+ }
130
+ export interface ExtSearchable {
131
+ key : string
132
+ valueType : ExtSearchableType
133
+ searchKey : string
134
+ }
135
+ export interface ExtensionInfo {
136
+ id : string
137
+ searchables : Array < ExtSearchable >
138
+ indexes : Array < ExtensionIndex >
139
+ }
117
140
export interface AdditionalApp {
118
141
id : string
119
142
name : string
@@ -161,6 +184,7 @@ export interface Game {
161
184
gameData ?: Array < GameData >
162
185
addApps ?: Array < AdditionalApp >
163
186
ruffleSupport : string
187
+ extData ?: Record < string , any >
164
188
}
165
189
export interface PartialGame {
166
190
id : string
@@ -198,6 +222,7 @@ export interface PartialGame {
198
222
archiveState ?: number
199
223
addApps ?: Array < AdditionalApp >
200
224
ruffleSupport ?: string
225
+ extData ?: Record < string , any >
201
226
}
202
227
export interface GameRedirect {
203
228
sourceId : string
@@ -366,7 +391,6 @@ export interface ContentTreeNode {
366
391
export function genContentTree ( root : string ) : Promise < ContentTreeNode >
367
392
export function copyFolder ( src : string , dest : string ) : Promise < number >
368
393
export function mergeGameFilters ( a : GameFilter , b : GameFilter ) : GameFilter
369
- export function parseUserSearchInput ( input : string ) : ParsedInput
370
394
export function newSubfilter ( ) : GameFilter
371
395
export function enableDebug ( ) : void
372
396
export function disableDebug ( ) : void
@@ -441,6 +465,8 @@ export class FlashpointArchive {
441
465
updateApplyRedirects ( redirects : Array < GameRedirect > ) : Promise < void >
442
466
optimizeDatabase ( ) : Promise < void >
443
467
newCustomIdOrder ( customIdOrder : Array < string > ) : Promise < void >
468
+ registerExtension ( extInfo : ExtensionInfo ) : void
469
+ parseUserSearchInput ( input : string ) : ParsedInput
444
470
}
445
471
446
472
export type TagVec = string [ ] ;
0 commit comments