sindresorhus/element-ready

Use types directly from querySelector, without copying them

Open

#32 opened on Dec 29, 2020

View on GitHub
 (0 comments) (2 reactions) (0 assignees)JavaScript (17 forks)user submission
enhancementhelp wanted

Repository metrics

Stars
 (447 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

If the selector is 'a', querySelector‘s return type is be HTMLAnchorElement. To achieve the same in element-ready, we had to manually copy its types and adapt them to elementReady

Ideally, instead, we should try to “inherit” directly from the global querySelector so that, if its types are enhanced (via typed-query-selector or natively), element-ready automatically gets upgraded.

Note: We can't use Parameters<typeof querySelector> and such because it doesn't support overloads nor generics.

This has been unsuccessfully tried in #31. More info about it in that PR. A possible solution might be https://github.com/microsoft/TypeScript/issues/33185#issuecomment-526969274

Contributor guide