Options
All
  • Public
  • Public/Protected
  • All
Menu

joiful

Index

Type aliases

ValidationResult

ValidationResult<T>: ValidationResultPass<T> | ValidationResultFail<T>

Type parameters

  • T

Variables

Const DEFAULT_INSTANCE

DEFAULT_INSTANCE: Joiful = ...

joi

joi: Root

Functions

any

array

boolean

date

func

getSchema

  • getSchema(Class: AnyClass): undefined | ObjectSchema<any>
  • Returns the Joi schema associated with a class or undefined if there isn't one.

    Parameters

    • Class: AnyClass

    Returns undefined | ObjectSchema<any>

hasSchema

  • hasSchema(Class: AnyClass): boolean
  • Returns whether the given class has a Joi schema associated with it

    Parameters

    • Class: AnyClass

    Returns boolean

isValidationFail

  • isValidationFail<T>(validationResult: ValidationResult<T>): validationResult is ValidationResultFail<T>
  • Returns true if validation result failed validation.

    Type parameters

    • T

    Parameters

    Returns validationResult is ValidationResultFail<T>

isValidationPass

  • isValidationPass<T>(validationResult: ValidationResult<T>): validationResult is ValidationResultPass<T>
  • Returns true if validation result passed validation.

    Type parameters

    • T

    Parameters

    Returns validationResult is ValidationResultPass<T>

link

  • Property decorator that constrains the property to another schema. This allows defining classes that reference themself. e.g.

    example

    class TreeNode {

    jf.string().required()

    title: string;

    jf.array().items((joi)

    => joi.link('...')) children: TreeNode[]; }

    Parameters

    • Optional ref: string

    Returns LinkSchemaDecorator

number

object

string

validate

  • Validates an instance of a decorated class.

    Type parameters

    • T: undefined | null | {}

    Parameters

    • target: T

      Instance of decorated class to validate.

    • Optional options: ValidationOptions

      Optional validation options to use. These override any default options.

    Returns ValidationResult<T>

validateArrayAsClass

  • validateArrayAsClass<TClass, TInstance>(target: Partial<TInstance>[], Class: TClass, options?: undefined | ValidationOptions): ValidationResult<TInstance[]>
  • Validates an array of plain old javascript objects against a decorated class.

    Type parameters

    • TClass: Constructor<any, TClass>

    • TInstance = TClass extends Constructor<TInstance> ? TInstance : never

    Parameters

    • target: Partial<TInstance>[]

      Objects to validate.

    • Class: TClass
    • options: undefined | ValidationOptions = ...

      Optional validation options to use. These override any default options.

    Returns ValidationResult<TInstance[]>

validateAsClass

  • validateAsClass<TClass, TInstance>(target: undefined | null | Partial<TInstance>, Class: TClass, options?: undefined | ValidationOptions): ValidationResult<TInstance>
  • Validates a plain old javascript object against a decorated class.

    Type parameters

    • TClass: Constructor<any, TClass>

    • TInstance = TClass extends Constructor<TInstance> ? TInstance : never

    Parameters

    • target: undefined | null | Partial<TInstance>

      Object to validate.

    • Class: TClass
    • options: undefined | ValidationOptions = ...

      Optional validation options to use. These override any default options.

    Returns ValidationResult<TInstance>

validateParams

  • validateParams(options?: { validator?: Validator }): MethodDecorator
  • Method decorator that validates the parameters passed into the method.

    Parameters

    Returns MethodDecorator

Generated using TypeDoc