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 (447 stars) (17 forks)user submission
enhancementhelp wanted

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