UNPKG

ziron-server

Version:
21 lines (20 loc) 1.03 kB
import { DataType } from "ziron-engine"; import Socket from "./Socket"; import { InternalServerProcedures } from "ziron-events"; export type ProcedureEnd = (data?: any, processComplexTypes?: boolean) => void; export type ProcedureReject = (err?: any) => void; export type Procedure = (data: any, end: ProcedureEnd, reject: ProcedureReject, type: DataType) => void | Promise<void>; export type StandaloneProcedure = (socket: Socket, data: any, end: ProcedureEnd, reject: ProcedureReject, type: DataType) => void | Promise<void>; export type Procedures<R extends string = never> = { readonly [key in InternalServerProcedures]: Procedure; } & { readonly [key in R]: never; } & { [key: string]: Procedure | undefined; }; export type StandaloneProcedures<R extends string = never> = { readonly [key in InternalServerProcedures]?: never; } & { readonly [key in R]?: never; } & Record<string, StandaloneProcedure>; export declare function applyStandaloneProcedures(socket: Socket, procedures: StandaloneProcedures): void;