File: //usr/lib/python3/dist-packages/pip/_vendor/rich/__pycache__/constrain.cpython-310.pyc
o
@%Ne � @ sX d dl mZmZ ddlmZ ddlmZ er"ddlmZm Z m
Z
mZ G dd� de�ZdS ) � )�Optional�
TYPE_CHECKING� )�JupyterMixin)�Measurement)�Console�ConsoleOptions�RenderableType�RenderResultc @ sX e Zd ZdZddddee ddfdd �Z
ddd�Z
ddd�ZdS )� Constrainz�Constrain the width of a renderable to a given number of characters.
Args:
renderable (RenderableType): A renderable object.
width (int, optional): The maximum width (in characters) to render. Defaults to 80.
�P �
renderabler �width�returnNc C s || _ || _d S �N)r
r )�selfr
r � r �</usr/lib/python3/dist-packages/pip/_vendor/rich/constrain.py�__init__ s
zConstrain.__init__�consoler �optionsr r
c c sD � | j d u r| jV d S |�t| j |j��}|�| j|�E d H d S r )r r
�update_width�min� max_width�render)r r r �
child_optionsr r r �__rich_console__ s
�
zConstrain.__rich_console__r c C s* | j d ur|�| j �}t�||| j�}|S r )r r r �getr
)r r r �measurementr r r �__rich_measure__ s
zConstrain.__rich_measure__)r )r r r r r r
)r r r r r r ) �__name__�
__module__�__qualname__�__doc__r �intr r r r r r r r
s"