Skip to main content

Function: withIpcHandlerValidation()

withIpcHandlerValidation<T, TParams>(channelName: string, handler: (...validatedParams: TParams) => T | Promise<T>, validateParams: IpcParameterValidator, params: TParams, options?: WithIpcHandlerOptions): Promise<IpcResponse<T>>

Defined in: electron/services/ipc/utils.ts:494

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) => T | Promise<T>

The handler function to wrap

validateParams

IpcParameterValidator

Parameter validation function

params

TParams

The parameters to validate and pass to the handler

options?

WithIpcHandlerOptions

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]
);