import type { ErrorTransformer } from "./ErrorTransformer"; import type { ValueTransformer } from "./ValueTransformer"; /** * Options for `useTransform`. */ export type UseTransformOptions = { /** * Transform the incoming `value`. * * @param value The incoming `value` to transform. * @returns The transformed value. */ value: ValueTransformer; /** * Transforms the outgoing `value` passed to the `onChange` callback. * * @param value The outgoing `value` to transform. * @returns The transformed value. */ onChange: ValueTransformer; } & ( | { /** * Optionally transform the incoming `error`. * * @param error The incoming `error` to transform. * @returns The transformed error. */ error: ErrorTransformer; /** * Optionally transform the outgoing `error` passed to the `onChangeError` callback. * * @param error The outgoing `error` to transform. * @returns The transformed error. */ onChangeError: ErrorTransformer; } | { error?: never; onChangeError?: never; } );