-
Robert Knight authored
The newest version of the `createSelector` typings require the type of the input argument to be determined in order for the whole call to typecheck. This commit implements a pattern where: - A `State` type is added in various store modules, typically defined as `typeof initialState`, that defines the state of that store module's type. - The type of selector function params in `createSelector` calls is specified with `@param {State} state` and the return type is inferred The upside of these changes is that types of selector functions are determined much more robustly - previously it was possible to have incorrect types specified via JSDoc. In the process an existing minor bug was determined where an `isHighlight` call in `ThreadList` was passed an unexpected type of object (the `annotation` property of a `Draft`) for which `isHighlight` did not crash but would always return false. I have simply suppressed this existing issue for the moment, but it will need to be fixed separately.
7bc88d9c