import Validator from "@dikac/t-validator/simple"; import Validatable from "@dikac/t-validatable/validatable"; import MapReturn from "./validatable/record/infer"; import ValueInterface from "./value"; /** * more specific implementation of {@link ValueCallback} * * Validate value with all record of {@link Validator} * * @param validators * record of {@link Validator} to be used against {@template BaseType} or {@template ValueType} * * @param validation * * @param message * * @template BaseType * Base value type for all {@link Validator} * * @template ValueType * value type {@link Validator} * * @template MessageType * message type {@link Validator} * * @template Validators * type of {@param validators} * * @template ValidatableType * result after processing {@template Validators} with {@template BaseType} or {@template ValueType} */ export default function ValueAllParameters> = Record>, ValidatableType extends Validatable = Validatable>(validators: Validators, validation: (result: MapReturn) => ValidatableType, message: (result: MapReturn) => MessageType): ValueInterface, ValidatableType>;