Quellcode für text_lint.operations.lookups.to_sorted

"""SortedLookup class."""

from typing import TYPE_CHECKING

from text_lint.config import LOOKUP_TRANSFORMATION_PREFIX
from text_lint.operations.lookups.bases.lookup_encoder_base import (
    LookupEncoderBase,
)
from text_lint.operations.lookups.encoders.sorted import SortedEncoder
from text_lint.utilities.translations import _

if TYPE_CHECKING:  # pragma: no cover
  from text_lint.linter.states import LookupState

YAML_EXAMPLE_COMPONENTS = (
    _("sorted transformation lookup example"),
)
YAML_EXAMPLE = """

- name: {0}
  operation: validate_debug
  saved:
    - example.capture(1).0.to_sorted()

""".format(*YAML_EXAMPLE_COMPONENTS)


[Doku] class SortedLookup(LookupEncoderBase): """SortedLookup operation for ResultForest instances.""" encoder_class = SortedEncoder hint = _("sort the values of a save id") operation = LOOKUP_TRANSFORMATION_PREFIX + "sorted" yaml_example = YAML_EXAMPLE
[Doku] def apply( self, state: "LookupState", ) -> None: """Sort the current lookup results.""" if isinstance(state.results, str): state.results = "".join(sorted(list(state.results))) else: state.results = self.encode(state.results)