Skip to content

Properly handle Function and TSMethodSignature TS interfaces and type literals#2048

Merged
chandlerprall merged 3 commits intoelastic:masterfrom
chandlerprall:fix-euicopy-auto-proptype
Jun 17, 2019
Merged

Properly handle Function and TSMethodSignature TS interfaces and type literals#2048
chandlerprall merged 3 commits intoelastic:masterfrom
chandlerprall:fix-euicopy-auto-proptype

Conversation

@chandlerprall
Copy link
Copy Markdown
Contributor

@chandlerprall chandlerprall commented Jun 14, 2019

Summary

Noticed that the docs showed proptype warnings for EuiCopy's children, even though everything was typed & passed correctly. Discovered that the Function identifier and method signatures were not being detected by the TS->proptype script. Added a test case to cover

{
  foo(): ReactElement;
  bar?(arg: number): string;
  fizz: Function;
  buzz?: (arg: boolean) => string;
}

(which should all result in either PropTypes.func or PropTypes.func.isRequired)

in both interface and type definitions, and confirmed EuiCopy's proptype is now correct.

Checklist

- [ ] This was checked in mobile
- [ ] This was checked in IE11
- [ ] This was checked in dark mode

  • Any props added have proper autodocs
    - [ ] Documentation examples were added
  • A changelog entry exists and is marked appropriately
  • This was checked for breaking changes and labeled appropriately
  • Jest tests were updated or added to match the most common scenarios
    - [ ] This was checked against keyboard-only and screenreader scenarios
    - [ ] This required updates to Framer X components

Copy link
Copy Markdown
Contributor

@pugnascotia pugnascotia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I build the branch and the generated prop type for children looks correct.

@chandlerprall chandlerprall merged commit 9e6504f into elastic:master Jun 17, 2019
@chandlerprall chandlerprall deleted the fix-euicopy-auto-proptype branch June 17, 2019 15:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants