o
    5ti                     @   sX   d dl mZmZ ddlmZ zd dlZW n ey!   d dlZY nw G dd deZdS )    )AnyFinal   )JsonTableWriterNc                   @   sJ   e Zd ZdZdZedefddZedefddZ	de
dd	fd
dZd	S )JsonLinesTableWriterzp
    A table writer class for JSON lines format.

        :Example:
            :ref:`example-jsonl-writer`
    
json_linesreturnc                 C   s   | j S )N)FORMAT_NAMEself r   X/home/ubuntu/.local/lib/python3.10/site-packages/pytablewriter/writer/text/_jsonlines.pyformat_name   s   z JsonLinesTableWriter.format_namec                 C   s   dS )NTr   r
   r   r   r   support_split_write   s   z(JsonLinesTableWriter.support_split_writekwargsNc              	   K   sj   | dd}| j" |   |   | jD ]}| tj|d|d qW d   dS 1 s.w   Y  dS )a  
        |write_table| with
        `Line-delimited JSON(LDJSON)
        <https://en.wikipedia.org/wiki/JSON_streaming#Line-delimited_JSON>`__
        /NDJSON/JSON Lines format.

        Args:
            sort_keys (Optional[bool]):
                If |True|, the output of dictionaries will be sorted by key.
                Defaults to |False|.

        Example:
            :ref:`example-jsonl-writer`
        	sort_keysF)ensure_asciir   N)get_logger_verify_property_preprocess_table_value_matrix_write_linejsondumps)r   r   r   valuesr   r   r   write_table   s   
"z JsonLinesTableWriter.write_table)__name__
__module____qualname____doc__r	   propertystrr   boolr   r   r   r   r   r   r   r      s    r   )	typingr   r   _jsonr   
simplejsonr   ImportErrorr   r   r   r   r   <module>   s    