Use unknown
rather than any
for BaseController state
#365
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.
The BaseController state now uses
unknown
rather thanany
as the type for state properties.unknown
is more type-safe thanany
in cases like this where we don't know what type to expect. See here for details.This was suggested by @rekmarks during review of #362: (comment)
The mock controller state in the base controller tests now uses a type alias for the controller state rather than an interface. This was required to get around an incompatibility between
Record<string, unknown>
and interfaces.The
@typescript-eslint/consistent-type-definitions
ESLint rule has been disabled, as this problem will be encountered fairly frequently.