from typing import Optional


def is_weighted(G, edge: Optional[tuple] = None, weight: str = "weight") -> bool:
    """Returns True if `G` has weighted edges.

    NOTE: ventorized from networkx:
    https://networkx.org/documentation/stable/_modules/networkx/classes/function.html#is_weighted

    Parameters
    ----------
    G : graph
        A NetworkX graph.

    edge : tuple, optional
        A 2-tuple specifying the only edge in `G` that will be tested. If
        None, then every edge in `G` is tested.

    weight: string, optional
        The attribute name used to query for edge weights.

    Returns
    -------
    bool
        A boolean signifying if `G`, or the specified edge, is weighted.

    Raises
    ------
    NetworkXError
        If the specified edge does not exist.

    Examples
    --------
    >>> G = nx.path_graph(4)
    >>> nx.is_weighted(G)
    False
    >>> nx.is_weighted(G, (2, 3))
    False

    >>> G = nx.DiGraph()
    >>> G.add_edge(1, 2, weight=1)
    >>> nx.is_weighted(G)
    True

    """
    if edge is not None:
        data = G.get_edge_data(*edge)
        if data is None:
            raise ValueError(f"Edge {edge!r} does not exist.")
        return weight in data

    if not any(G.adj.values()):  # nx.is_empty()
        # Special handling required since: all([]) == True
        return False

    return all(weight in data for u, v, data in G.edges(data=True))