Import recent changes and add cache file for last timestamp

This commit is contained in:
mtkennerly 2020-07-17 16:09:39 -04:00
parent f9fdb28d8b
commit 4ffe86835d
11 changed files with 227 additions and 115 deletions

View file

@ -3,8 +3,8 @@ Requires Node.js.
Generally, you just need these commands: Generally, you just need these commands:
* Add all recent changes since a certain number of days ago: * Add all recent changes (defaults to last 7 days, but then it remembers when you last ran it):
* `npm run recent 5` * `npm run recent`
* Validate the manifest against the schema: * Validate the manifest against the schema:
* `npm run schema` * `npm run schema`
* List some stats about the data set: * List some stats about the data set:

View file

@ -40004,6 +40004,11 @@ Cat Quest:
- save - save
when: when:
- os: windows - os: windows
<home>/Library/Application Support/com.thegentlebros.catquest:
tags:
- save
when:
- os: mac
installDir: installDir:
Cat Quest: {} Cat Quest: {}
registry: registry:
@ -60608,6 +60613,9 @@ Death end re;Quest:
Death end reQuest: {} Death end reQuest: {}
steam: steam:
id: 990050 id: 990050
Death end re;Quest 2:
steam:
id: 1266220
'Death from Unknown: Survival': 'Death from Unknown: Survival':
steam: steam:
id: 809550 id: 809550
@ -86648,6 +86656,18 @@ Fernz Gate:
Fernz Gate: {} Fernz Gate: {}
steam: steam:
id: 860480 id: 860480
Ferrari Virtual Race:
files:
<winProgramData>/Synetic/FerrariVR:
tags:
- config
when:
- os: windows
<winProgramData>/Synetic/FerrariVR/SavedGame:
tags:
- save
when:
- os: windows
Ferret Scoundrels: Ferret Scoundrels:
installDir: installDir:
Ferret Scoundrels: {} Ferret Scoundrels: {}
@ -115660,6 +115680,11 @@ I Hate Santa:
I Have Lived: I Have Lived:
steam: steam:
id: 1200700 id: 1200700
'I Have Low Stats But My Class Is ''Leader'', So I Recruited Everyone I Know To Fight The Dark Lord':
installDir:
'I Have Low Stats But My Class Is Leader, So I Recruited Everyone I Know To Fight The Dark Lord': {}
steam:
id: 1176040
'I Have No Mouth, and I Must Scream': 'I Have No Mouth, and I Must Scream':
files: files:
<base>/SCREAM: <base>/SCREAM:
@ -202419,6 +202444,11 @@ Shan Gui:
Shan Gui: {} Shan Gui: {}
steam: steam:
id: 307050 id: 307050
'Shan Gui II: Sweet Osmanthus II':
installDir:
Shan Gui 2: {}
steam:
id: 952420
Shank: Shank:
files: files:
<root>/userdata/<storeUserId>/6120/remote: <root>/userdata/<storeUserId>/6120/remote:
@ -211001,6 +211031,11 @@ Sonic R (2004):
- config - config
when: when:
- os: windows - os: windows
<base>/keys.bin:
tags:
- config
when:
- os: windows
<base>/save: <base>/save:
tags: tags:
- save - save
@ -212513,12 +212548,12 @@ Space Hulk Ascension:
id: 298900 id: 298900
'Space Hulk: Deathwing - Enhanced Edition': 'Space Hulk: Deathwing - Enhanced Edition':
files: files:
<home>/AppData/Local/SpaceHulkEnhanced/Saved/Config/WindowsNoEditor: <winLocalAppData>/SpaceHulkEnhanced/Saved/Config/WindowsNoEditor:
tags: tags:
- config - config
when: when:
- os: windows - os: windows
<home>/AppData/Local/SpaceHulkEnhanced/Saved/SaveGames: <winLocalAppData>/SpaceHulkEnhanced/Saved/SaveGames:
tags: tags:
- save - save
when: when:
@ -225122,7 +225157,7 @@ Super Zombie Arcade:
Super Zombie Arcade: {} Super Zombie Arcade: {}
steam: steam:
id: 903640 id: 903640
Super gamebear with its three girlfriends你想知道关于超级喜欢游戏的一头黑色矮小的游戏熊是如何与它的"三个后宫团女朋友"购买到GBC游戏机的吗: Super gamebear with its three girlfriends:
installDir: installDir:
SJX: {} SJX: {}
steam: steam:
@ -225814,6 +225849,29 @@ Surge Radio:
Surge Radio: {} Surge Radio: {}
steam: steam:
id: 958190 id: 958190
Surgeon Simulator:
files:
<home>/.config/unity3d/Bossa Studios/Surgeon Simulator 2013:
tags:
- config
- save
when:
- os: linux
<home>/Library/Saved Application State/unity.Bossa Studios.Surgeon Simulator 2013.savedState:
tags:
- config
- save
when:
- os: mac
installDir:
Surgeon Simulator: {}
registry:
HKEY_CURRENT_USER/Software/Bossa Studios/Surgeon Simulator 2013:
tags:
- config
- save
steam:
id: 233720
'Surgeon Simulator VR: Meet The Medic': 'Surgeon Simulator VR: Meet The Medic':
installDir: installDir:
Surgeon Simulator VR Meet The Medic: {} Surgeon Simulator VR Meet The Medic: {}
@ -238880,6 +238938,11 @@ The Journey Back:
- save - save
when: when:
- os: windows - os: windows
<winAppData>/SkyGoblin/TheJourneyDown1/settings.cfg:
tags:
- config
when:
- os: windows
<xdgConfig>/JourneyDownOne: <xdgConfig>/JourneyDownOne:
tags: tags:
- config - config
@ -238892,11 +238955,16 @@ The Journey Back:
id: 220090 id: 220090
'The Journey Down: Chapter Three': 'The Journey Down: Chapter Three':
files: files:
'%APPDATA%/SkyGoblin/TheJourneyDown3': <winAppData>/SkyGoblin/TheJourneyDown3:
tags: tags:
- save - save
when: when:
- os: windows - os: windows
<winAppData>/SkyGoblin/TheJourneyDown3/settings.cfg:
tags:
- config
when:
- os: windows
installDir: installDir:
The Journey Down Chapter Three: {} The Journey Down Chapter Three: {}
steam: steam:

View file

