You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
TS 3.0 introduced a breaking change that changed the behavior of how null & undefined resolve with intersection types.
This breaking change hit us particularly hard because of use of null as a generic default parameter in a few places, including both the app "creator" and the app connector.
As a short-term "hacky" fix, we are continuing to use null as our sentinel value, while handling it explicitly downstream where we intersect our types. This is not sustainable and pretty much just serves as a footgun when working in this codebase.
The longer-term solution is thinking harder about the API and where we land on the inference/explicit declaration spectrum. I believe we have overused generic defaults in the current code base, including places where it could ultimately be inferred.
The text was updated successfully, but these errors were encountered:
TS 3.0 introduced a breaking change that changed the behavior of how null & undefined resolve with intersection types.
This breaking change hit us particularly hard because of use of
null
as a generic default parameter in a few places, including both the app "creator" and the app connector.As a short-term "hacky" fix, we are continuing to use null as our sentinel value, while handling it explicitly downstream where we intersect our types. This is not sustainable and pretty much just serves as a footgun when working in this codebase.
The longer-term solution is thinking harder about the API and where we land on the inference/explicit declaration spectrum. I believe we have overused generic defaults in the current code base, including places where it could ultimately be inferred.
The text was updated successfully, but these errors were encountered: