max-mapper / max-mapper/websocket-stream
No type definitions for objectMode?
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 667
- Forks
- 110
- PR merge metrics
- No merged PRs in 30d
Description
Somehow, the objectMode option has disappeared in the TypeScript definition. I wonder, it is still supported?
Here is my code:
const stream = websocket(ws, {
// Important, send each chunk on its own, see
// https://github.com/maxogden/websocket-stream/issues/117#issuecomment-298826011
objectMode: true,
});
It produces this error
No overload matches this call.
Overload 1 of 2, '(target: string | WebSocket, options?: ClientOptions | undefined): WebSocketDuplex', gave the following error.
Object literal may only specify known properties, and 'objectMode' does not exist in type 'ClientOptions'.
Overload 2 of 2, '(target: string | WebSocket, protocols?: string | string[] | undefined, options?: ClientOptions | undefined): WebSocketDuplex', gave the following error.
Object literal may only specify known properties, and 'objectMode' does not exist in type 'string[]'.
I'm using latest websocket-stream version 5.5.2
There is one interesting I've found out in the type declarations:
declare function WebSocketStream(target: string | WebSocket, options?: WebSocket.ClientOptions): WebSocketStream.WebSocketDuplex;
WebSocket.ClientOptions itself stems from @types/ws where the ClientOptions are being extended by SecureContextOptions which comes from @types/node. To me, it seems there are some version mismatches, perhaps?
For now, I will @tsignore it, but am not comfortable about it.
Advice, discussions welcome. Thanks.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the WebSocketStream declaration shown in the issue and trace the ClientOptions type through @types/ws and @types/node. Confirm whether objectMode is supported, then make the declaration accept it and verify that the provided TypeScript example type-checks without an ignore directive.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js, typescript
- Domain
- developer-experience
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100