@ -7674,6 +7674,7 @@
* [Death Collector](https://www.pcgamingwiki.com/wiki/?curid=123419) * [Death Collector](https://www.pcgamingwiki.com/wiki/?curid=123419)
* [Death Crown](https://www.pcgamingwiki.com/wiki/?curid=89704) * [Death Crown](https://www.pcgamingwiki.com/wiki/?curid=89704)
* [Death Dojo](https://www.pcgamingwiki.com/wiki/?curid=53041) * [Death Dojo](https://www.pcgamingwiki.com/wiki/?curid=53041)
* [Death end re;Quest 2](https://www.pcgamingwiki.com/wiki/?curid=161908)
* [Death Field: The Battle Royale of Disaster](https://www.pcgamingwiki.com/wiki/?curid=91880) * [Death Field: The Battle Royale of Disaster](https://www.pcgamingwiki.com/wiki/?curid=91880)
* [Death from Unknown: Survival](https://www.pcgamingwiki.com/wiki/?curid=90324) * [Death from Unknown: Survival](https://www.pcgamingwiki.com/wiki/?curid=90324)
* [Death Fungeon](https://www.pcgamingwiki.com/wiki/?curid=103979) * [Death Fungeon](https://www.pcgamingwiki.com/wiki/?curid=103979)
@ -14830,7 +14831,7 @@
* [I Hate Santa](https://www.pcgamingwiki.com/wiki/?curid=54343) * [I Hate Santa](https://www.pcgamingwiki.com/wiki/?curid=54343)
* [I hate this game](https://www.pcgamingwiki.com/wiki/?curid=126146) * [I hate this game](https://www.pcgamingwiki.com/wiki/?curid=126146)
* [I Have Lived](https://www.pcgamingwiki.com/wiki/?curid=157108) * [I Have Lived](https://www.pcgamingwiki.com/wiki/?curid=157108)
* [I Have Low Stats But My Class Is "Leader", So I Recruited Everyone I Know To Fight The Dark Lord](https://www.pcgamingwiki.com/wiki/?curid=149987) * [I Have Low Stats But My Class Is 'Leader', So I Recruited Everyone I Know To Fight The Dark Lord](https://www.pcgamingwiki.com/wiki/?curid=149987)
* [I Know a Tale](https://www.pcgamingwiki.com/wiki/?curid=40432) * [I Know a Tale](https://www.pcgamingwiki.com/wiki/?curid=40432)
* [I Know Everything](https://www.pcgamingwiki.com/wiki/?curid=136828) * [I Know Everything](https://www.pcgamingwiki.com/wiki/?curid=136828)
* [I LIKE THE FLOWERS](https://www.pcgamingwiki.com/wiki/?curid=144620) * [I LIKE THE FLOWERS](https://www.pcgamingwiki.com/wiki/?curid=144620)
@ -26173,7 +26174,7 @@
* [Shallow Space](https://www.pcgamingwiki.com/wiki/?curid=45970) * [Shallow Space](https://www.pcgamingwiki.com/wiki/?curid=45970)
* [Shalnor Legends: Sacred Lands](https://www.pcgamingwiki.com/wiki/?curid=73050) * [Shalnor Legends: Sacred Lands](https://www.pcgamingwiki.com/wiki/?curid=73050)
* [Shaman Flower](https://www.pcgamingwiki.com/wiki/?curid=64640) * [Shaman Flower](https://www.pcgamingwiki.com/wiki/?curid=64640)
* [Shan Gui 2 山桂贰](https://www.pcgamingwiki.com/wiki/?curid=114976) * [Shan Gui II: Sweet Osmanthus II](https://www.pcgamingwiki.com/wiki/?curid=114976)
* [Shank n' Bake](https://www.pcgamingwiki.com/wiki/?curid=65132) * [Shank n' Bake](https://www.pcgamingwiki.com/wiki/?curid=65132)
* [Shannon Tweed's Attack of the Groupies](https://www.pcgamingwiki.com/wiki/?curid=50496) * [Shannon Tweed's Attack of the Groupies](https://www.pcgamingwiki.com/wiki/?curid=50496)
* [Shaolin vs Wutang](https://www.pcgamingwiki.com/wiki/?curid=38408) * [Shaolin vs Wutang](https://www.pcgamingwiki.com/wiki/?curid=38408)
@ -28830,7 +28831,7 @@
* [Super Furi Puzzles](https://www.pcgamingwiki.com/wiki/?curid=112136) * [Super Furi Puzzles](https://www.pcgamingwiki.com/wiki/?curid=112136)
* [Super Galaxy Boy](https://www.pcgamingwiki.com/wiki/?curid=68214) * [Super Galaxy Boy](https://www.pcgamingwiki.com/wiki/?curid=68214)
* [Super Galaxy Squadron EX](https://www.pcgamingwiki.com/wiki/?curid=38234) * [Super Galaxy Squadron EX](https://www.pcgamingwiki.com/wiki/?curid=38234)
* [Super gamebear with its three girlfriends你想知道关于超级喜欢游戏的一头黑色矮小的游戏熊是如何与它的"三个后宫团女朋友"购买到GBC游戏机的吗](https://www.pcgamingwiki.com/wiki/?curid=123938) * [Super gamebear with its three girlfriends](https://www.pcgamingwiki.com/wiki/?curid=123938)
* [Super Gerry](https://www.pcgamingwiki.com/wiki/?curid=125845) * [Super Gerry](https://www.pcgamingwiki.com/wiki/?curid=125845)
* [Super GMA](https://www.pcgamingwiki.com/wiki/?curid=104713) * [Super GMA](https://www.pcgamingwiki.com/wiki/?curid=104713)
* [Super Golf 2018](https://www.pcgamingwiki.com/wiki/?curid=96579) * [Super Golf 2018](https://www.pcgamingwiki.com/wiki/?curid=96579)
@ -29082,7 +29083,6 @@
* [Surge (Campus ADN)](https://www.pcgamingwiki.com/wiki/?curid=137369) * [Surge (Campus ADN)](https://www.pcgamingwiki.com/wiki/?curid=137369)
* [Surge Radio](https://www.pcgamingwiki.com/wiki/?curid=148785) * [Surge Radio](https://www.pcgamingwiki.com/wiki/?curid=148785)
* [Surgeon Simulator 2](https://www.pcgamingwiki.com/wiki/?curid=154623) * [Surgeon Simulator 2](https://www.pcgamingwiki.com/wiki/?curid=154623)
* [Surgeon Simulator 2013](https://www.pcgamingwiki.com/wiki/?curid=6579)
* [Surgeon Simulator: Experience Reality](https://www.pcgamingwiki.com/wiki/?curid=54493) * [Surgeon Simulator: Experience Reality](https://www.pcgamingwiki.com/wiki/?curid=54493)
* [Surgical Study and 3D Skeletons for Medical School Students](https://www.pcgamingwiki.com/wiki/?curid=148501) * [Surgical Study and 3D Skeletons for Medical School Students](https://www.pcgamingwiki.com/wiki/?curid=148501)
* [Surprising My Neighbors](https://www.pcgamingwiki.com/wiki/?curid=134687) * [Surprising My Neighbors](https://www.pcgamingwiki.com/wiki/?curid=134687)

View file

@ -15420,6 +15420,7 @@
'12660': '12660':
installDir: Miss Popularity installDir: Miss Popularity
'1266100': {} '1266100': {}
'1266220': {}
'1266840': {} '1266840': {}
'12670': '12670':
installDir: Mission Runway installDir: Mission Runway

View file

@ -11281,10 +11281,10 @@ Battlefleet Engineer:
revId: 844440 revId: 844440
'Battlefleet Gothic: Armada': 'Battlefleet Gothic: Armada':
pageId: 23013 pageId: 23013
revId: 979735 revId: 983897
'Battlefleet Gothic: Armada 2': 'Battlefleet Gothic: Armada 2':
pageId: 95911 pageId: 95911
revId: 983248 revId: 983899
Battlegrounds of Eldhelm: Battlegrounds of Eldhelm:
pageId: 49474 pageId: 49474
revId: 844443 revId: 844443
@ -12285,7 +12285,7 @@ Beyond Minimalism:
revId: 934432 revId: 934432
Beyond Oasis: Beyond Oasis:
pageId: 30866 pageId: 30866
revId: 969214 revId: 983792
Beyond Power VR: Beyond Power VR:
pageId: 40329 pageId: 40329
revId: 844728 revId: 844728
@ -17509,7 +17509,7 @@ Call of Duty 2:
revId: 981196 revId: 981196
'Call of Duty: Black Ops': 'Call of Duty: Black Ops':
pageId: 1654 pageId: 1654
revId: 971492 revId: 983992
'Call of Duty: Black Ops II': 'Call of Duty: Black Ops II':
pageId: 3457 pageId: 3457
revId: 977652 revId: 977652
@ -18275,7 +18275,7 @@ Carrier Trail:
revId: 846619 revId: 846619
Carrion: Carrion:
pageId: 139686 pageId: 139686
revId: 983245 revId: 983793
Carrotting Brain: Carrotting Brain:
pageId: 45922 pageId: 45922
revId: 846621 revId: 846621
@ -18660,10 +18660,10 @@ Cat Notebook:
revId: 884077 revId: 884077
Cat Quest: Cat Quest:
pageId: 65118 pageId: 65118
revId: 965422 revId: 983778
Cat Quest II: Cat Quest II:
pageId: 132805 pageId: 132805
revId: 983751 revId: 983784
Cat Simulator: Cat Simulator:
pageId: 44629 pageId: 44629
revId: 929846 revId: 929846
@ -24083,7 +24083,7 @@ CreatorCrate:
revId: 848332 revId: 848332
Creatura: Creatura:
pageId: 80711 pageId: 80711
revId: 979568 revId: 983973
Creature Card Idle: Creature Card Idle:
pageId: 153901 pageId: 153901
revId: 916653 revId: 916653
@ -27509,7 +27509,7 @@ Dead Age:
revId: 961426 revId: 961426
Dead Age 2: Dead Age 2:
pageId: 154235 pageId: 154235
revId: 983554 revId: 983905
Dead Alliance: Dead Alliance:
pageId: 66089 pageId: 66089
revId: 849306 revId: 849306
@ -28187,7 +28187,7 @@ Death Stair:
revId: 849517 revId: 849517
Death Stranding: Death Stranding:
pageId: 151674 pageId: 151674
revId: 983774 revId: 983893
Death Sword: Death Sword:
pageId: 76506 pageId: 76506
revId: 964739 revId: 964739
@ -28232,7 +28232,10 @@ Death by Game Show:
revId: 849527 revId: 849527
Death end re;Quest: Death end re;Quest:
pageId: 130527 pageId: 130527
revId: 983527 revId: 983982
Death end re;Quest 2:
pageId: 161908
revId: 983979
'Death from Unknown: Survival': 'Death from Unknown: Survival':
pageId: 90324 pageId: 90324
revId: 849529 revId: 849529
@ -34158,7 +34161,7 @@ Dwarflings:
revId: 851455 revId: 851455
Dwarfs!?: Dwarfs!?:
pageId: 4762 pageId: 4762
revId: 982201 revId: 983915
Dwarrows: Dwarrows:
pageId: 67661 pageId: 67661
revId: 969344 revId: 969344
@ -34244,11 +34247,11 @@ Dynasty Feud:
'Dynasty Warriors 4: Hyper': 'Dynasty Warriors 4: Hyper':
irregularPath: true irregularPath: true
pageId: 16672 pageId: 16672
revId: 983225 revId: 983818
Dynasty Warriors 5 Special: Dynasty Warriors 5 Special:
irregularPath: true irregularPath: true
pageId: 111468 pageId: 111468
revId: 983077 revId: 983817
Dynasty Warriors 6: Dynasty Warriors 6:
irregularPath: true irregularPath: true
pageId: 5157 pageId: 5157
@ -35352,7 +35355,7 @@ Eldevin:
revId: 851780 revId: 851780
Eldritch: Eldritch:
pageId: 17365 pageId: 17365
revId: 929841 revId: 983887
Eldritch Academy: Eldritch Academy:
pageId: 128515 pageId: 128515
revId: 851782 revId: 851782
@ -35772,7 +35775,7 @@ EmbodyMe:
revId: 851905 revId: 851905
Embr: Embr:
pageId: 136068 pageId: 136068
revId: 981937 revId: 983800
'Embrace of Ocean: Story of Hope': 'Embrace of Ocean: Story of Hope':
pageId: 66428 pageId: 66428
revId: 851907 revId: 851907
@ -37346,10 +37349,10 @@ Euclidean Skies:
revId: 852368 revId: 852368
Eufloria: Eufloria:
pageId: 63 pageId: 63
revId: 934004 revId: 983891
Eufloria HD: Eufloria HD:
pageId: 38353 pageId: 38353
revId: 934005 revId: 983890
Eugenics: Eugenics:
pageId: 122682 pageId: 122682
revId: 852371 revId: 852371
@ -37376,19 +37379,19 @@ Eurofighter Typhoon:
revId: 938031 revId: 938031
Europa Universalis: Europa Universalis:
pageId: 23215 pageId: 23215
revId: 926304 revId: 983876
Europa Universalis II: Europa Universalis II:
pageId: 25667 pageId: 25667
revId: 926305 revId: 983878
Europa Universalis III: Europa Universalis III:
pageId: 3197 pageId: 3197
revId: 976826 revId: 983880
Europa Universalis IV: Europa Universalis IV:
pageId: 9100 pageId: 9100
revId: 977756 revId: 983883
'Europa Universalis: Rome': 'Europa Universalis: Rome':
pageId: 15539 pageId: 15539
revId: 926307 revId: 983885
tooBroad: true tooBroad: true
Europe Racing: Europe Racing:
pageId: 88291 pageId: 88291
@ -38267,19 +38270,19 @@ F-22 Lightning 3:
revId: 917592 revId: 917592
F.E.A.R.: F.E.A.R.:
pageId: 1345 pageId: 1345
revId: 960248 revId: 983853
'F.E.A.R. 2: Project Origin': 'F.E.A.R. 2: Project Origin':
pageId: 1860 pageId: 1860
revId: 928749 revId: 983856
F.E.A.R. 3: F.E.A.R. 3:
pageId: 1858 pageId: 1858
revId: 983667 revId: 983858
F.E.A.R. Online: F.E.A.R. Online:
pageId: 20158 pageId: 20158
revId: 852671 revId: 983860
F.E.A.R. Perseus Mandate: F.E.A.R. Perseus Mandate:
pageId: 1362 pageId: 1362
revId: 960250 revId: 983855
F.E.X (Forced Evolution Experiment): F.E.X (Forced Evolution Experiment):
pageId: 68136 pageId: 68136
revId: 852673 revId: 852673
@ -38612,7 +38615,7 @@ FSX SpacePort:
revId: 852740 revId: 852740
'FTL: Faster Than Light': 'FTL: Faster Than Light':
pageId: 3559 pageId: 3559
revId: 965390 revId: 983941
FUBAR: FUBAR:
pageId: 138817 pageId: 138817
revId: 852742 revId: 852742
@ -38804,7 +38807,7 @@ Faerie Solitaire Remastered:
revId: 905772 revId: 905772
Fahrenheit: Fahrenheit:
pageId: 4137 pageId: 4137
revId: 970307 revId: 983916
'Fahrenheit: Indigo Prophecy Remastered': 'Fahrenheit: Indigo Prophecy Remastered':
pageId: 22434 pageId: 22434
revId: 960652 revId: 960652
@ -38858,6 +38861,8 @@ Fairy Fencer F:
revId: 982514 revId: 982514
'Fairy Fencer F: Advent Dark Force': 'Fairy Fencer F: Advent Dark Force':
pageId: 57452 pageId: 57452
renamedFrom:
- Fairy Fencer F Advent Dark Force
revId: 982517 revId: 982517
'Fairy Godmother Stories: Cinderella': 'Fairy Godmother Stories: Cinderella':
pageId: 153042 pageId: 153042
@ -39140,7 +39145,7 @@ Fallout 4 VR:
revId: 972307 revId: 972307
Fallout 76: Fallout 76:
pageId: 95739 pageId: 95739
revId: 981975 revId: 983948
Fallout Shelter: Fallout Shelter:
pageId: 33356 pageId: 33356
revId: 960659 revId: 960659
@ -39906,7 +39911,7 @@ Fatman Simulator:
revId: 853142 revId: 853142
Fatty Bear's Birthday Surprise: Fatty Bear's Birthday Surprise:
pageId: 37638 pageId: 37638
revId: 964797 revId: 983917
Fatty Bear's Fun Pack: Fatty Bear's Fun Pack:
pageId: 147372 pageId: 147372
revId: 964798 revId: 964798
@ -40171,6 +40176,9 @@ Fernbus Simulator:
Fernz Gate: Fernz Gate:
pageId: 99914 pageId: 99914
revId: 853222 revId: 853222
Ferrari Virtual Race:
pageId: 161877
revId: 983362
Ferret Scoundrels: Ferret Scoundrels:
pageId: 135008 pageId: 135008
revId: 853223 revId: 853223
@ -42042,7 +42050,7 @@ For a Better Country:
revId: 840692 revId: 840692
'For the Glory: A Europa Universalis Game': 'For the Glory: A Europa Universalis Game':
pageId: 22254 pageId: 22254
revId: 926308 revId: 983882
For the King: For the King:
pageId: 56288 pageId: 56288
revId: 980721 revId: 980721
@ -42560,7 +42568,7 @@ Foto Flash 2:
revId: 853953 revId: 853953
Fotonica: Fotonica:
pageId: 5497 pageId: 5497
revId: 929929 revId: 983821
Foul Play: Foul Play:
pageId: 10228 pageId: 10228
revId: 942107 revId: 942107
@ -42968,10 +42976,10 @@ Freedom Locomotion VR:
revId: 854084 revId: 854084
Freedom Planet: Freedom Planet:
pageId: 18561 pageId: 18561
revId: 933437 revId: 983824
Freedom Planet 2: Freedom Planet 2:
pageId: 31119 pageId: 31119
revId: 919766 revId: 983823
Freedom Poopie: Freedom Poopie:
pageId: 46040 pageId: 46040
revId: 854088 revId: 854088
@ -43347,13 +43355,13 @@ Frozen State:
revId: 854196 revId: 854196
Frozen Synapse: Frozen Synapse:
pageId: 3030 pageId: 3030
revId: 926501 revId: 983862
Frozen Synapse 2: Frozen Synapse 2:
pageId: 39436 pageId: 39436
revId: 926500 revId: 983864
Frozen Synapse Prime: Frozen Synapse Prime:
pageId: 20855 pageId: 20855
revId: 926499 revId: 983863
Frqncy: Frqncy:
pageId: 102559 pageId: 102559
revId: 854201 revId: 854201
@ -45200,7 +45208,7 @@ Geometry Boxer:
revId: 854733 revId: 854733
Geometry Dash: Geometry Dash:
pageId: 25652 pageId: 25652
revId: 980327 revId: 983866
'Geometry Defense: Infinite': 'Geometry Defense: Infinite':
pageId: 98700 pageId: 98700
revId: 854735 revId: 854735
@ -46303,7 +46311,7 @@ God Hand:
revId: 855072 revId: 855072
God Mode: God Mode:
pageId: 6316 pageId: 6316
revId: 934129 revId: 983870
God Monster: God Monster:
pageId: 127379 pageId: 127379
revId: 855074 revId: 855074
@ -47438,7 +47446,7 @@ Greece Defense TD:
revId: 855393 revId: 855393
Greed Corp: Greed Corp:
pageId: 13415 pageId: 13415
revId: 983770 revId: 983820
'Greed: Black Border': 'Greed: Black Border':
pageId: 26031 pageId: 26031
revId: 948655 revId: 948655
@ -47541,10 +47549,10 @@ Gregory and the Hot Air Balloon:
revId: 855423 revId: 855423
Gremlins vs Automatons: Gremlins vs Automatons:
pageId: 133054 pageId: 133054
revId: 855424 revId: 983875
'Gremlins, Inc.': 'Gremlins, Inc.':
pageId: 34833 pageId: 34833
revId: 933425 revId: 983874
Grenade Madness: Grenade Madness:
pageId: 43588 pageId: 43588
revId: 855426 revId: 855426
@ -48238,7 +48246,7 @@ Gun Road:
revId: 855625 revId: 855625
Gun Rocket: Gun Rocket:
pageId: 35403 pageId: 35403
revId: 855626 revId: 983873
Gun Wings: Gun Wings:
pageId: 31214 pageId: 31214
revId: 895279 revId: 895279
@ -48291,7 +48299,7 @@ Gunducky Industries:
revId: 855639 revId: 855639
Gunfire Reborn: Gunfire Reborn:
pageId: 160987 pageId: 160987
revId: 980326 revId: 983947
Gunhead: Gunhead:
pageId: 77405 pageId: 77405
revId: 920358 revId: 920358
@ -49036,7 +49044,7 @@ Halo 2:
revId: 966478 revId: 966478
'Halo 2: Anniversary': 'Halo 2: Anniversary':
pageId: 129526 pageId: 129526
revId: 981416 revId: 983967
Halo 3: Halo 3:
pageId: 129522 pageId: 129522
revId: 983213 revId: 983213
@ -53962,9 +53970,11 @@ I Hate Santa:
I Have Lived: I Have Lived:
pageId: 157108 pageId: 157108
revId: 932317 revId: 932317
'I Have Low Stats But My Class Is "Leader", So I Recruited Everyone I Know To Fight The Dark Lord': 'I Have Low Stats But My Class Is ''Leader'', So I Recruited Everyone I Know To Fight The Dark Lord':
pageId: 149987 pageId: 149987
revId: 983101 renamedFrom:
- 'I Have Low Stats But My Class Is "Leader", So I Recruited Everyone I Know To Fight The Dark Lord'
revId: 983443
'I Have No Mouth, and I Must Scream': 'I Have No Mouth, and I Must Scream':
pageId: 11366 pageId: 11366
revId: 979472 revId: 979472
@ -54033,7 +54043,7 @@ I Will Escape:
revId: 857265 revId: 857265
I am Bread: I am Bread:
pageId: 48252 pageId: 48252
revId: 936919 revId: 983957
'I am Weapon: Revival': 'I am Weapon: Revival':
pageId: 45910 pageId: 45910
revId: 857267 revId: 857267
@ -55981,10 +55991,10 @@ Insurgence - Second Assault:
revId: 857799 revId: 857799
Insurgency: Insurgency:
pageId: 14412 pageId: 14412
revId: 983671 revId: 983937
'Insurgency: Sandstorm': 'Insurgency: Sandstorm':
pageId: 97339 pageId: 97339
revId: 962866 revId: 983938
Intake: Intake:
pageId: 12108 pageId: 12108
revId: 960361 revId: 960361
@ -56086,13 +56096,13 @@ Internet Simulator:
revId: 857828 revId: 857828
Interplanetary: Interplanetary:
pageId: 16966 pageId: 16966
revId: 857829 revId: 983928
Interplanetary Hunter: Interplanetary Hunter:
pageId: 66613 pageId: 66613
revId: 857830 revId: 857830
'Interplanetary: Enhanced Edition': 'Interplanetary: Enhanced Edition':
pageId: 67113 pageId: 67113
revId: 934189 revId: 983927
Interplay Solitaire: Interplay Solitaire:
pageId: 62292 pageId: 62292
revId: 857832 revId: 857832
@ -58565,7 +58575,7 @@ Kamer:
revId: 930459 revId: 930459
Kami: Kami:
pageId: 18586 pageId: 18586
revId: 933444 revId: 984005
Kamikaze Cube: Kamikaze Cube:
pageId: 69675 pageId: 69675
revId: 858521 revId: 858521
@ -62324,7 +62334,7 @@ Lemmings Paintball:
revId: 927953 revId: 927953
Lemmings Revolution: Lemmings Revolution:
pageId: 56013 pageId: 56013
revId: 927955 revId: 983995
Lemnis Gate: Lemnis Gate:
pageId: 139486 pageId: 139486
revId: 859573 revId: 859573
@ -62800,7 +62810,7 @@ Lifeless Moon:
revId: 840775 revId: 840775
Lifeless Planet: Lifeless Planet:
pageId: 15914 pageId: 15914
revId: 981569 revId: 983850
Lifeless Vanguard: Lifeless Vanguard:
pageId: 132202 pageId: 132202
revId: 886918 revId: 886918
@ -64837,16 +64847,16 @@ Lukewarm Ironclad:
revId: 887234 revId: 887234
Lula 3D: Lula 3D:
pageId: 90839 pageId: 90839
revId: 963277 revId: 983842
Lula Flipper: Lula Flipper:
pageId: 92460 pageId: 92460
revId: 929116 revId: 929116
Lula Virtual Babe: Lula Virtual Babe:
pageId: 92467 pageId: 92467
revId: 929115 revId: 983845
'Lula: The Sexy Empire': 'Lula: The Sexy Empire':
pageId: 131862 pageId: 131862
revId: 938223 revId: 983843
Lulu & Ennoi - Sacred Suit Girls: Lulu & Ennoi - Sacred Suit Girls:
pageId: 148789 pageId: 148789
revId: 900444 revId: 900444
@ -65775,7 +65785,7 @@ Mafia Gambling:
revId: 860582 revId: 860582
Mafia II: Mafia II:
pageId: 11207 pageId: 11207
revId: 983374 revId: 983807
'Mafia II: Definitive Edition': 'Mafia II: Definitive Edition':
pageId: 160506 pageId: 160506
revId: 979565 revId: 979565
@ -66030,7 +66040,7 @@ Magical Brickout:
revId: 860658 revId: 860658
Magical Chase: Magical Chase:
pageId: 143588 pageId: 143588
revId: 907690 revId: 984023
unsupportedPath: true unsupportedPath: true
Magical Diary: Magical Diary:
pageId: 18809 pageId: 18809
@ -66628,7 +66638,7 @@ Mango Cart:
revId: 860829 revId: 860829
Manhunt: Manhunt:
pageId: 3923 pageId: 3923
revId: 982724 revId: 983841
Manhunt 2: Manhunt 2:
pageId: 16010 pageId: 16010
revId: 983765 revId: 983765
@ -77427,7 +77437,7 @@ One Step Beyond:
revId: 964982 revId: 964982
One Step from Eden: One Step from Eden:
pageId: 122848 pageId: 122848
revId: 962084 revId: 984017
One Strike: One Strike:
pageId: 74195 pageId: 74195
revId: 921754 revId: 921754
@ -79530,7 +79540,7 @@ Panzer Elite:
revId: 928356 revId: 928356
'Panzer Elite Action: Fields of Glory': 'Panzer Elite Action: Fields of Glory':
pageId: 50254 pageId: 50254
revId: 928357 revId: 983960
Panzer General 3D Assault: Panzer General 3D Assault:
pageId: 131869 pageId: 131869
revId: 926465 revId: 926465
@ -80301,7 +80311,7 @@ Peakvox Route Candle for Steam:
revId: 897305 revId: 897305
'Peaky Blinders: Mastermind': 'Peaky Blinders: Mastermind':
pageId: 159374 pageId: 159374
revId: 981375 revId: 983908
Peanut: Peanut:
pageId: 135177 pageId: 135177
revId: 977702 revId: 977702
@ -80914,7 +80924,7 @@ Phoenix Tales:
revId: 916055 revId: 916055
'Phoenix Wright: Ace Attorney Trilogy': 'Phoenix Wright: Ace Attorney Trilogy':
pageId: 111586 pageId: 111586
revId: 960884 revId: 983813
Phoning Home: Phoning Home:
pageId: 56384 pageId: 56384
revId: 976378 revId: 976378
@ -81142,7 +81152,7 @@ Piko Piko:
revId: 864843 revId: 864843
Pikuniku: Pikuniku:
pageId: 124341 pageId: 124341
revId: 983759 revId: 983952
Pilam Sky: Pilam Sky:
pageId: 63171 pageId: 63171
revId: 897429 revId: 897429
@ -82085,7 +82095,7 @@ Planet Alcatraz 2:
revId: 897580 revId: 897580
Planet Alpha: Planet Alpha:
pageId: 90400 pageId: 90400
revId: 962844 revId: 983932
Planet Ancyra Chronicles: Planet Ancyra Chronicles:
pageId: 62833 pageId: 62833
revId: 865102 revId: 865102
@ -84778,7 +84788,7 @@ Protothype:
revId: 898023 revId: 898023
Prototype: Prototype:
pageId: 3861 pageId: 3861
revId: 965703 revId: 983825
Prototype 2: Prototype 2:
pageId: 3245 pageId: 3245
revId: 981958 revId: 981958
@ -94628,7 +94638,7 @@ Seeking Dawn:
revId: 868673 revId: 868673
Seen: Seen:
pageId: 135523 pageId: 135523
revId: 868674 revId: 983808
Seep Universe: Seep Universe:
pageId: 47269 pageId: 47269
revId: 868675 revId: 868675
@ -95498,9 +95508,11 @@ Shaman Flower:
Shan Gui: Shan Gui:
pageId: 49745 pageId: 49745
revId: 982423 revId: 982423
Shan Gui 2 山桂贰: 'Shan Gui II: Sweet Osmanthus II':
pageId: 114976 pageId: 114976
revId: 982422 renamedFrom:
- Shan Gui 2 山桂贰
revId: 982421
Shank: Shank:
pageId: 4733 pageId: 4733
revId: 926382 revId: 926382
@ -97709,7 +97721,7 @@ Skyhill:
revId: 925876 revId: 925876
'Skyhill: Black Mist': 'Skyhill: Black Mist':
pageId: 135531 pageId: 135531
revId: 975155 revId: 983931
Skyhook: Skyhook:
pageId: 34707 pageId: 34707
revId: 884546 revId: 884546
@ -99456,7 +99468,7 @@ Sonic 3D Blast (2010):
revId: 950109 revId: 950109
Sonic Adventure 2: Sonic Adventure 2:
pageId: 5774 pageId: 5774
revId: 969936 revId: 983998
Sonic Adventure DX: Sonic Adventure DX:
pageId: 21737 pageId: 21737
revId: 963248 revId: 963248
@ -99501,7 +99513,7 @@ Sonic R (1998):
revId: 982490 revId: 982490
Sonic R (2004): Sonic R (2004):
pageId: 76705 pageId: 76705
revId: 982492 revId: 983981
Sonic Racing: Sonic Racing:
pageId: 148163 pageId: 148163
revId: 950127 revId: 950127
@ -100187,7 +100199,7 @@ Space Hulk Ascension:
revId: 969065 revId: 969065
'Space Hulk: Deathwing - Enhanced Edition': 'Space Hulk: Deathwing - Enhanced Edition':
pageId: 95121 pageId: 95121
revId: 983702 revId: 983901
'Space Hulk: Tactics': 'Space Hulk: Tactics':
pageId: 95887 pageId: 95887
revId: 969063 revId: 969063
@ -103849,7 +103861,7 @@ Story of Monster:
revId: 871404 revId: 871404
'Story of Seasons: Friends of Mineral Town': 'Story of Seasons: Friends of Mineral Town':
pageId: 161249 pageId: 161249
revId: 983009 revId: 983832
Story of a Cube: Story of a Cube:
pageId: 44265 pageId: 44265
revId: 871405 revId: 871405
@ -105819,9 +105831,11 @@ Super X Chess:
Super Zombie Arcade: Super Zombie Arcade:
pageId: 113566 pageId: 113566
revId: 978398 revId: 978398
Super gamebear with its three girlfriends你想知道关于超级喜欢游戏的一头黑色矮小的游戏熊是如何与它的"三个后宫团女朋友"购买到GBC游戏机的吗: Super gamebear with its three girlfriends:
pageId: 123938 pageId: 123938
revId: 871979 renamedFrom:
- Super gamebear with its three girlfriends你想知道关于超级喜欢游戏的一头黑色矮小的游戏熊是如何与它的"三个后宫团女朋友"购买到GBC游戏机的吗
revId: 983837
Super president How to rule the country: Super president How to rule the country:
pageId: 128328 pageId: 128328
revId: 871980 revId: 871980
@ -105920,7 +105934,7 @@ Superhot VR:
revId: 982134 revId: 982134
'Superhot: Mind Control Delete': 'Superhot: Mind Control Delete':
pageId: 78066 pageId: 78066
revId: 983732 revId: 983907
Superior Wizards: Superior Wizards:
pageId: 113818 pageId: 113818
revId: 872007 revId: 872007
@ -106116,12 +106130,14 @@ Surge (Campus ADN):
Surge Radio: Surge Radio:
pageId: 148785 pageId: 148785
revId: 900440 revId: 900440
Surgeon Simulator:
pageId: 6579
renamedFrom:
- Surgeon Simulator 2013
revId: 983656
Surgeon Simulator 2: Surgeon Simulator 2:
pageId: 154623 pageId: 154623
revId: 983647 revId: 983647
Surgeon Simulator 2013:
pageId: 6579
revId: 983649
'Surgeon Simulator VR: Meet The Medic': 'Surgeon Simulator VR: Meet The Medic':
pageId: 43736 pageId: 43736
revId: 928441 revId: 928441
@ -112158,13 +112174,13 @@ The Journey Back:
revId: 873779 revId: 873779
'The Journey Down: Chapter One': 'The Journey Down: Chapter One':
pageId: 19711 pageId: 19711
revId: 948642 revId: 984001
'The Journey Down: Chapter Three': 'The Journey Down: Chapter Three':
pageId: 58948 pageId: 58948
revId: 948644 revId: 983997
'The Journey Down: Chapter Two': 'The Journey Down: Chapter Two':
pageId: 19712 pageId: 19712
revId: 948643 revId: 983964
The Journey Home: The Journey Home:
pageId: 36918 pageId: 36918
revId: 873783 revId: 873783
@ -112656,13 +112672,13 @@ The Legend of Three Kingdoms:
revId: 983424 revId: 983424
The Legend of Three Kingdoms 2: The Legend of Three Kingdoms 2:
pageId: 161503 pageId: 161503
revId: 980014 revId: 983833
The Legend of Three Kingdoms 3: The Legend of Three Kingdoms 3:
pageId: 161523 pageId: 161523
revId: 983211 revId: 983834
The Legend of Three Kingdoms 4: The Legend of Three Kingdoms 4:
pageId: 161547 pageId: 161547
revId: 983202 revId: 983835
The Legend of Three Kingdoms 5: The Legend of Three Kingdoms 5:
pageId: 161555 pageId: 161555
revId: 983204 revId: 983204
@ -115724,7 +115740,7 @@ The Wolf's Bite:
revId: 874749 revId: 874749
'The Wonderful 101: Remastered': 'The Wonderful 101: Remastered':
pageId: 157799 pageId: 157799
revId: 973574 revId: 983806
The Wonderful End of the World: The Wonderful End of the World:
pageId: 18328 pageId: 18328
revId: 968998 revId: 968998
@ -117924,7 +117940,7 @@ Torchlight:
revId: 980738 revId: 980738
Torchlight II: Torchlight II:
pageId: 3587 pageId: 3587
revId: 983625 revId: 983879
Torchlight III: Torchlight III:
pageId: 106331 pageId: 106331
revId: 979809 revId: 979809
@ -125401,7 +125417,7 @@ Warhalla:
revId: 968498 revId: 968498
'Warhammer 40,000: Rites of War': 'Warhammer 40,000: Rites of War':
pageId: 131754 pageId: 131754
revId: 968504 revId: 983911
'Warhammer 40,000: Sanctus Reach': 'Warhammer 40,000: Sanctus Reach':
pageId: 39380 pageId: 39380
revId: 968491 revId: 968491
@ -125434,7 +125450,7 @@ Warhammer Quest:
revId: 961132 revId: 961132
'Warhammer: Chaosbane': 'Warhammer: Chaosbane':
pageId: 124567 pageId: 124567
revId: 961133 revId: 983894
'Warhammer: Dark Omen': 'Warhammer: Dark Omen':
pageId: 26848 pageId: 26848
revId: 961134 revId: 961134
@ -128483,7 +128499,7 @@ Worms 3D:
revId: 975355 revId: 975355
Worms Armageddon: Worms Armageddon:
pageId: 1940 pageId: 1940
revId: 983745 revId: 983926
tooBroad: true tooBroad: true
Worms Blast: Worms Blast:
pageId: 12031 pageId: 12031

View file

@ -0,0 +1 @@
lastCheckedRecentChanges: '2020-07-17T19:48:22.752Z'

5
package-lock.json generated
View file

@ -800,6 +800,11 @@
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
"dev": true "dev": true
}, },
"moment": {
"version": "2.27.0",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.27.0.tgz",
"integrity": "sha512-al0MUK7cpIcglMv3YF13qSgdAIqxHTO7brRtaz3DlSULbqfazqkc5kEjNrLDOM7fsjshoFIihnU8snrP7zUvhQ=="
},
"node-version-compare": { "node-version-compare": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/node-version-compare/-/node-version-compare-1.0.2.tgz", "resolved": "https://registry.npmjs.org/node-version-compare/-/node-version-compare-1.0.2.tgz",

View file

@ -24,6 +24,7 @@
"dependencies": { "dependencies": {
"js-yaml": "^3.14.0", "js-yaml": "^3.14.0",
"minimist": "^1.2.5", "minimist": "^1.2.5",
"moment": "^2.27.0",
"nodemw": "^0.13.0", "nodemw": "^0.13.0",
"steam-user": "^4.16.2", "steam-user": "^4.16.2",
"wikiapi": "^1.10.0" "wikiapi": "^1.10.0"

View file

@ -2,7 +2,7 @@ import * as minimist from "minimist";
import { ManifestFile } from "./manifest"; import { ManifestFile } from "./manifest";
import { SteamGameCacheFile, getSteamClient } from "./steam"; import { SteamGameCacheFile, getSteamClient } from "./steam";
import { WikiGameCacheFile } from "./wiki"; import { WikiGameCacheFile, WikiMetaCacheFile } from "./wiki";
import { saveMissingGames } from "./missing"; import { saveMissingGames } from "./missing";
interface Cli { interface Cli {
@ -20,7 +20,7 @@ interface Cli {
tooBroad?: boolean, tooBroad?: boolean,
tooBroadUntagged?: boolean, tooBroadUntagged?: boolean,
skipUntil?: string, skipUntil?: string,
recent?: number, recent?: boolean,
limit?: number, limit?: number,
} }
@ -45,6 +45,8 @@ async function main() {
const wikiCache = new WikiGameCacheFile(); const wikiCache = new WikiGameCacheFile();
wikiCache.load(); wikiCache.load();
const wikiMetaCache = new WikiMetaCacheFile();
wikiMetaCache.load();
const steamCache = new SteamGameCacheFile(await getSteamClient()); const steamCache = new SteamGameCacheFile(await getSteamClient());
steamCache.load(); steamCache.load();
const manifest = new ManifestFile(); const manifest = new ManifestFile();
@ -61,7 +63,7 @@ async function main() {
try { try {
if (args.cache) { if (args.cache) {
if (args.recent) { if (args.recent) {
await wikiCache.flagRecentChanges(args.recent); await wikiCache.flagRecentChanges(wikiMetaCache);
} else { } else {
await wikiCache.addNewGames(); await wikiCache.addNewGames();
} }
@ -91,6 +93,7 @@ async function main() {
} }
wikiCache.save(); wikiCache.save();
wikiMetaCache.save();
steamCache.save(); steamCache.save();
manifest.save(); manifest.save();
saveMissingGames(wikiCache.data, manifest.data); saveMissingGames(wikiCache.data, manifest.data);
@ -98,6 +101,7 @@ async function main() {
process.exit(0); process.exit(0);
} catch (e) { } catch (e) {
wikiCache.save(); wikiCache.save();
wikiMetaCache.save();
steamCache.save(); steamCache.save();
manifest.save(); manifest.save();
saveMissingGames(wikiCache.data, manifest.data); saveMissingGames(wikiCache.data, manifest.data);

View file

@ -57,7 +57,7 @@ export class ManifestFile extends YamlFile<Manifest> {
tooBroadUntagged: boolean, tooBroadUntagged: boolean,
skipUntil: string | undefined, skipUntil: string | undefined,
games: Array<string> | undefined, games: Array<string> | undefined,
recent: number | undefined, recent: boolean | undefined,
}, },
limit: number | undefined, limit: number | undefined,
steamCache: SteamGameCacheFile, steamCache: SteamGameCacheFile,

View file

@ -1,7 +1,8 @@
import { REPO, PathType, UnsupportedOsError, UnsupportedPathError, YamlFile } from "."; import { REPO, PathType, UnsupportedOsError, UnsupportedPathError, YamlFile } from ".";
import { Constraint, Game, Store, Tag, Os } from "./manifest"; import { Constraint, Game, Store, Tag, Os } from "./manifest";
import * as Wikiapi from "wikiapi"; import * as moment from "moment";
import * as NodeMw from "nodemw"; import * as NodeMw from "nodemw";
import * as Wikiapi from "wikiapi";
export type WikiGameCache = { export type WikiGameCache = {
[title: string]: { [title: string]: {
@ -19,6 +20,10 @@ export type WikiGameCache = {
}; };
}; };
export type WikiMetaCache = {
lastCheckedRecentChanges: string;
};
export class WikiGameCacheFile extends YamlFile<WikiGameCache> { export class WikiGameCacheFile extends YamlFile<WikiGameCache> {
path = `${REPO}/data/wiki-game-cache.yaml`; path = `${REPO}/data/wiki-game-cache.yaml`;
defaultData = {}; defaultData = {};
@ -36,9 +41,11 @@ export class WikiGameCacheFile extends YamlFile<WikiGameCache> {
}; };
} }
async flagRecentChanges(days: number): Promise<void> { async flagRecentChanges(metaCache: WikiMetaCacheFile): Promise<void> {
const changes = await getRecentChanges(days); const now = moment();
const changes = await getRecentChanges(now.toDate(), moment(metaCache.data.lastCheckedRecentChanges).subtract(1, "minute").toDate());
const client = makeApiClient2(); const client = makeApiClient2();
for (const [recentName, recentInfo] of Object.entries(changes).sort((x, y) => x[0].localeCompare(y[0]))) { for (const [recentName, recentInfo] of Object.entries(changes).sort((x, y) => x[0].localeCompare(y[0]))) {
if (this.data[recentName] !== undefined) { if (this.data[recentName] !== undefined) {
// Existing entry has been edited. // Existing entry has been edited.
@ -73,9 +80,18 @@ export class WikiGameCacheFile extends YamlFile<WikiGameCache> {
} }
} }
} }
metaCache.data.lastCheckedRecentChanges = now.toISOString();
} }
} }
export class WikiMetaCacheFile extends YamlFile<WikiMetaCache> {
path = `${REPO}/data/wiki-meta-cache.yaml`;
defaultData = {
lastCheckedRecentChanges: moment().subtract(7, "days").toISOString(),
};
}
interface RecentChanges { interface RecentChanges {
[article: string]: { [article: string]: {
pageId: number; pageId: number;
@ -418,11 +434,11 @@ function callMw<T = any>(client, method: string, ...args: Array<any>): Promise<[
}); });
} }
export async function getRecentChanges(days: number): Promise<RecentChanges> { export async function getRecentChanges(newest: Date, oldest: Date): Promise<RecentChanges> {
const changes: RecentChanges = {}; const changes: RecentChanges = {};
const client = makeApiClient2(); const client = makeApiClient2();
const startTimestamp = new Date().toISOString(); const startTimestamp = newest.toISOString();
const endTimestamp = new Date(new Date().setDate(new Date().getDate() - days)).toISOString(); const endTimestamp = oldest.toISOString();
let rccontinue: string | undefined = undefined; let rccontinue: string | undefined = undefined;
while (true) { while (true) {