import type { Maybe, Shape } from "./wrpcSchema";
type WrpcRoomCommandData = unknown, Output extends Maybe = unknown> = {
input?: Input;
output?: Output;
};
type WrpcRoomCommandDefinition = unknown, Output extends Maybe = unknown> = {
input: Input extends Shape ? Input : undefined;
output: Output extends Shape ? Output : undefined;
};
export type WrpcRoomCommand<
Input extends Maybe = unknown,
Output extends Maybe = unknown,
> = WrpcRoomCommandDefinition;
export type WrpcRoomCommands> = unknown> =
Commands extends Record
? {
commands: Commands;
}
: {
commands?: Commands;
};
export const defineWrpcRoomCommand = = unknown, Output extends Maybe = unknown>(
wrpcRoomCommandData: WrpcRoomCommandData,
): WrpcRoomCommand => ({
input: wrpcRoomCommandData.input as Input extends Shape ? Input : undefined,
output: wrpcRoomCommandData.output as Output extends Shape ? Output : undefined,
});