-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Convert blob package to TypeScript #61541
Convert blob package to TypeScript #61541
Conversation
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.
To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
👋 Thanks for your first Pull Request and for helping build the future of Gutenberg and WordPress, @jpstevens! In case you missed it, we'd love to have you join us in our Slack community. If you want to learn more about WordPress development in general, check out the Core Handbook full of helpful information. |
@@ -1,7 +1,9 @@ | |||
type BlobPart = BufferSource | Blob | string; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BlobPart
should be a native built-in type, after all, it's used in the Blob
constructor. You don't need to define it here.
/** | ||
* @type {Record<string, File|undefined>} | ||
*/ | ||
const cache = {}; | ||
const cache: Record< string, File | undefined > = {}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the cache type should be Record< string, File >
. We never intentionally store undefined
values.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, we can remove all of the JSDoc type annotations.
👋 @jpstevens Thanks for this! If you'll update this PR on the latest |
What?
This PR converts the
blob
package to TypeScript.Why?
Ensures package is fully type checked.
How?
.ts
index
file@ts-ignore
statements to tests that call functions in ways that are not type-compliantTesting Instructions
npm run test:unit -- packages/blob
tests passnpm run build:package-types
returns a zero exit code