File: //usr/local/lib/python3.7/site-packages/pip/_vendor/rich/__pycache__/constrain.cpython-37.pyc
B
L��g � @ sX d dl mZmZ ddlmZ ddlmZ erDddlmZm Z m
Z
mZ G dd� de�ZdS ) � )�Optional�
TYPE_CHECKING� )�JupyterMixin)�Measurement)�Console�ConsoleOptions�RenderableType�RenderResultc @ sL e Zd ZdZddee dd�dd�Zdd d
d�dd
�Zdd dd�dd�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 r N)�
renderable�width�returnc C s || _ || _d S )N)r
r )�selfr
r � r �>/tmp/pip-unpacked-wheel-hv55ucu3/pip/_vendor/rich/constrain.py�__init__ s zConstrain.__init__r r r
)�console�optionsr c c s@ | j d kr| jV n(|�t| j |j��}|�| j|�E d H d S )N)r r
�update_width�min� max_width�render)r r r Z
child_optionsr r r �__rich_console__ s
zConstrain.__rich_console__r c C s* | j d k r|�| j �}t�||| j�}|S )N)r r r �getr
)r r r Zmeasurementr r r �__rich_measure__ s
zConstrain.__rich_measure__)r ) �__name__�
__module__�__qualname__�__doc__r �intr r r r r r r r
s r N)
�typingr r Zjupyterr Zmeasurer r r r r r
r r r r r �<module> s