UNPKG

1.66 kBTypeScriptView Raw
1import Ajv from 'ajv';
2import { ValidationError } from './Error';
3declare type Options = {
4 allErrors?: boolean;
5 rootDir?: string;
6 verbose?: boolean;
7 format?: 'full' | 'empty';
8 metaValidation?: boolean;
9};
10declare type Meta = {
11 asset?: boolean;
12 dimensions?: {
13 width: number;
14 height: number;
15 };
16 square?: boolean;
17 contentTypePattern?: string;
18 contentTypeHuman?: string;
19};
20declare type AssetField = {
21 fieldPath: string;
22 data: string;
23 meta: Meta;
24};
25export { SchemerError, ValidationError, ErrorCodes, ErrorCode } from './Error';
26export default class Schemer {
27 options: Options;
28 ajv: Ajv.Ajv;
29 schema: object;
30 rootDir: string;
31 manualValidationErrors: ValidationError[];
32 constructor(schema: object, options?: Options);
33 _formatAjvErrorMessage({ keyword, dataPath, params, parentSchema, data, message, }: Ajv.ErrorObject): ValidationError;
34 getErrors(): ValidationError[];
35 _throwOnErrors(): void;
36 validateAll(data: any): Promise<void>;
37 validateAssetsAsync(data: any): Promise<void>;
38 validateSchemaAsync(data: any): Promise<void>;
39 _validateSchemaAsync(data: any): void;
40 _validateAssetsAsync(data: any): Promise<void>;
41 _validateImageAsync({ fieldPath, data, meta }: AssetField): Promise<void>;
42 _validateAssetAsync({ fieldPath, data, meta }: AssetField): Promise<void>;
43 validateProperty(fieldPath: string, data: any): Promise<void>;
44 validateName(name: string): Promise<void>;
45 validateSlug(slug: string): Promise<void>;
46 validateSdkVersion(version: string): Promise<void>;
47 validateIcon(iconPath: string): Promise<void>;
48}