# Path: src/formpack/utils/replace_aliases.py
# LABEL_OPTIONAL_TYPES = [
#     'calculate',
#     'begin_group',
#     'begin_repeat',
# ] + META_TYPES
# 
# MAIN_TYPES = BASIC_TYPES + GEO_TYPES + MEDIA_TYPES
# 
# SELECT_TYPES = list(selects.keys())


from jsonschema import validate
from .utils.replace_aliases import (
    LABEL_OPTIONAL_TYPES,
    MAIN_TYPES,
    SELECT_TYPES,
)
_ALL_ROW_COLUMNS = [
    'name',
    'type',
    'default',
    'required',
    'label',
    'kuid',
    'appearance',
]

_ALL_PROPS = {
    'type': 'object',
    'properties': dict(
        [
            (
                col,
                {
                    'type': [
                        'string',
                        'boolean',
                        'array',
                        'object',
                        # null values probably should be filtered out?
                        # 'null'
                    ]
                },
            )
            for col in _ALL_ROW_COLUMNS
        ]
    ),

# Path: src/formpack/utils/replace_aliases.py
# LABEL_OPTIONAL_TYPES = [
#     'calculate',
#     'begin_group',
#     'begin_repeat',
# ] + META_TYPES
# 
# MAIN_TYPES = BASIC_TYPES + GEO_TYPES + MEDIA_TYPES
# 
# SELECT_TYPES = list(selects.keys())


# Path: src/formpack/validators.py
from jsonschema import validate
from .utils.replace_aliases import (
    LABEL_OPTIONAL_TYPES,
    MAIN_TYPES,
    SELECT_TYPES,
)

_ALL_ROW_COLUMNS = [
    'name',
    'type',
    'default',
    'required',
    'label',
    'kuid',
    'appearance',
]

_ALL_PROPS = {
    'type': 'object',
    'properties': dict(
        [
            (
                col,
                {
                    'type': [
                        'string',
                        'boolean',
                        'array',
                        'object',
                        # null values probably should be filtered out?
                        # 'null'
                    ]
                },
            )
            for col in _ALL_ROW_COLUMNS
        ]
    ),

}