queicherius / gw2api-client

Javascript wrapper for the official Guild Wars 2 API.
MIT License
47 stars 18 forks source link

Migrate to TypeScript #64

Open queicherius opened 5 years ago

darthmaim commented 4 years ago

This would be useful so other devs don't need to define files like https://github.com/Archomeda/gw2-console/blob/master/types/gw2api-client.d.ts

ogrady commented 1 year ago

I am currently working on a migration, but obviously, the process is quite cumbersome as defining all possible response types takes a lot of time.

What's the scope of this issue? Just a basic migration with several result types available and some possible still being any, or a full migration with all types being present?

queicherius commented 1 year ago

I am currently working on a migration, but obviously, the process is quite cumbersome as defining all possible response types takes a lot of time.

Yeah, I tried auto-generating some types before as well, but the quality of those was pretty meh.

What's the scope of this issue? Just a basic migration with several result types available and some possible still being any, or a full migration with all types being present?

I think the goal is definitely full type support with all types. But I'd be more than happy to merge a PR with some types, it doesnt have to be all of them. 👍 Maybe even start with something small, so we can align the style.

ogrady commented 1 year ago

Okay, I'll just poke a bit around and see how far I can get. It may actually require slight adjustments in the API if you'd like to have the types as strict as possible, as the rolling schema version is hard to express via types. I will open a PR as soon as I have a somewhat stable state. Just wanted to make sure the issue is still relevant beforehand. :)

bmeulmeester commented 11 months ago

Any update on this @ogrady @queicherius ?

ogrady commented 11 months ago

Hi everyone,

I defined most endpoints manually in my fork, but then got swamped with other projects and irl stuff. I hope to continue at some point, maybe around the holidays, but there is still a truckload of work to do. I started semi-automating the process of reading the types from the wiki, which brought more consistency into the types. But the ones I did before that would require at least a second round to double-check them and carry over the comments from the wiki. After that, we still need to assign the types to each endpoint, add testing, etc.

tl;dr: I have made good progress but had to pause.

sickhippie commented 5 months ago

To anyone watching out for this one, I talked with @ogrady for a bit today and I'm going to take this issue over from the state of the latest commit on the open PR to try to wrap up the rest of it over the next few weeks (time permitting of course).