File: //usr/local/lib/python3.7/site-packages/pip/_vendor/rich/__pycache__/json.cpython-37.pyc
B
L��g� �
@ sZ d dl mZ d dlmZmZ d dlmZmZmZm Z ddl
mZ ddlm
Z
mZ G dd� d�Zed k�rVd d
lZd d
lZejdd�Zejd
ddd� ejdddeddd� e�� Zd dlmZ e� Zedd�Zy(ejdkr�ej�� Z neej��!� Z W nF e"k
�r< Z# z&e�$dej�de#� �� e�%d� W d
d
Z#[#X Y nX ej$ee ej&d�dd� d
S ) � )�Path)�loads�dumps)�Any�Callable�Optional�Union� )�Text)�JSONHighlighter�NullHighlighterc
@ s� e Zd ZdZdeedeef eeeeeee e
ge
f edd�
dd�Zede
edeef eeeeeee e
ge
f ed d �
d
d��Z
ed�d
d�ZdS )�JSONa_ A renderable which pretty prints JSON.
Args:
json (str): JSON encoded data.
indent (Union[None, int, str], optional): Number of characters to indent by. Defaults to 2.
highlight (bool, optional): Enable highlighting. Defaults to True.
skip_keys (bool, optional): Skip keys not of a basic type. Defaults to False.
ensure_ascii (bool, optional): Escape all non-ascii characters. Defaults to False.
check_circular (bool, optional): Check for circular references. Defaults to True.
allow_nan (bool, optional): Allow NaN and Infinity values. Defaults to True.
default (Callable, optional): A callable that converts values that can not be encoded
in to something that can be JSON encoded. Defaults to None.
sort_keys (bool, optional): Sort dictionary keys. Defaults to False.
� TFN)
�json�indent� highlight� skip_keys�ensure_ascii�check_circular� allow_nan�default� sort_keys�returnc
C sN t |�}
t|
||||||| d�}|r*t� nt� }||�| _d| j_d | j_d S )N)r �skipkeysr r r r r T)r r r r �text�no_wrap�overflow)�selfr r r r r r r r r �data�highlighter� r �9/tmp/pip-unpacked-wheel-hv55ucu3/pip/_vendor/rich/json.py�__init__ s
z
JSON.__init__)
r r r r r r r r r r c
C sP | � | �}
t|||||||| d�}|r,t� nt� }||�|
_d|
j_d|
j_|
S )a| Encodes a JSON object from arbitrary data.
Args:
data (Any): An object that may be encoded in to JSON
indent (Union[None, int, str], optional): Number of characters to indent by. Defaults to 2.
highlight (bool, optional): Enable highlighting. Defaults to True.
default (Callable, optional): Optional callable which will be called for objects that cannot be serialized. Defaults to None.
skip_keys (bool, optional): Skip keys not of a basic type. Defaults to False.
ensure_ascii (bool, optional): Escape all non-ascii characters. Defaults to False.
check_circular (bool, optional): Check for circular references. Defaults to True.
allow_nan (bool, optional): Allow NaN and Infinity values. Defaults to True.
default (Callable, optional): A callable that converts values that can not be encoded
in to something that can be JSON encoded. Defaults to None.
sort_keys (bool, optional): Sort dictionary keys. Defaults to False.
Returns:
JSON: New JSON object from the given data.
)r r r r r r r TN)�__new__r r r r r r )
�clsr r r r r r r r r Z
json_instancer r r r r! � from_data5 s
zJSON.from_data)r c C s | j S )N)r )r r r r! �__rich__e s z
JSON.__rich__)r TFFTTNF)r TFFTTNF)�__name__�
__module__�__qualname__�__doc__�strr �int�boolr r r r"