Source code for text_lint.linter.states

"""Linter states for various operations."""

from typing import TYPE_CHECKING

from .assertion import AssertionState
from .lookup import LookupState
from .validator import ValidatorState

if TYPE_CHECKING:  # no cover
  from text_lint.linter import Linter


[docs] class StateFactory: """Encapsulate a linter instance as a state object."""
[docs] def __init__(self, linter: "Linter") -> None: """Initialize StateFactory instances. :param linter: The linter instance being encapsulated. """ self._linter = linter
[docs] def assertion(self) -> AssertionState: """Generate state for assertion operations. :returns: The generated state object. """ return AssertionState(self._linter)
[docs] def lookup(self) -> LookupState: """Generate state for lookup operations. :returns: The generated state object. """ return LookupState(self._linter)
[docs] def validator(self) -> ValidatorState: """Generate state for validator operations. :returns: The generated state object. """ return ValidatorState(self._linter)