-
Notifications
You must be signed in to change notification settings - Fork 692
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Library Beta] TypeScript DOM lib types used in Omit<>
aren't linked
#1386
Comments
Omit<>
aren't linkedOmit<>
aren't linked
I spent a bit of time looking into this, and unfortunately making it work properly is going to be rather tricky... The way TypeDoc currently handles inheritance is... horrible. This will be first on my list for next week, but I doubt I'll get it this week. |
Well, a couple hours in... and this is a systematic problem. TypeDoc's converters work according to nodes, which is fine, until you start using more complicated types. Pick/Omit is bad enough. It's going to get worse with TS 4.1's key remapping features... I think to fix this I need to rework the converters to ask the type checker what properties a given symbol has, and work on that. |
@Gerrit0 That's great progress! 🤩 Now, what would it take to get things like |
TypeDoc 0.20 documents items based on what you export, so you'd have to export those interfaces. Unfortunately... TS doesn't like that.
I don't have a good way around this yet. I'd really like to link dom values to MDN, I think it should be possible to define a plugin which handles creating these links in a reasonable manner, with codegen that makes updates mostly automatic... but that's a project unto itself. It would make TypeDoc a much better tool though... Can't commit to looking into that right now. Maybe during end of year shutdown? |
Search terms
lib.dom.d.ts interfaces
Expected Behavior
DOM lib interfaces used in an
Omit<>
should be included in doc output and clickable to jump down to that section of the page.Actual Behavior
Doc output does not include the base DOM lib interface I'm extending via an
Omit<>
:TypeDoc handles basic
extends
just fine, though:Both
PublicKeyCredentialCreationOptions
andPublicKeyCredential
are declared in TypeScript's lib.dom.d.tsSteps to reproduce the bug
I've created a minimal reproduction repo here: https://github.com/MasterKale/typedoc-bug-repro-1386
Environment
The text was updated successfully, but these errors were encountered: