1
1
'use strict' ;
2
2
3
+ /** @type {string|null } */
3
4
let storeSessionId = null ;
5
+
6
+ /** @type {Record<string, any>|null } */
4
7
let userDataCache = null ;
8
+
9
+ /** @type {Record<string, any>|null } */
5
10
let userFamilyDataCache = null ;
11
+
12
+ /** @type {Promise<{data: Record<string, any>}|{error: string, data?: Record<string, any>}>|null } */
6
13
let userFamilySemaphore = null ;
7
14
let nextAllowedRequest = 0 ;
8
15
@@ -77,7 +84,7 @@ function InvalidateCache()
77
84
}
78
85
79
86
/**
80
- * @param {Function } callback
87
+ * @param {(obj: {data: Record<string, any>}|{error: string, data?: Record<string, any>}) => void } callback
81
88
*/
82
89
async function FetchSteamUserData ( callback )
83
90
{
@@ -160,7 +167,7 @@ async function FetchSteamUserData( callback )
160
167
}
161
168
162
169
/**
163
- * @param {Function } callback
170
+ * @param {(obj: {data: Record<string, any>}|{error: string, data?: Record<string, any>}) => void } callback
164
171
*/
165
172
async function FetchSteamUserFamilyData ( callback )
166
173
{
@@ -326,7 +333,8 @@ function GetJsonWithStatusCheck( response )
326
333
}
327
334
328
335
/**
329
- * @param {Function } callback
336
+ * @param {string } appid
337
+ * @param {(obj: {success: true}|{success: false, error: string}) => void } callback
330
338
*/
331
339
function GetApp ( appid , callback )
332
340
{
@@ -337,7 +345,7 @@ function GetApp( appid, callback )
337
345
}
338
346
339
347
const params = new URLSearchParams ( ) ;
340
- params . set ( 'appid' , Number . parseInt ( appid , 10 ) ) ;
348
+ params . set ( 'appid' , Number . parseInt ( appid , 10 ) . toString ( ) ) ;
341
349
342
350
fetch ( `https://steamdb.info/api/ExtensionApp/?${ params . toString ( ) } ` , {
343
351
headers : {
@@ -351,7 +359,10 @@ function GetApp( appid, callback )
351
359
}
352
360
353
361
/**
354
- * @param {Function } callback
362
+ * @param {Object } obj
363
+ * @param {string } obj.appid
364
+ * @param {string } obj.currency
365
+ * @param {(obj: {success: true}|{success: false, error: string}) => void } callback
355
366
*/
356
367
function GetAppPrice ( { appid, currency } , callback )
357
368
{
@@ -362,7 +373,7 @@ function GetAppPrice( { appid, currency }, callback )
362
373
}
363
374
364
375
const params = new URLSearchParams ( ) ;
365
- params . set ( 'appid' , Number . parseInt ( appid , 10 ) ) ;
376
+ params . set ( 'appid' , Number . parseInt ( appid , 10 ) . toString ( ) ) ;
366
377
params . set ( 'currency' , currency ) ;
367
378
368
379
fetch ( `https://steamdb.info/api/ExtensionAppPrice/?${ params . toString ( ) } ` , {
@@ -377,7 +388,8 @@ function GetAppPrice( { appid, currency }, callback )
377
388
}
378
389
379
390
/**
380
- * @param {Function } callback
391
+ * @param {string } appid
392
+ * @param {(obj: {success: true}|{success: false, error: string}) => void } callback
381
393
*/
382
394
function GetAchievementsGroups ( appid , callback )
383
395
{
@@ -388,7 +400,7 @@ function GetAchievementsGroups( appid, callback )
388
400
}
389
401
390
402
const params = new URLSearchParams ( ) ;
391
- params . set ( 'appid' , Number . parseInt ( appid , 10 ) ) ;
403
+ params . set ( 'appid' , Number . parseInt ( appid , 10 ) . toString ( ) ) ;
392
404
393
405
fetch ( `https://steamdb.info/api/ExtensionGetAchievements/?${ params . toString ( ) } ` , {
394
406
headers : {
@@ -402,70 +414,77 @@ function GetAchievementsGroups( appid, callback )
402
414
}
403
415
404
416
/**
405
- * @param {Function } callback
417
+ * @param {string } appid
418
+ * @param {(obj: {success: true}|{success: false, error: string}) => void } callback
406
419
*/
407
420
function StoreWishlistAdd ( appid , callback )
408
421
{
409
422
const formData = new FormData ( ) ;
410
- formData . set ( 'appid' , Number . parseInt ( appid , 10 ) ) ;
423
+ formData . set ( 'appid' , Number . parseInt ( appid , 10 ) . toString ( ) ) ;
411
424
ExecuteStoreApiCall ( 'api/addtowishlist' , formData , callback ) ;
412
425
}
413
426
414
427
/**
415
- * @param {Function } callback
428
+ * @param {string } appid
429
+ * @param {(obj: {success: true}|{success: false, error: string}) => void } callback
416
430
*/
417
431
function StoreWishlistRemove ( appid , callback )
418
432
{
419
433
const formData = new FormData ( ) ;
420
- formData . set ( 'appid' , Number . parseInt ( appid , 10 ) ) ;
434
+ formData . set ( 'appid' , Number . parseInt ( appid , 10 ) . toString ( ) ) ;
421
435
ExecuteStoreApiCall ( 'api/removefromwishlist' , formData , callback ) ;
422
436
}
423
437
424
438
/**
425
- * @param {Function } callback
439
+ * @param {string } appid
440
+ * @param {(obj: {success: true}|{success: false, error: string}) => void } callback
426
441
*/
427
442
function StoreFollow ( appid , callback )
428
443
{
429
444
const formData = new FormData ( ) ;
430
- formData . set ( 'appid' , Number . parseInt ( appid , 10 ) ) ;
445
+ formData . set ( 'appid' , Number . parseInt ( appid , 10 ) . toString ( ) ) ;
431
446
ExecuteStoreApiCall ( 'explore/followgame/' , formData , callback ) ;
432
447
}
433
448
434
449
/**
435
- * @param {Function } callback
450
+ * @param {string } appid
451
+ * @param {(obj: {success: true}|{success: false, error: string}) => void } callback
436
452
*/
437
453
function StoreUnfollow ( appid , callback )
438
454
{
439
455
const formData = new FormData ( ) ;
440
- formData . set ( 'appid' , Number . parseInt ( appid , 10 ) ) ;
441
- formData . set ( 'unfollow' , 1 ) ;
456
+ formData . set ( 'appid' , Number . parseInt ( appid , 10 ) . toString ( ) ) ;
457
+ formData . set ( 'unfollow' , '1' ) ;
442
458
ExecuteStoreApiCall ( 'explore/followgame/' , formData , callback ) ;
443
459
}
444
460
445
461
/**
446
- * @param {Function } callback
462
+ * @param {string } appid
463
+ * @param {(obj: {success: true}|{success: false, error: string}) => void } callback
447
464
*/
448
465
function StoreIgnore ( appid , callback )
449
466
{
450
467
const formData = new FormData ( ) ;
451
- formData . set ( 'appid' , Number . parseInt ( appid , 10 ) ) ;
452
- formData . set ( 'ignore_reason' , 0 ) ;
468
+ formData . set ( 'appid' , Number . parseInt ( appid , 10 ) . toString ( ) ) ;
469
+ formData . set ( 'ignore_reason' , '0' ) ;
453
470
ExecuteStoreApiCall ( 'recommended/ignorerecommendation/' , formData , callback ) ;
454
471
}
455
472
456
473
/**
457
- * @param {Function } callback
474
+ * @param {string } appid
475
+ * @param {(obj: {success: true}|{success: false, error: string}) => void } callback
458
476
*/
459
477
function StoreUnignore ( appid , callback )
460
478
{
461
479
const formData = new FormData ( ) ;
462
- formData . set ( 'appid' , Number . parseInt ( appid , 10 ) ) ;
463
- formData . set ( 'remove' , 1 ) ;
480
+ formData . set ( 'appid' , Number . parseInt ( appid , 10 ) . toString ( ) ) ;
481
+ formData . set ( 'remove' , '1' ) ;
464
482
ExecuteStoreApiCall ( 'recommended/ignorerecommendation/' , formData , callback ) ;
465
483
}
466
484
467
485
/**
468
- * @param {Function } callback
486
+ * @param {Record<string, string> } request
487
+ * @param {(obj: {success: true}|{success: false, error: string}) => void } callback
469
488
*/
470
489
function StoreAddToCart ( request , callback )
471
490
{
@@ -474,11 +493,11 @@ function StoreAddToCart( request, callback )
474
493
475
494
if ( request . subid )
476
495
{
477
- formData . set ( 'subid' , Number . parseInt ( request . subid , 10 ) ) ;
496
+ formData . set ( 'subid' , Number . parseInt ( request . subid , 10 ) . toString ( ) ) ;
478
497
}
479
498
else if ( request . bundleid )
480
499
{
481
- formData . set ( 'bundleid' , Number . parseInt ( request . bundleid , 10 ) ) ;
500
+ formData . set ( 'bundleid' , Number . parseInt ( request . bundleid , 10 ) . toString ( ) ) ;
482
501
}
483
502
else
484
503
{
@@ -489,7 +508,8 @@ function StoreAddToCart( request, callback )
489
508
}
490
509
491
510
/**
492
- * @param {Function } callback
511
+ * @param {Record<string, string> } request
512
+ * @param {(obj: {success: true}|{success: false, error: string, resultCode: number}) => void } callback
493
513
*/
494
514
function StoreAddFreeLicense ( request , callback )
495
515
{
@@ -545,21 +565,23 @@ function StoreAddFreeLicense( request, callback )
545
565
}
546
566
547
567
/**
548
- * @param {Function } callback
568
+ * @param {Record<string, string> } request
569
+ * @param {(obj: {success: true}|{success: false, error: string}) => void } callback
549
570
*/
550
571
function StoreRemoveFreeLicense ( request , callback )
551
572
{
552
573
if ( request . subid )
553
574
{
554
575
const subid = Number . parseInt ( request . subid , 10 ) ;
555
576
const formData = new FormData ( ) ;
556
- formData . set ( 'packageid' , subid ) ;
577
+ formData . set ( 'packageid' , subid . toString ( ) ) ;
557
578
ExecuteStoreApiCall ( 'account/removelicense' , formData , callback ) ;
558
579
}
559
580
}
560
581
561
582
/**
562
- * @param {Function } callback
583
+ * @param {Record<string, string> } request
584
+ * @param {(obj: {success: boolean, granted: boolean}) => void } callback
563
585
*/
564
586
function StoreRequestPlaytestAccess ( request , callback )
565
587
{
@@ -590,7 +612,9 @@ function StoreRequestPlaytestAccess( request, callback )
590
612
}
591
613
592
614
/**
593
- * @param {Function } callback
615
+ * @param {string } path
616
+ * @param {FormData } formData
617
+ * @param {(obj: {success: true}|{success: false, error: string}) => void } callback
594
618
*/
595
619
function ExecuteStoreApiCall ( path , formData , callback , rawCallback = false )
596
620
{
@@ -673,7 +697,7 @@ function ExecuteStoreApiCall( path, formData, callback, rawCallback = false )
673
697
}
674
698
675
699
/**
676
- * @param {Function } callback
700
+ * @param {(obj: {success: true, sessionID: string}|{success: false, error: string}) => void } callback
677
701
*/
678
702
function GetStoreSessionID ( callback )
679
703
{
0 commit comments