Source code for jsoncrack_for_sphinx.config.config_main
"""
Main configuration class.
"""
from typing import List, Optional
from ..search.search_policy import SearchPolicy
from ..utils.types import RenderMode, Theme
from .config_classes import ContainerConfig, RenderConfig
[docs]
class JsonCrackConfig:
"""Main JSONCrack configuration."""
def __init__(
self,
render: Optional[RenderConfig] = None,
container: Optional[ContainerConfig] = None,
theme: Theme = Theme.AUTO,
search_policy: Optional[SearchPolicy] = None,
disable_autodoc: bool = False,
autodoc_ignore: Optional[List[str]] = None,
):
"""
Args:
render: Render configuration
container: Container configuration
theme: Theme setting
search_policy: Schema file search policy
disable_autodoc: Disable automatic schema detection in autodoc
autodoc_ignore: List of full paths to ignore in autodoc
(uses "not starts with" logic)
"""
self.render = render or RenderConfig(RenderMode.OnClick())
self.container = container or ContainerConfig()
self.theme = theme
self.search_policy = search_policy or SearchPolicy()
self.disable_autodoc = disable_autodoc
self.autodoc_ignore = autodoc_ignore or []
def __repr__(self) -> str:
return (
f"JsonCrackConfig(render={self.render}, "
f"container={self.container}, theme={self.theme}, "
f"search_policy={self.search_policy}, "
f"disable_autodoc={self.disable_autodoc}, "
f"autodoc_ignore={self.autodoc_ignore})"
)