| Viewing file:  __init__.py (1.01 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
from functools import reducefrom 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
 
 |