transform<R> method

ValidasiResult<R> transform<R>(
  1. R f(
    1. T? value
    )
)

Implementation

ValidasiResult<R> transform<R>(R Function(T? value) f) {
  if (!isValid) {
    return ValidasiResult(errors: errors, isValid: false);
  }

  final result = ValidasiTransformation(f).tryTransform(data);
  if (!result.isValid) {
    return ValidasiResult.error(
      ValidationError(
        rule: 'Transformation',
        message: 'Failed to transform value',
        details: {
          'exception': result.error?.toString() ?? 'Unknown error',
        },
      ),
    );
  }

  return ValidasiResult(errors: errors, isValid: isValid, data: f(data));
}