• Robert Knight's avatar
    Make service-using components typecheck correctly · 4be722ea
    Robert Knight authored
    Previously all components that used injected services did not have their
    usage type-checked because `withServices` returned `any`.
    
    This commit refactors the API of `withServices` to make it easier to
    typecheck and adds types. The major API change is that the list of injected
    services is now passed as a second argument to `withServices` rather
    than by setting an `injectedProps` property on the component. This makes
    it easy to infer that the component returned by `withServices(Widget,
    ['serviceA', 'serviceB'])` has the same props as `Widget` but without
    `serviceA` or `serviceB`.
    
    Making these changes also turned up a handful of mistakes in existing
    types which are fixed here:
    
     - Correct `auth` type used by `HelpPanel`
     - Correct type of `thread` prop used by `ThreadCard`
     - Correct optionality of boolean arguments in callbacks to `Excerpt`
     - Change `showActions` logic in `Annotation` to make it more obvious
       to TS that the actions are only shown when there is an annotation
     - Remove unused props passed to `GroupList`
    
    Additionally there was a type error with TopBar's `auth` prop which is
    less trivial to fix, so I have punted it to a future commit.
    4be722ea
Name
Last commit
Last update
..
integration Loading commit data...
annotation-fixtures.js Loading commit data...
bootstrap.js Loading commit data...
cross-origin-rpc-test.js Loading commit data...
fake-redux-store.js Loading commit data...
fake-window.js Loading commit data...
group-fixtures.js Loading commit data...
markdown-commands-test.js Loading commit data...
media-embedder-test.js Loading commit data...
render-markdown-test.js Loading commit data...
search-client-test.js Loading commit data...
service-context-test.js Loading commit data...
websocket-test.js Loading commit data...