types: export websocket related types #1202
Merged
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.
h3directly relies oncrosswsfor it's WS handling, but doesn't make thecrosswstypes 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 ofh3to also addcrosswsas a devDependency and ensure that the version ofcrosswsexactly matches the version in use byh3to ensure there's no type conflicts. This is a pretty poor DX. By re-exporting the types used for thecrosswslogic that's relied on byh3this problem is resolved.I've identified
Hooks,Peer,AdapterInternal, andMessageas 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 toh3s global scope as well.Fixes #716