This repository was archived by the owner on Sep 27, 2023. It is now read-only.
Add '| undefined' to optional input properties (option 2) #492
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Address #447 with changes focused in
TypeScriptTypeTransformers.ts
(see #491 for alternate implementation, depending on maintainers' preference of approach). This adds| undefined
only to input types, as those were the only sites our Relay/TS codebase complained about the generated types.Changing this implementation to add
| undefined
to all optional types would be probably hybrid with #491 and would yield changes like this:I think the only time this would come up would be when trying to create test mocks? So might be worth doing as well and happy to augment, but wanted to start with the minimal changeset and work from there, especially as this version requires the addition of only a single extra conditional branch.
Also:
exactOptionalPropertyTypes
in this repoState.generatedInputObjectTypes
(found while working ingenerateInputObjectTypes
in Add '| undefined' to optional input properties (option 1) #491)mutaion
instead ofmutation
ts.factory.createLiteralTypeNode(ts.factory.createToken(ts.SyntaxKind.NullKeyword))
withts.factory.createNull()