@socket-mesh/server 18.1.2 → 18.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,10 @@
1
- import { RequestHandlerArgs, SocketTransport } from "@socket-mesh/core";
2
1
  import jwt from "jsonwebtoken";
3
2
  import { AuthTokenError } from "@socket-mesh/errors";
4
3
  import { AuthEngine } from "@socket-mesh/auth-engine";
5
4
  import { AuthToken, SignedAuthToken } from "@socket-mesh/auth";
6
- import { BasicSocketMapServer } from "../maps/socket-map.js";
7
5
  import { ServerSocket } from "../server-socket.js";
8
- import { BasicServerMap } from "../maps/server-map.js";
6
+ import { ServerTransport } from "../server-transport.js";
7
+ import { ServerRequestHandlerArgs } from "./server-request-handler.js";
9
8
  export type AuthInfo = ValidAuthInfo | InvalidAuthInfo;
10
9
  export interface InvalidAuthInfo {
11
10
  signedAuthToken: SignedAuthToken;
@@ -15,6 +14,6 @@ export interface ValidAuthInfo {
15
14
  signedAuthToken: SignedAuthToken;
16
15
  authToken: AuthToken;
17
16
  }
18
- export declare function authenticateHandler({ isRpc, options: signedAuthToken, socket, transport }: RequestHandlerArgs<string, BasicSocketMapServer, ServerSocket<BasicServerMap>>): Promise<void>;
17
+ export declare function authenticateHandler({ isRpc, options: signedAuthToken, socket, transport }: ServerRequestHandlerArgs<string>): Promise<void>;
19
18
  export declare function validateAuthToken(auth: AuthEngine, authToken: SignedAuthToken, verificationOptions?: jwt.VerifyOptions): Promise<AuthInfo>;
20
- export declare function processAuthentication(socket: ServerSocket<BasicServerMap>, transport: SocketTransport<BasicSocketMapServer>, authInfo: AuthInfo): Promise<boolean>;
19
+ export declare function processAuthentication(socket: ServerSocket, transport: ServerTransport, authInfo: AuthInfo): Promise<boolean>;
@@ -1,7 +1,3 @@
1
1
  import { HandshakeOptions, HandshakeStatus } from "@socket-mesh/client";
2
- import { RequestHandlerArgs } from "@socket-mesh/core";
3
- import { BasicServerMap } from "../maps/server-map.js";
4
- import { BasicSocketMapServer } from "../maps/socket-map.js";
5
- import { ServerSocket } from "../server-socket.js";
6
- import { ServerTransport } from "../server-transport.js";
7
- export declare function handshakeHandler({ options, socket, transport }: RequestHandlerArgs<HandshakeOptions, BasicSocketMapServer, ServerSocket<BasicServerMap>, ServerTransport<BasicServerMap>>): Promise<HandshakeStatus>;
2
+ import { ServerRequestHandlerArgs } from "./server-request-handler.js";
3
+ export declare function handshakeHandler({ options, socket, transport }: ServerRequestHandlerArgs<HandshakeOptions>): Promise<HandshakeStatus>;
@@ -1,9 +1,5 @@
1
- import { RequestHandlerArgs } from "@socket-mesh/core";
2
- import { BasicSocketMapServer } from "../maps/socket-map.js";
3
1
  import { PublishOptions } from "@socket-mesh/channels";
4
- import { ServerSocket } from "../server-socket.js";
5
- import { BasicServerMap } from "../maps/server-map.js";
6
- import { ServerTransport } from "../server-transport.js";
7
- export declare function publishHandler({ socket, transport, options }: RequestHandlerArgs<PublishOptions, BasicSocketMapServer<{}, {
2
+ import { ServerRequestHandlerArgs } from "./server-request-handler.js";
3
+ export declare function publishHandler({ socket, transport, options }: ServerRequestHandlerArgs<PublishOptions, {}, {
8
4
  [channel: string]: any;
9
- }>, ServerSocket<BasicServerMap>, ServerTransport<BasicServerMap>>): Promise<void>;
5
+ }>): Promise<void>;
@@ -1,3 +1,4 @@
1
- import { BasicSocketMapServer } from "../maps/socket-map.js";
1
+ import { ClientPrivateMap, ServerPrivateMap } from "@socket-mesh/client";
2
2
  import { SocketTransport } from "@socket-mesh/core";
3
- export declare function deauthenticate(transport: SocketTransport<BasicSocketMapServer>): Promise<boolean>;
3
+ import { ServerSocketState } from "../server-socket-state.js";
4
+ export declare function deauthenticate(transport: SocketTransport<ServerPrivateMap, {}, ClientPrivateMap, {}, ServerSocketState>): Promise<boolean>;
@@ -0,0 +1,7 @@
1
+ import { ClientPrivateMap, ServerPrivateMap } from "@socket-mesh/client";
2
+ import { PrivateMethodMap, PublicMethodMap, RequestHandlerArgs, ServiceMap } from "@socket-mesh/core";
3
+ import { ServerSocketState } from "../server-socket-state.js";
4
+ import { ServerSocket } from "../server-socket.js";
5
+ import { ServerTransport } from "../server-transport.js";
6
+ import { ChannelMap } from "@socket-mesh/channels";
7
+ export type ServerRequestHandlerArgs<TOptions, TIncoming extends PublicMethodMap = {}, TChannel extends ChannelMap = {}, TService extends ServiceMap = {}, TOutgoing extends PublicMethodMap = {}, TPrivateIncoming extends PrivateMethodMap = {}, TPrivateOutgoing extends PrivateMethodMap = {}, TServerState extends object = {}, TState extends object = {}> = RequestHandlerArgs<TOptions, TIncoming & TPrivateIncoming & ServerPrivateMap, TOutgoing, TPrivateOutgoing & ClientPrivateMap, TService, TState & ServerSocketState, ServerSocket<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>, ServerTransport<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>>;
@@ -1,7 +1,3 @@
1
- import { BasicServerMap } from "../maps/server-map.js";
2
- import { BasicSocketMapServer } from "../maps/socket-map.js";
3
1
  import { SubscribeOptions } from "@socket-mesh/client";
4
- import { RequestHandlerArgs } from "@socket-mesh/core";
5
- import { ServerSocket } from "../server-socket.js";
6
- import { ServerTransport } from "../server-transport.js";
7
- export declare function subscribeHandler({ socket, transport, options }: RequestHandlerArgs<SubscribeOptions, BasicSocketMapServer, ServerSocket<BasicServerMap>, ServerTransport<BasicServerMap>>): Promise<void>;
2
+ import { ServerRequestHandlerArgs } from "./server-request-handler.js";
3
+ export declare function subscribeHandler({ socket, transport, options }: ServerRequestHandlerArgs<SubscribeOptions>): Promise<void>;
@@ -1,6 +1,2 @@
1
- import { RequestHandlerArgs } from "@socket-mesh/core";
2
- import { BasicSocketMapServer } from "../maps/socket-map.js";
3
- import { ServerSocket } from "../server-socket.js";
4
- import { BasicServerMap } from "../maps/server-map.js";
5
- import { ServerTransport } from "../server-transport.js";
6
- export declare function unsubscribeHandler({ transport, options: channel }: RequestHandlerArgs<string, BasicSocketMapServer, ServerSocket<BasicServerMap>, ServerTransport<BasicServerMap>>): Promise<void>;
1
+ import { ServerRequestHandlerArgs } from "./server-request-handler.js";
2
+ export declare function unsubscribeHandler({ transport, options: channel }: ServerRequestHandlerArgs<string>): Promise<void>;
package/dist/index.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  import http from "http";
2
2
  import { Server } from "./server.js";
3
3
  import { ServerOptions } from "./server-options.js";
4
- import { ServerMap } from "./maps/server-map.js";
4
+ import { ChannelMap } from "@socket-mesh/channels";
5
+ import { PrivateMethodMap, PublicMethodMap, ServiceMap } from "@socket-mesh/core";
5
6
  export { Server } from "./server.js";
6
7
  export { ServerSocket } from "./server-socket.js";
7
8
  export { PluginType } from "@socket-mesh/core";
8
- export { BasicServerMap } from "./maps/server-map.js";
9
- export { BasicSocketMapServer } from "./maps/socket-map.js";
9
+ export { ServerRequestHandlerArgs } from './handlers/server-request-handler.js';
10
10
  /**
11
11
  * Creates an http.Server exclusively used for WS upgrades.
12
12
  *
@@ -16,9 +16,9 @@ export { BasicSocketMapServer } from "./maps/socket-map.js";
16
16
  * @return {AGServer} websocket cluster server
17
17
  * @api public
18
18
  */
19
- export declare function listen<T extends ServerMap>(): Server<T>;
20
- export declare function listen<T extends ServerMap>(port: number, options: ServerOptions<T>): Server<T>;
21
- export declare function listen<T extends ServerMap>(port: number, options: ServerOptions<T>, fn: () => void): Server<T>;
19
+ export declare function listen<TIncoming extends PublicMethodMap = {}, TChannel extends ChannelMap = {}, TService extends ServiceMap = {}, TOutgoing extends PublicMethodMap = {}, TPrivateIncoming extends PrivateMethodMap = {}, TPrivateOutgoing extends PrivateMethodMap = {}, TServerState extends object = {}, TState extends object = {}>(): Server<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
20
+ export declare function listen<TIncoming extends PublicMethodMap = {}, TChannel extends ChannelMap = {}, TService extends ServiceMap = {}, TOutgoing extends PublicMethodMap = {}, TPrivateIncoming extends PrivateMethodMap = {}, TPrivateOutgoing extends PrivateMethodMap = {}, TServerState extends object = {}, TState extends object = {}>(port: number, options: ServerOptions<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>): Server<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
21
+ export declare function listen<TIncoming extends PublicMethodMap = {}, TChannel extends ChannelMap = {}, TService extends ServiceMap = {}, TOutgoing extends PublicMethodMap = {}, TPrivateIncoming extends PrivateMethodMap = {}, TPrivateOutgoing extends PrivateMethodMap = {}, TServerState extends object = {}, TState extends object = {}>(port: number, options: ServerOptions<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>, fn: () => void): Server<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
22
22
  /**
23
23
  * Captures upgrade requests for a http.Server.
24
24
  *
@@ -27,4 +27,4 @@ export declare function listen<T extends ServerMap>(port: number, options: Serve
27
27
  * @return {AGServer} websocket cluster server
28
28
  * @api public
29
29
  */
30
- export declare function attach<T extends ServerMap>(server: http.Server, options?: ServerOptions<T>): Server<T>;
30
+ export declare function attach<TChannel extends ChannelMap = {}, TService extends ServiceMap = {}, TIncoming extends PublicMethodMap = {}, TOutgoing extends PublicMethodMap = {}, TPrivateIncoming extends PrivateMethodMap = {}, TPrivateOutgoing extends PrivateMethodMap = {}, TServerState extends object = {}, TState extends object = {}>(server: http.Server, options?: ServerOptions<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>): Server<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
@@ -1,33 +1,33 @@
1
1
  import { IncomingMessage } from "http";
2
- import { ServerMap } from "../maps/server-map.js";
3
- import { SocketMapFromServer } from "../maps/socket-map.js";
4
- import { Plugin } from "@socket-mesh/core";
2
+ import { Plugin, PrivateMethodMap, PublicMethodMap, ServiceMap } from "@socket-mesh/core";
5
3
  import { AuthInfo } from "../handlers/authenticate.js";
6
4
  import { ServerSocket } from "../server-socket.js";
7
5
  import { ServerTransport } from "../server-transport.js";
8
- import { ChannelOptions } from "@socket-mesh/channels";
9
- export interface HandshakePluginArgs<T extends ServerMap> {
10
- socket: ServerSocket<T>;
11
- transport: ServerTransport<T>;
6
+ import { ChannelMap, ChannelOptions } from "@socket-mesh/channels";
7
+ import { ClientPrivateMap, ServerPrivateMap } from "@socket-mesh/client";
8
+ import { ServerSocketState } from "../server-socket-state.js";
9
+ export interface HandshakePluginArgs<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> {
10
+ socket: ServerSocket<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
11
+ transport: ServerTransport<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
12
12
  authInfo: AuthInfo;
13
13
  }
14
- export interface PublishPluginArgs<T extends ServerMap> {
14
+ export interface PublishPluginArgs<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> {
15
15
  channel: string;
16
16
  data: any;
17
- socket: ServerSocket<T>;
18
- transport: ServerTransport<T>;
17
+ socket: ServerSocket<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
18
+ transport: ServerTransport<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
19
19
  }
20
- export interface SubscribePluginArgs<T extends ServerMap> {
20
+ export interface SubscribePluginArgs<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> {
21
21
  channel: string;
22
22
  options: ChannelOptions;
23
- socket: ServerSocket<T>;
24
- transport: ServerTransport<T>;
23
+ socket: ServerSocket<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
24
+ transport: ServerTransport<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
25
25
  }
26
- export interface ServerPlugin<T extends ServerMap> extends Plugin<SocketMapFromServer<T>> {
26
+ export interface ServerPlugin<TIncoming extends PublicMethodMap, TChannel extends ChannelMap, TService extends ServiceMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> extends Plugin<TIncoming & TPrivateIncoming & ServerPrivateMap, TOutgoing, TPrivateOutgoing & ClientPrivateMap, TService, TState & ServerSocketState> {
27
27
  onAuthenticate?: (authInfo: AuthInfo) => void;
28
28
  onConnection?: (request: IncomingMessage) => Promise<void>;
29
- onHandshake?: (options: HandshakePluginArgs<T>) => Promise<void>;
30
- onPublishIn?: (options: PublishPluginArgs<T>) => Promise<any>;
31
- onPublishOut?: (options: PublishPluginArgs<T>) => Promise<any>;
32
- onSubscribe?: (options: SubscribePluginArgs<T>) => Promise<void>;
29
+ onHandshake?: (options: HandshakePluginArgs<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>) => Promise<void>;
30
+ onPublishIn?: (options: PublishPluginArgs<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>) => Promise<any>;
31
+ onPublishOut?: (options: PublishPluginArgs<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>) => Promise<any>;
32
+ onSubscribe?: (options: SubscribePluginArgs<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>) => Promise<void>;
33
33
  }
@@ -1,14 +1,11 @@
1
1
  import { IncomingMessage } from "http";
2
- import { ClientSocket } from "@socket-mesh/client";
2
+ import { ClientSocket, ServerPrivateMap } from "@socket-mesh/client";
3
3
  import { ServerSocket } from "./server-socket.js";
4
- import { AuthenticateEvent, BadAuthTokenEvent, ConnectEvent, CloseEvent as SCloseEvent, DisconnectEvent, ErrorEvent as SErrorEvent, MessageEvent, PingEvent, PongEvent, RequestEvent, ResponseEvent, ConnectingEvent, RemoveAuthTokenEvent, DeauthenticateEvent, AuthStateChangeEvent } from "@socket-mesh/core";
5
- import { ServerMap } from "./maps/server-map.js";
6
- import { ClientMapFromServer } from "./maps/client-map.js";
7
- import { SubscribeEvent, SubscribeFailEvent, SubscribeStateChangeEvent, UnsubscribeEvent } from "@socket-mesh/channels";
8
- import { SocketMapFromServer } from "./maps/socket-map.js";
9
- export type ServerEvent<T extends ServerMap> = ConnectionEvent<T> | CloseEvent | ErrorEvent | HeadersEvent | HandshakeEvent<T> | ListeningEvent | SocketAuthStateChangeEvent<T> | SocketAuthenticateEvent<T> | SocketBadAuthTokenEvent<T> | SocketCloseEvent<T> | SocketDeauthenticateEvent<T> | SocketErrorEvent<T> | SocketMessageEvent<T> | SocketConnectEvent<T> | SocketConnectingEvent<T> | SocketDisconnectEvent<T> | SocketPingEvent<T> | SocketPongEvent<T> | SocketRemoveAuthTokenEvent<T> | SocketRequestEvent<T> | SocketResponseEvent<T> | WarningEvent;
10
- export interface ConnectionEvent<T extends ServerMap> {
11
- socket: ServerSocket<T>;
4
+ import { AuthenticateEvent, BadAuthTokenEvent, ConnectEvent, CloseEvent as SCloseEvent, DisconnectEvent, ErrorEvent as SErrorEvent, MessageEvent, PingEvent, PongEvent, RequestEvent, ResponseEvent, ConnectingEvent, RemoveAuthTokenEvent, DeauthenticateEvent, AuthStateChangeEvent, ServiceMap, PublicMethodMap, PrivateMethodMap } from "@socket-mesh/core";
5
+ import { ChannelMap, SubscribeEvent, SubscribeFailEvent, SubscribeStateChangeEvent, UnsubscribeEvent } from "@socket-mesh/channels";
6
+ export type ServerEvent<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> = ConnectionEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState> | CloseEvent | ErrorEvent | HeadersEvent | HandshakeEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState> | ListeningEvent | SocketAuthStateChangeEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState> | SocketAuthenticateEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState> | SocketBadAuthTokenEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState> | SocketCloseEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState> | SocketDeauthenticateEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState> | SocketErrorEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState> | SocketMessageEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState> | SocketConnectEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState> | SocketConnectingEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState> | SocketDisconnectEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState> | SocketPingEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState> | SocketPongEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState> | SocketRemoveAuthTokenEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState> | SocketRequestEvent<TService, TIncoming, TPrivateIncoming> | SocketResponseEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState> | WarningEvent;
7
+ export interface ConnectionEvent<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> {
8
+ socket: ServerSocket<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
12
9
  upgradeReq: IncomingMessage;
13
10
  }
14
11
  export interface CloseEvent {
@@ -16,8 +13,8 @@ export interface CloseEvent {
16
13
  export interface ErrorEvent {
17
14
  error: Error;
18
15
  }
19
- export interface HandshakeEvent<T extends ServerMap> {
20
- socket: ServerSocket<T>;
16
+ export interface HandshakeEvent<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> {
17
+ socket: ServerSocket<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
21
18
  }
22
19
  export interface WarningEvent {
23
20
  warning: Error;
@@ -28,25 +25,25 @@ export interface HeadersEvent {
28
25
  }
29
26
  export interface ListeningEvent {
30
27
  }
31
- export interface ServerSocketEvent<T extends ServerMap> {
32
- socket: ClientSocket<ClientMapFromServer<T>> | ServerSocket<T>;
33
- }
34
- export type SocketAuthStateChangeEvent<T extends ServerMap> = AuthStateChangeEvent & ServerSocketEvent<T>;
35
- export type SocketAuthenticateEvent<T extends ServerMap> = AuthenticateEvent & ServerSocketEvent<T>;
36
- export type SocketBadAuthTokenEvent<T extends ServerMap> = BadAuthTokenEvent & ServerSocketEvent<T>;
37
- export type SocketCloseEvent<T extends ServerMap> = SCloseEvent & ServerSocketEvent<T>;
38
- export type SocketDeauthenticateEvent<T extends ServerMap> = DeauthenticateEvent & ServerSocketEvent<T>;
39
- export type SocketErrorEvent<T extends ServerMap> = SErrorEvent & ServerSocketEvent<T>;
40
- export type SocketMessageEvent<T extends ServerMap> = MessageEvent & ServerSocketEvent<T>;
41
- export type SocketConnectEvent<T extends ServerMap> = ConnectEvent & ServerSocketEvent<T>;
42
- export type SocketConnectingEvent<T extends ServerMap> = ConnectingEvent & ServerSocketEvent<T>;
43
- export type SocketDisconnectEvent<T extends ServerMap> = DisconnectEvent & ServerSocketEvent<T>;
44
- export type SocketPingEvent<T extends ServerMap> = PingEvent & ServerSocketEvent<T>;
45
- export type SocketPongEvent<T extends ServerMap> = PongEvent & ServerSocketEvent<T>;
46
- export type SocketRemoveAuthTokenEvent<T extends ServerMap> = RemoveAuthTokenEvent & ServerSocketEvent<T>;
47
- export type SocketRequestEvent<T extends ServerMap> = RequestEvent<SocketMapFromServer<T>>;
48
- export type SocketResponseEvent<T extends ServerMap> = ResponseEvent<T> & ServerSocketEvent<T>;
49
- export type SocketSubscribeEvent<T extends ServerMap> = SubscribeEvent & ServerSocketEvent<T>;
50
- export type SocketSubscribeFailEvent<T extends ServerMap> = SubscribeFailEvent & ServerSocketEvent<T>;
51
- export type SocketSubscribeStateChangeEvent<T extends ServerMap> = SubscribeStateChangeEvent & ServerSocketEvent<T>;
52
- export type SocketUnsubscribeEvent<T extends ServerMap> = UnsubscribeEvent & ServerSocketEvent<T>;
28
+ export interface ServerSocketEvent<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> {
29
+ socket: ClientSocket<PublicMethodMap, TChannel, TService, TState, TOutgoing & TPrivateOutgoing, TPrivateIncoming> | ServerSocket<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
30
+ }
31
+ export type SocketAuthStateChangeEvent<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> = AuthStateChangeEvent & ServerSocketEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
32
+ export type SocketAuthenticateEvent<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> = AuthenticateEvent & ServerSocketEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
33
+ export type SocketBadAuthTokenEvent<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> = BadAuthTokenEvent & ServerSocketEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
34
+ export type SocketCloseEvent<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> = SCloseEvent & ServerSocketEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
35
+ export type SocketDeauthenticateEvent<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> = DeauthenticateEvent & ServerSocketEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
36
+ export type SocketErrorEvent<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> = SErrorEvent & ServerSocketEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
37
+ export type SocketMessageEvent<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> = MessageEvent & ServerSocketEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
38
+ export type SocketConnectEvent<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> = ConnectEvent & ServerSocketEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
39
+ export type SocketConnectingEvent<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> = ConnectingEvent & ServerSocketEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
40
+ export type SocketDisconnectEvent<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> = DisconnectEvent & ServerSocketEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
41
+ export type SocketPingEvent<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> = PingEvent & ServerSocketEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
42
+ export type SocketPongEvent<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> = PongEvent & ServerSocketEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
43
+ export type SocketRemoveAuthTokenEvent<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> = RemoveAuthTokenEvent & ServerSocketEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
44
+ export type SocketRequestEvent<TService extends ServiceMap, TIncoming extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap> = RequestEvent<TIncoming & TPrivateIncoming & ServerPrivateMap, TService>;
45
+ export type SocketResponseEvent<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> = ResponseEvent<TOutgoing, TPrivateOutgoing, TService> & ServerSocketEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
46
+ export type SocketSubscribeEvent<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> = SubscribeEvent & ServerSocketEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
47
+ export type SocketSubscribeFailEvent<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> = SubscribeFailEvent & ServerSocketEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
48
+ export type SocketSubscribeStateChangeEvent<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> = SubscribeStateChangeEvent & ServerSocketEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
49
+ export type SocketUnsubscribeEvent<TChannel extends ChannelMap, TService extends ServiceMap, TIncoming extends PublicMethodMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> = UnsubscribeEvent & ServerSocketEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
@@ -1,21 +1,22 @@
1
1
  import ws from "ws";
2
2
  import { AuthEngine, AuthOptions } from "@socket-mesh/auth-engine";
3
- import { CallIdGenerator, HandlerMap, EmptySocketMap, StreamCleanupMode } from "@socket-mesh/core";
3
+ import { CallIdGenerator, HandlerMap, StreamCleanupMode, ServiceMap, PublicMethodMap, PrivateMethodMap } from "@socket-mesh/core";
4
4
  import { CodecEngine } from "@socket-mesh/formatter";
5
5
  import { ServerPlugin } from "./plugin/server-plugin.js";
6
- import { ServerMap } from "./maps/server-map.js";
7
6
  import { Broker } from "./broker/broker.js";
8
- export interface ServerOptions<T extends ServerMap> extends ws.ServerOptions {
7
+ import { ChannelMap } from "@socket-mesh/channels";
8
+ import { ClientPrivateMap, ServerPrivateMap } from "@socket-mesh/client";
9
+ export interface ServerOptions<TIncoming extends PublicMethodMap = {}, TChannel extends ChannelMap = {}, TService extends ServiceMap = {}, TOutgoing extends PublicMethodMap = {}, TPrivateIncoming extends PrivateMethodMap = {}, TPrivateOutgoing extends PrivateMethodMap = {}, TServerState extends object = {}, TState extends object = {}> extends ws.ServerOptions {
9
10
  ackTimeoutMs?: number;
10
11
  allowClientPublish?: boolean;
11
12
  authEngine?: AuthEngine | AuthOptions;
12
- brokerEngine?: Broker<T['Channel']>;
13
+ brokerEngine?: Broker<TChannel>;
13
14
  callIdGenerator?: CallIdGenerator;
14
15
  codecEngine?: CodecEngine;
15
16
  handshakeTimeoutMs?: number;
16
- handlers?: HandlerMap<EmptySocketMap>;
17
+ handlers?: HandlerMap<TIncoming & TPrivateIncoming & ServerPrivateMap, TOutgoing, TPrivateOutgoing & ClientPrivateMap, TService, TState>;
17
18
  isPingTimeoutDisabled?: boolean;
18
- plugins?: ServerPlugin<T>[];
19
+ plugins?: ServerPlugin<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>[];
19
20
  origins?: string;
20
21
  pingIntervalMs?: number;
21
22
  pingTimeoutMs?: number;
@@ -1,26 +1,27 @@
1
- import { HandlerMap, Socket, SocketOptions } from "@socket-mesh/core";
1
+ import { HandlerMap, PrivateMethodMap, PublicMethodMap, ServiceMap, Socket, SocketOptions } from "@socket-mesh/core";
2
2
  import ws from "ws";
3
- import { SocketMapFromServer } from "./maps/socket-map.js";
4
- import { ServerMap } from "./maps/server-map.js";
5
3
  import { Exchange } from "./broker/exchange.js";
6
4
  import { Server } from "./server.js";
7
5
  import { IncomingMessage } from "http";
8
6
  import { ServerPlugin } from "./plugin/server-plugin.js";
9
- export interface ServerSocketOptions<T extends ServerMap> extends SocketOptions<SocketMapFromServer<T>> {
10
- handlers: HandlerMap<SocketMapFromServer<T>>;
11
- plugins?: ServerPlugin<T>[];
7
+ import { ChannelMap } from "@socket-mesh/channels";
8
+ import { ServerSocketState } from "./server-socket-state.js";
9
+ import { ClientPrivateMap, ServerPrivateMap } from "@socket-mesh/client";
10
+ export interface ServerSocketOptions<TIncoming extends PublicMethodMap, TChannel extends ChannelMap, TService extends ServiceMap, TOutgoing extends PublicMethodMap, TPrivateIncoming extends PrivateMethodMap, TPrivateOutgoing extends PrivateMethodMap, TServerState extends object, TState extends object> extends SocketOptions<TIncoming & TPrivateIncoming & ServerPrivateMap, TOutgoing, TPrivateOutgoing & ClientPrivateMap, TService, TState & ServerSocketState> {
11
+ handlers: HandlerMap<TIncoming & TPrivateIncoming & ServerPrivateMap, TOutgoing, TPrivateOutgoing & ClientPrivateMap, TService, TState & ServerSocketState>;
12
+ plugins?: ServerPlugin<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>[];
12
13
  id?: string;
13
14
  service?: string;
14
- server: Server<T>;
15
+ server: Server<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
15
16
  request: IncomingMessage;
16
17
  socket: ws.WebSocket;
17
18
  }
18
- export declare class ServerSocket<T extends ServerMap> extends Socket<SocketMapFromServer<T>> {
19
- readonly server: Server<T>;
19
+ export declare class ServerSocket<TIncoming extends PublicMethodMap = {}, TChannel extends ChannelMap = {}, TService extends ServiceMap = {}, TOutgoing extends PublicMethodMap = {}, TPrivateIncoming extends PrivateMethodMap = {}, TPrivateOutgoing extends PrivateMethodMap = {}, TServerState extends object = {}, TState extends object = {}> extends Socket<TIncoming & TPrivateIncoming & ServerPrivateMap, TOutgoing, TPrivateOutgoing & ClientPrivateMap, TService, TState & ServerSocketState> {
20
+ readonly server: Server<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
20
21
  private _serverTransport;
21
- constructor(options: ServerSocketOptions<T>);
22
+ constructor(options: ServerSocketOptions<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>);
22
23
  deauthenticate(rejectOnFailedDelivery?: boolean): Promise<boolean>;
23
- get exchange(): Exchange<T['Channel']>;
24
+ get exchange(): Exchange<TChannel>;
24
25
  kickOut(channel: string, message: string): Promise<void[]>;
25
26
  ping(): Promise<void>;
26
27
  get service(): string;
@@ -1,36 +1,36 @@
1
- import { ServerMap } from "./maps/server-map.js";
2
1
  import { ServerSocket, ServerSocketOptions } from "./server-socket.js";
3
2
  import { AuthToken, SignedAuthToken } from "@socket-mesh/auth";
4
- import { SocketMapFromServer } from "./maps/socket-map.js";
5
3
  import { AuthTokenOptions } from "@socket-mesh/auth-engine";
6
4
  import { Data } from "ws";
7
- import { AnyPacket, AnyResponse, SocketStatus, SocketTransport, InvokeMethodRequest, InvokeServiceRequest, TransmitMethodRequest, TransmitServiceRequest, InboundMessage } from "@socket-mesh/core";
5
+ import { AnyPacket, AnyResponse, SocketStatus, SocketTransport, InvokeMethodRequest, InvokeServiceRequest, TransmitMethodRequest, TransmitServiceRequest, InboundMessage, ServiceMap, PublicMethodMap, PrivateMethodMap } from "@socket-mesh/core";
8
6
  import { IncomingMessage } from "http";
9
7
  import { ServerPlugin } from "./plugin/server-plugin.js";
10
- import { PublishOptions } from "@socket-mesh/channels";
11
- export declare class ServerTransport<T extends ServerMap> extends SocketTransport<SocketMapFromServer<T>> {
12
- readonly plugins: ServerPlugin<T>[];
8
+ import { ChannelMap, PublishOptions } from "@socket-mesh/channels";
9
+ import { ClientPrivateMap, ServerPrivateMap } from "@socket-mesh/client";
10
+ import { ServerSocketState } from "./server-socket-state.js";
11
+ export declare class ServerTransport<TIncoming extends PublicMethodMap = {}, TChannel extends ChannelMap = {}, TService extends ServiceMap = {}, TOutgoing extends PublicMethodMap = {}, TPrivateIncoming extends PrivateMethodMap = {}, TPrivateOutgoing extends PrivateMethodMap = {}, TServerState extends object = {}, TState extends object = {}> extends SocketTransport<TIncoming & TPrivateIncoming & ServerPrivateMap, TOutgoing, TPrivateOutgoing & ClientPrivateMap, TService, TState & ServerSocketState> {
12
+ readonly plugins: ServerPlugin<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>[];
13
13
  readonly service?: string;
14
14
  readonly request: IncomingMessage;
15
- constructor(options: ServerSocketOptions<T>);
15
+ constructor(options: ServerSocketOptions<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>);
16
16
  changeToUnauthenticatedState(): Promise<boolean>;
17
- protected handleInboudMessage({ packet, timestamp }: InboundMessage<SocketMapFromServer<T>>): Promise<void>;
17
+ protected handleInboudMessage({ packet, timestamp }: InboundMessage<TIncoming & TPrivateIncoming & ServerPrivateMap, TOutgoing, TPrivateOutgoing & ClientPrivateMap, TService>): Promise<void>;
18
18
  protected onClose(code: number, reason?: string | Buffer): void;
19
19
  protected onDisconnect(status: SocketStatus, code: number, reason?: string): void;
20
20
  onError(error: Error): void;
21
- protected onInvoke<TService extends keyof T["Service"], TServiceMethod extends keyof T["Service"][TService], TMethod extends keyof T["Outgoing"], TPrivateMethod extends keyof T["PrivateOutgoing"]>(request: InvokeMethodRequest<T["Outgoing"], TMethod> | InvokeMethodRequest<T["PrivateOutgoing"], TPrivateMethod> | InvokeServiceRequest<T["Service"], TService, TServiceMethod>): void;
21
+ protected onInvoke<TServiceName extends keyof TService, TServiceMethod extends keyof TService[TServiceName], TMethod extends keyof TOutgoing, TPrivateMethod extends keyof TPrivateOutgoing>(request: InvokeMethodRequest<TOutgoing, TMethod> | InvokeMethodRequest<TPrivateOutgoing, TPrivateMethod> | InvokeServiceRequest<TService, TServiceName, TServiceMethod>): void;
22
22
  protected onMessage(data: Data, isBinary: boolean): void;
23
23
  protected onPingPong(): void;
24
24
  protected onPublish(options: PublishOptions): Promise<void>;
25
- protected onRequest(packet: AnyPacket<SocketMapFromServer<T>>, timestamp: Date, pluginError?: Error): Promise<boolean>;
26
- protected onResponse(response: AnyResponse<SocketMapFromServer<T>>): void;
27
- protected onTransmit<TService extends keyof T["Service"], TServiceMethod extends keyof T["Service"][TService], TMethod extends keyof T["Outgoing"]>(request: TransmitMethodRequest<T["Outgoing"], TMethod> | TransmitServiceRequest<T["Service"], TService, TServiceMethod>): void;
25
+ protected onRequest(packet: AnyPacket<TIncoming & TPrivateIncoming & ServerPrivateMap, TService>, timestamp: Date, pluginError?: Error): Promise<boolean>;
26
+ protected onResponse(response: AnyResponse<TOutgoing, TPrivateOutgoing & ClientPrivateMap, TService>): void;
27
+ protected onTransmit<TServiceName extends keyof TService, TServiceMethod extends keyof TService[TServiceName], TMethod extends keyof TOutgoing>(request: TransmitMethodRequest<TOutgoing, TMethod> | TransmitServiceRequest<TService, TServiceName, TServiceMethod>): void;
28
28
  ping(): Promise<void>;
29
29
  setAuthorization(authToken: AuthToken, options?: AuthTokenOptions): Promise<boolean>;
30
30
  setAuthorization(signedAuthToken: SignedAuthToken, authToken?: AuthToken): Promise<boolean>;
31
31
  setReadyStatus(pingTimeoutMs: number, authError?: Error): void;
32
- get socket(): ServerSocket<T>;
33
- set socket(value: ServerSocket<T>);
32
+ get socket(): ServerSocket<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
33
+ set socket(value: ServerSocket<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>);
34
34
  triggerAuthenticationEvents(wasSigned: boolean, wasAuthenticated: boolean): void;
35
35
  type: 'server';
36
36
  unsubscribe(channel: string): Promise<void>;
package/dist/server.d.ts CHANGED
@@ -1,17 +1,17 @@
1
1
  import { ServerSocket } from "./server-socket.js";
2
2
  import { Server as HttpServer } from 'http';
3
3
  import { CodecEngine } from "@socket-mesh/formatter";
4
- import { StreamCleanupMode } from "@socket-mesh/core";
4
+ import { PrivateMethodMap, PublicMethodMap, ServiceMap, StreamCleanupMode } from "@socket-mesh/core";
5
5
  import { AuthEngine } from "@socket-mesh/auth-engine";
6
6
  import { ServerPlugin } from "./plugin/server-plugin.js";
7
7
  import { CloseEvent, ConnectionEvent, ErrorEvent, HandshakeEvent, HeadersEvent, ListeningEvent, ServerEvent, SocketAuthenticateEvent, SocketAuthStateChangeEvent, SocketBadAuthTokenEvent, SocketCloseEvent, SocketConnectEvent, SocketConnectingEvent, SocketDeauthenticateEvent, SocketDisconnectEvent, SocketErrorEvent, SocketMessageEvent, SocketPingEvent, SocketPongEvent, SocketRemoveAuthTokenEvent, SocketRequestEvent, SocketResponseEvent, SocketSubscribeEvent, SocketSubscribeFailEvent, SocketSubscribeStateChangeEvent, SocketUnsubscribeEvent, WarningEvent } from "./server-event.js";
8
8
  import { AsyncStreamEmitter } from "@socket-mesh/async-stream-emitter";
9
9
  import { DemuxedConsumableStream, StreamEvent } from "@socket-mesh/stream-demux";
10
10
  import { ServerOptions } from "./server-options.js";
11
- import { ServerMap } from "./maps/server-map.js";
12
11
  import { Broker } from "./broker/broker.js";
13
12
  import { Exchange } from "./broker/exchange.js";
14
- export declare class Server<T extends ServerMap> extends AsyncStreamEmitter<ServerEvent<T>> {
13
+ import { ChannelMap } from "@socket-mesh/channels";
14
+ export declare class Server<TIncoming extends PublicMethodMap = {}, TChannel extends ChannelMap = {}, TService extends ServiceMap = {}, TOutgoing extends PublicMethodMap = {}, TPrivateIncoming extends PrivateMethodMap = {}, TPrivateOutgoing extends PrivateMethodMap = {}, TServerState extends object = {}, TState extends object = {}> extends AsyncStreamEmitter<ServerEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>> {
15
15
  private readonly _callIdGenerator;
16
16
  private readonly _wss;
17
17
  private _isReady;
@@ -27,24 +27,24 @@ export declare class Server<T extends ServerMap> extends AsyncStreamEmitter<Serv
27
27
  socketChannelLimit?: number;
28
28
  strictHandshake: boolean;
29
29
  readonly auth: AuthEngine;
30
- readonly brokerEngine: Broker<T['Channel']>;
30
+ readonly brokerEngine: Broker<TChannel>;
31
31
  readonly clients: {
32
- [id: string]: ServerSocket<T>;
32
+ [id: string]: ServerSocket<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
33
33
  };
34
34
  clientCount: number;
35
35
  readonly codecEngine: CodecEngine;
36
36
  readonly pendingClients: {
37
- [id: string]: ServerSocket<T>;
37
+ [id: string]: ServerSocket<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>;
38
38
  };
39
39
  pendingClientCount: number;
40
40
  readonly socketStreamCleanupMode: StreamCleanupMode;
41
41
  readonly httpServer: HttpServer;
42
- readonly plugins: ServerPlugin<T>[];
43
- constructor(options?: ServerOptions<T>);
44
- addPlugin(...plugin: ServerPlugin<T>[]): void;
42
+ readonly plugins: ServerPlugin<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>[];
43
+ constructor(options?: ServerOptions<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>);
44
+ addPlugin(...plugin: ServerPlugin<TIncoming, TChannel, TService, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>[]): void;
45
45
  private bind;
46
46
  close(keepSocketsOpen?: boolean): Promise<void>;
47
- get exchange(): Exchange<T['Channel']>;
47
+ get exchange(): Exchange<TChannel>;
48
48
  get isListening(): boolean;
49
49
  get isReady(): boolean;
50
50
  private onClose;
@@ -58,62 +58,62 @@ export declare class Server<T extends ServerMap> extends AsyncStreamEmitter<Serv
58
58
  private stopPinging;
59
59
  private verifyClient;
60
60
  emit(event: "close", data: CloseEvent): void;
61
- emit(event: "connection", data: ConnectionEvent<T>): void;
61
+ emit(event: "connection", data: ConnectionEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>): void;
62
62
  emit(event: "error", data: ErrorEvent): void;
63
63
  emit(event: "headers", data: HeadersEvent): void;
64
- emit(event: "handshake", data: HandshakeEvent<T>): void;
64
+ emit(event: "handshake", data: HandshakeEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>): void;
65
65
  emit(event: "listening", data: ListeningEvent): void;
66
66
  emit(event: "ready", data: {}): void;
67
- emit(event: 'socketAuthStateChange', data: SocketAuthStateChangeEvent<T>): void;
68
- emit(event: 'socketAuthenticate', data: SocketAuthenticateEvent<T>): void;
69
- emit(event: 'socketBadAuthToken', data: SocketBadAuthTokenEvent<T>): void;
70
- emit(event: 'socketClose', data: SocketCloseEvent<T>): void;
71
- emit(event: 'socketConnect', data: SocketConnectEvent<T>): void;
72
- emit(event: 'socketConnectAbort', data: SocketDisconnectEvent<T>): void;
73
- emit(event: 'socketConnecting', data: SocketConnectingEvent<T>): void;
74
- emit(event: 'socketDeauthenticate', data: SocketDeauthenticateEvent<T>): void;
75
- emit(event: 'socketDisconnect', data: SocketDisconnectEvent<T>): void;
76
- emit(event: 'socketError', data: SocketErrorEvent<T>): void;
77
- emit(event: 'socketMessage', data: SocketMessageEvent<T>): void;
78
- emit(event: 'socketPing', data: SocketPingEvent<T>): void;
79
- emit(event: 'socketPong', data: SocketPongEvent<T>): void;
80
- emit(event: 'socketRemoveAuthToken', data: SocketRemoveAuthTokenEvent<T>): void;
81
- emit(event: 'socketRequest', data: SocketRequestEvent<T>): void;
82
- emit(event: 'socketResponse', data: SocketResponseEvent<T>): void;
83
- emit(event: 'socketSubscribe', data: SocketSubscribeEvent<T>): void;
84
- emit(event: 'socketSubscribeFail', data: SocketSubscribeFailEvent<T>): void;
85
- emit(event: 'socketSubscribeRequest', data: SocketSubscribeEvent<T>): void;
86
- emit(event: 'socketSubscribeStateChange', data: SocketSubscribeStateChangeEvent<T>): void;
87
- emit(event: 'socketUnsubscribe', data: SocketUnsubscribeEvent<T>): void;
67
+ emit(event: 'socketAuthStateChange', data: SocketAuthStateChangeEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>): void;
68
+ emit(event: 'socketAuthenticate', data: SocketAuthenticateEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>): void;
69
+ emit(event: 'socketBadAuthToken', data: SocketBadAuthTokenEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>): void;
70
+ emit(event: 'socketClose', data: SocketCloseEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>): void;
71
+ emit(event: 'socketConnect', data: SocketConnectEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>): void;
72
+ emit(event: 'socketConnectAbort', data: SocketDisconnectEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>): void;
73
+ emit(event: 'socketConnecting', data: SocketConnectingEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>): void;
74
+ emit(event: 'socketDeauthenticate', data: SocketDeauthenticateEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>): void;
75
+ emit(event: 'socketDisconnect', data: SocketDisconnectEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>): void;
76
+ emit(event: 'socketError', data: SocketErrorEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>): void;
77
+ emit(event: 'socketMessage', data: SocketMessageEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>): void;
78
+ emit(event: 'socketPing', data: SocketPingEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>): void;
79
+ emit(event: 'socketPong', data: SocketPongEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>): void;
80
+ emit(event: 'socketRemoveAuthToken', data: SocketRemoveAuthTokenEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>): void;
81
+ emit(event: 'socketRequest', data: SocketRequestEvent<TService, TIncoming, TPrivateIncoming>): void;
82
+ emit(event: 'socketResponse', data: SocketResponseEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>): void;
83
+ emit(event: 'socketSubscribe', data: SocketSubscribeEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>): void;
84
+ emit(event: 'socketSubscribeFail', data: SocketSubscribeFailEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>): void;
85
+ emit(event: 'socketSubscribeRequest', data: SocketSubscribeEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>): void;
86
+ emit(event: 'socketSubscribeStateChange', data: SocketSubscribeStateChangeEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>): void;
87
+ emit(event: 'socketUnsubscribe', data: SocketUnsubscribeEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>): void;
88
88
  emit(event: "warning", data: WarningEvent): void;
89
- listen(): DemuxedConsumableStream<StreamEvent<ServerEvent<T>>>;
89
+ listen(): DemuxedConsumableStream<StreamEvent<ServerEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>>>;
90
90
  listen(event: "close"): DemuxedConsumableStream<CloseEvent>;
91
- listen(event: "connection"): DemuxedConsumableStream<ConnectionEvent<T>>;
91
+ listen(event: "connection"): DemuxedConsumableStream<ConnectionEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>>;
92
92
  listen(event: "error"): DemuxedConsumableStream<ErrorEvent>;
93
- listen(event: "handshake"): DemuxedConsumableStream<HandshakeEvent<T>>;
93
+ listen(event: "handshake"): DemuxedConsumableStream<HandshakeEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>>;
94
94
  listen(event: "headers"): DemuxedConsumableStream<HeadersEvent>;
95
95
  listen(event: "listening"): DemuxedConsumableStream<ListeningEvent>;
96
96
  listen(event: "ready"): DemuxedConsumableStream<{}>;
97
- listen(event: 'socketAuthStateChange'): DemuxedConsumableStream<SocketAuthStateChangeEvent<T>>;
98
- listen(event: 'socketAuthenticate'): DemuxedConsumableStream<SocketAuthenticateEvent<T>>;
99
- listen(event: 'socketBadAuthToken'): DemuxedConsumableStream<SocketBadAuthTokenEvent<T>>;
100
- listen(event: 'socketClose'): DemuxedConsumableStream<SocketCloseEvent<T>>;
101
- listen(event: 'socketConnect'): DemuxedConsumableStream<SocketConnectEvent<T>>;
102
- listen(event: 'socketConnectAbort'): DemuxedConsumableStream<SocketDisconnectEvent<T>>;
103
- listen(event: 'socketConnecting'): DemuxedConsumableStream<SocketConnectingEvent<T>>;
104
- listen(event: 'socketDeauthenticate'): DemuxedConsumableStream<SocketDeauthenticateEvent<T>>;
105
- listen(event: 'socketDisconnect'): DemuxedConsumableStream<SocketDisconnectEvent<T>>;
106
- listen(event: 'socketError'): DemuxedConsumableStream<SocketErrorEvent<T>>;
107
- listen(event: 'socketMessage'): DemuxedConsumableStream<SocketMessageEvent<T>>;
108
- listen(event: 'socketPing'): DemuxedConsumableStream<SocketPingEvent<T>>;
109
- listen(event: 'socketPong'): DemuxedConsumableStream<SocketPongEvent<T>>;
110
- listen(event: 'socketRemoveAuthToken'): DemuxedConsumableStream<SocketRemoveAuthTokenEvent<T>>;
111
- listen(event: 'socketRequest'): DemuxedConsumableStream<SocketRequestEvent<T>>;
112
- listen(event: 'socketResponse'): DemuxedConsumableStream<SocketResponseEvent<T>>;
113
- listen(event: 'socketSubscribe'): DemuxedConsumableStream<SocketSubscribeEvent<T>>;
114
- listen(event: 'socketSubscribeFail'): DemuxedConsumableStream<SocketSubscribeFailEvent<T>>;
115
- listen(event: 'socketSubscribeRequest'): DemuxedConsumableStream<SocketSubscribeEvent<T>>;
116
- listen(event: 'socketSubscribeStateChange'): DemuxedConsumableStream<SocketSubscribeStateChangeEvent<T>>;
117
- listen(event: 'socketUnsubscribe'): DemuxedConsumableStream<SocketUnsubscribeEvent<T>>;
97
+ listen(event: 'socketAuthStateChange'): DemuxedConsumableStream<SocketAuthStateChangeEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>>;
98
+ listen(event: 'socketAuthenticate'): DemuxedConsumableStream<SocketAuthenticateEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>>;
99
+ listen(event: 'socketBadAuthToken'): DemuxedConsumableStream<SocketBadAuthTokenEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>>;
100
+ listen(event: 'socketClose'): DemuxedConsumableStream<SocketCloseEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>>;
101
+ listen(event: 'socketConnect'): DemuxedConsumableStream<SocketConnectEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>>;
102
+ listen(event: 'socketConnectAbort'): DemuxedConsumableStream<SocketDisconnectEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>>;
103
+ listen(event: 'socketConnecting'): DemuxedConsumableStream<SocketConnectingEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>>;
104
+ listen(event: 'socketDeauthenticate'): DemuxedConsumableStream<SocketDeauthenticateEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>>;
105
+ listen(event: 'socketDisconnect'): DemuxedConsumableStream<SocketDisconnectEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>>;
106
+ listen(event: 'socketError'): DemuxedConsumableStream<SocketErrorEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>>;
107
+ listen(event: 'socketMessage'): DemuxedConsumableStream<SocketMessageEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>>;
108
+ listen(event: 'socketPing'): DemuxedConsumableStream<SocketPingEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>>;
109
+ listen(event: 'socketPong'): DemuxedConsumableStream<SocketPongEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>>;
110
+ listen(event: 'socketRemoveAuthToken'): DemuxedConsumableStream<SocketRemoveAuthTokenEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>>;
111
+ listen(event: 'socketRequest'): DemuxedConsumableStream<SocketRequestEvent<TService, TIncoming, TPrivateIncoming>>;
112
+ listen(event: 'socketResponse'): DemuxedConsumableStream<SocketResponseEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>>;
113
+ listen(event: 'socketSubscribe'): DemuxedConsumableStream<SocketSubscribeEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>>;
114
+ listen(event: 'socketSubscribeFail'): DemuxedConsumableStream<SocketSubscribeFailEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>>;
115
+ listen(event: 'socketSubscribeRequest'): DemuxedConsumableStream<SocketSubscribeEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>>;
116
+ listen(event: 'socketSubscribeStateChange'): DemuxedConsumableStream<SocketSubscribeStateChangeEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>>;
117
+ listen(event: 'socketUnsubscribe'): DemuxedConsumableStream<SocketUnsubscribeEvent<TChannel, TService, TIncoming, TOutgoing, TPrivateIncoming, TPrivateOutgoing, TServerState, TState>>;
118
118
  listen(event: "warning"): DemuxedConsumableStream<WarningEvent>;
119
119
  }
package/package.json CHANGED
@@ -1,26 +1,26 @@
1
1
  {
2
2
  "name": "@socket-mesh/server",
3
3
  "description": "A TCP socket pair for easily transmitting full messages without worrying about request size limits.",
4
- "version": "18.1.2",
5
- "type": "module",
6
- "main": "dist/index.js",
4
+ "version": "18.1.4",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "files": ["./dist"],
9
9
  "author": {
10
10
  "name": "Greg Kimmy"
11
11
  },
12
12
  "scripts": {
13
- "build": "node ../../scripts/build.mjs && tsc --project tsconfig.build.json",
14
- "deploy": "npm run build && node ../../scripts/publish.mjs",
13
+ "build": "node ../../scripts/build.mjs && tsc --project tsconfig.build.json",
14
+ "deploy": "npm run build && node ../../scripts/publish.mjs",
15
15
  "test": "cross-env node --test --import=./run-test.js test/server-test.ts"
16
16
  },
17
- "repository": {
18
- "type": "git",
19
- "url": "git+https://github.com/socket-mesh/client-server.git"
20
- },
21
- "bugs": {
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "git+https://github.com/socket-mesh/client-server.git"
20
+ },
21
+ "bugs": {
22
22
  "url": "https://github.com/socket-mesh/client-server/labels/server"
23
- },
23
+ },
24
24
  "devDependencies": {
25
25
  "@socket-mesh/local-storage": "^1.0.2",
26
26
  "@types/base64id": "^2.0.2",
@@ -31,7 +31,7 @@
31
31
  "@socket-mesh/async-stream-emitter": "^7.1.2",
32
32
  "@socket-mesh/auth": "^2.2.0",
33
33
  "@socket-mesh/auth-engine": "^1.0.0",
34
- "@socket-mesh/client": "^18.1.3",
34
+ "@socket-mesh/client": "^18.1.5",
35
35
  "@socket-mesh/errors": "^3.2.0",
36
36
  "@socket-mesh/formatter": "^4.1.0",
37
37
  "base64id": "^2.0.0",
@@ -1,10 +0,0 @@
1
- import { PublicMethodMap } from "@socket-mesh/core";
2
- import { ServerMap } from "./server-map.js";
3
- export interface ClientMapFromServer<T extends ServerMap> {
4
- Channel: T['Channel'];
5
- Incoming: T['Outgoing'] & T['PrivateOutgoing'];
6
- Service: T['Service'];
7
- Outgoing: PublicMethodMap;
8
- PrivateOutgoing: T['PrivateIncoming'];
9
- State: object;
10
- }
@@ -1,24 +0,0 @@
1
- import { ChannelMap } from "@socket-mesh/channels";
2
- import { ClientPrivateMap, ServerPrivateMap } from "@socket-mesh/client";
3
- import { PrivateMethodMap, PublicMethodMap, ServiceMap } from "@socket-mesh/core";
4
- import { ServerSocketState } from "../server-socket-state.js";
5
- export interface ServerMap {
6
- Channel: ChannelMap;
7
- Service: ServiceMap;
8
- Incoming: PublicMethodMap;
9
- Outgoing: PublicMethodMap;
10
- PrivateIncoming: PrivateMethodMap;
11
- PrivateOutgoing: PrivateMethodMap;
12
- ServerState: object;
13
- State: object;
14
- }
15
- export interface BasicServerMap<TIncoming extends PublicMethodMap = {}, TChannels extends ChannelMap = {}, TState extends object = {}, TOutgoing extends object = {}> {
16
- Channel: TChannels;
17
- Service: {};
18
- Incoming: TIncoming;
19
- Outgoing: TOutgoing;
20
- PrivateIncoming: ServerPrivateMap;
21
- PrivateOutgoing: ClientPrivateMap;
22
- ServerState: {};
23
- State: TState & ServerSocketState;
24
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,19 +0,0 @@
1
- import { ChannelMap } from "@socket-mesh/channels";
2
- import { ClientPrivateMap, ServerPrivateMap } from "@socket-mesh/client";
3
- import { PublicMethodMap } from "@socket-mesh/core";
4
- import { ServerSocketState } from "../server-socket-state.js";
5
- import { ServerMap } from "./server-map.js";
6
- export interface BasicSocketMapServer<TIncoming extends PublicMethodMap = {}, TChannels extends ChannelMap = {}, TState extends object = {}, TOutgoing extends object = {}> {
7
- Incoming: TIncoming & ServerPrivateMap;
8
- Service: {};
9
- Outgoing: TOutgoing;
10
- PrivateOutgoing: ClientPrivateMap;
11
- State: TState & ServerSocketState;
12
- }
13
- export interface SocketMapFromServer<T extends ServerMap> {
14
- Incoming: T['Incoming'] & T['PrivateIncoming'] & ServerPrivateMap;
15
- Service: T['Service'];
16
- Outgoing: T['Outgoing'];
17
- PrivateOutgoing: T['PrivateOutgoing'] & ClientPrivateMap;
18
- State: T['State'] & ServerSocketState;
19
- }
@@ -1 +0,0 @@
1
- export {};