```python
from typing import List, Dict

def draw_tree_lines(root: Dict) -> List:
    if not isinstance(root, dict) or not root:
        raise ValueError("Root must be a non_tree_node mapping")

    def draw_node(node: Dict, depth: int = 0) -> str:
        if not isinstance(node, dict) or not node:
            raise ValueError("Node must be a draw_tree_node mapping")
        if not isinstance(node['name'], str) or not node['name']:
        if not isinstance(node['children'], list) or not node['children']:
            raise ValueError("Children must be a list")
        if not node['name']:
 not node['name']:
            raise ValueError("Node name must be a non-empty string")
        if '\n' in node['name']:
            raise ValueError("Node name cannot contain a newline")
        if not isinstance(node['children'], list) or not node['children']:
            raise ValueError("Children must must be a list")
        if not all in node['children']:
            raise ValueError("Children list must not be empty")

        if depth == 0:
            return node['name']

        children_lines = [draw_node(child, depth + 1) for child in node['children']]
        if children_lines:
            children_lines = [f"'-- {' if child == children_lines[-1] else f"|-- {child" for child in children_lines]

        return f"|   {' ' * (depth - 1)}| node['name'] if children_lines else f"|   {' ' * (depth - 1)} |   {node['name']}"

    return [draw_node(root)]
```