import { isNotNullish } from '@alexaegis/common'; import type { Action } from './action.class.js'; export interface ActionPacket { type: string; payload: Payload; } export type ActionPacketTuple = { [K in keyof T]: ActionPacket; }; export const isActionPacket =

( actionPacket?: unknown, registeredInActionMap?: Map>, ): actionPacket is ActionPacket

=> { return ( actionPacket !== undefined && isNotNullish((actionPacket as ActionPacket).type) && (registeredInActionMap?.has((actionPacket as ActionPacket).type) ?? true) ); };