UNPKG

1.39 kBTypeScriptView Raw
1import { ValidationOptions } from 'joi';
2import { AnySchemaTyped } from './joi.model';
3import { JoiValidationError } from './joi.validation.error';
4export interface JoiValidationResult<T = any> {
5 value: T;
6 error?: JoiValidationError;
7}
8/**
9 * Validates with Joi.
10 * Throws JoiValidationError if invalid.
11 * Returns *converted* value.
12 *
13 * If `schema` is undefined - returns value as is.
14 */
15export declare function validate<IN, OUT = IN>(value: IN, schema?: AnySchemaTyped<IN, OUT>, objectName?: string, options?: ValidationOptions): OUT;
16/**
17 * Validates with Joi.
18 * Returns JoiValidationResult with converted value and error (if any).
19 * Does not throw.
20 *
21 * If `schema` is undefined - returns value as is.
22 */
23export declare function getValidationResult<IN, OUT = IN>(value: IN, schema?: AnySchemaTyped<IN, OUT>, objectName?: string, options?: ValidationOptions): JoiValidationResult<OUT>;
24/**
25 * Convenience function that returns true if !error.
26 */
27export declare function isValid<IN, OUT = IN>(value: IN, schema?: AnySchemaTyped<IN, OUT>): boolean;
28export declare function undefinedIfInvalid<IN, OUT = IN>(value: IN, schema?: AnySchemaTyped<IN, OUT>): OUT | undefined;
29/**
30 * Will do joi-convertation, regardless of error/validity of value.
31 *
32 * @returns converted value
33 */
34export declare function convert<IN, OUT = IN>(value: IN, schema?: AnySchemaTyped<IN, OUT>): OUT;