AjvService
@tsed/ajv
Usage
typescript
import { AjvService } from "@tsed/ajv";Overview
ts
class AjvService {
readonly name = "ajv";
protected errorFormatter: ErrorFormatter;
protected returnsCoercedValues: boolean | undefined;
protected hasLoadSchema: boolean;
protected ajv: Ajv;
protected validatorsBySchema: WeakMap<object, ValidateFunction<unknown>>;
validate<TReturn = never, TValue = unknown>(value: TValue, options: AjvValidateOptions): Promise<[TReturn] extends [never] ? TValue : TReturn>;
protected getValidator(input: Type | JsonSchema | JsonSchemaObject, additionalOptions: Record<string, any>): Promise<ValidateFunction<unknown>>;
}readonly name
ts
readonly name = "ajv";protected errorFormatter
ts
protected errorFormatter: ErrorFormatter;protected returnsCoercedValues
ts
protected returnsCoercedValues: boolean | undefined;protected hasLoadSchema
ts
protected hasLoadSchema: boolean;protected ajv
ts
protected ajv: Ajv;protected validatorsBySchema
ts
protected validatorsBySchema: WeakMap<object, ValidateFunction<unknown>>;validate
ts
validate<TReturn = never, TValue = unknown>(value: TValue, options: AjvValidateOptions): Promise<[TReturn] extends [never] ? TValue : TReturn>;value (
TValue): Value to validate.options (
AjvValidateOptions): Validation options orJsonSchema.
Validate a value against a JSON schema, a model type, or explicit AJV options.
The return type is inferred from value by default and can be overridden with an explicit generic: ajvService.validate<MyType>(value, options).
If returnsCoercedValues is enabled globally or in options, coercions performed by AJV are returned.
protected getValidator
ts
protected getValidator(input: Type | JsonSchema | JsonSchemaObject, additionalOptions: Record<string, any>): Promise<ValidateFunction<unknown>>;- schema (``): Schema source as
JsonSchemainstance or plain JSON schema object.
Resolve and compile a validator for the provided schema input.
The compiled validator is cached by schema object identity to avoid recompiling validators for repeated calls using the same schema instance.
When loadSchema is configured, this method uses compileAsync to support asynchronous external reference resolution.