types:
  Union:
    docs: "This is a simple union."
    union:
      foo:
        type: Foo
        key: foo
      bar:
        type: Bar
        key: bar

  UnionWithDiscriminant:
    discriminant:
      value: _type
      name: type
    union:
      foo:
        docs: "This is a Foo field."
        type: Foo
        key: foo
      bar:
        type: Bar
        key: bar

  UnionWithPrimitive:
    union:
      integer: integer
      string: string

  UnionWithoutKey:
    union:
      foo: Foo
      bar:
        docs: "This is a bar field."
        type: Bar

  UnionWithUnknown:
    union:
      foo: Foo
      unknown: {}

  UnionWithLiteral:
    base-properties:
      base: literal<"base">
    union:
      fern: literal<"fern">

  UnionWithBaseProperties:
    base-properties:
      id: string
    union:
      integer: integer
      string: string
      foo: Foo

  UnionWithTime:
    union:
      value: integer
      date: date
      datetime: datetime

  UnionWithOptionalTime:
    union:
      date: optional<date>
      dateimte: optional<datetime>

  UnionWithSingleElement:
    union:
      foo: Foo

  Foo:
    properties:
      name: string

  Bar:
    properties:
      name: string

