# manual_agregator/parser/handlers/__init__.py
from .text import TextHandler
from .number import NumberHandler
from .bool import BoolHandler
from .label_pair import LabelPairHandler
from .many import ManyHandler
from .bool_key import BoolKeyHandler
from .key import KeyHandler
from .images import ImagesHandler
from .from_main import FromMainHandler
from .attribute import AttributeHandler

_REGISTRY = {
    "text": TextHandler(),
    "number": NumberHandler(),
    "bool": BoolHandler(),
    "labelPair": LabelPairHandler(),
    "many": ManyHandler(),
    "boolKey": BoolKeyHandler(),
    "key": KeyHandler(),
    "images": ImagesHandler(),
    "attribute": AttributeHandler(),
    # pseudotyp na potrzeby fromMain (gdy config ma 'fromMain')
    "fromMain": FromMainHandler(),
}

def get_handler(field_type: str):
    return _REGISTRY.get(field_type or "text", _REGISTRY["text"])
