rest-vir - v1.0.0
    Preparing search index...

    Type Alias OverwriteWebSocketMethods<WebSocketClass, Location, OriginalWebSocketDefinition>

    OverwriteWebSocketMethods: Overwrite<
        WebSocketClass,
        {
            addEventListener<const EventName extends keyof CommonWebSocketEventMap>(
                eventName: EventName,
                listener: WebSocketListener<
                    EventName,
                    NarrowOriginalDefinition<OriginalWebSocketDefinition>,
                    FlipWebSocketLocation<Location>,
                    WebSocketClass,
                >,
            ): void;
            close(): Promise<void>;
            send(
                ...args: NarrowOriginalDefinition<OriginalWebSocketDefinition> extends typeof NoParam
                    ? [message?: any]
                    : GetWebSocketMessageTypeFromLocation<
                        Exclude<
                            NarrowOriginalDefinition<OriginalWebSocketDefinition>,
                            typeof NoParam,
                        >,
                        Location,
                    > extends undefined
                        ? [
                            message?: GetWebSocketMessageTypeFromLocation<
                                GetWebSocketMessageTypeFromLocation<
                                    Exclude<
                                        NarrowOriginalDefinition<OriginalWebSocketDefinition>,
                                        typeof NoParam,
                                    >,
                                    Location,
                                >,
                            >,
                        ]
                        : [
                            message: GetWebSocketMessageTypeFromLocation<
                                Exclude<
                                    NarrowOriginalDefinition<OriginalWebSocketDefinition>,
                                    typeof NoParam,
                                >,
                                Location,
                            >,
                        ],
            ): void;
            sendAndWaitForReply(
                ...params: CollapsedSendAndWaitForReplyParams<
                    Location,
                    NarrowOriginalDefinition<OriginalWebSocketDefinition>,
                >,
            ): Promise<
                NarrowOriginalDefinition<OriginalWebSocketDefinition> extends typeof NoParam
                    ? any
                    : GetWebSocketMessageTypeFromLocation<
                        Exclude<
                            NarrowOriginalDefinition<OriginalWebSocketDefinition>,
                            typeof NoParam,
                        >,
                        FlipWebSocketLocation<Location>,
                    >,
            >;
        },
    >

    Takes any WebSocket class and overwrites it with some new rest vir methods and makes some existing WebSocket methods type safe.

    Type Parameters

    • WebSocketClass extends CommonWebSocket
    • Location extends WebSocketLocation
    • OriginalWebSocketDefinition extends
          | Readonly<
              SelectFrom<
                  WebSocketDefinition,
                  {
                      MessageFromClientType: true;
                      MessageFromHostType: true;
                      SearchParamsType: true;
                  },
              >,
          >
          | NoParam = NoParam