public static function consume()

in src/unparsed-blocks/BlockQuote.php [18:59]


  public static function consume(
    Context $context,
    Lines $lines,
  ): ?(BlockQuote, Lines) {
    $contents = vec[];
    $parsed = null;

    while (!$lines->isEmpty()) {
      $chunk = self::consumePrefixedChunk($context, $lines);
      if ($chunk === null) {
        break;
      }

      list($chunk, $lines) = $chunk;
      $contents = Vec\concat($contents, $chunk);
      $parsed = self::consumeChildren($context, new Lines($contents));

      if (!self::endsWithParagraph(C\lastx($parsed))) {
        break;
      }

      $chunk = self::consumeLazyChunk($context, $lines);
      if ($chunk === null) {
        break;
      }

      list($chunk, $lines) = $chunk;
      $contents = Vec\concat($contents, $chunk);
      $parsed = null;
    }


    if (C\is_empty($contents)) {
      return null;
    }

    if ($parsed === null) {
      $parsed = self::consumeChildren($context, new Lines($contents));
    }

    return tuple(new self($parsed), $lines);
  }