def get_color_sorter_by_properties(*property_names):
    """Return color sorter function which uses properties.

    Parameters
    ==========
    *property_names (strings)
        names of color properties to retrieve from the
        given color;

        the strings can be delivered as different arguments,
        in the same iterable, in different iterables and
        even further nested in complex structures.
    """
    ### guarantee that property_names is an tuple that
    ### contains strings
    ###
    ### this is the measure that allows the property_names
    ### argument to be so flexible is its format; as long
    ### you provide strings, we find them
    property_names = tuple(string_yielder(property_names))

    ### define the function to process each given color

    def color_sorter(rgba_color):
        """Return tuple w/ requested properties from color.

        Parameters
        ==========
        rgba_color (list of integers)
            integers are in the range(256) and represent
            values from red, green and blue channels,
            respectively;
            a fourth integer may also be present, representing
            the value of the alpha channel of the color.
        """
        ### return a tuple with the values of each requested
        ### property

        return tuple(
            ## using the name of the property, get a function
            ## to retrieve such property from the color, passing
            ## the color to the function...
            PROPERTY_GETTER_MAP[property_name](rgba_color)
            ## ...for each listed property
            for property_name in property_names
        )

    ### finally return the defined function
    return color_sorter
Return color sorter function which uses properties.

    Parameters
    ==========
    *property_names (strings)
        names of color properties to retrieve from the
        given color;

        the strings can be delivered as different arguments,
        in the same iterable, in different iterables and
        even further nested in complex structures.
    
nodezator/ourstdlibs/color/utils.py