from typing import List


def _get_stress_table_types() -> List[str]:  # pragma: no cover
    """
    Gets the list of Nastran stress objects that the GUI supports
    """
    table_types = [
        # OES - tCode=5 thermal=0 s_code=0,1 (stress/strain)
        # OES - CELAS1/CELAS2/CELAS3/CELAS4 stress
        'celas1_stress',
        'celas2_stress',
        'celas3_stress',
        'celas4_stress',

        # OES - CELAS1/CELAS2/CELAS3/CELAS4 strain
        'celas1_strain',
        'celas2_strain',
        'celas3_strain',
        'celas4_strain',

        # OES - isotropic CROD/CONROD/CTUBE stress
        'crod_stress',
        'conrod_stress',
        'ctube_stress',

        # OES - isotropic CROD/CONROD/CTUBE strain
        'crod_strain',
        'conrod_strain',
        'ctube_strain',

        # OES - isotropic CBAR stress
        'cbar_stress',
        # OES - isotropic CBAR strain
        'cbar_strain',
        # OES - isotropic CBEAM stress
        'cbeam_stress',
        # OES - isotropic CBEAM strain
        'cbeam_strain',

        # OES - isotropic CTRIA3/CQUAD4 stress
        'ctria3_stress',
        'cquad4_stress',

        # OES - isotropic CTRIA3/CQUAD4 strain
        'ctria3_strain',
        'cquad4_strain',

        # OES - isotropic CTETRA/CHEXA/CPENTA stress
        'ctetra_stress',
        'chexa_stress',
        'cpenta_stress',

        # OES - isotropic CTETRA/CHEXA/CPENTA strain
        'ctetra_strain',
        'chexa_strain',
        'cpenta_strain',

        # OES - CSHEAR stress
        'cshear_stress',
        # OES - CSHEAR strain
        'cshear_strain',
        # OES - CEALS1 224, CELAS3 225
        'nonlinear_spring_stress',
        # OES - GAPNL 86
        'nonlinear_cgap_stress',
        # OES - CBUSH 226
        'nolinear_cbush_stress',
    ]

    table_types += [
        # OES - CTRIAX6
        'ctriax_stress',
        'ctriax_strain',

        'cbush_stress',
        'cbush_strain',
        'cbush1d_stress_strain',

        # OES - nonlinear CROD/CONROD/CTUBE stress
        'nonlinear_rod_stress',
        'nonlinear_rod_strain',

        # OESNLXR - CTRIA3/CQUAD4 stress
        'nonlinear_plate_stress',
        'nonlinear_plate_strain',
        #'hyperelastic_plate_stress',
        'hyperelastic_cquad4_strain',

        # OES - composite CTRIA3/CQUAD4 stress
        'cquad4_composite_stress',
        'cquad8_composite_stress',
        'ctria3_composite_stress',
        'ctria6_composite_stress',

        'cquad4_composite_strain',
        'cquad8_composite_strain',
        'ctria3_composite_strain',
        'ctria6_composite_strain',

        # OGS1 - grid point stresses
        'grid_point_surface_stresses',        # tCode=26
        'grid_point_volume_stresses',  # tCode=27
    ]
    return table_types