types: export websocket related types #1202
Open
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.
h3
directly relies oncrossws
for it's WS handling, but doesn't make thecrossws
types available to consumers ofh3
. This in turn makes it quite hard to properly type functions that rely on the returned values in the WS handlers, as it forces the consumer ofh3
to also addcrossws
as a devDependency and ensure that the version ofcrossws
exactly matches the version in use byh3
to ensure there's no type conflicts. This is a pretty poor DX. By re-exporting the types used for thecrossws
logic that's relied on byh3
this problem is resolved.I've identified
Hooks
,Peer
,AdapterInternal
, andMessage
as the ones you immediately run into when usingdefineWebSocketHandler
, but there might be others. I didn't want to go as far as toexport *
as that'll add a bunch of unused types and other noise toh3
s global scope as well.Fixes #716