fix: Export type of $CombinedState #4026
Closed
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.
name: Export type of $CombinedState
about: Support latest version of Typescript
PR Type
Does this PR add a new feature, or fix a bug?
Fix a bug with lastest version of Typescript
Why should this PR be included?
Exporting the result of
combineReducers
currently fails with latest version of Typescript, requires access to$CombinedState
.See
Bug Fixed -> What is the current behavior, and the steps to reproduce the issue?
for in-depth explanationOnly the type is exported, so it is not possible a consumer thinks the value is actually usable (no risk)
Checklist
New Features
Typeof
$CombinedState
is exported an available to consumersWhat new capabilities does this PR add?
Adds support for Typescript exporting the result of
combineReducers
with latest version of typescriptWhat docs changes are needed to explain this?
None
Bug Fixes
What is the current behavior, and the steps to reproduce the issue?
Upgrade to typescript v2.4.2
Create a file
example.ts
with the following content:Typescript will emit an error on:
Default export of the module has or is using private name '$CombinedState'.
What is the expected behavior?
No error should be emitted
How does this PR fix the problem?
By explicitly exporting the typeof
$CombinedState
, Typescript will be able to properly handle an exportedcombineReducers
Admittedly this mostly feels like an issue with Typescript (the type is already available to import) but it is an otherwise safe, non-breaking change so it is worth fixing at the Redux level