def table_row(text_array, pad=-1):
    """Return a single table row.
    Keyword arguments:
    pad -- The pad should be an array of the same size as the input text array.
           It will be used to format the row's padding.

    >>> table_row(["First column", "Second", "Third"])
    '| First column | Second | Third |'
    >>> table_row(["First column", "Second", "Third"], [10, 10, 10])
    '| First column | Second     | Third      |'
    """
    if pad == -1:
        pad = [0] * len(text_array)
    row = "|"
    for column_number in range(len(text_array)):
        padding = pad[column_number] + 1
        row += (" " + esc_format(text_array[column_number])).ljust(padding) + " |"
    return row