Viewing file: __init__.py (1.01 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
from functools import reduce from typing import Any, Callable, Dict
from . import formats from .error_reporting import detailed_errors, ValidationError from .extra_validations import EXTRA_VALIDATIONS from .fastjsonschema_exceptions import JsonSchemaException, JsonSchemaValueException from .fastjsonschema_validations import validate as _validate
__all__ = [ "validate", "FORMAT_FUNCTIONS", "EXTRA_VALIDATIONS", "ValidationError", "JsonSchemaException", "JsonSchemaValueException", ]
FORMAT_FUNCTIONS: Dict[str, Callable[[str], bool]] = { fn.__name__.replace("_", "-"): fn for fn in formats.__dict__.values() if callable(fn) and not fn.__name__.startswith("_") }
def validate(data: Any) -> bool: """Validate the given ``data`` object using JSON Schema This function raises ``ValidationError`` if ``data`` is invalid. """ with detailed_errors(): _validate(data, custom_formats=FORMAT_FUNCTIONS) reduce(lambda acc, fn: fn(acc), EXTRA_VALIDATIONS, data) return True
|