UNPKG

json-schema-library

Version:

Customizable and hackable json-validator and json-schema utilities for traversal, data generation and validation

26 lines (24 loc) 772 B
import { isAnnotation } from "../types"; import { ValidationAnnotation, ValidationReturnType } from "../Keyword"; /** * Flattens nested validation array results and filters items to only include errors, annotations and promises */ export default function sanitizeErrors( list: ValidationReturnType | ValidationReturnType[] | ValidationAnnotation[], result: ValidationAnnotation[] = [] ) { if (!Array.isArray(list)) { if (list !== undefined) { return [list]; } return []; } for (const item of list) { if (Array.isArray(item)) { sanitizeErrors(item, result); } else if (isAnnotation(item) || item instanceof Promise) { result.push(item); } } return result; }