ziron-server
Version:
19 lines (18 loc) • 803 B
TypeScript
import { DataType } from "ziron-engine";
import { InternalServerReceivers } from "ziron-events";
import Socket from "./Socket";
export type Receiver = (data: any, type: DataType) => void | Promise<void>;
export type StandaloneReceiver = (socket: Socket, data: any, type: DataType) => void | Promise<void>;
export type Receivers<R extends string = never> = {
readonly [key in InternalServerReceivers]: Receiver;
} & {
readonly [key in R]: never;
} & {
[key: string]: Receiver | undefined;
};
export type StandaloneReceivers<R extends string = never> = {
readonly [key in InternalServerReceivers]?: never;
} & {
readonly [key in R]?: never;
} & Record<string, StandaloneReceiver>;
export declare function applyStandaloneReceivers(socket: Socket, receivers: StandaloneReceivers): void;