+
    TŎi8                         ^ RI Ht ^ RIHt  ^ RIHt ^ RI	t	 ! R R]P                  4      tR#   ] d    ^ RIt L(i ; i)    )FacebookBadObjectError)TypeCheckerNc                      a  ] tR t^t o Rt. t/ t ! R R4      tR tR t	R t
R tR tR	 tR
 tR tR tR tR t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       tR tR tR tR t]R 4       tRtV tR# )AbstractObjectzx
Represents an abstract object (may or may not have explicitly be a node of
the Graph) as a MutableMapping of its data.
c                       ] tR t^tRtR# )AbstractObject.Field N)__name__
__module____qualname____firstlineno____static_attributes__r	       y/Users/ahmad/.openclaw/workspace/scripts/.venv/lib/python3.14/site-packages/facebook_business/adobjects/abstractobject.pyFieldr      s    r   r   c                f    / V n         \        V P                  V P                  4       4      V n        R # N)_datar   _field_types_get_field_enum_info_field_checkerselfs   &r   __init__AbstractObject.__init__"   s*    
)$*;*;%%')r   c                :    V P                   \        V4      ,          # r   )r   strr   keys   &&r   __getitem__AbstractObject.__getitem__'   s    zz#c(##r   c                    VP                  R 4      '       d   V P                  W4       V # V P                  P                  W4      V P                  V&   V # )_)
startswith__setattr__r   get_typed_valuer   )r   r   values   &&&r   __setitem__AbstractObject.__setitem__*   sK    >>#S(  #11AA#MDJJsOr   c                    VR J;'       d6    \        VR4      ;'       d"    V P                  4       VP                  4       8H  # )Nexport_all_data)hasattrr+   )r   others   &&r   __eq__AbstractObject.__eq__1   sG    D  > >WU4E%F > >  "e&;&;&==	>r   c                     V P                   V R # r   r   r   s   &&r   __delitem__AbstractObject.__delitem__5   s    JJsOr   c                ,    \        V P                  4      # r   )iterr   r   s   &r   __iter__AbstractObject.__iter__8   s    DJJr   c                ,    \        V P                  4      # r   )lenr   r   s   &r   __len__AbstractObject.__len__;   s    4::r   c                    WP                   9   # r   r1   r   s   &&r   __contains__AbstractObject.__contains__>   s    jj  r   c                ,    \        V P                  4      # r   )unicoder   r   s   &r   __unicode__AbstractObject.__unicode__A   s    tzz""r   c           
         R V P                   P                  : R\        P                  ! V P	                  V P
                  4      R^RR7      : 2# )<z> T)	sort_keysindent
separators),z: )	__class__r
   jsondumpsexport_valuer   r   s   &r   __repr__AbstractObject.__repr__D   s@    NN##JJ!!$**-&	
 	
r   c                    \        VR 4      '       d   VP                  4        F	  w  r#W0V&   K  	  M\        R4      hWn        R# )itemszBad data to set object dataN)r,   rP   r   _json)r   datar   r'   s   &&  r   	_set_dataAbstractObject._set_dataP   s;    4!!"jjl
!S	 + ))FGG
r   c                    / # )zQReturns info for fields that use enum values
Should be implemented in subclasses
r	   clss   &r   r   #AbstractObject._get_field_enum_infoX   s	    
 	r   c                :    \        RV P                  ,          4      h)zReturns the endpoint name.
Raises:
    NotImplementedError if the method is not implemented in a class
        that derives from this abstract class.
z&%s must have implemented get_endpoint.)NotImplementedErrorr
   rV   s   &r   get_endpointAbstractObject.get_endpoint`   s     "4s||C
 	
r   c                    V P                   # )z3Returns the class's list of default fields to read._default_read_fieldsrV   s   &r   get_default_read_fields&AbstractObject.get_default_read_fieldsk   s     '''r   c                    Wn         R# )zSets the class's list of default fields to read.
Args:
    fields: list of field names to read by default without specifying
        them explicitly during a read operation either via EdgeIterator
        or via AbstractCrudObject.read.
Nr^   )rW   fieldss   &&r   set_default_read_fields&AbstractObject.set_default_read_fieldsp   s
     $* r   c                j    Vf   V P                  4       pV'       d   RP                  V4      VR&   R# R# )z0Applies fields to params in a consistent manner.NrH   rc   )r`   join)rW   rc   paramss   &&&r   _assign_fields_to_params'AbstractObject._assign_fields_to_paramsz   s2     >002F"xx/F8 r   c                (    V P                  V4       R# )z8
For an AbstractObject, we do not need to keep history.
NrS   )r   rR   s   &&r   set_dataAbstractObject.set_data   s     	tr   c                D  a  \        V\        4      '       d   VP                  4       pV# \        V\        4      '       d&   \        V 3R  lVP	                  4        4       4      pV# \        V\
        4      '       d!   V Uu. uF  pS P                  V4      NK  	  ppV# u upi )c              3   Z   <"   T F   w  rVf   K  VSP                  V4      3x  K"  	  R # 5ir   )rL   ).0kvr   s   &  r   	<genexpr>.AbstractObject.export_value.<locals>.<genexpr>   s/      *$0DA 2D--a01$0s   ++)
isinstancer   r+   dictrP   listrL   )r   rR   rs   s   f& r   rL   AbstractObject.export_value   s    dN++'')D  d## *$(JJL* *D
  d##267$QD%%a($D7 8s   ?Bc                "    V P                  4       # )z,
Deprecated. Use export_all_data() instead.
)r+   r   s   &r   export_dataAbstractObject.export_data   s     ##%%r   c                8    V P                  V P                  4      # r   )rL   r   r   s   &r   r+   AbstractObject.export_all_data   s      ,,r   c                :    V! VR 7      pVP                  V4       V# ))apirl   )rW   r   rR   target_class
new_objects   &&&& r   create_objectAbstractObject.create_object   s     !c*
T"r   )r   r   rQ   N) r
   r   r   r   __doc__r_   r   r   r   r    r(   r.   r2   r6   r:   r=   rA   rM   rS   classmethodr   r[   r`   rd   ri   rm   rL   r{   r+   r   r   __classdictcell__)__classdict__s   @r   r   r      s     
 L )
$> !#	
   
 
 ( ( * * 0 0	&-  r   r   )facebook_business.exceptionsr   facebook_business.typecheckerr   collections.abcabccollections_abcImportErrorcollectionsrJ   MutableMappingr   r	   r   r   <module>r      sD    6(+
 K_33 K  ('(s   / ==