@@ -12,8 +12,8 @@ export type PluginState = {
1212 [ index : number ] : {
1313 hp ?: number ;
1414 stress ?: number ;
15- uses ?: number [ ] ;
16- countdown ?: number [ ] ;
15+ uses ?: { [ key : string ] : number } ;
16+ countdown ?: { [ key : string ] : number }
1717 } ;
1818 } ;
1919 } ;
@@ -77,7 +77,7 @@ export default class BeastVault extends Plugin {
7777 }
7878 const newLibrary : Adversary [ ] = [ ] ;
7979 await walkFolder ( folder , async ( file ) => {
80- let content : any ;
80+ let content : Adversary | Adversary [ ] ;
8181
8282 if ( file . extension == 'json' ) {
8383 content = JSON . parse ( await this . app . vault . read ( file ) ) ;
@@ -279,24 +279,26 @@ export default class BeastVault extends Plugin {
279279 }
280280
281281 updateCard ( keys : ( string | number ) [ ] , value : string | number ) {
282- let data : Record < any , any > = this . state . cards ;
282+ type Data = { [ key : string ] : Data | number | string } ;
283+ let data : Data = this . state . cards ;
283284 const keysCopy = [ ...keys ] ;
284285 const lastKey = keysCopy . pop ( ) ! ;
285286 for ( const key of keysCopy ) {
286287 if ( ! data [ key ] ) data [ key ] = { } ;
287- data = data [ key ]
288+ data = data [ key ] as Data ;
288289 }
289290 data [ lastKey ] = value ;
290291 this . updateState ( ) ;
291292 }
292293
293294 getCardState ( keys : ( string | number ) [ ] ) : number | undefined {
294- let data : any = this . state . cards ;
295+ type Data = { [ key : string ] : Data | string | number }
296+ let data : Data = this . state . cards ;
295297 for ( const key of keys ) {
296- if ( data [ key ] == null ) return undefined ;
297- data = data [ key ]
298+ if ( ! data [ key ] ) return undefined ;
299+ data = data [ key ] as Data ;
298300 }
299- return data ;
301+ return data as any ;
300302 }
301303}
302304
0 commit comments