File: //var/opt/nydus/ops/jsonschema/benchmarks/__pycache__/nested_schemas.cpython-39.pyc
a
�,�hd �
@ s� d Z ddlmZ ddlmZ dddddddddd�ddd d
�Zdd� Zee�e�Zed
kr�ddl m
Z
e
� Zedd�Ze�
ddd� � eddd�D ](Zeed�Ze�
de� �efdd�� q�dS )z�
Validating highly nested schemas shouldn't cause exponential time blowups.
See https://github.com/python-jsonschema/jsonschema/issues/1097.
� )�cycle)�
validator_forz/https://example.com/draft/2020-12/schema/strictz,https://json-schema.org/draft/2020-12/schemaT)z0https://json-schema.org/draft/2020-12/vocab/corez6https://json-schema.org/draft/2020-12/vocab/applicatorz7https://json-schema.org/draft/2020-12/vocab/unevaluatedz6https://json-schema.org/draft/2020-12/vocab/validationz5https://json-schema.org/draft/2020-12/vocab/meta-dataz=https://json-schema.org/draft/2020-12/vocab/format-annotationz3https://json-schema.org/draft/2020-12/vocab/content�metaF)z$idz$schemaz$vocabularyz$dynamicAnchorz$refZunevaluatedPropertiesc C sL t g d��}ddddiid�}tt| d �|�D ]\}}d||id�}q0|S )zL
Produce a schema which validates deeply nested objects and arrays.
)Zfoo�barZbazZquuxZspam�eggs�objectZham�type�string)r Z
properties� )r �zip�range)�levels�names�schema�_�name� r �U/opt/nydus/tmp/pip-target-wkfpz8uv/lib/python/jsonschema/benchmarks/nested_schemas.py�
nested_schema s
r �__main__)�Runnerr
)r
z
not nestedc C s
t �t�S �N)� validator�is_valid�
not_nestedr r r r �<lambda>1 � r � � z nested * c C s
t �| �S r )r r )r r r r r 7 r N)�__doc__� itertoolsr Zjsonschema.validatorsr Z
metaschemaishr r �__name__Zpyperfr �runnerr Z
bench_funcr r
r r r r r �<module> s: � �
