Function: withIpcHandlerValidation()
function withIpcHandlerValidation<T, TParams>(
channelName: string,
handler: (...validatedParams: TParams) => Promisable<T>,
validateParams: IpcParameterValidator,
params: TParams,
options?: WithIpcHandlerOptions<T>
): Promise<IpcResponse<T>>;
Defined in: electron/services/ipc/utils.ts:385
Wraps an IPC handler with parameter validation, standardized error handling, and response formatting.
Type Parameters
T
T
TParams
TParams extends readonly unknown[]
Parameters
channelName
string
Name of the IPC channel
handler
(...validatedParams: TParams) => Promisable<T>
The handler function to wrap
validateParams
Parameter validation function
params
TParams
The parameters to validate and pass to the handler
options?
Returns
Promise<IpcResponse<T>>
The wrapped handler result
Remarks
Extended version of withIpcHandler that includes parameter validation. Validates parameters before executing the handler and provides detailed error messages.
Example
import { SITES_CHANNELS } from "@shared/types/preload";
const result = await withIpcHandlerValidation(
SITES_CHANNELS.addSite,
async (site: Site) => this.uptimeOrchestrator.addSite(site),
(params) => IpcValidators.requiredObject(params[0], "site"),
[siteData]
);