Skip to content

Navigation Menu

Sign in
Sign up

Interface extends are supported but not the type ampersand syntax #928

Open

Description

If we use types in Typescript that can be extended with ampersand syntax &, it won't work.

For example, we have a pretty funky type definition like this in our repository:

export type ILinkProps = ITypeAgnosticLinkProps &
 Omit<INextLinkProps, "children"> & {
 /**
 * Disables a link, visually and functionally
 * @default false
 */
 isDisabled?: boolean;
 /**
 * Sets `target="_blank"` and `rel="noreferrer"` explicitly.
 * If props contain `target="_blank"` and `rel="noreferrer"`
 * this will be set to isExternal automatically.
 * _NOTE:_ This is a pure technical flag, if you're looking for a visual
 * representation of an external link, use the `icon` and the `iconPosition` prop.
 */
 isExternal?: boolean;
 };

First it won't work because of the Omit, but if that would be solved (or deleted), it still doesn't work as the & is not recognized as extends.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      AltStyle によって変換されたページ (->オリジナル) /