-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Use required types internally for hooks #8808
Conversation
@@ -299,13 +299,10 @@ async function getResolvedData( | |||
resolvedData = Object.fromEntries( | |||
await Promise.all( | |||
Object.entries(list.fields).map(async ([fieldKey, field]) => { | |||
if (field.hooks.resolveInput === undefined) return [fieldKey, resolvedData[fieldKey]]; |
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.
Replaced by defaultFieldHooksResolveInput
const fieldsErrors: { error: Error; tag: string }[] = []; | ||
await Promise.all( | ||
Object.entries(list.fields).map(async ([fieldKey, field]) => { | ||
if (shouldRunFieldLevelHook(fieldKey)) { | ||
try { | ||
await field.hooks[hookName]?.({ fieldKey, ...args }); | ||
await field.hooks[hookName]({ fieldKey, ...args } as any); // TODO: FIXME any |
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 runSideEffectOnlyHook
will be removed soon, so this is less of a concern
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. Latest deployment of this branch, based on commit ab4fa3c:
|
As the title suggests, this pull requests changes the types of the resolved hooks to always be
required
and easily and consistently differentiable. The type verbosity has increased a little, but that has thankfully decreased the complexity of reading the hook types.