
    Xj{                         d dl mZmZmZmZmZ d dlmZ d dlmZ	 	 ddddddde
d	eeee         d
ee
   dee   dedeee
      defdZdgZy)    )Any
CollectionIterableOptionalType)StrawberryUnion)unionN F)description
directivesinaccessibletagsnametypesr   r   r   r   returnc                    ddl m}m t        |      }|r|j	                   |              |r|j                  fd|D               t        | |||      S )aA  Creates a new named Union type.

    Args:
        name: The GraphQL name of the Union type.
        types: The types that the Union can be.
            (Deprecated, use `Annotated[U, strawberry.federation.union("Name")]` instead)
        description: The  GraphQL description of the Union type.
        directives: The directives to attach to the Union type.
        inaccessible: Whether the Union type is inaccessible.
        tags: The federation tags to attach to the Union type.

    Example usages:

    ```python
    import strawberry
    from typing import Annotated

    @strawberry.federation.type(keys=["id"])
    class A:
        id: strawberry.ID

    @strawberry.federation.type(keys=["id"])
    class B:
        id: strawberry.ID

    MyUnion = Annotated[A | B, strawberry.federation.union("Name", tags=["tag"])]
    r   )InaccessibleTagc              3   0   K   | ]  } |         yw))r   Nr
   ).0tagr   s     h/var/www/html/myl_app/scheduler-service/venv/lib/python3.12/site-packages/strawberry/federation/union.py	<genexpr>zunion.<locals>.<genexpr>3   s     8C#3--8s   )r   r   )'strawberry.federation.schema_directivesr   r   listappendextend
base_union)r   r   r   r   r   r   r   r   s          @r   r	   r	      sW    H Jj!J,.)8488	     r	   )N)typingr   r   r   r   r   strawberry.types.unionr   r	   r   strobjectbool__all__r
   r   r   <module>r&      s    < < 2 6
 .23 "&#%$&3
3JtCy)*3 #	3
  3 3 8C=
!3 3l )r   