json-schema-library
Version:
Customizable and hackable json-validator and json-schema utilities for traversal, data generation and validation
23 lines (20 loc) • 727 B
text/typescript
import { isJsonError, JsonError } from "../types";
import { ValidationResult, JsonSchemaValidator } from "../Keyword";
type MaybeNestedErrors = ReturnType<JsonSchemaValidator>;
export default function sanitizeErrors(
list: MaybeNestedErrors | MaybeNestedErrors[],
result: (undefined | JsonError | Promise<JsonError> | ValidationResult)[] = []
): ValidationResult[] {
if (!Array.isArray(list)) {
return [list];
}
for (let i = 0; i < list.length; i += 1) {
const item = list[i];
if (Array.isArray(item)) {
sanitizeErrors(item, result);
} else if (isJsonError(item) || item instanceof Promise) {
result.push(item);
}
}
return result;
}