import Validator from "@dikac/t-validator/validator"; import Validatable from "@dikac/t-validatable/validatable"; import Instance from "@dikac/t-validator/validatable/validatable"; import Value from "./value"; /** * Base implementation of {@link Value} * * @template BaseType * Base value type for all {@link Validator} * * @template ValueType * value type {@link Validator} * * @template MessageType * message type {@link Validator} * * @template ValidatorsType * record of {@link Validator} to be used against {@template BaseType} or {@template ValueType} * * @template Validatables * result after processing {@template ValidatorsType} with {@template BaseType} or {@template ValueType} * * @template ValidatableType * final result after processing {@template Validatables} */ export default function ValueCallbackParameters> = Record>, Validatables extends Partial> = Partial>, ValidatableType extends Validatable = Validatable>(validators: ValidatorsType, map: (base: BaseType, record: ValidatorsType) => Validatables, validation: (result: Validatables) => ValidatableType, message: (result: Validatables) => MessageType): Value;