final protected async function __flushRenderedRootElement()

in src/core/Element.hack [81:96]


  final protected async function __flushRenderedRootElement(
  ): Awaitable<primitive> {
    $that = $this;
    // Flush root elements returned from render() to an primitive
    while ($that is element) {
      /* HHAST_IGNORE_ERROR[DontAwaitInALoop] */
      $that = await $that->__renderAndProcess();
    }

    if ($that is primitive) {
      return $that;
    }

    // render() must always (eventually) return primitive
    throw new \Facebook\XHP\CoreRenderException($this, $that);
  }