Steam client reference#92
Conversation
|
After reading the latest commit message, how are you detecting the interface changes so quickly? |
Using the CEF debugger console, I've written this function to quickly extract every method for any object. function mapFunctions(obj) {
const methods = {};
function extractMethods(obj, path = []) {
for (const key in obj) {
if (typeof obj[key] === 'function') {
if (!methods[path.join('.')]) {
methods[path.join('.')] = [];
}
methods[path.join('.')].push(key);
} else if (typeof obj[key] === 'object' && obj[key] !== null) {
extractMethods(obj[key], [...path, key]);
}
}
}
extractMethods(obj);
return methods;
}Then I simply apply this to the |
|
That's awesome, I'll add this to my update diff system if you don't mind |
That would be awesome! I think we can write a tool to generate the aforementioned TypeScript interfaces from it. This could prove useful, as it can be utilized anywhere. Unfortunately, native code does not provide parameters for these functions. This means documenting parameters must be done manually, unless someone is aware of a method I am not familiar with. Edit: I decided to spend some time and write one: https://gist.github.com/FlashyReese/05748e25b9feabe14e62ef873a8058cb |
Noticed you weren't able to get the name of the object from the object. If it's a global object then this should work |
d0baaab to
2ece5e2
Compare
|
is this ready for review yet? (at least to have it merged until we can have this as a separate package) |
|
Also please retarget to v4-dev |
Steam Version: 1690583737 Steam Client Build Date: Sat, Jul 29 02:44 UTC -08:00
Using the SDH discord server, GitHub and some personal findings, I tried to document as much SteamClient functions as I can.
Steam Version: 1691097434 Steam Client Build Date: Fri, Aug 4 04:54 UTC -08:00
Steam Version: 1694466342 Steam Client Build Date: Tue, Sep 12 04:59 UTC +08:00
Steam Version: 1698260427 Steam Client Build Date: Thu, Oct 26 2:40 AM UTC -08:00
|
Yeah it's just been sitting here and it would be more useful if it was actually merged lol |
|
Looks like I also noticed a dozen or so other methods that are missing from both main and this PR. I'm assuming they were intentionally skipped (mostly Checked on Steam versions 1726683985 and 1730512277. |
just missed, thanks for the list |
AAGaming00
left a comment
There was a problem hiding this comment.
pls move out of deck-components these aren't components, then ill merge
otherwise lgtm, left a few comments but not strict requirements
we're considering forming a team to maintain these in the future (possibly in a separate package) so this doesn't happen again, send me a dm over on discord (or an email if you can't) if you're interested
thank you for being patient <3
|
also please document any tooling used in creating and maintaining these on the wiki when you can |
|
redo the move commit using git mv pls |
|
i don't know git but i hope it's fine now 😭 |
history is still messed up since u just reverted the commit instead of removing it |
oh, like that, then git push --force ? it's the only way i know of removing commits but i always saw that it's a bad idea, etc. etc... im asking since i don't want to mess it up any further |
|
yep force push |
5ea9879 to
95826ea
Compare
|
🎉 This PR is included in version 4.10.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Using the SDH Discord server, GitHub, and personal findings, I have attempted to document as many functions as possible within the
SteamClientobject. Feedback is greatly appreciated. If you come across any functions that are not documented and you already understand their purpose, please consider leaving a comment or suggestion.To do list will be done on a separate PR.
To-Do List:- [ ] Verify the functionality of all documented functions.- [ ] Organize and restructure all the interfaces for better readability.