UNPKG

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